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 <[email protected]>
> ---
> 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;
> }
>