]> git.baikalelectronics.ru Git - kernel.git/commit
media: subdev: disallow ioctl for saa6588/davinci
authorArnd Bergmann <arnd@arndb.de>
Mon, 14 Jun 2021 10:34:09 +0000 (12:34 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 17 Jun 2021 08:18:37 +0000 (10:18 +0200)
commit61fe6f0bc0033c4d64b2869cf5044fdac700fe29
tree0af9820ab8c7f6c58afe4e4de4da2335496176ad
parentd23bb7d1dc69712e9a5107d70c047379b965a126
media: subdev: disallow ioctl for saa6588/davinci

The saa6588_ioctl() function expects to get called from other kernel
functions with a 'saa6588_command' pointer, but I found nothing stops it
from getting called from user space instead, which seems rather dangerous.

The same thing happens in the davinci vpbe driver with its VENC_GET_FLD
command.

As a quick fix, add a separate .command() callback pointer for this
driver and change the two callers over to that.  This change can easily
get backported to stable kernels if necessary, but since there are only
two drivers, we may want to eventually replace this with a set of more
specialized callbacks in the long run.

Fixes: a8d77b7ad9ac ("V4L/DVB (10537): saa6588: convert to v4l2_subdev.")
Cc: stable@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/saa6588.c
drivers/media/pci/bt8xx/bttv-driver.c
drivers/media/pci/saa7134/saa7134-video.c
drivers/media/platform/davinci/vpbe_display.c
drivers/media/platform/davinci/vpbe_venc.c
include/media/v4l2-subdev.h