Re: [PATCH -next] mtd: fix missing unlock on error in mtdchar_compat_ioctl()
- Ursprüngliche Mail - > Von: "Greg Kroah-Hartman" > An: "Wei Yongjun" > CC: "Miquel Raynal" , "richard" , > "Vignesh Raghavendra" , > "linux-mtd" , "linux-kernel" > , "kernel-janitors" > , "Hulk Robot" > Gesendet: Samstag, 25. Juli 2020 08:37:01 > Betreff: Re: [PATCH -next] mtd: fix missing unlock on error in > mtdchar_compat_ioctl() > I think Richard already resolved this in his tree, but I could be wrong. Yes, fixed in git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/fixes and should be visible in linux-next very soon. > And nice detection by your bot, that's good to see. Yeah, good to see that such issues are being detected automatically. Thanks, //richard
Re: [PATCH -next] mtd: fix missing unlock on error in mtdchar_compat_ioctl()
On Sat, Jul 25, 2020 at 06:34:16AM +, Wei Yongjun wrote: > Add the missing unlock before return from function mtdchar_compat_ioctl() > in the error handling case. > > Fixes: 210bec567936 ("mtd: properly check all write ioctls for permissions") > Reported-by: Hulk Robot > Signed-off-by: Wei Yongjun > --- > drivers/mtd/mtdchar.c | 6 -- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c > index 52c120f9fb0d..b40f46a43fc6 100644 > --- a/drivers/mtd/mtdchar.c > +++ b/drivers/mtd/mtdchar.c > @@ -1064,8 +1064,10 @@ static long mtdchar_compat_ioctl(struct file *file, > unsigned int cmd, > struct mtd_oob_buf32 buf; > struct mtd_oob_buf32 __user *buf_user = argp; > > - if (!(file->f_mode & FMODE_WRITE)) > - return -EPERM; > + if (!(file->f_mode & FMODE_WRITE)) { > + ret = -EPERM; > + break; > + } > > if (copy_from_user(, argp, sizeof(buf))) > ret = -EFAULT; > > > I think Richard already resolved this in his tree, but I could be wrong. And nice detection by your bot, that's good to see. thanks, greg k-h
[PATCH -next] mtd: fix missing unlock on error in mtdchar_compat_ioctl()
Add the missing unlock before return from function mtdchar_compat_ioctl() in the error handling case. Fixes: 210bec567936 ("mtd: properly check all write ioctls for permissions") Reported-by: Hulk Robot Signed-off-by: Wei Yongjun --- drivers/mtd/mtdchar.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c index 52c120f9fb0d..b40f46a43fc6 100644 --- a/drivers/mtd/mtdchar.c +++ b/drivers/mtd/mtdchar.c @@ -1064,8 +1064,10 @@ static long mtdchar_compat_ioctl(struct file *file, unsigned int cmd, struct mtd_oob_buf32 buf; struct mtd_oob_buf32 __user *buf_user = argp; - if (!(file->f_mode & FMODE_WRITE)) - return -EPERM; + if (!(file->f_mode & FMODE_WRITE)) { + ret = -EPERM; + break; + } if (copy_from_user(, argp, sizeof(buf))) ret = -EFAULT;