CC: [email protected]
CC: [email protected]
CC: [email protected]
TO: "Pierre-Louis Bossart" <[email protected]>
CC: Mark Brown <[email protected]>
CC: Huajun Li <[email protected]>
CC: Kai Vehmanen <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   c8c109546a19613d323a319d0c921cb1f317e629
commit: 9d36ceab94151f07cf3fcb067213ac87937adf12 ALSA: intel-dsp-config: add 
quirk for APL/GLK/TGL devices based on ES8336 codec
date:   6 weeks ago
:::::: branch date: 10 hours ago
:::::: commit date: 6 weeks ago
config: i386-randconfig-c001-20211114 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 
c3dddeeafb529e769cde87bd29ef6271ac6bfa5c)
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
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9d36ceab94151f07cf3fcb067213ac87937adf12
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 9d36ceab94151f07cf3fcb067213ac87937adf12
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 
clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


clang-analyzer warnings: (new ones prefixed by >>)
                              ^
   include/linux/compiler_types.h:291:28: note: expanded from macro 
'__native_word'
            sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
                                     ^
   mm/kfence/core.c:319:2: note: Taking false branch
           WRITE_ONCE(meta->cache, cache);
           ^
   include/asm-generic/rwonce.h:60:2: note: expanded from macro 'WRITE_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:2: note: expanded from macro 
'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long 
long),  \
           ^
   include/linux/compiler_types.h:322:2: note: expanded from macro 
'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, 
__COUNTER__)
           ^
   include/linux/compiler_types.h:310:2: note: expanded from macro 
'_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:302:3: note: expanded from macro 
'__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   mm/kfence/core.c:319:2: note: Loop condition is false.  Exiting loop
           WRITE_ONCE(meta->cache, cache);
           ^
   include/asm-generic/rwonce.h:60:2: note: expanded from macro 'WRITE_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:2: note: expanded from macro 
'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long 
long),  \
           ^
   include/linux/compiler_types.h:322:2: note: expanded from macro 
'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, 
__COUNTER__)
           ^
   include/linux/compiler_types.h:310:2: note: expanded from macro 
