Kernel
  Threads by month 
                
            - ----- 2025 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
January 2025
- 76 participants
- 711 discussions
 
                        
                    
                        
                            
                                
                            
                            [openeuler:openEuler-1.0-LTS 1410/1410] mm/vmscan.c:3257:28: error: implicit declaration of function 'kernel_swap_enabled'; did you mean 'kernfs_ns_enabled'?
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head:   fdf62dff2537450d438667d817333e17ec71148a
commit: 44983705e56ab22fda801d66e2a6bd0d1be7ca0b [1410/1410] etmem: add original kernel swap enabled options
config: x86_64-randconfig-102-20250121 (https://download.01.org/0day-ci/archive/20250122/202501220839.T9NIZlrQ-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220839.T9NIZlrQ-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501220839.T9NIZlrQ-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/ttm/ttm_object.c:60: error: Cannot parse struct or union!
   drivers/gpu/drm/ttm/ttm_object.c:98: warning: Function parameter or member 'mem_glob' not described in 'ttm_object_device'
   drivers/gpu/drm/ttm/ttm_object.c:98: warning: Function parameter or member 'ops' not described in 'ttm_object_device'
   drivers/gpu/drm/ttm/ttm_object.c:98: warning: Function parameter or member 'dmabuf_release' not described in 'ttm_object_device'
   drivers/gpu/drm/ttm/ttm_object.c:98: warning: Function parameter or member 'dma_buf_size' not described in 'ttm_object_device'
   drivers/gpu/drm/ttm/ttm_object.c:129: warning: Function parameter or member 'rcu_head' not described in 'ttm_ref_object'
   drivers/gpu/drm/ttm/ttm_object.c:129: warning: Function parameter or member 'tfile' not described in 'ttm_ref_object'
   drivers/gpu/drm/ttm/ttm_object.c:561: warning: Function parameter or member 'dmabuf' not described in 'get_dma_buf_unless_doomed'
   drivers/gpu/drm/ttm/ttm_object.c:561: warning: Excess function parameter 'dma_buf' description in 'get_dma_buf_unless_doomed'
--
   drivers/pinctrl/core.c:168: warning: Function parameter or member 'pin' not described in 'pin_get_name'
   drivers/pinctrl/core.c:168: warning: Excess function parameter 'name' description in 'pin_get_name'
   drivers/pinctrl/core.c:607: warning: Function parameter or member 'selector' not described in 'pinctrl_generic_get_group'
   drivers/pinctrl/core.c:607: warning: Excess function parameter 'gselector' description in 'pinctrl_generic_get_group'
>> drivers/pinctrl/core.c:1338: error: Cannot parse struct or union!
   drivers/pinctrl/core.c:2226: warning: Function parameter or member 'pctldev' not described in 'devm_pinctrl_register_and_init'
--
   mm/vmscan.c: In function 'kernel_swap_check':
>> mm/vmscan.c:3257:28: error: implicit declaration of function 'kernel_swap_enabled'; did you mean 'kernfs_ns_enabled'? [-Werror=implicit-function-declaration]
    3257 |         if (sc != NULL && !kernel_swap_enabled())
         |                            ^~~~~~~~~~~~~~~~~~~
         |                            kernfs_ns_enabled
   cc1: some warnings being treated as errors
vim +3257 mm/vmscan.c
  3250	
  3251	/*
  3252	 * Check if original kernel swap is enabled
  3253	 * turn off kernel swap,but leave page cache reclaim on
  3254	 */
  3255	static inline void kernel_swap_check(struct scan_control *sc)
  3256	{
> 3257		if (sc != NULL && !kernel_swap_enabled())
  3258			sc->may_swap = 0;
  3259	}
  3260	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:openEuler-1.0-LTS] BUILD REGRESSION fdf62dff2537450d438667d817333e17ec71148a
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: fdf62dff2537450d438667d817333e17ec71148a  !14254 [openEuler-1.0-LTS]fix wangxun 1G/10G drivers hardware tx unit hang.
Error/Warning (recently discovered and may have been fixed):
    https://lore.kernel.org/oe-kbuild-all/202501220126.4njU5YRX-lkp@intel.com
    drivers/net/ethernet/netswift/ngbe/ngbe_main.c:5164:6: warning: unused variable 'len' [-Wunused-variable]
    include/linux/uaccess.h:115:17: warning: 'gpu32' may be used uninitialized [-Wmaybe-uninitialized]
    kernel/.tmp_kthread.o: warning: objtool: kthread_destroy_worker()+0xdc: unreachable instruction
    kernel/rcu/tree.o: warning: objtool: rcu_note_context_switch()+0x2f9: can't find switch jump table
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-io-hierarchy-iodump.c:warning:no-previous-prototype-for-__bio_stage_hierarchy_start
|   |-- block-blk-iolatency.c:warning:variable-blkiolat-set-but-not-used
|   |-- block-blk-iolatency.c:warning:variable-changed-set-but-not-used
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-wbt_issue
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-wbt_requeue
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   `-- include-linux-kernel.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|-- arm64-allnoconfig
|   `-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|-- arm64-defconfig
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   `-- include-linux-kernel.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|-- arm64-randconfig-001-20250121
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|   |-- include-linux-uaccess.h:warning:cap-may-be-used-uninitialized
|   |-- include-linux-uaccess.h:warning:data_arg-may-be-used-uninitialized
|   |-- include-linux-uaccess.h:warning:gpu32-may-be-used-uninitialized
|   |-- include-linux-uaccess.h:warning:ifreq-may-be-used-uninitialized
|   |-- include-linux-uaccess.h:warning:info64-may-be-used-uninitialized
|   `-- include-linux-uaccess.h:warning:ioc_data-may-be-used-uninitialized
|-- arm64-randconfig-003-20250121
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   `-- include-linux-kernel.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|-- arm64-randconfig-004-20250121
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   |-- include-linux-list.h:warning:array-subscript-is-outside-array-bounds-of-struct-plist_node
|   |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|   `-- include-linux-plist.h:warning:array-subscript-is-outside-array-bounds-of-struct-plist_node
|-- arm64-randconfig-r121-20250122
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-wbt_issue
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-wbt_requeue
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   |-- drivers-bus-fsl-mc-mc-sys.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-header-got-restricted-__le64-usertype
|   |-- drivers-firmware-meson-meson_sm.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-got-void-noderef-__iomem-static-toplevel-sm_shmem_out_base
|   |-- drivers-firmware-meson-meson_sm.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-got-void-noderef-__iomem-static-toplevel-sm_shmem_in_base
|   |-- drivers-gpu-drm-sun4i-sun4i_tcon.c:sparse:sparse:symbol-sun4i_tcon_set_mux-was-not-declared.-Should-it-be-static
|   |-- drivers-iio-adc-at91-sama5d2_adc.c:sparse:sparse:Using-plain-integer-as-NULL-pointer
|   |-- drivers-irqchip-irq-gic-phytium-.c:sparse:sparse:dereference-of-noderef-expression
|   |-- drivers-irqchip-irq-gic-phytium-its.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-got-restricted-__le64-usertype
|   |-- drivers-pci-endpoint-functions-pci-epf-test.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-got-void-noderef-__iomem-assigned-src_addr
|   |-- drivers-pci-endpoint-functions-pci-epf-test.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-got-void-noderef-__iomem-assigned-dst_addr
|   |-- drivers-phy-qualcomm-phy-qcom-ufs.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
|   |-- drivers-video-fbdev-sh_mobile_lcdcfb.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-char-noderef-__iomem-screen_base-got-void-fb_mem
|   |-- drivers-video-fbdev-ssd1307fb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-to-got-unsigned-char-noderef-usertype-__iomem-dst
|   |-- drivers-video-fbdev-ssd1307fb.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-unsigned-char-noderef-usertype-__iomem-dst-got-void
|   |-- drivers-video-fbdev-ssd1307fb.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-char-usertype-vmem-got-char-noderef-__iomem-screen_base
|   |-- drivers-w1-slaves-w1_ds28e04.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-char-const-noderef-__user-got-char-const-buf
|   |-- drivers-w1-slaves-w1_ds28e04.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-char-noderef-__user-got-char-buf
|   |-- fs-ext4-super.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-got-char-noderef-__rcu
|   |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|   |-- kernel-cred.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-p-got-int-const-noderef-__rcu
|   |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-addr-got-void-noderef-__iomem-mem_base
|   |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-noderef-__iomem-mem_base-got-void
|   |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-virt_base-got-void-noderef-__iomem-mem_base
|   |-- kernel-module.c:sparse:sparse:symbol-set_module_sig_enforced-was-not-declared.-Should-it-be-static
|   |-- mm-kmemleak.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__percpu-ptr-got-void-const-ptr
|   |-- mm-kmemleak.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-ptr-got-void-const-noderef-__percpu-ptr
|   `-- mm-kmemleak.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-__percpu-ptr-got-void-const-ptr
|-- x86_64-allmodconfig
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-iolatency.c:warning:variable-blkiolat-set-but-not-used
|   |-- block-blk-iolatency.c:warning:variable-changed-set-but-not-used
|   `-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
|-- x86_64-allnoconfig
|   `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-allyesconfig
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
|   |-- block-blk-iolatency.c:warning:variable-blkiolat-set-but-not-used
|   |-- block-blk-iolatency.c:warning:variable-changed-set-but-not-used
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
|   |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
|   |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
|   `-- drivers-net-ethernet-netswift-ngbe-ngbe_main.c:warning:unused-variable-len
|-- x86_64-buildonly-randconfig-001-20250121
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-__bio_integrity_free
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-blk-rq-qos.o:warning:objtool:missing-symbol-for-section-.text
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   |-- crypto-sm4_generic.o:warning:objtool:missing-symbol-for-section-.text
|   |-- drivers-staging-media-zoran-zoran_procfs.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size
|   `-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|-- x86_64-buildonly-randconfig-002-20250121
|   |-- drivers-regulator-sy8106a-regulator.c:warning:unused-variable-sy8106a_i2c_of_match
|   `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-003-20250121
|   |-- drivers-video-fbdev-omap2-omapfb-dss-hdmi4.o:warning:objtool:missing-symbol-for-section-.init.text
|   |-- include-linux-kernel.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|   |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|   |-- net-ipv4-bpfilter-sockopt.o:warning:objtool:missing-symbol-for-section-.text
|   `-- sound-soc-rockchip-rockchip_pcm.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-004-20250121
|   |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
|   |-- block-blk-rq-qos.o:warning:objtool:missing-symbol-for-section-.text
|   |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
|   |-- kernel-hung_task.c:error:use-of-undeclared-identifier-sysctl_hung_task_all_cpu_backtrace
|   `-- kernel-rcu-tree.o:warning:objtool:rcu_note_context_switch:can-t-find-switch-jump-table
|-- x86_64-buildonly-randconfig-005-20250121
|   |-- kernel-.tmp_kthread.o:warning:objtool:kthread_destroy_worker:unreachable-instruction
|   |-- kernel-hung_task.c:error:use-of-undeclared-identifier-sysctl_hung_task_all_cpu_backtrace
|   `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-006-20250121
|   |-- drivers-video-fbdev-omap2-omapfb-dss-hdmi4.o:warning:objtool:missing-symbol-for-section-.init.text
|   |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
|   `-- sound-soc-rockchip-rockchip_pcm.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-defconfig
|   |-- block-blk-merge.c:warning:no-previous-prototype-for-blk_try_req_merge
|   |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-__blk_mq_sched_dispatch_requests
|   |-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions
|   `-- include-linux-kernel.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|-- x86_64-randconfig-102-20250121
|   |-- drivers-gpu-drm-ttm-ttm_object.c:error:Cannot-parse-struct-or-union
|   |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
|   `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
`-- x86_64-randconfig-161-20250122
    |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
    |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
    |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
    |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
    |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
    |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
    |-- block-blk-iolatency.c:warning:variable-blkiolat-set-but-not-used
    |-- block-blk-iolatency.c:warning:variable-changed-set-but-not-used
    |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
    |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
    |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
    |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
    `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
