tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 65f0d2414b7079556fbbcc070b3d1c9f9587606d commit: c2f78f0cb294aa6f009d3a170f4ee8ad199ba5da media: vidtv: psi: add a Network Information Table (NIT) date: 7 weeks ago config: mips-randconfig-r026-20210114 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 68ff52ffead2ba25cca442778ab19286000daad7) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install mips cross compiling tool for clang build # apt-get install binutils-mips-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c2f78f0cb294aa6f009d3a170f4ee8ad199ba5da git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout c2f78f0cb294aa6f009d3a170f4ee8ad199ba5da # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from include/linux/preempt.h:78: In file included from ./arch/mips/include/generated/asm/preempt.h:1: In file included from include/asm-generic/preempt.h:5: In file included from include/linux/thread_info.h:38: In file included from arch/mips/include/asm/thread_info.h:16: In file included from arch/mips/include/asm/processor.h:14: In file included from include/linux/atomic.h:7: arch/mips/include/asm/atomic.h:52:1: warning: converting the result of '<<' to a boolean always evaluates to true [-Wtautological-constant-compare] arch/mips/include/asm/atomic.h:45:9: note: expanded from macro 'ATOMIC_OPS' return xchg(&v->counter, n); \ ^ arch/mips/include/asm/cmpxchg.h:102:7: note: expanded from macro 'xchg' if (!__SYNC_loongson3_war) \ ^ arch/mips/include/asm/sync.h:147:34: note: expanded from macro '__SYNC_loongson3_war' # define __SYNC_loongson3_war (1 << 31) ^ In file included from drivers/media/test-drivers/vidtv/vidtv_psi.c:16: In file included from include/linux/slab.h:15: In file included from include/linux/gfp.h:6: In file included from include/linux/mmzone.h:8: In file included from include/linux/spinlock.h:51: In file included from include/linux/preempt.h:78: In file included from ./arch/mips/include/generated/asm/preempt.h:1: In file included from include/asm-generic/preempt.h:5: In file included from include/linux/thread_info.h:38: In file included from arch/mips/include/asm/thread_info.h:16: In file included from arch/mips/include/asm/processor.h:14: In file included from include/linux/atomic.h:7: arch/mips/include/asm/atomic.h:257:1: warning: converting the result of '<<' to a boolean always evaluates to true [-Wtautological-constant-compare] ATOMIC_SIP_OP(atomic, int, subu, ll, sc) ^ arch/mips/include/asm/atomic.h:251:7: note: expanded from macro 'ATOMIC_SIP_OP' if (!__SYNC_loongson3_war) \ ^ arch/mips/include/asm/sync.h:147:34: note: expanded from macro '__SYNC_loongson3_war' # define __SYNC_loongson3_war (1 << 31) ^ In file included from drivers/media/test-drivers/vidtv/vidtv_psi.c:16: In file included from include/linux/slab.h:15: In file included from include/linux/gfp.h:6: In file included from include/linux/mmzone.h:8: In file included from include/linux/spinlock.h:51: In file included from include/linux/preempt.h:78: In file included from ./arch/mips/include/generated/asm/preempt.h:1: In file included from include/asm-generic/preempt.h:5: In file included from include/linux/thread_info.h:38: In file included from arch/mips/include/asm/thread_info.h:16: In file included from arch/mips/include/asm/processor.h:14: In file included from include/linux/atomic.h:7: arch/mips/include/asm/atomic.h:261:1: warning: converting the result of '<<' to a boolean always evaluates to true [-Wtautological-constant-compare] ATOMIC_SIP_OP(atomic64, s64, dsubu, lld, scd) ^ arch/mips/include/asm/atomic.h:251:7: note: expanded from macro 'ATOMIC_SIP_OP' if (!__SYNC_loongson3_war) \ ^ arch/mips/include/asm/sync.h:147:34: note: expanded from macro '__SYNC_loongson3_war' # define __SYNC_loongson3_war (1 << 31) ^ In file included from drivers/media/test-drivers/vidtv/vidtv_psi.c:16: In file included from include/linux/slab.h:15: In file included from include/linux/gfp.h:6: In file included from include/linux/mmzone.h:8: In file included from include/linux/spinlock.h:59: In file included from include/linux/lockdep.h:14: In file included from include/linux/smp.h:15: In file included from include/linux/smp_types.h:5: include/linux/llist.h:222:9: warning: converting the result of '<<' to a boolean always evaluates to true [-Wtautological-constant-compare] return xchg(&head->first, NULL); ^ arch/mips/include/asm/cmpxchg.h:102:7: note: expanded from macro 'xchg' if (!__SYNC_loongson3_war) \ ^ arch/mips/include/asm/sync.h:147:34: note: expanded from macro '__SYNC_loongson3_war' # define __SYNC_loongson3_war (1 << 31) ^ In file included from drivers/media/test-drivers/vidtv/vidtv_psi.c:16: In file included from include/linux/slab.h:15: In file included from include/linux/gfp.h:6: In file included from include/linux/mmzone.h:8: In file included from include/linux/spinlock.h:59: In file included from include/linux/lockdep.h:27: include/linux/debug_locks.h:17:9: warning: converting the result of '<<' to a boolean always evaluates to true [-Wtautological-constant-compare] return xchg(&debug_locks, 0); ^ arch/mips/include/asm/cmpxchg.h:102:7: note: expanded from macro 'xchg' if (!__SYNC_loongson3_war) \ ^ arch/mips/include/asm/sync.h:147:34: note: expanded from macro '__SYNC_loongson3_war' # define __SYNC_loongson3_war (1 << 31) ^ drivers/media/test-drivers/vidtv/vidtv_psi.c:753:31: warning: taking address of packed member 'bitfield2' of class or structure 'vidtv_psi_table_pmt' may result in an unaligned pointer value [-Waddress-of-packed-member] vidtv_psi_set_desc_loop_len(&pmt->bitfield2, desc_loop_len, 10); ^~~~~~~~~~~~~~ drivers/media/test-drivers/vidtv/vidtv_psi.c:764:32: warning: taking address of packed member 'bitfield2' of class or structure 'vidtv_psi_table_pmt_stream' may result in an unaligned pointer value [-Waddress-of-packed-member] vidtv_psi_set_desc_loop_len(&s->bitfield2, desc_loop_len, 10); ^~~~~~~~~~~~ drivers/media/test-drivers/vidtv/vidtv_psi.c:796:32: warning: taking address of packed member 'bitfield' of class or structure 'vidtv_psi_table_sdt_service' may result in an unaligned pointer value [-Waddress-of-packed-member] vidtv_psi_set_desc_loop_len(&s->bitfield, desc_loop_len, 12); ^~~~~~~~~~~ >> drivers/media/test-drivers/vidtv/vidtv_psi.c:1457:31: warning: taking address of packed member 'bitfield' of class or structure 'vidtv_psi_table_nit' may result in an unaligned pointer value [-Waddress-of-packed-member] vidtv_psi_set_desc_loop_len(&nit->bitfield, desc_loop_len, 12); ^~~~~~~~~~~~~ >> drivers/media/test-drivers/vidtv/vidtv_psi.c:1472:32: warning: taking address of packed member 'bitfield' of class or structure 'vidtv_psi_table_transport' may result in an unaligned pointer value [-Waddress-of-packed-member] vidtv_psi_set_desc_loop_len(&t->bitfield, desc_loop_len, 12); ^~~~~~~~~~~ >> drivers/media/test-drivers/vidtv/vidtv_psi.c:1480:31: warning: taking address of packed member 'bitfield2' of class or structure 'vidtv_psi_table_nit' may result in an unaligned pointer value [-Waddress-of-packed-member] vidtv_psi_set_desc_loop_len(&nit->bitfield2, transport_loop_len, 12); ^~~~~~~~~~~~~~ drivers/media/test-drivers/vidtv/vidtv_psi.c:92:19: warning: unused function 'vidtv_psi_sdt_serv_get_desc_loop_len' [-Wunused-function] static inline u16 vidtv_psi_sdt_serv_get_desc_loop_len(struct vidtv_psi_table_sdt_service *s) ^ drivers/media/test-drivers/vidtv/vidtv_psi.c:103:19: warning: unused function 'vidtv_psi_pmt_stream_get_desc_loop_len' [-Wunused-function] static inline u16 vidtv_psi_pmt_stream_get_desc_loop_len(struct vidtv_psi_table_pmt_stream *s) ^ drivers/media/test-drivers/vidtv/vidtv_psi.c:114:19: warning: unused function 'vidtv_psi_pmt_get_desc_loop_len' [-Wunused-function] static inline u16 vidtv_psi_pmt_get_desc_loop_len(struct vidtv_psi_table_pmt *p) ^ 19 warnings generated. vim +1457 drivers/media/test-drivers/vidtv/vidtv_psi.c 1442 1443 static void vidtv_psi_nit_table_update_sec_len(struct vidtv_psi_table_nit *nit) 1444 { 1445 u16 length = 0; 1446 struct vidtv_psi_table_transport *t = nit->transport; 1447 u16 desc_loop_len; 1448 u16 transport_loop_len = 0; 1449 1450 /* 1451 * from immediately after 'section_length' until 1452 * 'network_descriptor_length' 1453 */ 1454 length += NIT_LEN_UNTIL_NETWORK_DESCRIPTOR_LEN; 1455 1456 desc_loop_len = vidtv_psi_desc_comp_loop_len(nit->descriptor); > 1457 vidtv_psi_set_desc_loop_len(&nit->bitfield, desc_loop_len, 12); 1458 1459 length += desc_loop_len; 1460 1461 length += sizeof_field(struct vidtv_psi_table_nit, bitfield2); 1462 1463 while (t) { 1464 /* skip both pointers at the end */ 1465 transport_loop_len += sizeof(struct vidtv_psi_table_transport) - 1466 sizeof(struct vidtv_psi_desc *) - 1467 sizeof(struct vidtv_psi_table_transport *); 1468 1469 length += transport_loop_len; 1470 1471 desc_loop_len = vidtv_psi_desc_comp_loop_len(t->descriptor); > 1472 vidtv_psi_set_desc_loop_len(&t->bitfield, desc_loop_len, 12); 1473 1474 length += desc_loop_len; 1475 1476 t = t->next; 1477 } 1478 1479 // Actually sets the transport stream loop len, maybe rename this function later > 1480 vidtv_psi_set_desc_loop_len(&nit->bitfield2, transport_loop_len, 12); 1481 length += CRC_SIZE_IN_BYTES; 1482 1483 vidtv_psi_set_sec_len(&nit->header, length); 1484 } 1485 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org