stm: class: dummy_stm: fix an error code in dummy_stm_init()
PATCH 1/1 stm: class: dummy_stm: fix an error code in dummy_stm_init()
If the kasprintf() allocation fails after the first iteration through the loop then it returns success instead of -ENOMEM as intended.
Fixes bcfdf8afdebe ("stm class: dummy_stm: Create multiple devices")
Signed-off-by Dan Carpenter <[email protected]>
--- drivers/hwtracing/stm/dummy_stm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/hwtracing/stm/dummy_stm.c +4 -2
@@ -68,7 +68,7 @@ static int dummy_stm_link(struct stm_data *data, unsigned int master,static int dummy_stm_init (void ) { -int i, ret = -ENOMEM ; +int i, ret;if (nr_dummies <0 || nr_dummies >DUMMY_STM_MAX )return -EINVAL ;
@@ -80,8 +80,10 @@ static int dummy_stm_init(void)for (i =0 ; i < nr_dummies; i++) { dummy_stm[i].name =kasprintf (GFP_KERNEL ,"dummy_stm.%d" , i); -if (!dummy_stm[i].name) +if (!dummy_stm[i].name) { + ret = -ENOMEM ; goto fail_unregister; + } dummy_stm[i].sw_start = master_min; dummy_stm[i].sw_end = master_max;
Signature · 1 line
2.30.1