elapsed time: 723m
configs tested: 16
configs skipped: 129
tested configs:
arm64                        allmodconfig    gcc-14.2.0
arm64                         allnoconfig    gcc-14.2.0
arm64                           defconfig    gcc-14.2.0
arm64             randconfig-001-20250121    gcc-14.2.0
arm64             randconfig-002-20250121    gcc-14.2.0
arm64             randconfig-003-20250121    gcc-14.2.0
arm64             randconfig-004-20250121    gcc-14.2.0
x86_64                        allnoconfig    clang-19
x86_64                       allyesconfig    clang-19
x86_64  buildonly-randconfig-001-20250121    gcc-12
x86_64  buildonly-randconfig-002-20250121    clang-19
x86_64  buildonly-randconfig-003-20250121    gcc-12
x86_64  buildonly-randconfig-004-20250121    clang-19
x86_64  buildonly-randconfig-005-20250121    clang-19
x86_64  buildonly-randconfig-006-20250121    gcc-12
x86_64                          defconfig    gcc-11
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 1834/1834] mm/memcontrol.c:4061:5: sparse: sparse: symbol 'sysctl_memcg_oom_prio' was not declared. Should it be static?
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   75c81bcddd82381fbd4cef477a5b56eb2fe56697
commit: 44391f3171b05060096ff496f3507033f2460161 [1834/1834] memcg: Add sysctl memcg_qos_enable
config: x86_64-randconfig-121-20250122 (https://download.01.org/0day-ci/archive/20250122/202501220758.6wiUFGfn-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220758.6wiUFGfn-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501220758.6wiUFGfn-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> mm/memcontrol.c:4061:5: sparse: sparse: symbol 'sysctl_memcg_oom_prio' was not declared. Should it be static?
   mm/memcontrol.c:4223:50: sparse: sparse: incorrect type in argument 3 (different address spaces) @@     expected void * @@     got void [noderef] __user *buffer @@
   mm/memcontrol.c:4223:50: sparse:     expected void *
   mm/memcontrol.c:4223:50: sparse:     got void [noderef] __user *buffer
>> mm/memcontrol.c:4245:35: sparse: sparse: incorrect type in initializer (incompatible argument 3 (different address spaces)) @@     expected int ( [usertype] *proc_handler )( ... ) @@     got int ( * )( ... ) @@
   mm/memcontrol.c:4245:35: sparse:     expected int ( [usertype] *proc_handler )( ... )
   mm/memcontrol.c:4245:35: sparse:     got int ( * )( ... )
   mm/memcontrol.c:4504:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:4504:21: sparse:    struct mem_cgroup_threshold_ary [noderef] __rcu *
   mm/memcontrol.c:4504:21: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:4506:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:4506:21: sparse:    struct mem_cgroup_threshold_ary [noderef] __rcu *
   mm/memcontrol.c:4506:21: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:4662:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:4662:9: sparse:    struct mem_cgroup_threshold_ary [noderef] __rcu *
   mm/memcontrol.c:4662:9: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:4756:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:4756:9: sparse:    struct mem_cgroup_threshold_ary [noderef] __rcu *
   mm/memcontrol.c:4756:9: sparse:    struct mem_cgroup_threshold_ary *
   mm/memcontrol.c:6799:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:6799:23: sparse:    struct task_struct [noderef] __rcu *
   mm/memcontrol.c:6799:23: sparse:    struct task_struct *
   mm/memcontrol.c:7016:52: sparse: sparse: incompatible types in comparison expression (different address spaces):
   mm/memcontrol.c:7016:52: sparse:    struct task_struct [noderef] __rcu *
   mm/memcontrol.c:7016:52: sparse:    struct task_struct *
   mm/memcontrol.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...):
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   mm/memcontrol.c: note: in included file:
   include/linux/memcontrol.h:782:9: sparse: sparse: context imbalance in 'folio_lruvec_lock' - wrong count at exit
   include/linux/memcontrol.h:782:9: sparse: sparse: context imbalance in 'folio_lruvec_lock_irq' - wrong count at exit
   include/linux/memcontrol.h:782:9: sparse: sparse: context imbalance in 'folio_lruvec_lock_irqsave' - wrong count at exit
   mm/memcontrol.c:2134:6: sparse: sparse: context imbalance in 'folio_memcg_lock' - wrong count at exit
   mm/memcontrol.c:2181:17: sparse: sparse: context imbalance in '__folio_memcg_unlock' - unexpected unlock
   mm/memcontrol.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...):
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   mm/memcontrol.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...):
   include/linux/rcupdate.h:780:9: sparse: sparse: context imbalance in 'mem_cgroup_count_precharge_pte_range' - unexpected unlock
   include/linux/rcupdate.h:780:9: sparse: sparse: context imbalance in 'mem_cgroup_move_charge_pte_range' - unexpected unlock
vim +/sysctl_memcg_oom_prio +4061 mm/memcontrol.c
  4057	
  4058	#ifdef CONFIG_MEMCG_OOM_PRIORITY
  4059	#define ENABLE_MEMCG_OOM_PROIRITY	1
  4060	#define DISABLE_MEMCG_OOM_PROIRITY	0
