* Re: [PATCH] media: dvb: get rid of VIDEO_SET_SPU_PALETTE
2018-05-28 14:32 [PATCH] media: dvb: get rid of VIDEO_SET_SPU_PALETTE Mauro Carvalho Chehab
2018-05-29 6:20 ` Christoph Hellwig
@ 2018-05-30 0:21 ` kbuild test robot
2018-05-30 0:54 ` kbuild test robot
2 siblings, 0 replies; 4+ messages in thread
From: kbuild test robot @ 2018-05-30 0:21 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: kbuild-all, Linux Media Mailing List, Mauro Carvalho Chehab,
Mauro Carvalho Chehab, Alexander Viro, linux-fsdevel
[-- Attachment #1: Type: text/plain, Size: 4728 bytes --]
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), &up_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), &up_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), &up_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 Baechle 2005-03-01 @444 __typeof__(*(ptr)) __user *__pu_addr = (ptr); \
fe00f943 include/asm-mips/uaccess.h Ralf Baechle 2005-03-01 @445 __typeof__(*(ptr)) __pu_val = (x); \
8d2d91e8 include/asm-mips/uaccess.h Ralf Baechle 2008-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 Baechle 2009-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 2005-04-16 458
:::::: The code at line 445 was first introduced by commit
:::::: fe00f943e0ef98b4057abcc2940d631a975b43cd Sparseify MIPS.
:::::: TO: Ralf Baechle <ralf@linux-mips.org>
:::::: CC: Ralf Baechle <ralf@linux-mips.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 17398 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] media: dvb: get rid of VIDEO_SET_SPU_PALETTE
2018-05-28 14:32 [PATCH] media: dvb: get rid of VIDEO_SET_SPU_PALETTE Mauro Carvalho Chehab
2018-05-29 6:20 ` Christoph Hellwig
2018-05-30 0:21 ` kbuild test robot
@ 2018-05-30 0:54 ` kbuild test robot
2 siblings, 0 replies; 4+ messages in thread
From: kbuild test robot @ 2018-05-30 0:54 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: kbuild-all, Linux Media Mailing List, Mauro Carvalho Chehab,
Mauro Carvalho Chehab, Alexander Viro, linux-fsdevel
[-- Attachment #1: Type: text/plain, Size: 15439 bytes --]
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), &up_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), &up_native->palette);
^
>> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type
err = put_user(compat_ptr(palp), &up_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), &up_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), &up_native->palette);
^
>> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type
err = put_user(compat_ptr(palp), &up_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), &up_native->palette);
^
>> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type
err = put_user(compat_ptr(palp), &up_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), &up_native->palette);
^
>> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type
err = put_user(compat_ptr(palp), &up_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), &up_native->palette);
^
>> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type
err = put_user(compat_ptr(palp), &up_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), &up_native->palette);
^
>> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type
err = put_user(compat_ptr(palp), &up_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), &up_native->palette);
^
>> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type
err = put_user(compat_ptr(palp), &up_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")
^
>> arch/x86/include/asm/uaccess.h:272:3: note: in expansion of macro '__put_user_x8'
__put_user_x8(__pu_val, ptr, __ret_pu); \
^
fs/compat_ioctl.c:221:9: note: in expansion of macro 'put_user'
err = put_user(compat_ptr(palp), &up_native->palette);
^
>> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type
err = put_user(compat_ptr(palp), &up_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")
^
>> arch/x86/include/asm/uaccess.h:272:3: note: in expansion of macro '__put_user_x8'
__put_user_x8(__pu_val, ptr, __ret_pu); \
^
fs/compat_ioctl.c:221:9: note: in expansion of macro 'put_user'
err = put_user(compat_ptr(palp), &up_native->palette);
^
>> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type
err = put_user(compat_ptr(palp), &up_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), &up_native->palette);
^
>> fs/compat_ioctl.c:221:46: error: dereferencing pointer to incomplete type
err = put_user(compat_ptr(palp), &up_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), &up_native->palette);
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
arch/x86/include/asm/uaccess.h:257:15: note: in definition of macro 'put_user'
__typeof__(*(ptr)) __pu_val; \
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
arch/x86/include/asm/uaccess.h:261:19: note: in definition of macro 'put_user'
switch (sizeof(*(ptr))) { \
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
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:222:9: note: in expansion of macro 'put_user'
err |= put_user(length, &up_native->length);
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
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:222:9: note: in expansion of macro 'put_user'
err |= put_user(length, &up_native->length);
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
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:222:9: note: in expansion of macro 'put_user'
err |= put_user(length, &up_native->length);
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
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:222:9: note: in expansion of macro 'put_user'
err |= put_user(length, &up_native->length);
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
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:222:9: note: in expansion of macro 'put_user'
err |= put_user(length, &up_native->length);
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
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:222:9: note: in expansion of macro 'put_user'
err |= put_user(length, &up_native->length);
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
arch/x86/include/asm/uaccess.h:187:25: note: in definition of macro '__put_user_x'
: "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx")
^
>> arch/x86/include/asm/uaccess.h:272:3: note: in expansion of macro '__put_user_x8'
__put_user_x8(__pu_val, ptr, __ret_pu); \
^
fs/compat_ioctl.c:222:9: note: in expansion of macro 'put_user'
err |= put_user(length, &up_native->length);
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
arch/x86/include/asm/uaccess.h:187:42: note: in definition of macro '__put_user_x'
: "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx")
^
>> arch/x86/include/asm/uaccess.h:272:3: note: in expansion of macro '__put_user_x8'
__put_user_x8(__pu_val, ptr, __ret_pu); \
^
fs/compat_ioctl.c:222:9: note: in expansion of macro 'put_user'
err |= put_user(length, &up_native->length);
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
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:222:9: note: in expansion of macro 'put_user'
err |= put_user(length, &up_native->length);
^
fs/compat_ioctl.c:222:36: error: dereferencing pointer to incomplete type
err |= put_user(length, &up_native->length);
^
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:222:9: note: in expansion of macro 'put_user'
err |= put_user(length, &up_native->length);
^
fs/compat_ioctl.c: 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 +221 fs/compat_ioctl.c
6e87abd0 David S. Miller 2005-11-16 207
66cf191f Al Viro 2016-01-07 208 static int do_video_set_spu_palette(struct file *file,
b4341721 Jann Horn 2016-01-05 209 unsigned int cmd, struct compat_video_spu_palette __user *up)
6e87abd0 David S. Miller 2005-11-16 210 {
6e87abd0 David S. Miller 2005-11-16 211 struct video_spu_palette __user *up_native;
6e87abd0 David S. Miller 2005-11-16 212 compat_uptr_t palp;
6e87abd0 David S. Miller 2005-11-16 213 int length, err;
6e87abd0 David S. Miller 2005-11-16 214
6e87abd0 David S. Miller 2005-11-16 215 err = get_user(palp, &up->palette);
6e87abd0 David S. Miller 2005-11-16 216 err |= get_user(length, &up->length);
12176503 Kees Cook 2012-10-25 217 if (err)
12176503 Kees Cook 2012-10-25 218 return -EFAULT;
6e87abd0 David S. Miller 2005-11-16 219
6e87abd0 David S. Miller 2005-11-16 @220 up_native = compat_alloc_user_space(sizeof(struct video_spu_palette));
7116e994 Heiko Carstens 2006-12-06 @221 err = put_user(compat_ptr(palp), &up_native->palette);
7116e994 Heiko Carstens 2006-12-06 222 err |= put_user(length, &up_native->length);
7116e994 Heiko Carstens 2006-12-06 223 if (err)
7116e994 Heiko Carstens 2006-12-06 224 return -EFAULT;
6e87abd0 David S. Miller 2005-11-16 225
66cf191f Al Viro 2016-01-07 226 err = do_ioctl(file, cmd, (unsigned long) up_native);
6e87abd0 David S. Miller 2005-11-16 227
6e87abd0 David S. Miller 2005-11-16 228 return err;
6e87abd0 David S. Miller 2005-11-16 229 }
6e87abd0 David S. Miller 2005-11-16 230
:::::: The code at line 221 was first introduced by commit
:::::: 7116e994b47f3988389be4ceee67dac64b56e0d0 [PATCH] compat: fix uaccess handling
:::::: TO: Heiko Carstens <heiko.carstens@de.ibm.com>
:::::: CC: Linus Torvalds <torvalds@woody.osdl.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27051 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread