mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Kernel

Threads by month
  • ----- 2025 -----
  • 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
kernel@openeuler.org

  • 52 participants
  • 18282 discussions
[openeuler:OLK-6.6 1826/1826] mm/mem_reliable.c:131:52: sparse: sparse: incorrect type in argument 3 (different address spaces)
by kernel test robot 18 Jan '25

18 Jan '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: a5cbe5b715d9cac271b2c6175e728f0c4167f675 commit: 200321e8a69ef82350d070de35ac4a666ab79ba6 [1826/1826] mm: mem_reliable: Add limiting the usage of reliable memory config: arm64-randconfig-r123-20250118 (https://download.01.org/0day-ci/archive/20250118/202501180645.GOqTUifa-lkp@…) compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a) reproduce: (https://download.01.org/0day-ci/archive/20250118/202501180645.GOqTUifa-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/202501180645.GOqTUifa-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> mm/mem_reliable.c:131:52: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void * @@ got void [noderef] __user *buffer @@ mm/mem_reliable.c:131:52: sparse: expected void * mm/mem_reliable.c:131:52: sparse: got void [noderef] __user *buffer mm/mem_reliable.c:150:52: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void * @@ got void [noderef] __user *buffer @@ mm/mem_reliable.c:150:52: sparse: expected void * mm/mem_reliable.c:150:52: sparse: got void [noderef] __user *buffer mm/mem_reliable.c:172:52: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void * @@ got void [noderef] __user *buffer @@ mm/mem_reliable.c:172:52: sparse: expected void * mm/mem_reliable.c:172:52: sparse: got void [noderef] __user *buffer >> mm/mem_reliable.c:190:33: sparse: sparse: incorrect type in initializer (incompatible argument 3 (different address spaces)) @@ expected int ( [usertype] *proc_handler )( ... ) @@ got int ( * )( ... ) @@ mm/mem_reliable.c:190:33: sparse: expected int ( [usertype] *proc_handler )( ... ) mm/mem_reliable.c:190:33: sparse: got int ( * )( ... ) mm/mem_reliable.c:197:33: sparse: sparse: incorrect type in initializer (incompatible argument 3 (different address spaces)) @@ expected int ( [usertype] *proc_handler )( ... ) @@ got int ( * )( ... ) @@ mm/mem_reliable.c:197:33: sparse: expected int ( [usertype] *proc_handler )( ... ) mm/mem_reliable.c:197:33: sparse: got int ( * )( ... ) mm/mem_reliable.c:205:33: sparse: sparse: incorrect type in initializer (incompatible argument 3 (different address spaces)) @@ expected int ( [usertype] *proc_handler )( ... ) @@ got int ( * )( ... ) @@ mm/mem_reliable.c:205:33: sparse: expected int ( [usertype] *proc_handler )( ... ) mm/mem_reliable.c:205:33: sparse: got int ( * )( ... ) vim +131 mm/mem_reliable.c 123 124 static int reliable_pagecache_max_bytes_write(struct ctl_table *table, 125 int write, void __user *buffer, 126 size_t *length, loff_t *ppos) 127 { 128 unsigned long old_value = pagecache_reliable_limit; 129 int ret; 130 > 131 ret = proc_doulongvec_minmax(table, write, buffer, length, ppos); 132 if (!ret && write) { 133 if (pagecache_reliable_limit > 134 PAGES_TO_B(total_reliable_pages())) { 135 pagecache_reliable_limit = old_value; 136 return -EINVAL; 137 } 138 } 139 140 return ret; 141 } 142 143 static int reliable_limit_handler(struct ctl_table *table, int write, 144 void __user *buffer, size_t *length, 145 loff_t *ppos) 146 { 147 unsigned long old = task_reliable_limit; 148 int ret; 149 150 ret = proc_doulongvec_minmax(table, write, buffer, length, ppos); 151 if (!ret && write) { 152 if (task_reliable_limit > PAGES_TO_B(total_reliable_pages()) || 153 task_reliable_limit < 154 (task_reliable_used_pages() << PAGE_SHIFT)) { 155 task_reliable_limit = old; 156 return -EINVAL; 157 } 158 } 159 160 return ret; 161 } 162 163 #ifdef CONFIG_SHMEM 164 static int reliable_shmem_bytes_limit_handler(struct ctl_table *table, 165 int write, void __user *buffer, 166 size_t *length, loff_t *ppos) 167 { 168 unsigned long *data_ptr = (unsigned long *)(table->data); 169 unsigned long old = *data_ptr; 170 int ret; 171 172 ret = proc_doulongvec_minmax(table, write, buffer, length, ppos); 173 if (!ret && write) { 174 if (*data_ptr > PAGES_TO_B(total_reliable_pages())) { 175 *data_ptr = old; 176 return -EINVAL; 177 } 178 } 179 180 return ret; 181 } 182 #endif 183 184 static struct ctl_table reliable_ctl_table[] = { 185 { 186 .procname = "reliable_pagecache_max_bytes", 187 .data = &pagecache_reliable_limit, 188 .maxlen = sizeof(pagecache_reliable_limit), 189 .mode = 0644, > 190 .proc_handler = reliable_pagecache_max_bytes_write, 191 }, 192 { 193 .procname = "task_reliable_limit", 194 .data = &task_reliable_limit, 195 .maxlen = sizeof(task_reliable_limit), 196 .mode = 0644, 197 .proc_handler = reliable_limit_handler, 198 }, 199 #ifdef CONFIG_SHMEM 200 { 201 .procname = "shmem_reliable_bytes_limit", 202 .data = &shmem_reliable_limit, 203 .maxlen = sizeof(shmem_reliable_limit), 204 .mode = 0644, 205 .proc_handler = reliable_shmem_bytes_limit_handler, 206 }, 207 #endif 208 {} 209 }; 210 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1826/1826] kernel/sched/fair.c:146:12: warning: 'hundred_thousand' defined but not used
by kernel test robot 18 Jan '25