> 4061	int sysctl_memcg_oom_prio = DISABLE_MEMCG_OOM_PROIRITY;
  4062	
  4063	bool memcg_oom_prio_disabled(void)
  4064	{
  4065		return READ_ONCE(sysctl_memcg_oom_prio) == DISABLE_MEMCG_OOM_PROIRITY;
  4066	}
  4067	
  4068	static void memcg_oom_prio_init(struct mem_cgroup *memcg)
  4069	{
  4070		struct mem_cgroup *parent = parent_mem_cgroup(memcg);
  4071		int oom_prio;
  4072	
  4073		if (!parent)
  4074			return;
  4075	
  4076		oom_prio = READ_ONCE(parent->oom_prio);
  4077		WRITE_ONCE(memcg->oom_prio, oom_prio);
  4078	}
  4079	
  4080	static s64 memcg_oom_prio_read(struct cgroup_subsys_state *css,
  4081					      struct cftype *cft)
  4082	{
  4083		struct mem_cgroup *memcg = mem_cgroup_from_css(css);
  4084	
  4085		if (memcg_oom_prio_disabled())
  4086			return 0;
  4087	
  4088		return READ_ONCE(memcg->oom_prio);
  4089	}
  4090	
  4091	static int memcg_oom_prio_write(struct cgroup_subsys_state *css,
  4092					       struct cftype *cft, s64 val)
  4093	{
  4094		struct mem_cgroup *memcg = mem_cgroup_from_css(css);
  4095		struct mem_cgroup *iter_memcg;
  4096		struct cgroup_subsys_state *iter_css;
  4097	
  4098		if (memcg_oom_prio_disabled())
  4099			return -EACCES;
  4100	
  4101		if (mem_cgroup_is_root(memcg))
  4102			return -EINVAL;
  4103	
  4104		if (val != MEMCG_LOW_OOM_PRIORITY && val != MEMCG_HIGH_OOM_PRIORITY)
  4105			return -EINVAL;
  4106	
  4107		rcu_read_lock();
  4108		css_for_each_descendant_pre(iter_css, &memcg->css) {
  4109			iter_memcg = mem_cgroup_from_css(iter_css);
  4110	
  4111			WRITE_ONCE(iter_memcg->oom_prio, val);
  4112		}
  4113		rcu_read_unlock();
  4114	
  4115		return 0;
  4116	}
  4117	
  4118	static struct mem_cgroup *memcg_find_max_usage(struct mem_cgroup *last)
  4119	{
  4120		struct mem_cgroup *iter, *max_memcg = NULL;
  4121		struct cgroup_subsys_state *css;
  4122		unsigned long usage, max_usage = 0;
  4123		int oom_prio;
  4124	
  4125		rcu_read_lock();
  4126		css_for_each_descendant_pre(css, &root_mem_cgroup->css) {
  4127			iter = mem_cgroup_from_css(css);
  4128			oom_prio = READ_ONCE(iter->oom_prio);
  4129	
  4130			if (oom_prio == MEMCG_HIGH_OOM_PRIORITY ||
  4131				iter == root_mem_cgroup ||
  4132				iter == last)
  4133				continue;
  4134	
  4135			usage = mem_cgroup_usage(iter, false);
  4136			if (usage > max_usage) {
  4137				max_usage = usage;
  4138				max_memcg = iter;
  4139			}
  4140		}
  4141		rcu_read_unlock();
  4142	
  4143		return max_memcg;
  4144	}
  4145	
  4146	bool memcg_oom_prio_scan_tasks(int (*fn)(struct task_struct *, void *),
  4147					   void *arg)
  4148	{
  4149		struct mem_cgroup *max, *last = NULL;
  4150		struct oom_control *oc = arg;
  4151		struct css_task_iter it;
  4152		struct task_struct *task;
  4153		int ret = 0;
  4154		bool retry = true;
  4155	
  4156		if (memcg_oom_prio_disabled())
  4157			return false;
  4158	retry:
  4159		max = memcg_find_max_usage(last);
  4160		if (!max)
  4161			return false;
  4162	
  4163		css_task_iter_start(&max->css, 0, &it);
  4164		while (!ret && (task = css_task_iter_next(&it))) {
  4165			if (test_tsk_thread_flag(task, TIF_MEMDIE))
  4166				continue;
  4167	
  4168			ret = fn(task, arg);
  4169		}
  4170		css_task_iter_end(&it);
  4171	
  4172		if (ret)
  4173			return false;
  4174	
  4175		if (!oc->chosen && retry) {
  4176			last = max;
  4177			retry = false;
  4178			goto retry;
  4179		}
  4180	
  4181		if (oc->chosen)
  4182			pr_info("The bad task [%d:%s] is from low-priority memcg.\n",
  4183					oc->chosen->pid, oc->chosen->comm);
  4184	
  4185		return oc->chosen ? true : false;
  4186	}
  4187	
  4188	void memcg_print_bad_task(struct oom_control *oc)
  4189	{
  4190		if (memcg_oom_prio_disabled())
  4191			return;
  4192	
  4193		if (oc->chosen) {
  4194			struct mem_cgroup *memcg;
  4195	
  4196			rcu_read_lock();
  4197			memcg = mem_cgroup_from_task(oc->chosen);
  4198			if (READ_ONCE(memcg->oom_prio) == MEMCG_LOW_OOM_PRIORITY)
  4199				pr_info("The bad task [%d:%s] is from low-priority memcg.\n",
  4200					oc->chosen->pid, oc->chosen->comm);
  4201			rcu_read_unlock();
  4202		}
  4203	}
  4204	
  4205	static void memcg_oom_prio_reset(void)
  4206	{
  4207		struct mem_cgroup *iter;
  4208		struct cgroup_subsys_state *css;
  4209	
  4210		rcu_read_lock();
  4211		css_for_each_descendant_pre(css, &root_mem_cgroup->css) {
  4212			iter = mem_cgroup_from_css(css);
  4213			WRITE_ONCE(iter->oom_prio, 0);
  4214		}
  4215		rcu_read_unlock();
  4216	}
  4217	
  4218	static int sysctl_memcg_oom_prio_handler(struct ctl_table *table, int write,
  4219			void __user *buffer, size_t *length, loff_t *ppos)
  4220	{
  4221		int ret;
  4222	
  4223		ret = proc_dointvec_minmax(table, write, buffer, length, ppos);
  4224		if (ret)
  4225			return ret;
  4226	
  4227		if (write) {
  4228			if (READ_ONCE(sysctl_memcg_oom_prio) == DISABLE_MEMCG_OOM_PROIRITY)
  4229				memcg_oom_prio_reset();
  4230		}
  4231	
  4232		return ret;
  4233	}
  4234	
  4235	static struct ctl_table memcg_oom_prio_sysctls[] = {
  4236		{
  4237			/*
  4238			 * This sysctl is used to control memcg oom priority
  4239			 * feature, the sysctl name is for compatibility.
  4240			 */
  4241			.procname	= "memcg_qos_enable",
  4242			.data		= &sysctl_memcg_oom_prio,
  4243			.maxlen		= sizeof(int),
  4244			.mode		= 0644,
> 4245			.proc_handler	= sysctl_memcg_oom_prio_handler,
  4246			.extra1		= SYSCTL_ZERO,
  4247			.extra2		= SYSCTL_ONE,
  4248		},
  4249	};
  4250	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 1834/1834] drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        Hi Carrie.Cai,