'_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:300:2: note: expanded from macro 
'__compiletime_assert'
           do {                                                            \
           ^
   mm/kfence/core.c:319:2: note: Loop condition is false.  Exiting loop
           WRITE_ONCE(meta->cache, cache);
           ^
   include/asm-generic/rwonce.h:61:2: note: expanded from macro 'WRITE_ONCE'
           __WRITE_ONCE(x, val);                                           \
           ^
   include/asm-generic/rwonce.h:53:35: note: expanded from macro '__WRITE_ONCE'
   #define __WRITE_ONCE(x, val)                                            \
                                                                           ^
   mm/kfence/core.c:319:2: note: Loop condition is false.  Exiting loop
           WRITE_ONCE(meta->cache, cache);
           ^
   include/asm-generic/rwonce.h:58:33: note: expanded from macro 'WRITE_ONCE'
   #define WRITE_ONCE(x, val)                                              \
                                                                           ^
   mm/kfence/core.c:326:2: note: Taking true branch
           if (IS_ENABLED(CONFIG_SLUB))
           ^
   mm/kfence/core.c:328:2: note: Taking false branch
           if (IS_ENABLED(CONFIG_SLAB))
           ^
   mm/kfence/core.c:331:2: note: Loop condition is false.  Exiting loop
           raw_spin_unlock_irqrestore(&meta->lock, flags);
           ^
   include/linux/spinlock.h:292:2: note: expanded from macro 
'raw_spin_unlock_irqrestore'
           do {                                                    \
           ^
   mm/kfence/core.c:340:6: note: Assuming the condition is false
           if (unlikely(slab_want_init_on_alloc(gfp, cache)))
               ^
   include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                             ^~~~
   mm/kfence/core.c:340:2: note: Taking true branch
           if (unlikely(slab_want_init_on_alloc(gfp, cache)))
           ^
   mm/kfence/core.c:341:20: note: Passing null pointer value via 1st parameter 
's'
                   memzero_explicit(addr, size);
                                    ^~~~
   mm/kfence/core.c:341:3: note: Calling 'memzero_explicit'
                   memzero_explicit(addr, size);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/string.h:237:2: note: Null pointer passed as 1st argument to 
memory set function
           memset(s, 0, count);
           ^      ~
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   4 warnings generated.
   Suppressed 4 warnings (4 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   4 warnings generated.
>> sound/hda/intel-dsp-config.c:29:8: warning: Excessive padding in 'struct 
>> config_entry' (4 padding bytes, where 0 is optimal). 
   Optimal fields order: 
   flags, 
   dmi_table, 
   device, 
   acpi_hid, 
   codec_hid, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct config_entry {
   ~~~~~~~^~~~~~~~~~~~~~
   sound/hda/intel-dsp-config.c:29:8: note: Excessive padding in 'struct 
config_entry' (4 padding bytes, where 0 is optimal). Optimal fields order: 
flags, dmi_table, device, acpi_hid, codec_hid, consider reordering the fields 
or adding explicit padding members
   struct config_entry {
   ~~~~~~~^~~~~~~~~~~~~~
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   2 warnings generated.
   Suppressed 2 warnings (2 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   5 warnings generated.
   include/linux/list.h:135:13: warning: Use of memory after it is freed 
[clang-analyzer-unix.Malloc]
           __list_del(entry->prev, entry->next);
                      ^
   sound/virtio/virtio_ctl_msg.c:238:2: note: Loop condition is false.  Exiting 
loop
           spin_lock_irqsave(&queue->lock, flags);
           ^
   include/linux/spinlock.h:393:2: note: expanded from macro 'spin_lock_irqsave'
           raw_spin_lock_irqsave(spinlock_check(lock), flags);     \
           ^
   include/linux/spinlock.h:254:2: note: expanded from macro 
'raw_spin_lock_irqsave'
           do {                                            \
           ^
   sound/virtio/virtio_ctl_msg.c:238:2: note: Loop condition is false.  Exiting 
loop
           spin_lock_irqsave(&queue->lock, flags);
           ^
   include/linux/spinlock.h:391:43: note: expanded from macro 
'spin_lock_irqsave'
   #define spin_lock_irqsave(lock, flags)                          \
                                                                   ^
   sound/virtio/virtio_ctl_msg.c:239:2: note: Loop condition is true.  Entering 
loop body
           while (!list_empty(&snd->ctl_msgs)) {
           ^
   sound/virtio/virtio_ctl_msg.c:241:4: note: Left side of '&&' is false
                           list_first_entry(&snd->ctl_msgs, struct 
virtio_snd_msg,
                           ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:495:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   sound/virtio/virtio_ctl_msg.c:241:4: note: Taking false branch
                           list_first_entry(&snd->ctl_msgs, struct 
virtio_snd_msg,
                           ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to 
see all)
   include/linux/compiler_types.h:322:2: note: expanded from macro 
'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, 
__COUNTER__)
           ^
   include/linux/compiler_types.h:310:2: note: expanded from macro 
'_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:302:3: note: expanded from macro 
'__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   sound/virtio/virtio_ctl_msg.c:241:4: note: Loop condition is false.  Exiting 
loop
                           list_first_entry(&snd->ctl_msgs, struct 
virtio_snd_msg,
                           ^
   include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
           list_entry((ptr)->next, type, member)
           ^
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to 
see all)
   include/linux/compiler_types.h:322:2: note: expanded from macro 
'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, 
__COUNTER__)
           ^
   include/linux/compiler_types.h:310:2: note: expanded from macro 
'_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)

vim +29 sound/hda/intel-dsp-config.c

0650857570d161 Pierre-Louis Bossart 2020-04-09  25  
0650857570d161 Pierre-Louis Bossart 2020-04-09  26  #define 
FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE (FLAG_SOF_ONLY_IF_DMIC | \
0650857570d161 Pierre-Louis Bossart 2020-04-09  27                              
            FLAG_SOF_ONLY_IF_SOUNDWIRE)
82d9d54a6c0ee8 Jaroslav Kysela      2019-10-22  28  
82d9d54a6c0ee8 Jaroslav Kysela      2019-10-22 @29  struct config_entry {
82d9d54a6c0ee8 Jaroslav Kysela      2019-10-22  30      u32 flags;
82d9d54a6c0ee8 Jaroslav Kysela      2019-10-22  31      u16 device;
b5682305297db2 Pierre-Louis Bossart 2020-11-12  32      u8 
acpi_hid[ACPI_ID_LEN];
82d9d54a6c0ee8 Jaroslav Kysela      2019-10-22  33      const struct 
dmi_system_id *dmi_table;
9d36ceab94151f Pierre-Louis Bossart 2021-10-04  34      u8 
codec_hid[ACPI_ID_LEN];
82d9d54a6c0ee8 Jaroslav Kysela      2019-10-22  35  };
82d9d54a6c0ee8 Jaroslav Kysela      2019-10-22  36  

:::::: The code at line 29 was first introduced by commit
:::::: 82d9d54a6c0ee8b12211fa4e59fd940a2da4e063 ALSA: hda: add Intel DSP 
configuration / probe code

:::::: TO: Jaroslav Kysela <[email protected]>
:::::: CC: Takashi Iwai <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to