18 Jan '25
Hi Zhang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: a5cbe5b715d9cac271b2c6175e728f0c4167f675 commit: a3c9f2da0a35df4e41751556be4308f57bdaf3d6 [1826/1826] sched: Introduce handle priority reversion mechanism config: loongarch-randconfig-r063-20250118 (https://download.01.org/0day-ci/archive/20250118/202501180452.dWoRzgYk-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250118/202501180452.dWoRzgYk-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/202501180452.dWoRzgYk-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/sched/fair.c:146:12: warning: 'hundred_thousand' defined but not used [-Wunused-variable] 146 | static int hundred_thousand = 100000; | ^~~~~~~~~~~~~~~~ >> kernel/sched/fair.c:145:12: warning: 'one_thousand' defined but not used [-Wunused-variable] 145 | static int one_thousand = 1000; | ^~~~~~~~~~~~ vim +/hundred_thousand +146 kernel/sched/fair.c 139 140 static DEFINE_PER_CPU_SHARED_ALIGNED(struct list_head, qos_throttled_cfs_rq); 141 static DEFINE_PER_CPU_SHARED_ALIGNED(struct hrtimer, qos_overload_timer); 142 static DEFINE_PER_CPU(int, qos_cpu_overload); 143 unsigned int sysctl_overload_detect_period = 5000; /* in ms */ 144 unsigned int sysctl_offline_wait_interval = 100; /* in ms */ > 145 static int one_thousand = 1000; > 146 static int hundred_thousand = 100000; 147 static int unthrottle_qos_cfs_rqs(int cpu); 148 #endif 149 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1826/1826] arch/arm64/kernel/ipi_nmi.c:39:2: error: call to undeclared function '__printk_safe_enter'; ISO C99 and later do not support implicit function declarations
by kernel test robot 18 Jan '25

18 Jan '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: a5cbe5b715d9cac271b2c6175e728f0c4167f675 commit: 5e3e94b1477ca3f6cb47ae8137a4a99fe0ef6147 [1826/1826] arm64: Add non nmi ipi backtrace support config: arm64-randconfig-r123-20250118 (https://download.01.org/0day-ci/archive/20250118/202501180414.2c8NAnVD-lkp@…) compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a) reproduce: (https://download.01.org/0day-ci/archive/20250118/202501180414.2c8NAnVD-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/202501180414.2c8NAnVD-lkp@intel.com/ All errors (new ones prefixed by >>): >> arch/arm64/kernel/ipi_nmi.c:39:2: error: call to undeclared function '__printk_safe_enter'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] __printk_safe_enter(); ^ >> arch/arm64/kernel/ipi_nmi.c:41:2: error: call to undeclared function '__printk_safe_exit'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] __printk_safe_exit(); ^ 2 errors generated. vim +/__printk_safe_enter +39 arch/arm64/kernel/ipi_nmi.c 35 36 #ifdef CONFIG_NON_NMI_IPI_BACKTRACE 37 static void ipi_cpu_backtrace(void *info) 38 { > 39 __printk_safe_enter(); 40 nmi_cpu_backtrace(get_irq_regs()); > 41 __printk_safe_exit(); 42 } 43 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6] BUILD REGRESSION a5cbe5b715d9cac271b2c6175e728f0c4167f675
by kernel test robot 18 Jan '25

18 Jan '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6 branch HEAD: a5cbe5b715d9cac271b2c6175e728f0c4167f675 !14873 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.62-6.6.63 LTS Patches 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 |-- arm64-randconfig-r061-20250118 | `-- kernel-cgroup-cgroup.c:error:use-of-undeclared-identifier-cgroup_psi_stat_show |-- 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-20250117 | `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores |-- loongarch-randconfig-002-20250117 | `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores |-- loongarch-randconfig-r063-20250118 | |-- arch-loongarch-kernel-smp.c:WARNING:Unsigned-expression-compared-with-zero:cpu | `-- drivers-irqchip-irq-loongson-eiointc.c:warning:unused-variable-cores |-- x86_64-allnoconfig | `-- 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-randconfig-r062-20250118 |-- arch-x86-kernel-cpu-hygon.c:warning:no-previous-prototype-for-get_nt_block_copy_mini_len |-- arch-x86-kernel-cpu-hygon.c:warning:no-previous-prototype-for-set_c86_features_para_invalid `-- arch-x86-kernel-fpu-core.c:warning:no-previous-prototype-for-get_fpustate_free_space elapsed time: 918m configs tested: 19 configs skipped: 121 tested configs: arm64 allmodconfig clang-18 arm64 allnoconfig gcc-14.2.0 arm64 randconfig-001-20250117 gcc-14.2.0 arm64 randconfig-002-20250117 clang-18 arm64 randconfig-003-20250117 clang-20 arm64 randconfig-004-20250117 gcc-14.2.0 loongarch allmodconfig gcc-14.2.0 loongarch allnoconfig gcc-14.2.0 loongarch randconfig-001-20250117 gcc-14.2.0 loongarch randconfig-002-20250117 gcc-14.2.0 x86_64 allnoconfig clang-19 x86_64 allyesconfig clang-19 x86_64 buildonly-randconfig-001-20250117 gcc-12 x86_64 buildonly-randconfig-002-20250117 gcc-12 x86_64 buildonly-randconfig-003-20250117 gcc-12 x86_64 buildonly-randconfig-004-20250117 gcc-12 x86_64 buildonly-randconfig-005-20250117 gcc-12 x86_64 buildonly-randconfig-006-20250117 clang-19 x86_64 defconfig gcc-11 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 2709/2709] include/linux/blk_types.h: linux/kabi.h is included more than once.
by kernel test robot 18 Jan '25

18 Jan '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 08e54ea5e4a4948874ca30d91be3e5cca4ecbeec commit: dde4fe567523327d09054824030fb2d22e5009c7 [2709/2709] kabi: Add kabi reservation for storage module compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99) 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/202501180245.jJrp2ix8-lkp@intel.com/ includecheck warnings: (new ones prefixed by >>) >> 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/mm.h: linux/kabi.h is included more than once. -- >> include/linux/device/class.h: linux/kabi.h is included more than once. -- >> include/linux/ioport.h: linux/kabi.h is included more than once. -- >> include/linux/swap.h: linux/kabi.h is included more than once. -- >> include/linux/device.h: linux/kabi.h is included more than once. vim +9 include/linux/blk_types.h 8 > 9 #include <linux/kabi.h> 10 #include <linux/types.h> 11 #include <linux/bvec.h> 12 #include <linux/ktime.h> > 13 #include <linux/kabi.h> 14 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS] BUILD REGRESSION 52349611d09c6a9a2b558b3ce1cb1dca0d47dbe8
by kernel test robot 18 Jan '25

18 Jan '25
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS branch HEAD: 52349611d09c6a9a2b558b3ce1cb1dca0d47dbe8 !9360 Add support for Hygon model 10h processors Error/Warning (recently discovered and may have been fixed): https://lore.kernel.org/oe-kbuild-all/202501171519.TpEUKk9L-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202501172158.pLxZDrP8-lkp@intel.com drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:844:41: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=] drivers/staging/rtl8723bs/os_dep/ioctl_linux.c:3787:41: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=] include/linux/list.h:583:14: warning: array subscript 0 is outside array bounds of 'struct plist_node[0]' [-Warray-bounds=] include/linux/mempolicy.h:329:13: warning: '__do_mbind' defined but not used [-Wunused-function] include/linux/plist.h:137:9: warning: array subscript 0 is outside array bounds of 'struct plist_node[0]' [-Warray-bounds=] include/linux/uaccess.h:115:17: warning: 'bytes' may be used uninitialized [-Wmaybe-uninitialized] include/linux/uaccess.h:115:17: warning: 'data_arg' may be used uninitialized [-Wmaybe-uninitialized] include/linux/uaccess.h:115:17: warning: 'rep' may be used uninitialized [-Wmaybe-uninitialized] include/linux/uaccess.h:115:17: warning: 'rq' may be used uninitialized [-Wmaybe-uninitialized] include/linux/uaccess.h:115:17: warning: 'rsv' may be used uninitialized [-Wmaybe-uninitialized] include/linux/uaccess.h:115:17: warning: 'version' may be used uninitialized [-Wmaybe-uninitialized] include/linux/uaccess.h:115:17: warning: 'zrange' may be used uninitialized [-Wmaybe-uninitialized] Unverified Error/Warning (likely false positive, kindly check if interested): crypto/sm4_generic.o: warning: objtool: missing symbol for section .text drivers/staging/media/zoran/videocodec.o: warning: objtool: missing symbol for section .text 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 |-- arm64-allnoconfig | `-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used |-- arm64-randconfig-001-20250117 | |-- drivers-staging-rtl8723bs-os_dep-ioctl_cfg80211.c:warning:writing-bytes-into-a-region-of-size | `-- drivers-staging-rtl8723bs-os_dep-ioctl_linux.c:warning:writing-bytes-into-a-region-of-size |-- arm64-randconfig-002-20250117 | |-- 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-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 |-- arm64-randconfig-003-20250117 | |-- 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-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-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions |-- arm64-randconfig-004-20250117 | |-- 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-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-list.h:warning:array-subscript-is-outside-array-bounds-of-struct-plist_node | |-- include-linux-plist.h:warning:array-subscript-is-outside-array-bounds-of-struct-plist_node | |-- include-linux-uaccess.h:warning:acc-may-be-used-uninitialized | |-- include-linux-uaccess.h:warning:bytes-may-be-used-uninitialized | |-- include-linux-uaccess.h:warning:data_arg-may-be-used-uninitialized | |-- include-linux-uaccess.h:warning:rep-may-be-used-uninitialized | |-- include-linux-uaccess.h:warning:rq-may-be-used-uninitialized | |-- include-linux-uaccess.h:warning:rsv-may-be-used-uninitialized | |-- include-linux-uaccess.h:warning:version-may-be-used-uninitialized | `-- include-linux-uaccess.h:warning:zrange-may-be-used-uninitialized |-- 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-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 |-- x86_64-buildonly-randconfig-001-20250117 | |-- arch-x86-kernel-hpet.o:warning:objtool:missing-symbol-for-section-.text.unlikely | |-- 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-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 |-- x86_64-buildonly-randconfig-002-20250117 | |-- 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-blk-rq-qos.o:warning:objtool:missing-symbol-for-section-.text | `-- block-genhd.c:warning:no-previous-prototype-for-disk_scan_partitions |-- x86_64-buildonly-randconfig-003-20250117 | |-- crypto-sm4_generic.o:warning:objtool:missing-symbol-for-section-.text | `-- net-ipv4-bpfilter-sockopt.o:warning:objtool:missing-symbol-for-section-.text |-- x86_64-buildonly-randconfig-004-20250117 | |-- drivers-pci-pcie-dpc.o:warning:objtool:missing-symbol-for-section-.init.text | |-- drivers-staging-media-zoran-videocodec.o:warning:objtool:missing-symbol-for-section-.text | |-- sound-drivers-vx-vx_core.o:warning:objtool:missing-symbol-for-section-.text | `-- sound-isa-wavefront-wavefront_fx.o:warning:objtool:missing-symbol-for-section-.text |-- x86_64-buildonly-randconfig-005-20250117 | |-- 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-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 |-- x86_64-buildonly-randconfig-006-20250117 | |-- 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-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 `-- 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 elapsed time: 875m configs tested: 15 configs skipped: 115 tested configs: arm64 allmodconfig gcc-14.2.0 arm64 allnoconfig gcc-14.2.0 arm64 randconfig-001-20250117 gcc-14.2.0 arm64 randconfig-002-20250117 gcc-14.2.0 arm64 randconfig-003-20250117 gcc-14.2.0 arm64 randconfig-004-20250117 gcc-14.2.0 x86_64 allnoconfig clang-19 x86_64 allyesconfig clang-19 x86_64 buildonly-randconfig-001-20250117 gcc-12 x86_64 buildonly-randconfig-002-20250117 gcc-12 x86_64 buildonly-randconfig-003-20250117 gcc-12 x86_64 buildonly-randconfig-004-20250117 gcc-12 x86_64 buildonly-randconfig-005-20250117 gcc-12 x86_64 buildonly-randconfig-006-20250117 clang-19 x86_64 defconfig gcc-11 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 2709/2709] kernel/rcu/tree.o: warning: objtool: __call_rcu_nocb_wake()+0x75f: unreachable instruction
by kernel test robot 17 Jan '25

17 Jan '25
Hi Steven, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 08e54ea5e4a4948874ca30d91be3e5cca4ecbeec commit: f2c902d8c653f8021f9761092a27f7b9db42b662 [2709/2709] tracing: Make tracepoint lockdep check actually test something config: x86_64-randconfig-161-20250117 (https://download.01.org/0day-ci/archive/20250117/202501172116.SQgEKk8j-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/20250117/202501172116.SQgEKk8j-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/202501172116.SQgEKk8j-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/rcu/tree.o: warning: objtool: __call_rcu_nocb_wake()+0x75f: unreachable instruction -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1407/1407] include/linux/mempolicy.h:329:13: warning: '__do_mbind' defined but not used
by kernel test robot 17 Jan '25

17 Jan '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 52349611d09c6a9a2b558b3ce1cb1dca0d47dbe8 commit: 1811840c2cdebd0820818392a8217ffbd1be5c67 [1407/1407] mm/sharepool: Fix sharepool node id invalid when using sp_alloc config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20250117/202501172158.pLxZDrP8-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250117/202501172158.pLxZDrP8-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/202501172158.pLxZDrP8-lkp@intel.com/ All warnings (new ones prefixed by >>): kernel/fork.c:741:20: warning: no previous prototype for 'arch_task_cache_init' [-Wmissing-prototypes] 741 | void __init __weak arch_task_cache_init(void) { } | ^~~~~~~~~~~~~~~~~~~~ kernel/fork.c:826:12: warning: no previous prototype for 'arch_dup_task_struct' [-Wmissing-prototypes] 826 | int __weak arch_dup_task_struct(struct task_struct *dst, | ^~~~~~~~~~~~~~~~~~~~ kernel/fork.c: In function 'dup_task_struct': kernel/fork.c:845:27: warning: variable 'stack_vm_area' set but not used [-Wunused-but-set-variable] 845 | struct vm_struct *stack_vm_area; | ^~~~~~~~~~~~~ In file included from include/linux/sched/signal.h:7, from include/linux/sched/cputime.h:5, from kernel/fork.c:23: include/linux/signal.h: In function 'sigemptyset': include/linux/signal.h:180:29: warning: this statement may fall through [-Wimplicit-fallthrough=] 180 | case 2: set->sig[1] = 0; | ~~~~~~~~~~~~^~~ include/linux/signal.h:181:9: note: here 181 | case 1: set->sig[0] = 0; | ^~~~ In file included from kernel/fork.c:31: include/linux/mempolicy.h: At top level: >> include/linux/mempolicy.h:329:13: warning: '__do_mbind' defined but not used [-Wunused-function] 329 | static long __do_mbind(unsigned long start, unsigned long len, | ^~~~~~~~~~ In file included from arch/arm64/include/asm/atomic.h:36, from include/linux/atomic.h:7, from include/asm-generic/bitops/atomic.h:5, from arch/arm64/include/asm/bitops.h:37, from include/linux/bitops.h:19, from include/linux/kernel.h:11, from include/asm-generic/bug.h:18, from arch/arm64/include/asm/bug.h:37, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/gfp.h:5, from include/linux/slab.h:15, from kernel/fork.c:14: In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2, inlined from 'spin_lock' at include/linux/spinlock.h:329:2, inlined from '__mmput' at kernel/fork.c:1074:3, inlined from 'mmput_async_fn' at kernel/fork.c:1104:2: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ In file included from include/linux/spinlock.h:82, from include/linux/mmzone.h:9, from include/linux/gfp.h:6: kernel/fork.c: In function 'mmput_async_fn': kernel/fork.c:939:44: note: object 'mmlist_lock' of size 4 939 | __cacheline_aligned_in_smp DEFINE_SPINLOCK(mmlist_lock); | ^~~~~~~~~~~ include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK' 81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^ In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2, inlined from 'spin_lock' at include/linux/spinlock.h:329:2, inlined from '__mmput' at kernel/fork.c:1074:3, inlined from 'mmput_async_fn' at kernel/fork.c:1104:2: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ kernel/fork.c: In function 'mmput_async_fn': kernel/fork.c:939:44: note: object 'mmlist_lock' of size 4 939 | __cacheline_aligned_in_smp DEFINE_SPINLOCK(mmlist_lock); | ^~~~~~~~~~~ include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK' 81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^ In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2, inlined from 'spin_lock' at include/linux/spinlock.h:329:2, inlined from '__mmput' at kernel/fork.c:1074:3, inlined from 'mmput' at kernel/fork.c:1094:3, inlined from 'mmput' at kernel/fork.c:1086:6: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ kernel/fork.c: In function 'mmput': kernel/fork.c:939:44: note: object 'mmlist_lock' of size 4 939 | __cacheline_aligned_in_smp DEFINE_SPINLOCK(mmlist_lock); | ^~~~~~~~~~~ include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK' 81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^ In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2, inlined from 'spin_lock' at include/linux/spinlock.h:329:2, inlined from '__mmput' at kernel/fork.c:1074:3, inlined from 'mmput' at kernel/fork.c:1094:3, inlined from 'mmput' at kernel/fork.c:1086:6: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ kernel/fork.c: In function 'mmput': kernel/fork.c:939:44: note: object 'mmlist_lock' of size 4 939 | __cacheline_aligned_in_smp DEFINE_SPINLOCK(mmlist_lock); -- kernel/exit.c:1677:13: warning: no previous prototype for 'abort' [-Wmissing-prototypes] 1677 | __weak void abort(void) | ^~~~~ In file included from kernel/exit.c:37: >> include/linux/mempolicy.h:329:13: warning: '__do_mbind' defined but not used [-Wunused-function] 329 | static long __do_mbind(unsigned long start, unsigned long len, | ^~~~~~~~~~ -- In file included from include/linux/shmem_fs.h:7, from kernel/umh.c:29: >> include/linux/mempolicy.h:329:13: warning: '__do_mbind' defined but not used [-Wunused-function] 329 | static long __do_mbind(unsigned long start, unsigned long len, | ^~~~~~~~~~ In file included from arch/arm64/include/asm/atomic.h:36, from include/linux/atomic.h:7, from include/asm-generic/bitops/atomic.h:5, from arch/arm64/include/asm/bitops.h:37, from include/linux/bitops.h:19, from include/linux/kernel.h:11, from include/linux/list.h:9, from include/linux/module.h:10, from kernel/umh.c:4: In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2, inlined from 'spin_lock' at include/linux/spinlock.h:329:2, inlined from 'proc_cap_handler' at kernel/umh.c:668:2: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ In file included from include/linux/spinlock.h:82, from include/linux/seqlock.h:36, from include/linux/time.h:6, from include/linux/stat.h:19, from include/linux/module.h:11: kernel/umh.c: In function 'proc_cap_handler': kernel/umh.c:41:24: note: object 'umh_sysctl_lock' of size 4 41 | static DEFINE_SPINLOCK(umh_sysctl_lock); | ^~~~~~~~~~~~~~~ include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK' 81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^ In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2, inlined from 'spin_lock' at include/linux/spinlock.h:329:2, inlined from 'proc_cap_handler' at kernel/umh.c:668:2: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ kernel/umh.c: In function 'proc_cap_handler': kernel/umh.c:41:24: note: object 'umh_sysctl_lock' of size 4 41 | static DEFINE_SPINLOCK(umh_sysctl_lock); | ^~~~~~~~~~~~~~~ include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK' 81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^ In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2, inlined from 'spin_lock' at include/linux/spinlock.h:329:2, inlined from 'proc_cap_handler' at kernel/umh.c:701:3: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ kernel/umh.c: In function 'proc_cap_handler': kernel/umh.c:41:24: note: object 'umh_sysctl_lock' of size 4 41 | static DEFINE_SPINLOCK(umh_sysctl_lock); | ^~~~~~~~~~~~~~~ include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK' 81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^ In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2, inlined from 'spin_lock' at include/linux/spinlock.h:329:2, inlined from 'proc_cap_handler' at kernel/umh.c:701:3: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ kernel/umh.c: In function 'proc_cap_handler': kernel/umh.c:41:24: note: object 'umh_sysctl_lock' of size 4 41 | static DEFINE_SPINLOCK(umh_sysctl_lock); | ^~~~~~~~~~~~~~~ include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK' 81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^ In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, -- In file included from kernel/workqueue.c:39: >> include/linux/mempolicy.h:329:13: warning: '__do_mbind' defined but not used [-Wunused-function] 329 | static long __do_mbind(unsigned long start, unsigned long len, | ^~~~~~~~~~ In file included from arch/arm64/include/asm/atomic.h:36, from include/linux/atomic.h:7, from include/asm-generic/bitops/atomic.h:5, from arch/arm64/include/asm/bitops.h:37, from include/linux/bitops.h:19, from include/linux/kernel.h:11, from kernel/workqueue.c:28: In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2, inlined from 'spin_lock' at include/linux/spinlock.h:329:2, inlined from 'pool_mayday_timeout' at kernel/workqueue.c:2003:2: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ In file included from include/linux/spinlock.h:82, from include/linux/ipc.h:5, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from kernel/workqueue.c:29: kernel/workqueue.c: In function 'pool_mayday_timeout': kernel/workqueue.c:302:24: note: object 'wq_mayday_lock' of size 4 302 | static DEFINE_SPINLOCK(wq_mayday_lock); /* protects wq->maydays list */ | ^~~~~~~~~~~~~~ include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK' 81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^ In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock' at include/linux/spinlock_api_smp.h:143:2, inlined from 'spin_lock' at include/linux/spinlock.h:329:2, inlined from 'pool_mayday_timeout' at kernel/workqueue.c:2003:2: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ kernel/workqueue.c: In function 'pool_mayday_timeout': kernel/workqueue.c:302:24: note: object 'wq_mayday_lock' of size 4 302 | static DEFINE_SPINLOCK(wq_mayday_lock); /* protects wq->maydays list */ | ^~~~~~~~~~~~~~ include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK' 81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^ kernel/workqueue.c: In function 'create_worker': kernel/workqueue.c:1887:54: warning: '%d' directive output may be truncated writing between 1 and 10 bytes into a region of size between 5 and 14 [-Wformat-truncation=] 1887 | snprintf(id_buf, sizeof(id_buf), "%d:%d%s", pool->cpu, id, | ^~ kernel/workqueue.c:1887:50: note: directive argument in the range [0, 2147483647] 1887 | snprintf(id_buf, sizeof(id_buf), "%d:%d%s", pool->cpu, id, | ^~~~~~~~~ kernel/workqueue.c:1887:17: note: 'snprintf' output between 4 and 23 bytes into a destination of size 16 1887 | snprintf(id_buf, sizeof(id_buf), "%d:%d%s", pool->cpu, id, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1888 | pool->attrs->nice < 0 ? "H" : ""); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock_irq' at include/linux/spinlock_api_smp.h:129:2, inlined from 'spin_lock_irq' at include/linux/spinlock.h:354:2, inlined from 'rescuer_thread' at kernel/workqueue.c:2461:2: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ kernel/workqueue.c: In function 'rescuer_thread': kernel/workqueue.c:302:24: note: object 'wq_mayday_lock' of size 4 302 | static DEFINE_SPINLOCK(wq_mayday_lock); /* protects wq->maydays list */ | ^~~~~~~~~~~~~~ include/linux/spinlock_types.h:81:44: note: in definition of macro 'DEFINE_SPINLOCK' 81 | #define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x) | ^ In function '__cmpxchg_case_acq_4', inlined from '__cmpxchg_acq' at arch/arm64/include/asm/cmpxchg.h:141:1, inlined from 'queued_spin_lock' at include/asm-generic/qspinlock.h:85:8, inlined from 'do_raw_spin_lock' at include/linux/spinlock.h:180:2, inlined from '__raw_spin_lock_irq' at include/linux/spinlock_api_smp.h:129:2, inlined from 'spin_lock_irq' at include/linux/spinlock.h:354:2, inlined from 'rescuer_thread' at kernel/workqueue.c:2461:2: arch/arm64/include/asm/atomic_ll_sc.h:259:9: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'spinlock_t[1]' {aka 'struct spinlock[1]'} [-Warray-bounds=] 259 | asm volatile( \ | ^~~ arch/arm64/include/asm/atomic_ll_sc.h:283:1: note: in expansion of macro '__CMPXCHG_CASE' 283 | __CMPXCHG_CASE(w, , acq_4, , a, , "memory") | ^~~~~~~~~~~~~~ .. vim +/__do_mbind +329 include/linux/mempolicy.h 328 > 329 static long __do_mbind(unsigned long start, unsigned long len, -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH OLK-6.6] [Backport] btrfs: flush delalloc workers queue before stopping cleaner kthread during unmount
by Yongjian Sun 17 Jan '25

17 Jan '25
From: Filipe Manana <fdmanana(a)suse.com> mainline inclusion from mainline-v6.12-rc3 commit f10bef73fb355e3fc85e63a50386798be68ff486 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBIAEJ CVE: CVE-2024-57896 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?… -------------------------------- During the unmount path, at close_ctree(), we first stop the cleaner kthread, using kthread_stop() which frees the associated task_struct, and then stop and destroy all the work queues. However after we stopped the cleaner we may still have a worker from the delalloc_workers queue running inode.c:submit_compressed_extents(), which calls btrfs_add_delayed_iput(), which in turn tries to wake up the cleaner kthread - which was already destroyed before, resulting in a use-after-free on the task_struct. Syzbot reported this with the following stack traces: BUG: KASAN: slab-use-after-free in __lock_acquire+0x78/0x2100 kernel/locking/lockdep.c:5089 Read of size 8 at addr ffff8880259d2818 by task kworker/u8:3/52 CPU: 1 UID: 0 PID: 52 Comm: kworker/u8:3 Not tainted 6.13.0-rc1-syzkaller-00002-gcdd30ebb1b9f #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: btrfs-delalloc btrfs_work_helper Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x169/0x550 mm/kasan/report.c:489 kasan_report+0x143/0x180 mm/kasan/report.c:602 __lock_acquire+0x78/0x2100 kernel/locking/lockdep.c:5089 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5849 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162 class_raw_spinlock_irqsave_constructor include/linux/spinlock.h:551 [inline] try_to_wake_up+0xc2/0x1470 kernel/sched/core.c:4205 submit_compressed_extents+0xdf/0x16e0 fs/btrfs/inode.c:1615 run_ordered_work fs/btrfs/async-thread.c:288 [inline] btrfs_work_helper+0x96f/0xc40 fs/btrfs/async-thread.c:324 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 </TASK> Allocated by task 2: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 unpoison_slab_object mm/kasan/common.c:319 [inline] __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:345 kasan_slab_alloc include/linux/kasan.h:250 [inline] slab_post_alloc_hook mm/slub.c:4104 [inline] slab_alloc_node mm/slub.c:4153 [inline] kmem_cache_alloc_node_noprof+0x1d9/0x380 mm/slub.c:4205 alloc_task_struct_node kernel/fork.c:180 [inline] dup_task_struct+0x57/0x8c0 kernel/fork.c:1113 copy_process+0x5d1/0x3d50 kernel/fork.c:2225 kernel_clone+0x223/0x870 kernel/fork.c:2807 kernel_thread+0x1bc/0x240 kernel/fork.c:2869 create_kthread kernel/kthread.c:412 [inline] kthreadd+0x60d/0x810 kernel/kthread.c:767 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Freed by task 24: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:582 poison_slab_object mm/kasan/common.c:247 [inline] __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264 kasan_slab_free include/linux/kasan.h:233 [inline] slab_free_hook mm/slub.c:2338 [inline] slab_free mm/slub.c:4598 [inline] kmem_cache_free+0x195/0x410 mm/slub.c:4700 put_task_struct include/linux/sched/task.h:144 [inline] delayed_put_task_struct+0x125/0x300 kernel/exit.c:227 rcu_do_batch kernel/rcu/tree.c:2567 [inline] rcu_core+0xaaa/0x17a0 kernel/rcu/tree.c:2823 handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:554 run_ksoftirqd+0xca/0x130 kernel/softirq.c:943 smpboot_thread_fn+0x544/0xa30 kernel/smpboot.c:164 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Last potentially related work creation: kasan_save_stack+0x3f/0x60 mm/kasan/common.c:47 __kasan_record_aux_stack+0xac/0xc0 mm/kasan/generic.c:544 __call_rcu_common kernel/rcu/tree.c:3086 [inline] call_rcu+0x167/0xa70 kernel/rcu/tree.c:3190 context_switch kernel/sched/core.c:5372 [inline] __schedule+0x1803/0x4be0 kernel/sched/core.c:6756 __schedule_loop kernel/sched/core.c:6833 [inline] schedule+0x14b/0x320 kernel/sched/core.c:6848 schedule_timeout+0xb0/0x290 kernel/time/sleep_timeout.c:75 do_wait_for_common kernel/sched/completion.c:95 [inline] __wait_for_common kernel/sched/completion.c:116 [inline] wait_for_common kernel/sched/completion.c:127 [inline] wait_for_completion+0x355/0x620 kernel/sched/completion.c:148 kthread_stop+0x19e/0x640 kernel/kthread.c:712 close_ctree+0x524/0xd60 fs/btrfs/disk-io.c:4328 generic_shutdown_super+0x139/0x2d0 fs/super.c:642 kill_anon_super+0x3b/0x70 fs/super.c:1237 btrfs_kill_super+0x41/0x50 fs/btrfs/super.c:2112 deactivate_locked_super+0xc4/0x130 fs/super.c:473 cleanup_mnt+0x41f/0x4b0 fs/namespace.c:1373 task_work_run+0x24f/0x310 kernel/task_work.c:239 ptrace_notify+0x2d2/0x380 kernel/signal.c:2503 ptrace_report_syscall include/linux/ptrace.h:415 [inline] ptrace_report_syscall_exit include/linux/ptrace.h:477 [inline] syscall_exit_work+0xc7/0x1d0 kernel/entry/common.c:173 syscall_exit_to_user_mode_prepare kernel/entry/common.c:200 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:205 [inline] syscall_exit_to_user_mode+0x24a/0x340 kernel/entry/common.c:218 do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f The buggy address belongs to the object at ffff8880259d1e00 which belongs to the cache task_struct of size 7424 The buggy address is located 2584 bytes inside of freed 7424-byte region [ffff8880259d1e00, ffff8880259d3b00) The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x259d0 head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0 memcg:ffff88802f4b56c1 flags: 0xfff00000000040(head|node=0|zone=1|lastcpupid=0x7ff) page_type: f5(slab) raw: 00fff00000000040 ffff88801bafe500 dead000000000100 dead000000000122 raw: 0000000000000000 0000000000040004 00000001f5000000 ffff88802f4b56c1 head: 00fff00000000040 ffff88801bafe500 dead000000000100 dead000000000122 head: 0000000000000000 0000000000040004 00000001f5000000 ffff88802f4b56c1 head: 00fff00000000003 ffffea0000967401 ffffffffffffffff 0000000000000000 head: 0000000000000008 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 3, migratetype Unmovable, gfp_mask 0xd20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC), pid 12, tgid 12 (kworker/u8:1), ts 7328037942, free_ts 0 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x1f3/0x230 mm/page_alloc.c:1556 prep_new_page mm/page_alloc.c:1564 [inline] get_page_from_freelist+0x3651/0x37a0 mm/page_alloc.c:3474 __alloc_pages_noprof+0x292/0x710 mm/page_alloc.c:4751 alloc_pages_mpol_noprof+0x3e8/0x680 mm/mempolicy.c:2265 alloc_slab_page+0x6a/0x140 mm/slub.c:2408 allocate_slab+0x5a/0x2f0 mm/slub.c:2574 new_slab mm/slub.c:2627 [inline] ___slab_alloc+0xcd1/0x14b0 mm/slub.c:3815 __slab_alloc+0x58/0xa0 mm/slub.c:3905 __slab_alloc_node mm/slub.c:3980 [inline] slab_alloc_node mm/slub.c:4141 [inline] kmem_cache_alloc_node_noprof+0x269/0x380 mm/slub.c:4205 alloc_task_struct_node kernel/fork.c:180 [inline] dup_task_struct+0x57/0x8c0 kernel/fork.c:1113 copy_process+0x5d1/0x3d50 kernel/fork.c:2225 kernel_clone+0x223/0x870 kernel/fork.c:2807 user_mode_thread+0x132/0x1a0 kernel/fork.c:2885 call_usermodehelper_exec_work+0x5c/0x230 kernel/umh.c:171 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 page_owner free stack trace missing Memory state around the buggy address: ffff8880259d2700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880259d2780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8880259d2800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8880259d2880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880259d2900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== Fix this by flushing the delalloc workers queue before stopping the cleaner kthread. Reported-by: syzbot+b7cf50a0c173770dcb14(a)syzkaller.appspotmail.com Link: https://lore.kernel.org/linux-btrfs/674ed7e8.050a0220.48a03.0031.GAE@google… Reviewed-by: Qu Wenruo <wqu(a)suse.com> Signed-off-by: Filipe Manana <fdmanana(a)suse.com> Reviewed-by: David Sterba <dsterba(a)suse.com> Signed-off-by: David Sterba <dsterba(a)suse.com> Signed-off-by: Yongjian Sun <sunyongjian1(a)huawei.com> --- fs/btrfs/disk-io.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 8ec411eb9c9b..967c6b5dd0a4 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -4323,6 +4323,15 @@ void __cold close_ctree(struct btrfs_fs_info *fs_info) * already the cleaner, but below we run all pending delayed iputs. */ btrfs_flush_workqueue(fs_info->fixup_workers); + /* + * Similar case here, we have to wait for delalloc workers before we + * proceed below and stop the cleaner kthread, otherwise we trigger a + * use-after-tree on the cleaner kthread task_struct when a delalloc + * worker running submit_compressed_extents() adds a delayed iput, which + * does a wake up on the cleaner kthread, which was already freed below + * when we call kthread_stop(). + */ + btrfs_flush_workqueue(fs_info->delalloc_workers); /* * After we parked the cleaner kthread, ordered extents may have -- 2.39.2
2 1
0 0
[openeuler:OLK-5.10 2707/2707] include/linux/lsm_hook_defs.h:162:18: warning: 'file_ioctl_compat_default' defined but not used
by kernel test robot 17 Jan '25

17 Jan '25
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 08e54ea5e4a4948874ca30d91be3e5cca4ecbeec commit: 294c837d37ed484f656397130bb059ee741a4ca4 [2707/2707] lsm: new security_file_ioctl_compat() hook config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20250117/202501172051.HxlkrA5w-lkp@…) compiler: gcc-11 (Debian 11.3.0-12) 11.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250117/202501172051.HxlkrA5w-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/202501172051.HxlkrA5w-lkp@intel.com/ All warnings (new ones prefixed by >>): | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:177:1: note: in expansion of macro 'LSM_HOOK' 177 | LSM_HOOK(int, 0, task_alloc, struct task_struct *task, | ^~~~~~~~ include/linux/lsm_hook_defs.h:176:18: warning: 'file_open_default' defined but not used [-Wunused-const-variable=] 176 | LSM_HOOK(int, 0, file_open, struct file *file) | ^~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:176:1: note: in expansion of macro 'LSM_HOOK' 176 | LSM_HOOK(int, 0, file_open, struct file *file) | ^~~~~~~~ include/linux/lsm_hook_defs.h:175:18: warning: 'file_receive_default' defined but not used [-Wunused-const-variable=] 175 | LSM_HOOK(int, 0, file_receive, struct file *file) | ^~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:175:1: note: in expansion of macro 'LSM_HOOK' 175 | LSM_HOOK(int, 0, file_receive, struct file *file) | ^~~~~~~~ include/linux/lsm_hook_defs.h:173:18: warning: 'file_send_sigiotask_default' defined but not used [-Wunused-const-variable=] 173 | LSM_HOOK(int, 0, file_send_sigiotask, struct task_struct *tsk, | ^~~~~~~~~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:173:1: note: in expansion of macro 'LSM_HOOK' 173 | LSM_HOOK(int, 0, file_send_sigiotask, struct task_struct *tsk, | ^~~~~~~~ include/linux/lsm_hook_defs.h:170:18: warning: 'file_fcntl_default' defined but not used [-Wunused-const-variable=] 170 | LSM_HOOK(int, 0, file_fcntl, struct file *file, unsigned int cmd, | ^~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:170:1: note: in expansion of macro 'LSM_HOOK' 170 | LSM_HOOK(int, 0, file_fcntl, struct file *file, unsigned int cmd, | ^~~~~~~~ include/linux/lsm_hook_defs.h:169:18: warning: 'file_lock_default' defined but not used [-Wunused-const-variable=] 169 | LSM_HOOK(int, 0, file_lock, struct file *file, unsigned int cmd) | ^~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:169:1: note: in expansion of macro 'LSM_HOOK' 169 | LSM_HOOK(int, 0, file_lock, struct file *file, unsigned int cmd) | ^~~~~~~~ include/linux/lsm_hook_defs.h:167:18: warning: 'file_mprotect_default' defined but not used [-Wunused-const-variable=] 167 | LSM_HOOK(int, 0, file_mprotect, struct vm_area_struct *vma, | ^~~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:167:1: note: in expansion of macro 'LSM_HOOK' 167 | LSM_HOOK(int, 0, file_mprotect, struct vm_area_struct *vma, | ^~~~~~~~ include/linux/lsm_hook_defs.h:165:18: warning: 'mmap_file_default' defined but not used [-Wunused-const-variable=] 165 | LSM_HOOK(int, 0, mmap_file, struct file *file, unsigned long reqprot, | ^~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:165:1: note: in expansion of macro 'LSM_HOOK' 165 | LSM_HOOK(int, 0, mmap_file, struct file *file, unsigned long reqprot, | ^~~~~~~~ include/linux/lsm_hook_defs.h:164:18: warning: 'mmap_addr_default' defined but not used [-Wunused-const-variable=] 164 | LSM_HOOK(int, 0, mmap_addr, unsigned long addr) | ^~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:164:1: note: in expansion of macro 'LSM_HOOK' 164 | LSM_HOOK(int, 0, mmap_addr, unsigned long addr) | ^~~~~~~~ >> include/linux/lsm_hook_defs.h:162:18: warning: 'file_ioctl_compat_default' defined but not used [-Wunused-const-variable=] 162 | LSM_HOOK(int, 0, file_ioctl_compat, struct file *file, unsigned int cmd, | ^~~~~~~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:162:1: note: in expansion of macro 'LSM_HOOK' 162 | LSM_HOOK(int, 0, file_ioctl_compat, struct file *file, unsigned int cmd, | ^~~~~~~~ include/linux/lsm_hook_defs.h:160:18: warning: 'file_ioctl_default' defined but not used [-Wunused-const-variable=] 160 | LSM_HOOK(int, 0, file_ioctl, struct file *file, unsigned int cmd, | ^~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:160:1: note: in expansion of macro 'LSM_HOOK' 160 | LSM_HOOK(int, 0, file_ioctl, struct file *file, unsigned int cmd, | ^~~~~~~~ include/linux/lsm_hook_defs.h:158:18: warning: 'file_alloc_security_default' defined but not used [-Wunused-const-variable=] 158 | LSM_HOOK(int, 0, file_alloc_security, struct file *file) | ^~~~~~~~~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:158:1: note: in expansion of macro 'LSM_HOOK' 158 | LSM_HOOK(int, 0, file_alloc_security, struct file *file) | ^~~~~~~~ include/linux/lsm_hook_defs.h:157:18: warning: 'file_permission_default' defined but not used [-Wunused-const-variable=] 157 | LSM_HOOK(int, 0, file_permission, struct file *file, int mask) | ^~~~~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:157:1: note: in expansion of macro 'LSM_HOOK' 157 | LSM_HOOK(int, 0, file_permission, struct file *file, int mask) | ^~~~~~~~ include/linux/lsm_hook_defs.h:155:18: warning: 'kernfs_init_security_default' defined but not used [-Wunused-const-variable=] 155 | LSM_HOOK(int, 0, kernfs_init_security, struct kernfs_node *kn_dir, | ^~~~~~~~~~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:155:1: note: in expansion of macro 'LSM_HOOK' 155 | LSM_HOOK(int, 0, kernfs_init_security, struct kernfs_node *kn_dir, | ^~~~~~~~ include/linux/lsm_hook_defs.h:153:18: warning: 'inode_copy_up_default' defined but not used [-Wunused-const-variable=] 153 | LSM_HOOK(int, 0, inode_copy_up, struct dentry *src, struct cred **new) | ^~~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:153:1: note: in expansion of macro 'LSM_HOOK' 153 | LSM_HOOK(int, 0, inode_copy_up, struct dentry *src, struct cred **new) | ^~~~~~~~ include/linux/lsm_hook_defs.h:150:18: warning: 'inode_listsecurity_default' defined but not used [-Wunused-const-variable=] 150 | LSM_HOOK(int, 0, inode_listsecurity, struct inode *inode, char *buffer, | ^~~~~~~~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:150:1: note: in expansion of macro 'LSM_HOOK' 150 | LSM_HOOK(int, 0, inode_listsecurity, struct inode *inode, char *buffer, | ^~~~~~~~ include/linux/lsm_hook_defs.h:145:18: warning: 'inode_killpriv_default' defined but not used [-Wunused-const-variable=] 145 | LSM_HOOK(int, 0, inode_killpriv, struct dentry *dentry) | ^~~~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) | ^~~~ security/security.c:712:9: note: in expansion of macro 'DECLARE_LSM_RET_DEFAULT_int' 712 | DECLARE_LSM_RET_DEFAULT_##RET(DEFAULT, NAME) | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lsm_hook_defs.h:145:1: note: in expansion of macro 'LSM_HOOK' 145 | LSM_HOOK(int, 0, inode_killpriv, struct dentry *dentry) | ^~~~~~~~ include/linux/lsm_hook_defs.h:144:18: warning: 'inode_need_killpriv_default' defined but not used [-Wunused-const-variable=] 144 | LSM_HOOK(int, 0, inode_need_killpriv, struct dentry *dentry) | ^~~~~~~~~~~~~~~~~~~ security/security.c:707:32: note: in definition of macro 'LSM_RET_DEFAULT' 707 | #define LSM_RET_DEFAULT(NAME) (NAME##_default) vim +/file_ioctl_compat_default +162 include/linux/lsm_hook_defs.h 108 109 /* Needed for inode based security check */ 110 LSM_HOOK(int, 0, path_notify, const struct path *path, u64 mask, 111 unsigned int obj_type) 112 LSM_HOOK(int, 0, inode_alloc_security, struct inode *inode) 113 LSM_HOOK(void, LSM_RET_VOID, inode_free_security, struct inode *inode) 114 LSM_HOOK(int, 0, inode_init_security, struct inode *inode, 115 struct inode *dir, const struct qstr *qstr, const char **name, 116 void **value, size_t *len) 117 LSM_HOOK(int, 0, inode_create, struct inode *dir, struct dentry *dentry, 118 umode_t mode) 119 LSM_HOOK(int, 0, inode_link, struct dentry *old_dentry, struct inode *dir, 120 struct dentry *new_dentry) 121 LSM_HOOK(int, 0, inode_unlink, struct inode *dir, struct dentry *dentry) 122 LSM_HOOK(int, 0, inode_symlink, struct inode *dir, struct dentry *dentry, 123 const char *old_name) 124 LSM_HOOK(int, 0, inode_mkdir, struct inode *dir, struct dentry *dentry, 125 umode_t mode) 126 LSM_HOOK(int, 0, inode_rmdir, struct inode *dir, struct dentry *dentry) 127 LSM_HOOK(int, 0, inode_mknod, struct inode *dir, struct dentry *dentry, 128 umode_t mode, dev_t dev) 129 LSM_HOOK(int, 0, inode_rename, struct inode *old_dir, struct dentry *old_dentry, 130 struct inode *new_dir, struct dentry *new_dentry) 131 LSM_HOOK(int, 0, inode_readlink, struct dentry *dentry) 132 LSM_HOOK(int, 0, inode_follow_link, struct dentry *dentry, struct inode *inode, 133 bool rcu) 134 LSM_HOOK(int, 0, inode_permission, struct inode *inode, int mask) 135 LSM_HOOK(int, 0, inode_setattr, struct dentry *dentry, struct iattr *attr) 136 LSM_HOOK(int, 0, inode_getattr, const struct path *path) 137 LSM_HOOK(int, 0, inode_setxattr, struct dentry *dentry, const char *name, 138 const void *value, size_t size, int flags) 139 LSM_HOOK(void, LSM_RET_VOID, inode_post_setxattr, struct dentry *dentry, 140 const char *name, const void *value, size_t size, int flags) 141 LSM_HOOK(int, 0, inode_getxattr, struct dentry *dentry, const char *name) 142 LSM_HOOK(int, 0, inode_listxattr, struct dentry *dentry) 143 LSM_HOOK(int, 0, inode_removexattr, struct dentry *dentry, const char *name) 144 LSM_HOOK(int, 0, inode_need_killpriv, struct dentry *dentry) 145 LSM_HOOK(int, 0, inode_killpriv, struct dentry *dentry) 146 LSM_HOOK(int, -EOPNOTSUPP, inode_getsecurity, struct inode *inode, 147 const char *name, void **buffer, bool alloc) 148 LSM_HOOK(int, -EOPNOTSUPP, inode_setsecurity, struct inode *inode, 149 const char *name, const void *value, size_t size, int flags) 150 LSM_HOOK(int, 0, inode_listsecurity, struct inode *inode, char *buffer, 151 size_t buffer_size) 152 LSM_HOOK(void, LSM_RET_VOID, inode_getsecid, struct inode *inode, u32 *secid) 153 LSM_HOOK(int, 0, inode_copy_up, struct dentry *src, struct cred **new) 154 LSM_HOOK(int, -EOPNOTSUPP, inode_copy_up_xattr, const char *name) 155 LSM_HOOK(int, 0, kernfs_init_security, struct kernfs_node *kn_dir, 156 struct kernfs_node *kn) 157 LSM_HOOK(int, 0, file_permission, struct file *file, int mask) 158 LSM_HOOK(int, 0, file_alloc_security, struct file *file) 159 LSM_HOOK(void, LSM_RET_VOID, file_free_security, struct file *file) 160 LSM_HOOK(int, 0, file_ioctl, struct file *file, unsigned int cmd, 161 unsigned long arg) > 162 LSM_HOOK(int, 0, file_ioctl_compat, struct file *file, unsigned int cmd, 163 unsigned long arg) 164 LSM_HOOK(int, 0, mmap_addr, unsigned long addr) 165 LSM_HOOK(int, 0, mmap_file, struct file *file, unsigned long reqprot, 166 unsigned long prot, unsigned long flags) 167 LSM_HOOK(int, 0, file_mprotect, struct vm_area_struct *vma, 168 unsigned long reqprot, unsigned long prot) 169 LSM_HOOK(int, 0, file_lock, struct file *file, unsigned int cmd) 170 LSM_HOOK(int, 0, file_fcntl, struct file *file, unsigned int cmd, 171 unsigned long arg) 172 LSM_HOOK(void, LSM_RET_VOID, file_set_fowner, struct file *file) 173 LSM_HOOK(int, 0, file_send_sigiotask, struct task_struct *tsk, 174 struct fown_struct *fown, int sig) 175 LSM_HOOK(int, 0, file_receive, struct file *file) 176 LSM_HOOK(int, 0, file_open, struct file *file) 177 LSM_HOOK(int, 0, task_alloc, struct task_struct *task, 178 unsigned long clone_flags) 179 LSM_HOOK(void, LSM_RET_VOID, task_free, struct task_struct *task) 180 LSM_HOOK(int, 0, cred_alloc_blank, struct cred *cred, gfp_t gfp) 181 LSM_HOOK(void, LSM_RET_VOID, cred_free, struct cred *cred) 182 LSM_HOOK(int, 0, cred_prepare, struct cred *new, const struct cred *old, 183 gfp_t gfp) 184 LSM_HOOK(void, LSM_RET_VOID, cred_transfer, struct cred *new, 185 const struct cred *old) 186 LSM_HOOK(void, LSM_RET_VOID, cred_getsecid, const struct cred *c, u32 *secid) 187 LSM_HOOK(int, 0, kernel_act_as, struct cred *new, u32 secid) 188 LSM_HOOK(int, 0, kernel_create_files_as, struct cred *new, struct inode *inode) 189 LSM_HOOK(int, 0, kernel_module_request, char *kmod_name) 190 LSM_HOOK(int, 0, kernel_load_data, enum kernel_load_data_id id, bool contents) 191 LSM_HOOK(int, 0, kernel_post_load_data, char *buf, loff_t size, 192 enum kernel_load_data_id id, char *description) 193 LSM_HOOK(int, 0, kernel_read_file, struct file *file, 194 enum kernel_read_file_id id, bool contents) 195 LSM_HOOK(int, 0, kernel_post_read_file, struct file *file, char *buf, 196 loff_t size, enum kernel_read_file_id id) 197 LSM_HOOK(int, 0, task_fix_setuid, struct cred *new, const struct cred *old, 198 int flags) 199 LSM_HOOK(int, 0, task_fix_setgid, struct cred *new, const struct cred * old, 200 int flags) 201 LSM_HOOK(int, 0, task_setpgid, struct task_struct *p, pid_t pgid) 202 LSM_HOOK(int, 0, task_getpgid, struct task_struct *p) 203 LSM_HOOK(int, 0, task_getsid, struct task_struct *p) 204 LSM_HOOK(void, LSM_RET_VOID, task_getsecid, struct task_struct *p, u32 *secid) 205 LSM_HOOK(int, 0, task_setnice, struct task_struct *p, int nice) 206 LSM_HOOK(int, 0, task_setioprio, struct task_struct *p, int ioprio) 207 LSM_HOOK(int, 0, task_getioprio, struct task_struct *p) 208 LSM_HOOK(int, 0, task_prlimit, const struct cred *cred, 209 const struct cred *tcred, unsigned int flags) 210 LSM_HOOK(int, 0, task_setrlimit, struct task_struct *p, unsigned int resource, 211 struct rlimit *new_rlim) 212 LSM_HOOK(int, 0, task_setscheduler, struct task_struct *p) 213 LSM_HOOK(int, 0, task_getscheduler, struct task_struct *p) 214 LSM_HOOK(int, 0, task_movememory, struct task_struct *p) 215 LSM_HOOK(int, 0, task_kill, struct task_struct *p, struct kernel_siginfo *info, 216 int sig, const struct cred *cred) 217 LSM_HOOK(int, -ENOSYS, task_prctl, int option, unsigned long arg2, 218 unsigned long arg3, unsigned long arg4, unsigned long arg5) 219 LSM_HOOK(void, LSM_RET_VOID, task_to_inode, struct task_struct *p, 220 struct inode *inode) 221 LSM_HOOK(int, 0, ipc_permission, struct kern_ipc_perm *ipcp, short flag) 222 LSM_HOOK(void, LSM_RET_VOID, ipc_getsecid, struct kern_ipc_perm *ipcp, 223 u32 *secid) 224 LSM_HOOK(int, 0, msg_msg_alloc_security, struct msg_msg *msg) 225 LSM_HOOK(void, LSM_RET_VOID, msg_msg_free_security, struct msg_msg *msg) 226 LSM_HOOK(int, 0, msg_queue_alloc_security, struct kern_ipc_perm *perm) 227 LSM_HOOK(void, LSM_RET_VOID, msg_queue_free_security, 228 struct kern_ipc_perm *perm) 229 LSM_HOOK(int, 0, msg_queue_associate, struct kern_ipc_perm *perm, int msqflg) 230 LSM_HOOK(int, 0, msg_queue_msgctl, struct kern_ipc_perm *perm, int cmd) 231 LSM_HOOK(int, 0, msg_queue_msgsnd, struct kern_ipc_perm *perm, 232 struct msg_msg *msg, int msqflg) 233 LSM_HOOK(int, 0, msg_queue_msgrcv, struct kern_ipc_perm *perm, 234 struct msg_msg *msg, struct task_struct *target, long type, int mode) 235 LSM_HOOK(int, 0, shm_alloc_security, struct kern_ipc_perm *perm) 236 LSM_HOOK(void, LSM_RET_VOID, shm_free_security, struct kern_ipc_perm *perm) 237 LSM_HOOK(int, 0, shm_associate, struct kern_ipc_perm *perm, int shmflg) 238 LSM_HOOK(int, 0, shm_shmctl, struct kern_ipc_perm *perm, int cmd) 239 LSM_HOOK(int, 0, shm_shmat, struct kern_ipc_perm *perm, char __user *shmaddr, 240 int shmflg) 241 LSM_HOOK(int, 0, sem_alloc_security, struct kern_ipc_perm *perm) 242 LSM_HOOK(void, LSM_RET_VOID, sem_free_security, struct kern_ipc_perm *perm) 243 LSM_HOOK(int, 0, sem_associate, struct kern_ipc_perm *perm, int semflg) 244 LSM_HOOK(int, 0, sem_semctl, struct kern_ipc_perm *perm, int cmd) 245 LSM_HOOK(int, 0, sem_semop, struct kern_ipc_perm *perm, struct sembuf *sops, 246 unsigned nsops, int alter) 247 LSM_HOOK(int, 0, netlink_send, struct sock *sk, struct sk_buff *skb) 248 LSM_HOOK(void, LSM_RET_VOID, d_instantiate, struct dentry *dentry, 249 struct inode *inode) 250 LSM_HOOK(int, -EINVAL, getprocattr, struct task_struct *p, char *name, 251 char **value) 252 LSM_HOOK(int, -EINVAL, setprocattr, const char *name, void *value, size_t size) 253 LSM_HOOK(int, 0, ismaclabel, const char *name) 254 LSM_HOOK(int, -EOPNOTSUPP, secid_to_secctx, u32 secid, char **secdata, 255 u32 *seclen) 256 LSM_HOOK(int, 0, secctx_to_secid, const char *secdata, u32 seclen, u32 *secid) 257 LSM_HOOK(void, LSM_RET_VOID, release_secctx, char *secdata, u32 seclen) 258 LSM_HOOK(void, LSM_RET_VOID, inode_invalidate_secctx, struct inode *inode) 259 LSM_HOOK(int, 0, inode_notifysecctx, struct inode *inode, void *ctx, u32 ctxlen) 260 LSM_HOOK(int, 0, inode_setsecctx, struct dentry *dentry, void *ctx, u32 ctxlen) 261 LSM_HOOK(int, -EOPNOTSUPP, inode_getsecctx, struct inode *inode, void **ctx, 262 u32 *ctxlen) 263 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • ...
  • 1829
  • Older →

HyperKitty Powered by HyperKitty