FYI, the error/warning still remains.
tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   75c81bcddd82381fbd4cef477a5b56eb2fe56697
commit: 811debd4ea52033d7393d4a7de2be11f71c70348 [1834/1834] add support for Mont-TSSE Driver
config: x86_64-randconfig-101-20250122 (https://download.01.org/0day-ci/archive/20250122/202501220636.mvJm5Jtb-lkp@…)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220636.mvJm5Jtb-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501220636.mvJm5Jtb-lkp@intel.com/
All warnings (new ones prefixed by >>):
   In file included from drivers/crypto/montage/tsse/tsse_dev_mgr.c:13:
   In file included from include/linux/iommu.h:10:
   In file included from include/linux/scatterlist.h:8:
   In file included from include/linux/mm.h:2193:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/crypto/montage/tsse/tsse_dev_mgr.c:15:
>> drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used [-Wunused-but-set-variable]
      84 |         int cpu, node;
         |             ^
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:107:5: warning: no previous prototype for function 'tsse_stop_dev' [-Wmissing-prototypes]
     107 | int tsse_stop_dev(struct tsse_dev *tdev, bool busy_exit)
         |     ^
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:107:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
     107 | int tsse_stop_dev(struct tsse_dev *tdev, bool busy_exit)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:220:2: warning: variable 'ptr' is used uninitialized whenever 'for' loop exits because its condition is false [-Wsometimes-uninitialized]
     220 |         list_for_each(itr, &tsse_dev_table) {
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/list.h:687:27: note: expanded from macro 'list_for_each'
     687 |         for (pos = (head)->next; !list_is_head(pos, (head)); pos = pos->next)
         |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:227:9: note: uninitialized use occurs here
     227 |         return ptr;
         |                ^~~
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:220:2: note: remove the condition if it is always true
     220 |         list_for_each(itr, &tsse_dev_table) {
         |         ^
   include/linux/list.h:687:27: note: expanded from macro 'list_for_each'
     687 |         for (pos = (head)->next; !list_is_head(pos, (head)); pos = pos->next)
         |                                  ^
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:216:22: note: initialize the variable 'ptr' to silence this warning
     216 |         struct tsse_dev *ptr;
         |                             ^
         |                              = NULL
   drivers/crypto/montage/tsse/tsse_dev_mgr.c:37:20: warning: unused function 'tsse_list_add_tail' [-Wunused-function]
      37 | static inline void tsse_list_add_tail(struct list_head *new,
         |                    ^~~~~~~~~~~~~~~~~~
   5 warnings generated.
--
   In file included from drivers/crypto/montage/tsse/tsse_ipc.c:14:
   In file included from drivers/crypto/montage/tsse/tsse_dev.h:13:
   In file included from include/linux/pci.h:1629:
   In file included from include/linux/dmapool.h:14:
   In file included from include/linux/scatterlist.h:8:
   In file included from include/linux/mm.h:2193:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/crypto/montage/tsse/tsse_ipc.c:14:
>> drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used [-Wunused-but-set-variable]
      84 |         int cpu, node;
         |             ^
   drivers/crypto/montage/tsse/tsse_ipc.c:17:18: warning: no previous prototype for function 'get_msginf' [-Wmissing-prototypes]
      17 | struct tsse_msg *get_msginf(void __iomem *d2h)
         |                  ^
   drivers/crypto/montage/tsse/tsse_ipc.c:17:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
      17 | struct tsse_msg *get_msginf(void __iomem *d2h)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_ipc.c:41:6: warning: no previous prototype for function 'ipc_recieve_msg' [-Wmissing-prototypes]
      41 | void ipc_recieve_msg(struct tsse_ipc *tsseipc, struct ipc_msg *msg)
         |      ^
   drivers/crypto/montage/tsse/tsse_ipc.c:41:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
      41 | void ipc_recieve_msg(struct tsse_ipc *tsseipc, struct ipc_msg *msg)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_ipc.c:53:5: warning: no previous prototype for function 'msg_rout' [-Wmissing-prototypes]
      53 | int msg_rout(struct tsse_ipc *tsseipc, struct tsse_msg *tssemsg)
         |     ^
   drivers/crypto/montage/tsse/tsse_ipc.c:53:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
      53 | int msg_rout(struct tsse_ipc *tsseipc, struct tsse_msg *tssemsg)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_ipc.c:103:6: warning: no previous prototype for function 'ipc_send_msg' [-Wmissing-prototypes]
     103 | void ipc_send_msg(struct tsse_ipc *tsseipc, struct ipc_data *msg)
         |      ^
   drivers/crypto/montage/tsse/tsse_ipc.c:103:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
     103 | void ipc_send_msg(struct tsse_ipc *tsseipc, struct ipc_data *msg)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_ipc.c:115:6: warning: no previous prototype for function 'ipc_hw_init' [-Wmissing-prototypes]
     115 | void ipc_hw_init(struct tsse_ipc *hw_ipc)
         |      ^
   drivers/crypto/montage/tsse/tsse_ipc.c:115:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
     115 | void ipc_hw_init(struct tsse_ipc *hw_ipc)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_ipc.c:122:5: warning: no previous prototype for function 'ipc_init_msg' [-Wmissing-prototypes]
     122 | int ipc_init_msg(struct tsse_ipc *tsseipc)
         |     ^
   drivers/crypto/montage/tsse/tsse_ipc.c:122:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
     122 | int ipc_init_msg(struct tsse_ipc *tsseipc)
         | ^
         | static 
   8 warnings generated.
--
   In file included from drivers/crypto/montage/tsse/tsse_fw_service.c:15:
   In file included from include/linux/mm.h:2193:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/crypto/montage/tsse/tsse_fw_service.c:20:
>> drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used [-Wunused-but-set-variable]
      84 |         int cpu, node;
         |             ^
   drivers/crypto/montage/tsse/tsse_fw_service.c:26:5: warning: no previous prototype for function 'fw_send_msg' [-Wmissing-prototypes]
      26 | int fw_send_msg(struct tsse_ipc *tsseipc, struct ipc_msg *msg)
         |     ^
   drivers/crypto/montage/tsse/tsse_fw_service.c:26:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
      26 | int fw_send_msg(struct tsse_ipc *tsseipc, struct ipc_msg *msg)
         | ^
         | static 
   drivers/crypto/montage/tsse/tsse_fw_service.c:51:6: warning: no previous prototype for function 'fw_free' [-Wmissing-prototypes]
      51 | void fw_free(void *msg_t)
         |      ^
   drivers/crypto/montage/tsse/tsse_fw_service.c:51:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
      51 | void fw_free(void *msg_t)
         | ^
         | static 
   4 warnings generated.
--
   In file included from drivers/crypto/montage/tsse/tsse_irq.c:10:
   In file included from drivers/crypto/montage/tsse/tsse_dev.h:13:
   In file included from include/linux/pci.h:1629:
   In file included from include/linux/dmapool.h:14:
   In file included from include/linux/scatterlist.h:8:
   In file included from include/linux/mm.h:2193:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/crypto/montage/tsse/tsse_irq.c:10:
>> drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used [-Wunused-but-set-variable]
      84 |         int cpu, node;
         |             ^
   2 warnings generated.
--
   In file included from drivers/crypto/montage/tsse/tsse_vuart.c:15:
   In file included from include/linux/tty.h:12:
   In file included from include/linux/tty_port.h:5:
   In file included from include/linux/kfifo.h:42:
   In file included from include/linux/scatterlist.h:8:
   In file included from include/linux/mm.h:2193:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   In file included from drivers/crypto/montage/tsse/tsse_vuart.c:25:
>> drivers/crypto/montage/tsse/tsse_dev.h:84:6: warning: variable 'cpu' set but not used [-Wunused-but-set-variable]
      84 |         int cpu, node;
         |             ^
   drivers/crypto/montage/tsse/tsse_vuart.c:77:13: warning: unused function 'vuart_wait_for_xmitr' [-Wunused-function]
      77 | static void vuart_wait_for_xmitr(struct uart_port *port)
         |             ^~~~~~~~~~~~~~~~~~~~
   3 warnings generated.
vim +/cpu +84 drivers/crypto/montage/tsse/tsse_dev.h
  > 13	#include <linux/pci.h>
    14	#include <linux/pci-ats.h>
    15	#include <linux/serial_core.h>
    16	#include <linux/firmware.h>
    17	#include "tsse_ipc.h"
    18	
    19	#define TSSE_PCI_MAX_BARS 4
    20	#define TSSE_FW_VERSION_LEN 32
    21	struct tsse_bar {
    22		void __iomem *virt_addr;
    23		resource_size_t addr;
    24		resource_size_t size;
    25	};
    26	struct tsse_dev_pci {
    27		struct pci_dev *pci_dev;
    28		struct tsse_bar bars[TSSE_PCI_MAX_BARS];
    29		u8 revid;
    30	};
    31	enum tsse_dev_status_bit {
    32		TSSE_DEV_STATUS_STARTING = 0,
    33		TSSE_DEV_STATUS_STARTED = 1
    34	
    35	};
    36	struct tsse_qpairs_bank {
    37		struct tsse_dev *tsse_dev;
    38		void __iomem *reg_base;
    39	
    40		u32 num_qparis;
    41		u32 irq_vec;
    42	};
    43	struct tsse_dev {
    44		struct module *owner;
    45		struct dentry *debugfs_dir;
    46		unsigned long status;
    47		struct list_head list;
    48		struct tsse_dev_pci tsse_pci_dev;
    49		struct tsse_qpairs_bank qpairs_bank;
    50		atomic_t ref_count;
    51		bool is_vf;
    52		int id;
    53		u32 num_irqs;
    54		u32 num_vfs;
    55		struct uart_port *port;
    56		struct tsse_ipc *ipc;
    57		void *adi;
    58		void *mbx_hw;
    59		const struct firmware *fw;
    60		char fw_version[TSSE_FW_VERSION_LEN];
    61	};
    62	#define TSSEDEV_TO_DEV(tssedev) (&((tssedev)->tsse_pci_dev.pci_dev->dev))
    63	#define TSSE_DEV_BARS(tssedev) ((tssedev)->tsse_pci_dev.bars)
    64	
    65	#include "tsse_log.h"
    66	
    67	struct list_head *tsse_devmgr_get_head(void);
    68	
    69	int tsse_dev_get(struct tsse_dev *tsse_dev);
    70	void tsse_dev_put(struct tsse_dev *tsse_dev);
    71	int tsse_devmgr_add_dev(struct tsse_dev *tsse_dev);
    72	void tsse_devmgr_rm_dev(struct tsse_dev *tdev);
    73	int tsse_prepare_restart_dev(struct tsse_dev *tdev);
    74	int tsse_start_dev(struct tsse_dev *tdev);
    75	struct tsse_dev *get_tssedev(int id);
    76	
    77	static inline struct tsse_dev *pci_to_tsse_dev(struct pci_dev *pci_dev)
    78	{
    79		return (struct tsse_dev *)pci_get_drvdata(pci_dev);
    80	}
    81	
    82	static inline int tsse_get_cur_node(void)
    83	{
  > 84		int cpu, node;
    85	
    86		cpu = get_cpu();
    87		node = topology_physical_package_id(cpu);
    88		put_cpu();
    89	
    90		return node;
    91	}
    92	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6 1834/1834] drivers/scsi/leapioraid/leapioraid_app.c:547:55: sparse: sparse: restricted __le16 degrades to integer
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git OLK-6.6
head:   75c81bcddd82381fbd4cef477a5b56eb2fe56697
commit: 7fea595ef48e9ab13bd31df067b19152153e1925 [1834/1834] SCSI: LEAPIORAID: Supports LEAPIO RAID controller
config: x86_64-randconfig-122-20250122 (https://download.01.org/0day-ci/archive/20250122/202501220628.ocqpqpGr-lkp@…)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220628.ocqpqpGr-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501220628.ocqpqpGr-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/scsi/leapioraid/leapioraid_app.c:547:55: sparse: sparse: restricted __le16 degrades to integer
>> drivers/scsi/leapioraid/leapioraid_app.c:2197:17: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __poll_t ( *poll )( ... ) @@     got unsigned int ( * )( ... ) @@
   drivers/scsi/leapioraid/leapioraid_app.c:2197:17: sparse:     expected restricted __poll_t ( *poll )( ... )
   drivers/scsi/leapioraid/leapioraid_app.c:2197:17: sparse:     got unsigned int ( * )( ... )
   drivers/scsi/leapioraid/leapioraid_app.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/umh.h, include/linux/kmod.h, ...):
   include/linux/page-flags.h:244:46: sparse: sparse: self-comparison always evaluates to false
--
>> drivers/scsi/leapioraid/leapioraid_func.c:304:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __be32 static [addressable] [assigned] [toplevel] [usertype] s_addr @@     got unsigned int [addressable] [usertype] ip @@
   drivers/scsi/leapioraid/leapioraid_func.c:304:35: sparse:     expected restricted __be32 static [addressable] [assigned] [toplevel] [usertype] s_addr
   drivers/scsi/leapioraid/leapioraid_func.c:304:35: sparse:     got unsigned int [addressable] [usertype] ip
>> drivers/scsi/leapioraid/leapioraid_func.c:325:21: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long [usertype] iov_len @@     got restricted __le32 [usertype] datasize @@
   drivers/scsi/leapioraid/leapioraid_func.c:325:21: sparse:     expected unsigned long [usertype] iov_len
   drivers/scsi/leapioraid/leapioraid_func.c:325:21: sparse:     got restricted __le32 [usertype] datasize
>> drivers/scsi/leapioraid/leapioraid_func.c:369:71: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected restricted __le32 [usertype] datasize @@     got unsigned int [assigned] [usertype] send_sz @@
   drivers/scsi/leapioraid/leapioraid_func.c:369:71: sparse:     expected restricted __le32 [usertype] datasize
   drivers/scsi/leapioraid/leapioraid_func.c:369:71: sparse:     got unsigned int [assigned] [usertype] send_sz
   drivers/scsi/leapioraid/leapioraid_func.c:671:1: sparse: sparse: symbol 'leapioraid_base_stop_smart_polling' was not declared. Should it be static?
>> drivers/scsi/leapioraid/leapioraid_func.c:1395:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned long long [usertype] * @@
   drivers/scsi/leapioraid/leapioraid_func.c:1395:67: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/scsi/leapioraid/leapioraid_func.c:1395:67: sparse:     got unsigned long long [usertype] *
   drivers/scsi/leapioraid/leapioraid_func.c:1427:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned long long [usertype] * @@
   drivers/scsi/leapioraid/leapioraid_func.c:1427:51: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/scsi/leapioraid/leapioraid_func.c:1427:51: sparse:     got unsigned long long [usertype] *
   drivers/scsi/leapioraid/leapioraid_func.c:1300:1: sparse: sparse: symbol 'leapioraid_base_process_reply_queue' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_func.c:1468:5: sparse: sparse: symbol 'leapioraid_base_irqpoll' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_func.c:1490:1: sparse: sparse: symbol 'leapioraid_base_init_irqpolls' was not declared. Should it be static?
>> drivers/scsi/leapioraid/leapioraid_func.c:1924:21: sparse: sparse: symbol 'leapioraid_pcie_link_speed' was not declared. Should it be static?
>> drivers/scsi/leapioraid/leapioraid_func.c:2946:31: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/scsi/leapioraid/leapioraid_func.c:3291:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int val @@     got restricted __le32 [usertype] @@
   drivers/scsi/leapioraid/leapioraid_func.c:3291:16: sparse:     expected unsigned int val
   drivers/scsi/leapioraid/leapioraid_func.c:3291:16: sparse:     got restricted __le32 [usertype]
   drivers/scsi/leapioraid/leapioraid_func.c:3304:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int val @@     got restricted __le32 [usertype] @@
   drivers/scsi/leapioraid/leapioraid_func.c:3304:16: sparse:     expected unsigned int val
   drivers/scsi/leapioraid/leapioraid_func.c:3304:16: sparse:     got restricted __le32 [usertype]
   drivers/scsi/leapioraid/leapioraid_func.c:3317:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int val @@     got restricted __le32 [usertype] @@
   drivers/scsi/leapioraid/leapioraid_func.c:3317:16: sparse:     expected unsigned int val
   drivers/scsi/leapioraid/leapioraid_func.c:3317:16: sparse:     got restricted __le32 [usertype]
   drivers/scsi/leapioraid/leapioraid_func.c:3330:16: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int val @@     got restricted __le32 [usertype] @@
   drivers/scsi/leapioraid/leapioraid_func.c:3330:16: sparse:     expected unsigned int val
   drivers/scsi/leapioraid/leapioraid_func.c:3330:16: sparse:     got restricted __le32 [usertype]
>> drivers/scsi/leapioraid/leapioraid_func.c:3373:32: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] ImageSize @@     got unsigned long [assigned] [usertype] data_length @@
   drivers/scsi/leapioraid/leapioraid_func.c:3373:32: sparse:     expected restricted __le32 [usertype] ImageSize
   drivers/scsi/leapioraid/leapioraid_func.c:3373:32: sparse:     got unsigned long [assigned] [usertype] data_length
   drivers/scsi/leapioraid/leapioraid_func.c:4414:1: sparse: sparse: symbol 'leapioraid_base_flush_ios_and_panic' was not declared. Should it be static?
>> drivers/scsi/leapioraid/leapioraid_func.c:4747:40: sparse: sparse: invalid assignment: |=
   drivers/scsi/leapioraid/leapioraid_func.c:4747:40: sparse:    left side has type restricted __le16
   drivers/scsi/leapioraid/leapioraid_func.c:4747:40: sparse:    right side has type int
>> drivers/scsi/leapioraid/leapioraid_func.c:4799:29: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le64 [addressable] [assigned] [usertype] BufAddr @@     got unsigned long long [usertype] log_buffer_dma @@
   drivers/scsi/leapioraid/leapioraid_func.c:4799:29: sparse:     expected restricted __le64 [addressable] [assigned] [usertype] BufAddr
   drivers/scsi/leapioraid/leapioraid_func.c:4799:29: sparse:     got unsigned long long [usertype] log_buffer_dma
>> drivers/scsi/leapioraid/leapioraid_func.c:4800:29: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] BufSize @@     got int @@
   drivers/scsi/leapioraid/leapioraid_func.c:4800:29: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] BufSize
   drivers/scsi/leapioraid/leapioraid_func.c:4800:29: sparse:     got int
   drivers/scsi/leapioraid/leapioraid_func.c:5242:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned long long [usertype] * @@
   drivers/scsi/leapioraid/leapioraid_func.c:5242:67: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/scsi/leapioraid/leapioraid_func.c:5242:67: sparse:     got unsigned long long [usertype] *
   drivers/scsi/leapioraid/leapioraid_func.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/umh.h, include/linux/kmod.h, ...):
   include/linux/page-flags.h:244:46: sparse: sparse: self-comparison always evaluates to false
   drivers/scsi/leapioraid/leapioraid_func.c: note: in included file (through include/linux/module.h):
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
--
>> drivers/scsi/leapioraid/leapioraid_os.c:5965:29: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:521:30: sparse: sparse: symbol 'leapioraid_get_sdev_from_target' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_os.c:534:30: sparse: sparse: symbol '__leapioraid_get_sdev_by_addr' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_os.c:866:34: sparse: sparse: symbol 'leapioraid_scsihost_enclosure_find_by_handle' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_os.c:1854:1: sparse: sparse: symbol 'leapioraid_scsihost_tm_cmd_map_status' was not declared. Should it be static?
   drivers/scsi/leapioraid/leapioraid_os.c:1889:1: sparse: sparse: symbol 'leapioraid_scsihost_tm_post_processing' was not declared. Should it be static?
