Re: [PATCH] media: dvb: get rid of VIDEO_SET_SPU_PALETTE
Hi Mauro, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.17-rc7 next-20180529] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Mauro-Carvalho-Chehab/media-dvb-get-rid-of-VIDEO_SET_SPU_PALETTE/20180530-033705 config: x86_64-randconfig-g0-05291849 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): fs/compat_ioctl.c: In function 'do_video_set_spu_palette': fs/compat_ioctl.c:220:45: error: invalid application of 'sizeof' to incomplete type 'struct video_spu_palette' up_native = compat_alloc_user_space(sizeof(struct video_spu_palette)); ^ In file included from include/linux/uaccess.h:14:0, from include/linux/compat.h:20, from fs/compat_ioctl.c:17: >> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type err = put_user(compat_ptr(palp), _native->palette); ^ arch/x86/include/asm/uaccess.h:257:15: note: in definition of macro 'put_user' __typeof__(*(ptr)) __pu_val;\ ^ arch/x86/include/asm/uaccess.h:260:11: warning: assignment makes integer from pointer without a cast __pu_val = x; \ ^ fs/compat_ioctl.c:221:9: note: in expansion of macro 'put_user' err = put_user(compat_ptr(palp), _native->palette); ^ >> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type err = put_user(compat_ptr(palp), _native->palette); ^ arch/x86/include/asm/uaccess.h:261:19: note: in definition of macro 'put_user' switch (sizeof(*(ptr))) {\ ^ >> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type err = put_user(compat_ptr(palp), _native->palette); ^ arch/x86/include/asm/uaccess.h:187:25: note: in definition of macro '__put_user_x' : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx") ^ fs/compat_ioctl.c:221:9: note: in expansion of macro 'put_user' err = put_user(compat_ptr(palp), _native->palette); ^ >> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type err = put_user(compat_ptr(palp), _native->palette); ^ arch/x86/include/asm/uaccess.h:187:42: note: in definition of macro '__put_user_x' : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx") ^ fs/compat_ioctl.c:221:9: note: in expansion of macro 'put_user' err = put_user(compat_ptr(palp), _native->palette); ^ >> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type err = put_user(compat_ptr(palp), _native->palette); ^ arch/x86/include/asm/uaccess.h:187:25: note: in definition of macro '__put_user_x' : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx") ^ fs/compat_ioctl.c:221:9: note: in expansion of macro 'put_user' err = put_user(compat_ptr(palp), _native->palette); ^ >> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type err = put_user(compat_ptr(palp), _native->palette); ^ arch/x86/include/asm/uaccess.h:187:42: note: in definition of macro '__put_user_x' : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx") ^ fs/compat_ioctl.c:221:9: note: in expansion of macro 'put_user' err = put_user(compat_ptr(palp), _native->palette); ^ >> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type err = put_user(compat_ptr(palp), _native->palette); ^ arch/x86/include/asm/uaccess.h:187:25: note: in definition of macro '__put_user_x' : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx") ^ fs/compat_ioctl.c:221:9: note: in expansion of macro 'put_user' err = put_user(compat_ptr(palp), _native->palette); ^ >> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type err = put_user(compat_ptr(palp), _native->palette); ^ arch/x86/include/asm/uaccess.h:187:42: note: in definition of macro '__put_user_x' : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx") ^ fs/compat_ioctl.c:221:9: note: in expansion of macro
Re: [PATCH] media: dvb: get rid of VIDEO_SET_SPU_PALETTE
Hi Mauro, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.17-rc7 next-20180529] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Mauro-Carvalho-Chehab/media-dvb-get-rid-of-VIDEO_SET_SPU_PALETTE/20180530-033705 config: mips-fuloong2e_defconfig (attached as .config) compiler: mips64el-linux-gnuabi64-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=mips All warnings (new ones prefixed by >>): fs/compat_ioctl.c: In function 'do_video_set_spu_palette': fs/compat_ioctl.c:220:45: error: invalid application of 'sizeof' to incomplete type 'struct video_spu_palette' up_native = compat_alloc_user_space(sizeof(struct video_spu_palette)); ^~ In file included from include/linux/uaccess.h:14:0, from include/linux/compat.h:20, from fs/compat_ioctl.c:17: fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type 'struct video_spu_palette' err = put_user(compat_ptr(palp), _native->palette); ^ arch/mips/include/asm/uaccess.h:444:15: note: in definition of macro '__put_user_check' __typeof__(*(ptr)) __user *__pu_addr = (ptr); \ ^~~ fs/compat_ioctl.c:221:9: note: in expansion of macro 'put_user' err = put_user(compat_ptr(palp), _native->palette); ^~~~ >> arch/mips/include/asm/uaccess.h:445:32: warning: initialization makes >> integer from pointer without a cast [-Wint-conversion] __typeof__(*(ptr)) __pu_val = (x);\ ^ >> arch/mips/include/asm/uaccess.h:158:2: note: in expansion of macro >> '__put_user_check' __put_user_check((x), (ptr), sizeof(*(ptr))) ^~~~ fs/compat_ioctl.c:221:9: note: in expansion of macro 'put_user' err = put_user(compat_ptr(palp), _native->palette); ^~~~ At top level: fs/compat_ioctl.c:208:12: warning: 'do_video_set_spu_palette' defined but not used [-Wunused-function] static int do_video_set_spu_palette(struct file *file, ^~~~ vim +445 arch/mips/include/asm/uaccess.h ^1da177e include/asm-mips/uaccess.h Linus Torvalds 2005-04-16 441 ^1da177e include/asm-mips/uaccess.h Linus Torvalds 2005-04-16 442 #define __put_user_check(x, ptr, size)\ ^1da177e include/asm-mips/uaccess.h Linus Torvalds 2005-04-16 443 ({ \ fe00f943 include/asm-mips/uaccess.h Ralf Baechle2005-03-01 @444 __typeof__(*(ptr)) __user *__pu_addr = (ptr); \ fe00f943 include/asm-mips/uaccess.h Ralf Baechle2005-03-01 @445 __typeof__(*(ptr)) __pu_val = (x); \ 8d2d91e8 include/asm-mips/uaccess.h Ralf Baechle2008-10-11 446 int __pu_err = -EFAULT; \ ^1da177e include/asm-mips/uaccess.h Linus Torvalds 2005-04-16 447 \ ef41f460 arch/mips/include/asm/uaccess.h Ralf Baechle2009-04-28 448 might_fault(); \ ac1d8590 arch/mips/include/asm/uaccess.h Markos Chandras 2013-12-11 449 if (likely(access_ok(VERIFY_WRITE, __pu_addr, size))) {\ 12060666 arch/mips/include/asm/uaccess.h Paul Burton 2015-05-24 450 if (eva_kernel_access())\ ac1d8590 arch/mips/include/asm/uaccess.h Markos Chandras 2013-12-11 451 __put_kernel_common(__pu_addr, size); \ ac1d8590 arch/mips/include/asm/uaccess.h Markos Chandras 2013-12-11 452 else\ ec56b1d4 arch/mips/include/asm/uaccess.h Markos Chandras 2013-12-17 453 __put_user_common(__pu_addr, size); \ ac1d8590 arch/mips/include/asm/uaccess.h Markos Chandras 2013-12-11 454 } \ ec56b1d4 arch/mips/include/asm/uaccess.h Markos Chandras 2013-12-17 455 \ ^1da177e include/asm-mips/uaccess.h Linus Torvalds 2005-04-16 456 __pu_err; \ ^1da177e include/asm-mips/uaccess.h Linus Torvalds 2005-04-16 457 }) ^1da177e include/asm-mips/uaccess.h Linus Torvalds
Re: [PATCH] media: dvb: get rid of VIDEO_SET_SPU_PALETTE
On Mon, May 28, 2018 at 11:32:41AM -0300, Mauro Carvalho Chehab wrote: > No upstream drivers use it. It doesn't make any sense to have > a compat32 code for something that nobody uses upstream. > > Reported-by: Alexander Viro > Signed-off-by: Mauro Carvalho Chehab Looks good, Reviewed-by: Christoph Hellwig
[PATCH] media: dvb: get rid of VIDEO_SET_SPU_PALETTE
No upstream drivers use it. It doesn't make any sense to have a compat32 code for something that nobody uses upstream. Reported-by: Alexander ViroSigned-off-by: Mauro Carvalho Chehab --- .../media/uapi/dvb/video-set-spu-palette.rst | 82 --- .../media/uapi/dvb/video_function_calls.rst | 1 - Documentation/media/uapi/dvb/video_types.rst | 18 Documentation/media/video.h.rst.exceptions| 1 - fs/compat_ioctl.c | 2 - include/uapi/linux/dvb/video.h| 7 -- 6 files changed, 111 deletions(-) delete mode 100644 Documentation/media/uapi/dvb/video-set-spu-palette.rst diff --git a/Documentation/media/uapi/dvb/video-set-spu-palette.rst b/Documentation/media/uapi/dvb/video-set-spu-palette.rst deleted file mode 100644 index 51a1913d21d2.. --- a/Documentation/media/uapi/dvb/video-set-spu-palette.rst +++ /dev/null @@ -1,82 +0,0 @@ -.. -*- coding: utf-8; mode: rst -*- - -.. _VIDEO_SET_SPU_PALETTE: - -= -VIDEO_SET_SPU_PALETTE -= - -Name - - -VIDEO_SET_SPU_PALETTE - -.. attention:: This ioctl is deprecated. - -Synopsis - - -.. c:function:: int ioctl(fd, VIDEO_SET_SPU_PALETTE, struct video_spu_palette *palette ) -:name: VIDEO_SET_SPU_PALETTE - - -Arguments -- - -.. flat-table:: -:header-rows: 0 -:stub-columns: 0 - - -- .. row 1 - - - int fd - - - File descriptor returned by a previous call to open(). - -- .. row 2 - - - int request - - - Equals VIDEO_SET_SPU_PALETTE for this command. - -- .. row 3 - - - video_spu_palette_t \*palette - - - SPU palette according to section ??. - - -Description - -This ioctl sets the SPU color palette. - -.. c:type:: video_spu_palette - -.. code-block::c - - typedef struct video_spu_palette { /* SPU Palette information */ - int length; - __u8 __user *palette; - } video_spu_palette_t; - -Return Value - - -On success 0 is returned, on error -1 and the ``errno`` variable is set -appropriately. The generic error codes are described at the -:ref:`Generic Error Codes ` chapter. - - - -.. flat-table:: -:header-rows: 0 -:stub-columns: 0 - - -- .. row 1 - - - ``EINVAL`` - - - input is not a valid palette or driver doesn’t handle SPU. diff --git a/Documentation/media/uapi/dvb/video_function_calls.rst b/Documentation/media/uapi/dvb/video_function_calls.rst index 68588ac7fecb..8d8383ffaeba 100644 --- a/Documentation/media/uapi/dvb/video_function_calls.rst +++ b/Documentation/media/uapi/dvb/video_function_calls.rst @@ -38,6 +38,5 @@ Video Function Calls video-set-system video-set-highlight video-set-spu -video-set-spu-palette video-get-navi video-set-attributes diff --git a/Documentation/media/uapi/dvb/video_types.rst b/Documentation/media/uapi/dvb/video_types.rst index 640a21de6b8a..4cfa00e5c934 100644 --- a/Documentation/media/uapi/dvb/video_types.rst +++ b/Documentation/media/uapi/dvb/video_types.rst @@ -320,24 +320,6 @@ to the following format: } video_spu_t; -.. c:type:: video_spu_palette - -struct video_spu_palette - - -The following structure is used to set the SPU palette by calling -VIDEO_SPU_PALETTE: - - -.. code-block:: c - - typedef - struct video_spu_palette { -int length; -uint8_t *palette; - } video_spu_palette_t; - - .. c:type:: video_navi_pack struct video_navi_pack diff --git a/Documentation/media/video.h.rst.exceptions b/Documentation/media/video.h.rst.exceptions index a91aa884ce0e..89d7c3ef2da7 100644 --- a/Documentation/media/video.h.rst.exceptions +++ b/Documentation/media/video.h.rst.exceptions @@ -36,5 +36,4 @@ replace typedef video_stream_source_t :c:type:`video_stream_source` replace typedef video_play_state_t :c:type:`video_play_state` replace typedef video_highlight_t :c:type:`video_highlight` replace typedef video_spu_t :c:type:`video_spu` -replace typedef video_spu_palette_t :c:type:`video_spu_palette` replace typedef video_navi_pack_t :c:type:`video_navi_pack` diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c index ef80085ed564..e78ecda283d2 100644 --- a/fs/compat_ioctl.c +++ b/fs/compat_ioctl.c @@ -1349,8 +1349,6 @@ static long do_ioctl_trans(unsigned int cmd, return do_video_get_event(file, cmd, argp); case VIDEO_STILLPICTURE: return do_video_stillpicture(file, cmd, argp); - case VIDEO_SET_SPU_PALETTE: - return do_video_set_spu_palette(file, cmd, argp); } /* diff --git a/include/uapi/linux/dvb/video.h b/include/uapi/linux/dvb/video.h index df3d7028c807..6a0c9757b7ba 100644 --- a/include/uapi/linux/dvb/video.h +++ b/include/uapi/linux/dvb/video.h @@ -186,12 +186,6 @@ typedef struct video_spu { } video_spu_t; -typedef