]> git.hungrycats.org Git - linux/commit
dm ioctl: prevent stack leak in dm ioctl call
authorAdrian Salido <salidoa@google.com>
Thu, 27 Apr 2017 17:32:55 +0000 (10:32 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 May 2017 05:47:55 +0000 (07:47 +0200)
commita0d50c80a29e13a56f9830d0b4bc6e333fc09da2
tree53c433253d7bd239f3806e6bf89dbea5dc9753c3
parent7ad6de43deda083f1eab1e9a5cc48166e4ee52f5
dm ioctl: prevent stack leak in dm ioctl call

commit 4617f564c06117c7d1b611be49521a4430042287 upstream.

When calling a dm ioctl that doesn't process any data
(IOCTL_FLAGS_NO_PARAMS), the contents of the data field in struct
dm_ioctl are left initialized.  Current code is incorrectly extending
the size of data copied back to user, causing the contents of kernel
stack to be leaked to user.  Fix by only copying contents before data
and allow the functions processing the ioctl to override.

Signed-off-by: Adrian Salido <salidoa@google.com>
Reviewed-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/dm-ioctl.c