>> drivers/scsi/leapioraid/leapioraid_os.c:3080:25: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] dev_handle @@     got restricted __le16 [usertype] DevHandle @@
   drivers/scsi/leapioraid/leapioraid_os.c:3080:25: sparse:     expected unsigned short [usertype] dev_handle
   drivers/scsi/leapioraid/leapioraid_os.c:3080:25: sparse:     got restricted __le16 [usertype] DevHandle
   drivers/scsi/leapioraid/leapioraid_os.c:3081:17: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3091:35: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3093:42: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3094:45: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3095:25: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3099:42: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3100:61: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3102:25: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3106:42: sparse: sparse: cast to restricted __le16
   drivers/scsi/leapioraid/leapioraid_os.c:3107:35: sparse: sparse: cast to restricted __le16
>> drivers/scsi/leapioraid/leapioraid_os.c:6840:37: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le16 [usertype] EnclosureHandle @@     got unsigned short [usertype] @@
   drivers/scsi/leapioraid/leapioraid_os.c:6840:37: sparse:     expected restricted __le16 [usertype] EnclosureHandle
   drivers/scsi/leapioraid/leapioraid_os.c:6840:37: sparse:     got unsigned short [usertype]
>> drivers/scsi/leapioraid/leapioraid_os.c:6844:76: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected unsigned short [usertype] handle @@     got restricted __le16 [usertype] EnclosureHandle @@
   drivers/scsi/leapioraid/leapioraid_os.c:6844:76: sparse:     expected unsigned short [usertype] handle
   drivers/scsi/leapioraid/leapioraid_os.c:6844:76: sparse:     got restricted __le16 [usertype] EnclosureHandle
