25.01.2015 03:00, Chen Gang S wrote: > In abi_long do_ioctl_dm(), after calls lock_user(), it does not call > unlock_user() before go to failure return in default case.
Applied to -trivial, with the following description (modified just slightly, I tried to keep original wording as much as possible): linux-user/syscall.c: do_ioctl_dm: Need to call unlock_user() before going to failure return in default case In abi_long do_ioctl_dm(), after lock_user() call, the code does not call unlock_user() before going to failure return in default case. Thank you! /mjt > Signed-off-by: Chen Gang <gang.chen.5...@gmail.com> > --- > linux-user/syscall.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index a427f7a..ec9e4fc 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -3566,6 +3566,7 @@ static abi_long do_ioctl_dm(const IOCTLEntry *ie, > uint8_t *buf_temp, int fd, > } > default: > ret = -TARGET_EINVAL; > + unlock_user(argptr, guest_data, 0); > goto out; > } > unlock_user(argptr, guest_data, 0); > @@ -3685,6 +3686,7 @@ static abi_long do_ioctl_dm(const IOCTLEntry *ie, > uint8_t *buf_temp, int fd, > break; > } > default: > + unlock_user(argptr, guest_data, 0); > ret = -TARGET_EINVAL; > goto out; > } >