>> drivers/scsi/leapioraid/leapioraid_os.c:6859:59: sparse: sparse: incorrect type in argument 5 (different base types) @@     expected unsigned int [usertype] handle @@     got restricted __le16 [usertype] EnclosureHandle @@
   drivers/scsi/leapioraid/leapioraid_os.c:6859:59: sparse:     expected unsigned int [usertype] handle
   drivers/scsi/leapioraid/leapioraid_os.c:6859:59: sparse:     got restricted __le16 [usertype] EnclosureHandle
   drivers/scsi/leapioraid/leapioraid_os.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/umh.h, include/linux/kmod.h, ...):
   include/linux/page-flags.h:244:46: sparse: sparse: self-comparison always evaluates to false
   drivers/scsi/leapioraid/leapioraid_os.c: note: in included file (through include/linux/module.h):
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
vim +547 drivers/scsi/leapioraid/leapioraid_app.c
   506	
   507	static int
   508	leapioraid_ctl_set_task_mid(struct LEAPIORAID_ADAPTER *ioc,
   509			  struct leapio_ioctl_command *karg,
   510			  struct LeapioraidSCSITmgReq_t *tm_request)
   511	{
   512		u8 found = 0;
   513		u16 smid;
   514		u16 handle;
   515		struct scsi_cmnd *scmd;
   516		struct LEAPIORAID_DEVICE *priv_data;
   517		struct LeapioraidSCSITmgRep_t *tm_reply;
   518		u32 sz;
   519		u32 lun;
   520		char *desc = NULL;
   521		struct leapioraid_scsiio_tracker *st = NULL;
   522	
   523		if (tm_request->TaskType == LEAPIORAID_SCSITASKMGMT_TASKTYPE_ABORT_TASK)
   524			desc = "abort_task";
   525		else if (tm_request->TaskType ==
   526			 LEAPIORAID_SCSITASKMGMT_TASKTYPE_QUERY_TASK)
   527			desc = "query_task";
   528		else
   529			return 0;
   530		lun = scsilun_to_int((struct scsi_lun *)tm_request->LUN);
   531		handle = le16_to_cpu(tm_request->DevHandle);
   532		for (smid = ioc->shost->can_queue; smid && !found; smid--) {
   533			scmd = leapioraid_scsihost_scsi_lookup_get(ioc, smid);
   534			if (scmd == NULL || scmd->device == NULL ||
   535			    scmd->device->hostdata == NULL)
   536				continue;
   537			if (lun != scmd->device->lun)
   538				continue;
   539			priv_data = scmd->device->hostdata;
   540			if (priv_data->sas_target == NULL)
   541				continue;
   542			if (priv_data->sas_target->handle != handle)
   543				continue;
   544			st = leapioraid_base_scsi_cmd_priv(scmd);
   545			if ((!st) || (st->smid == 0))
   546				continue;
 > 547			if (!tm_request->TaskMID || tm_request->TaskMID == st->smid) {
   548				tm_request->TaskMID = cpu_to_le16(st->smid);
   549				found = 1;
   550			}
   551		}
   552		if (!found) {
   553			dctlprintk(ioc, pr_info(
   554				"%s %s: handle(0x%04x), lun(%d), no active mid!!\n",
   555					       ioc->name, desc,
   556					       le16_to_cpu(tm_request->DevHandle),
   557					       lun));
   558			tm_reply = ioc->ctl_cmds.reply;
   559			tm_reply->DevHandle = tm_request->DevHandle;
   560			tm_reply->Function = LEAPIORAID_FUNC_SCSI_TASK_MGMT;
   561			tm_reply->TaskType = tm_request->TaskType;
   562			tm_reply->MsgLength =
   563			    sizeof(struct LeapioraidSCSITmgRep_t) / 4;
   564			tm_reply->VP_ID = tm_request->VP_ID;
   565			tm_reply->VF_ID = tm_request->VF_ID;
   566			sz = min_t(u32, karg->max_reply_bytes, ioc->reply_sz);
   567			if (copy_to_user(karg->reply_frame_buf_ptr, ioc->ctl_cmds.reply,
   568					 sz))
   569				pr_err("failure at %s:%d/%s()!\n", __FILE__,
   570				       __LINE__, __func__);
   571			return 1;
   572		}
   573		dctlprintk(ioc, pr_info(
   574			"%s %s: handle(0x%04x), lun(%d), task_mid(%d)\n",
   575			ioc->name, desc,
   576			le16_to_cpu(tm_request->DevHandle), lun,
   577			le16_to_cpu(tm_request->TaskMID)));
   578		return 0;
   579	}
   580	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-6.6] BUILD REGRESSION 75c81bcddd82381fbd4cef477a5b56eb2fe56697
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 75c81bcddd82381fbd4cef477a5b56eb2fe56697  !14813  drm/i915/hdcp: Add encoder check in intel_hdcp_get_capability
Error/Warning (recently discovered and may have been fixed):
    https://lore.kernel.org/oe-kbuild-all/202501211756.LmO1gDKg-lkp@intel.com
    drivers/crypto/ccp/hygon/tdm-kernel-guard.c:308:37: error: 'NR_syscalls' undeclared (first use in this function); did you mean 'si_syscall'?
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
|   |-- block-blk-io-hierarchy-iodump.c:warning:no-previous-prototype-for-function-__bio_stage_hierarchy_start
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_net_event_callback
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_notify_all_vfs_link_changed
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_notify_vf_link_status
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_main.c:warning:no-previous-prototype-for-function-bifur_enable_disable_vf_all
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_alloc_proc_file
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_cmd_exec
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_file_write
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_free_knl_msg_buf
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_dev_close
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_dev_open
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_file_add
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_file_del
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_msg_copy_from_usr
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_msg_copy_to_usr
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_proc_write
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_file_add
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_file_del
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_proc_build
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_proc_destroy
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_proc_close
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_proc_open
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_vf_info_hold
|   `-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_vf_info_put
|-- loongarch-alldefconfig
|   `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores
|-- loongarch-allmodconfig
|   `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores
|-- loongarch-allnoconfig
|   `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores
|-- loongarch-allyesconfig
|   `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores
|-- loongarch-randconfig-001-20250121
|   `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores
|-- x86_64-allnoconfig
|   |-- include-linux-sched-signal.h:linux-kabi.h-is-included-more-than-once.
|   `-- samples-trace_events-trace_custom_sched.c:linux-version.h-not-needed.
|-- x86_64-allyesconfig
|   |-- block-blk-io-hierarchy-iodump.c:warning:no-previous-prototype-for-function-__bio_stage_hierarchy_start
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_net_event_callback
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_notify_all_vfs_link_changed
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_event.c:warning:no-previous-prototype-for-function-bifur_notify_vf_link_status
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_main.c:warning:no-previous-prototype-for-function-bifur_enable_disable_vf_all
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_alloc_proc_file
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_cmd_exec
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_file_write
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_free_knl_msg_buf
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_dev_close
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_dev_open
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_file_add
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_global_file_del
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_msg_copy_from_usr
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_msg_copy_to_usr
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_pfile.c:warning:no-previous-prototype-for-function-bifur_proc_write
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_file_add
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_file_del
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_proc_build
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_dev_proc_destroy
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_proc_close
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_proc_open
|   |-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_vf_info_hold
|   `-- drivers-net-ethernet-huawei-hibifur-bifur_vf_mgr.c:warning:no-previous-prototype-for-function-bifur_vf_info_put
`-- x86_64-buildonly-randconfig-006-20250121
    `-- drivers-crypto-ccp-hygon-tdm-kernel-guard.c:error:NR_syscalls-undeclared-(first-use-in-this-function)
elapsed time: 726m
configs tested: 20
configs skipped: 122
tested configs:
arm64                           allmodconfig    clang-18
arm64                            allnoconfig    gcc-14.2.0
arm64                randconfig-001-20250121    gcc-14.2.0
arm64                randconfig-002-20250121    gcc-14.2.0
arm64                randconfig-003-20250121    gcc-14.2.0
arm64                randconfig-004-20250121    clang-18
loongarch                       alldefconfig    gcc-14.2.0
loongarch                       allmodconfig    gcc-14.2.0
loongarch                        allnoconfig    gcc-14.2.0
loongarch            randconfig-001-20250121    gcc-14.2.0
loongarch            randconfig-002-20250121    gcc-14.2.0
x86_64                           allnoconfig    clang-19
x86_64                          allyesconfig    clang-19
x86_64     buildonly-randconfig-001-20250121    gcc-12
x86_64     buildonly-randconfig-002-20250121    clang-19
x86_64     buildonly-randconfig-003-20250121    gcc-12
x86_64     buildonly-randconfig-004-20250121    clang-19
x86_64     buildonly-randconfig-005-20250121    clang-19
x86_64     buildonly-randconfig-006-20250121    gcc-12
x86_64                             defconfig    gcc-11
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:openEuler-1.0-LTS 1411/1411] drivers/net/ethernet/netswift/ngbe/ngbe_main.c:5164:6: warning: unused variable 'len'
                        
                        
by kernel test robot 22 Jan '25
                    by kernel test robot 22 Jan '25
22 Jan '25
                    
                        tree:   https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head:   fdf62dff2537450d438667d817333e17ec71148a
commit: d4353bc94d9a5d1fb044185ee8162f0cc3e48f90 [1411/1411] net: wangxun: fix resolving ipv6 pakets extension header errors
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20250122/202501220126.4njU5YRX-lkp@…)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250122/202501220126.4njU5YRX-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501220126.4njU5YRX-lkp@intel.com/
All warnings (new ones prefixed by >>):
   In file included from drivers/net/ethernet/netswift/ngbe/ngbe_main.c:38:
   drivers/net/ethernet/netswift/ngbe/ngbe.h:764:6: warning: variable 'cur_diff' set but not used [-Wunused-but-set-variable]
     764 |         u32 cur_diff = 0;
         |             ^
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:170:6: warning: no previous prototype for function 'ngbe_service_event_schedule' [-Wmissing-prototypes]
     170 | void ngbe_service_event_schedule(struct ngbe_adapter *adapter)
         |      ^
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:170:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
     170 | void ngbe_service_event_schedule(struct ngbe_adapter *adapter)
         | ^
         | static 
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:433:7: warning: variable 'real_tx_hang' set but not used [-Wunused-but-set-variable]
     433 |         bool real_tx_hang = false;
         |              ^
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3223:6: warning: no previous prototype for function 'ngbe_configure_isb' [-Wmissing-prototypes]
    3223 | void ngbe_configure_isb(struct ngbe_adapter *adapter)
         |      ^
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3223:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
    3223 | void ngbe_configure_isb(struct ngbe_adapter *adapter)
         | ^
         | static 
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3233:6: warning: no previous prototype for function 'ngbe_configure_port' [-Wmissing-prototypes]
    3233 | void ngbe_configure_port(struct ngbe_adapter *adapter)
         |      ^
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3233:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
    3233 | void ngbe_configure_port(struct ngbe_adapter *adapter)
         | ^
         | static 
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3592:6: warning: no previous prototype for function 'ngbe_disable_device' [-Wmissing-prototypes]
    3592 | void ngbe_disable_device(struct ngbe_adapter *adapter)
         |      ^
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3592:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
    3592 | void ngbe_disable_device(struct ngbe_adapter *adapter)
         | ^
         | static 
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3693:5: warning: no previous prototype for function 'ngbe_init_shared_code' [-Wmissing-prototypes]
    3693 | s32 ngbe_init_shared_code(struct ngbe_hw *hw)
         |     ^
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3693:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
    3693 | s32 ngbe_init_shared_code(struct ngbe_hw *hw)
         | ^
         | static 
>> drivers/net/ethernet/netswift/ngbe/ngbe_main.c:5164:6: warning: unused variable 'len' [-Wunused-variable]
    5164 |         u32 len = 0;
         |             ^~~
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:5833:5: warning: no previous prototype for function 'ngbe_skb_pad_nonzero' [-Wmissing-prototypes]
    5833 | int ngbe_skb_pad_nonzero(struct sk_buff *skb, int pad)
         |     ^
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:5833:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
    5833 | int ngbe_skb_pad_nonzero(struct sk_buff *skb, int pad)
         | ^
         | static 
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:6033:6: warning: variable 'prtad' set but not used [-Wunused-but-set-variable]
    6033 |         int prtad, devad, ret = 0;
         |             ^
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:6033:13: warning: variable 'devad' set but not used [-Wunused-but-set-variable]
    6033 |         int prtad, devad, ret = 0;
         |                    ^
   11 warnings generated.
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:257: warning: Function parameter or member 'quiet' not described in 'ngbe_read_reg'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:1644: warning: Function parameter or member 'queues' not described in 'ngbe_irq_enable'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:1644: warning: Function parameter or member 'flush' not described in 'ngbe_irq_enable'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:2035: warning: Function parameter or member 'adapter' not described in 'ngbe_configure_msi_and_legacy'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:2449: warning: Function parameter or member 'adapter' not described in 'ngbe_configure_bridge_mode'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:2913: warning: Function parameter or member 'pool' not described in 'ngbe_write_uc_addr_list'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:3722: warning: cannot understand function prototype: 'const u32 def_rss_key[10] = '
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4583: warning: Function parameter or member 'adapter' not described in 'ngbe_check_hang_subtask'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4648: warning: Function parameter or member 'adapter' not described in 'ngbe_watchdog_update_link_status'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4744: warning: Function parameter or member 'adapter' not described in 'ngbe_watchdog_link_is_up'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4789: warning: Function parameter or member 'adapter' not described in 'ngbe_watchdog_link_is_down'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4856: warning: Function parameter or member 'adapter' not described in 'ngbe_watchdog_flush_tx'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4928: warning: Function parameter or member 'adapter' not described in 'ngbe_watchdog_subtask'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4957: warning: Function parameter or member 't' not described in 'ngbe_service_timer'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:4957: warning: Excess function parameter 'data' description in 'ngbe_service_timer'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:6066: warning: Function parameter or member 'dev' not described in 'ngbe_setup_tc'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:6066: warning: Excess function parameter 'netdev' description in 'ngbe_setup_tc'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:6320: warning: Excess function parameter 'device_id' description in 'ngbe_wol_supported'
   drivers/net/ethernet/netswift/ngbe/ngbe_main.c:6320: warning: Excess function parameter 'subdev_id' description in 'ngbe_wol_supported'
vim +/len +5164 drivers/net/ethernet/netswift/ngbe/ngbe_main.c
  5154	
  5155	static ngbe_dptype encode_tx_desc_ptype(const struct ngbe_tx_buffer *first)
  5156	{
  5157		struct sk_buff *skb = first->skb;
  5158		u8 tun_prot = 0;
  5159		u8 l4_prot = 0;
  5160		u8 ptype = 0;
  5161		unsigned char *exthdr;
  5162		unsigned char *l4_hdr;
  5163		__be16 frag_off;
> 5164		u32 len = 0;
  5165	
  5166		if (skb->encapsulation) {
  5167			union network_header hdr;
  5168	
  5169			switch (first->protocol) {
  5170			case __constant_htons(ETH_P_IP):
  5171				tun_prot = ip_hdr(skb)->protocol;
  5172				if (ip_hdr(skb)->frag_off & htons(IP_MF | IP_OFFSET))
  5173					goto encap_frag;
  5174				ptype = NGBE_PTYPE_TUN_IPV4;
  5175				break;
  5176			case htons(ETH_P_IPV6):
  5177				l4_hdr = skb_transport_header(skb);
  5178				exthdr = skb_network_header(skb) +
  5179							sizeof(struct ipv6hdr);
  5180				tun_prot = ipv6_hdr(skb)->nexthdr;
  5181				if (l4_hdr != exthdr)
  5182					ipv6_skip_exthdr(skb, exthdr - skb->data,
  5183							 &tun_prot, &frag_off);
  5184	
  5185				if (tun_prot == NEXTHDR_FRAGMENT)
  5186					goto encap_frag;
  5187				ptype = NGBE_PTYPE_TUN_IPV6;
  5188				break;
  5189			default:
  5190				goto exit;
  5191			}
  5192	
  5193			if (tun_prot == IPPROTO_IPIP ||
  5194			    tun_prot == IPPROTO_IPV6) {
  5195				hdr.raw = (void *)inner_ip_hdr(skb);
  5196				ptype |= NGBE_PTYPE_PKT_IPIP;
  5197			} else if (tun_prot == IPPROTO_UDP) {
  5198				hdr.raw = (void *)inner_ip_hdr(skb);
  5199			} else {
  5200				goto exit;
  5201			}
  5202	
  5203			switch (hdr.ipv4->version) {
  5204			case IPVERSION:
  5205				l4_prot = hdr.ipv4->protocol;
  5206				if (hdr.ipv4->frag_off & htons(IP_MF | IP_OFFSET)) {
  5207					ptype |= NGBE_PTYPE_TYP_IPFRAG;
  5208					goto exit;
  5209				}
  5210				break;
  5211			case 6:
  5212				l4_hdr = skb_inner_transport_header(skb);
  5213				exthdr = skb_inner_network_header(skb) +
  5214							sizeof(struct ipv6hdr);
  5215				l4_prot = inner_ipv6_hdr(skb)->nexthdr;
  5216				if (l4_hdr != exthdr)
  5217					ipv6_skip_exthdr(skb, exthdr - skb->data,
  5218							 &l4_prot, &frag_off);
  5219	
  5220				ptype |= NGBE_PTYPE_PKT_IPV6;
  5221				if (l4_prot == NEXTHDR_FRAGMENT) {
  5222					ptype |= NGBE_PTYPE_TYP_IPFRAG;
  5223					goto exit;
  5224				}
  5225				break;
  5226			default:
  5227				goto exit;
  5228			}
  5229		} else {
  5230	encap_frag:
  5231			switch (first->protocol) {
  5232			case __constant_htons(ETH_P_IP):
  5233				l4_prot = ip_hdr(skb)->protocol;
  5234				ptype = NGBE_PTYPE_PKT_IP;
  5235				if (ip_hdr(skb)->frag_off & htons(IP_MF | IP_OFFSET)) {
  5236					ptype |= NGBE_PTYPE_TYP_IPFRAG;
  5237					goto exit;
  5238				}
  5239				break;
  5240	#ifdef NETIF_F_IPV6_CSUM
  5241			case htons(ETH_P_IPV6):
  5242				l4_hdr = skb_transport_header(skb);
  5243				exthdr = skb_network_header(skb) +
  5244							sizeof(struct ipv6hdr);
  5245				l4_prot = ipv6_hdr(skb)->nexthdr;
  5246				if (l4_hdr != exthdr)
  5247					ipv6_skip_exthdr(skb, exthdr - skb->data,
  5248							 &l4_prot, &frag_off);
  5249	
  5250				ptype = NGBE_PTYPE_PKT_IP | NGBE_PTYPE_PKT_IPV6;
  5251				if (l4_prot == NEXTHDR_FRAGMENT) {
  5252					ptype |= NGBE_PTYPE_TYP_IPFRAG;
  5253					goto exit;
  5254				}
  5255				break;
  5256	#endif /* NETIF_F_IPV6_CSUM */
  5257			case __constant_htons(ETH_P_1588):
  5258				ptype = NGBE_PTYPE_L2_TS;
  5259				goto exit;
  5260			case __constant_htons(ETH_P_FIP):
  5261				ptype = NGBE_PTYPE_L2_FIP;
  5262				goto exit;
  5263			case __constant_htons(NGBE_ETH_P_LLDP):
  5264				ptype = NGBE_PTYPE_L2_LLDP;
  5265				goto exit;
  5266			case __constant_htons(NGBE_ETH_P_CNM):
  5267				ptype = NGBE_PTYPE_L2_CNM;
  5268				goto exit;
  5269			case __constant_htons(ETH_P_PAE):
  5270				ptype = NGBE_PTYPE_L2_EAPOL;
  5271				goto exit;
  5272			case __constant_htons(ETH_P_ARP):
  5273				ptype = NGBE_PTYPE_L2_ARP;
  5274				goto exit;
  5275			default:
  5276				ptype = NGBE_PTYPE_L2_MAC;
  5277				goto exit;
  5278			}
  5279		}
  5280	
  5281		switch (l4_prot) {
  5282		case IPPROTO_TCP:
  5283			ptype |= NGBE_PTYPE_TYP_TCP;
  5284			break;
  5285		case IPPROTO_UDP:
  5286			ptype |= NGBE_PTYPE_TYP_UDP;
  5287			break;
  5288		case IPPROTO_SCTP:
  5289			ptype |= NGBE_PTYPE_TYP_SCTP;
  5290			break;
  5291		default:
  5292			ptype |= NGBE_PTYPE_TYP_IP;
  5293			break;
  5294		}
  5295	
  5296	exit:
  5297		return ngbe_decode_ptype(ptype);
  5298	}
  5299	
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [openeuler:OLK-5.10] BUILD SUCCESS WITH WARNING 2095f425a2f9fc280284b026ca81a957bda446ef
                        
                        
by kernel test robot 21 Jan '25
                    by kernel test robot 21 Jan '25
21 Jan '25
                    
                        tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: 2095f425a2f9fc280284b026ca81a957bda446ef  !14870  quota: flush quota_release_work upon quota writeback
Warning (recently discovered and may have been fixed):
    https://lore.kernel.org/oe-kbuild-all/202501211343.QkEtCRqf-lkp@intel.com
    include/linux/minmax.h:20:35: warning: comparison of distinct pointer types lacks a cast [-Wcompare-distinct-pointer-types]
Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allnoconfig
|   `-- include-linux-backing-dev.h:warning:struct-cgroup_subsys-declared-inside-parameter-list-will-not-be-visible-outside-of-this-definition-or-declaration
|-- arm64-defconfig
|   |-- block-genhd.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|   |-- block-genhd.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
|   |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|   `-- include-linux-lsm_hook_defs.h:warning:file_ioctl_compat_default-defined-but-not-used
|-- arm64-randconfig-001-20250121
|   |-- block-genhd.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|   |-- block-genhd.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
|   |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|   |-- fs-cachefiles-ondemand.c:warning:implicit-conversion-from-enum-cachefiles_obj_ref_trace-to-enum-fscache_obj_ref_trace
|   |-- fs-cachefiles-rdwr.c:warning:no-previous-prototype-for-cachefiles_readpages_work_func
|   |-- fs-cachefiles-xattr.c:warning:no-previous-prototype-for-cachefiles_check_old_object_xattr
|   |-- fs-fscache-main.c:warning:fscache_min_object_max_active-defined-but-not-used
|   |-- fs-fscache-main.c:warning:fscache_min_op_max_active-defined-but-not-used
|   |-- include-linux-lsm_hook_defs.h:warning:file_ioctl_compat_default-defined-but-not-used
|   `-- include-linux-minmax.h:warning:comparison-of-distinct-pointer-types-lacks-a-cast
|-- arm64-randconfig-003-20250121
|   |-- block-genhd.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
|   |-- block-genhd.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
|   |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|   |-- fs-cachefiles-rdwr.c:warning:no-previous-prototype-for-cachefiles_readpages_work_func
|   |-- fs-cachefiles-xattr.c:warning:no-previous-prototype-for-cachefiles_check_old_object_xattr
|   `-- include-linux-lsm_hook_defs.h:warning:file_ioctl_compat_default-defined-but-not-used
|-- x86_64-allnoconfig
|   |-- include-linux-backing-dev.h:warning:declaration-of-struct-cgroup_subsys-will-not-be-visible-outside-of-this-function
|   |-- include-linux-blk_types.h:linux-kabi.h-is-included-more-than-once.
|   |-- include-linux-cred.h:linux-kabi.h-is-included-more-than-once.
|   |-- include-linux-device-class.h:linux-kabi.h-is-included-more-than-once.
|   |-- include-linux-device.h:linux-kabi.h-is-included-more-than-once.
|   |-- include-linux-ioport.h:linux-kabi.h-is-included-more-than-once.
|   |-- include-linux-mm.h:linux-kabi.h-is-included-more-than-once.
|   |-- include-linux-swap.h:linux-kabi.h-is-included-more-than-once.
|   `-- samples-bpf-hbm.c:bpf-bpf.h-is-included-more-than-once.
|-- x86_64-allyesconfig
|   |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|   |-- crypto-asymmetric_keys-pgp_library.c:warning:Excess-function-parameter-_data-description-in-pgp_parse_packets
|   |-- crypto-asymmetric_keys-pgp_library.c:warning:Excess-function-parameter-_datalen-description-in-pgp_parse_packets
|   |-- crypto-asymmetric_keys-pgp_library.c:warning:Function-parameter-or-member-data-not-described-in-pgp_parse_packets
|   |-- crypto-asymmetric_keys-pgp_library.c:warning:Function-parameter-or-member-datalen-not-described-in-pgp_parse_packets
|   |-- fs-cachefiles-rdwr.c:warning:no-previous-prototype-for-function-cachefiles_readpages_work_func
|   `-- fs-cachefiles-xattr.c:warning:no-previous-prototype-for-function-cachefiles_check_old_object_xattr
|-- x86_64-buildonly-randconfig-001-20250121
|   `-- include-linux-backing-dev.h:warning:struct-cgroup_subsys-declared-inside-parameter-list-will-not-be-visible-outside-of-this-definition-or-declaration
|-- x86_64-buildonly-randconfig-002-20250121
|   `-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|-- x86_64-buildonly-randconfig-003-20250121
|   `-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|-- x86_64-buildonly-randconfig-004-20250121
|   `-- include-linux-backing-dev.h:warning:declaration-of-struct-cgroup_subsys-will-not-be-visible-outside-of-this-function
|-- x86_64-buildonly-randconfig-005-20250121
|   |-- fs-fscache-main.c:warning:unused-variable-fscache_min_object_max_active
|   |-- fs-fscache-main.c:warning:unused-variable-fscache_min_op_max_active
|   `-- include-linux-backing-dev.h:warning:declaration-of-struct-cgroup_subsys-will-not-be-visible-outside-of-this-function
|-- x86_64-buildonly-randconfig-006-20250121
|   |-- include-linux-backing-dev.h:warning:struct-cgroup_subsys-declared-inside-parameter-list-will-not-be-visible-outside-of-this-definition-or-declaration
|   `-- include-linux-lsm_hook_defs.h:warning:file_ioctl_compat_default-defined-but-not-used
|-- x86_64-defconfig
|   `-- include-linux-lsm_hook_defs.h:warning:file_ioctl_compat_default-defined-but-not-used
`-- x86_64-randconfig-161-20250121
    |-- block-genhd.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
    |-- block-genhd.c:warning:snprintf-output-may-be-truncated-before-the-last-format-character
    |-- fs-cachefiles-rdwr.c:warning:no-previous-prototype-for-cachefiles_readpages_work_func
    |-- fs-cachefiles-xattr.c:warning:no-previous-prototype-for-cachefiles_check_old_object_xattr
    |-- fs-fscache-cookie.c-fscache_alloc_object()-warn:argument-to-lx-specifier-is-cast-from-pointer
    |-- fs-fscache-cookie.c-fscache_attach_object()-warn:argument-to-lx-specifier-is-cast-from-pointer
    |-- fs-fscache-cookie.c-fscache_hash_cookie()-error:uninitialized-symbol-cursor-.
    `-- include-linux-lsm_hook_defs.h:warning:file_ioctl_compat_default-defined-but-not-used
elapsed time: 723m
configs tested: 16
configs skipped: 128
tested configs:
arm64                        allmodconfig    clang-18
arm64                         allnoconfig    gcc-14.2.0
arm64                           defconfig    gcc-14.2.0
arm64             randconfig-001-20250121    gcc-14.2.0
arm64             randconfig-002-20250121    gcc-14.2.0
arm64             randconfig-003-20250121    gcc-14.2.0
arm64             randconfig-004-20250121    clang-18
x86_64                        allnoconfig    clang-19
x86_64                       allyesconfig    clang-19
x86_64  buildonly-randconfig-001-20250121    gcc-12
x86_64  buildonly-randconfig-002-20250121    clang-19
x86_64  buildonly-randconfig-003-20250121    gcc-12
x86_64  buildonly-randconfig-004-20250121    clang-19
x86_64  buildonly-randconfig-005-20250121    clang-19
x86_64  buildonly-randconfig-006-20250121    gcc-12
x86_64                          defconfig    gcc-11
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                    
                    
                        From: Xinghai Cen <cenxinghai(a)h-partners.com>
Mainline patch to olk-5.10:
Feng Fang (1):
  RDMA/hns: Fix different dgids mapping to the same dip_idx
Xinghai Cen (2):
  Revert "RDMA/hns: Fix flush cqe error when racing with destroy qp"
  Revert "RDMA/hns: Fix different dgids mapping to the same dip_idx"
wenglianfa (1):
  RDMA/hns: Fix flush cqe error when racing with destroy qp
 drivers/infiniband/hw/hns/hns_roce_device.h |  11 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c  | 117 ++++++++++----------
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h  |   1 -
 drivers/infiniband/hw/hns/hns_roce_main.c   |   2 -
 drivers/infiniband/hw/hns/hns_roce_qp.c     |  17 +--
 5 files changed, 61 insertions(+), 87 deletions(-)
--
2.33.0
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            4
                            
                          
                          
                            
    
                          
                        
                    
                    
                        From: Xinghai Cen <cenxinghai(a)h-partners.com>
Mainline patch to olk-5.10:
Feng Fang (1):
  RDMA/hns: Fix different dgids mapping to the same dip_idx
Xinghai Cen (2):
  Revert "RDMA/hns: Fix flush cqe error when racing with destroy qp"
  Revert "RDMA/hns: Fix different dgids mapping to the same dip_idx"
wenglianfa (1):
  RDMA/hns: Fix flush cqe error when racing with destroy qp
 drivers/infiniband/hw/hns/hns_roce_device.h |  11 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c  | 117 ++++++++++----------
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h  |   1 -
 drivers/infiniband/hw/hns/hns_roce_main.c   |   2 -
 drivers/infiniband/hw/hns/hns_roce_qp.c     |  17 +--
 5 files changed, 61 insertions(+), 87 deletions(-)
-- 
2.33.0
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            4
                            
                          
                          
                            
    
                          
                        
                    