Kernel
Threads by month
- ----- 2025 -----
- December
- November
- 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
- 56 participants
- 22221 discussions
[openeuler:OLK-6.6 13/13] drivers/firmware/uvb/odf/odf_trans.c:119:14: error: call to undeclared function 'memremap'; ISO C99 and later do not support implicit function declarations
by kernel test robot 26 Dec '25
by kernel test robot 26 Dec '25
26 Dec '25
Hi klmengkd,
First bad commit (maybe != root cause):
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5
commit: e440694adcf8b5ee8eab5914302130003d121a0e [13/13] uvb: change dir name
config: arm64-randconfig-r061-20251226 (https://download.01.org/0day-ci/archive/20251226/202512260611.ZxyYeJeZ-lkp@…)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251226/202512260611.ZxyYeJeZ-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/202512260611.ZxyYeJeZ-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/firmware/uvb/odf/odf_trans.c:28:6: warning: no previous prototype for function 'free_cis_info' [-Wmissing-prototypes]
28 | void free_cis_info(void)
| ^
drivers/firmware/uvb/odf/odf_trans.c:28:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
28 | void free_cis_info(void)
| ^
| static
>> drivers/firmware/uvb/odf/odf_trans.c:119:14: error: call to undeclared function 'memremap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
119 | header = memremap(ubrt_table->sub_tables[i].pointer,
| ^
>> drivers/firmware/uvb/odf/odf_trans.c:120:38: error: use of undeclared identifier 'MEMREMAP_WB'
120 | sizeof(struct ubios_od_header), MEMREMAP_WB);
| ^
>> drivers/firmware/uvb/odf/odf_trans.c:126:5: error: call to undeclared function 'memunmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
126 | memunmap(header);
| ^
drivers/firmware/uvb/odf/odf_trans.c:128:22: error: use of undeclared identifier 'MEMREMAP_WB'
128 | sub_table_size, MEMREMAP_WB);
| ^
drivers/firmware/uvb/odf/odf_trans.c:203:3: error: call to undeclared function 'memunmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
203 | memunmap(sub_table);
| ^
drivers/firmware/uvb/odf/odf_trans.c:303:14: error: call to undeclared function 'memremap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
303 | header = memremap(ubrt_table->sub_tables[i].pointer,
| ^
drivers/firmware/uvb/odf/odf_trans.c:304:38: error: use of undeclared identifier 'MEMREMAP_WB'
304 | sizeof(struct ubios_od_header), MEMREMAP_WB);
| ^
drivers/firmware/uvb/odf/odf_trans.c:310:5: error: call to undeclared function 'memunmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
310 | memunmap(header);
| ^
drivers/firmware/uvb/odf/odf_trans.c:312:22: error: use of undeclared identifier 'MEMREMAP_WB'
312 | sub_table_size, MEMREMAP_WB);
| ^
drivers/firmware/uvb/odf/odf_trans.c:362:3: error: call to undeclared function 'memunmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
362 | memunmap(sub_table);
| ^
drivers/firmware/uvb/odf/odf_trans.c:406:3: error: call to undeclared function 'memremap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
406 | memremap(od_root_phys, sizeof(struct ubios_od_header), MEMREMAP_WB);
| ^
drivers/firmware/uvb/odf/odf_trans.c:406:58: error: use of undeclared identifier 'MEMREMAP_WB'
406 | memremap(od_root_phys, sizeof(struct ubios_od_header), MEMREMAP_WB);
| ^
drivers/firmware/uvb/odf/odf_trans.c:412:2: error: call to undeclared function 'memunmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
412 | memunmap((void *)od_root_origin);
| ^
drivers/firmware/uvb/odf/odf_trans.c:414:80: error: use of undeclared identifier 'MEMREMAP_WB'
414 | od_root_origin = (struct ubios_od_root *)memremap(od_root_phys, od_root_size, MEMREMAP_WB);
| ^
1 warning and 14 errors generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for RESCTRL_FS
Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y]
Selected by [y]:
- ARM64_MPAM [=y]
vim +/memremap +119 drivers/firmware/uvb/odf/odf_trans.c
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 97
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 98 static int create_cis_info_from_odf(void)
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 99 {
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 100 struct ubios_od_list_info list;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 101 struct ubios_od_value_struct vs;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 102 struct ubios_od_value_struct ub_vs;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 103 struct ubios_ubrt_table *ubrt_table = NULL;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 104 struct acpi_table_header *table = NULL;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 105 u8 *sub_table = NULL;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 106 struct ubios_od_header *header = NULL;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 107 acpi_status status;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 108 int i = 0;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 109 int err = 0;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 110 u32 sub_table_size = 0;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 111 int ub_vs_err = 0;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 112
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 113 status = acpi_get_table(ACPI_SIG_UBRT, 0, &table);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 114 if (ACPI_SUCCESS(status)) {
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 115 ubrt_table = (struct ubios_ubrt_table *)table;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 116
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 117 for (i = 0; i < ubrt_table->count; i++) {
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 118 if (ubrt_table->sub_tables[i].type == UBRT_CALL_ID_SERVICE) {
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 @119 header = memremap(ubrt_table->sub_tables[i].pointer,
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 @120 sizeof(struct ubios_od_header), MEMREMAP_WB);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 121 if (!header) {
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 122 pr_err("failed to map cis table to od header in ACPI\n");
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 123 return -ENOMEM;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 124 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 125 sub_table_size = header->total_size;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 @126 memunmap(header);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 127 sub_table = (u8 *)memremap(ubrt_table->sub_tables[i].pointer,
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 128 sub_table_size, MEMREMAP_WB);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 129 break;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 130 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 131 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 132
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 133 if (!sub_table) {
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 134 pr_err("failed to get cis table address in ACPI\n");
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 135 return -ENOMEM;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 136 }
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 137 pr_info("get cis sub table success\n");
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 138
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 139 err = odf_get_list_from_table(sub_table, ODF_NAME_CIS_GROUP, &list);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 140 if (err) {
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 141 pr_err("create cis info from odf failed, group not found, err = %d\n",
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 142 err);
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 143 goto free_sub_table;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 144 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 145
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 146 ub_vs_err = odf_get_vs_from_table(sub_table, ODF_NAME_CIS_UB, &ub_vs);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 147 } else {
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 148 err = odf_get_list(od_root,
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 149 ODF_FILE_NAME_CALL_ID_SERVICE "/" ODF_NAME_CIS_GROUP, &list);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 150 if (err) {
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 151 pr_err("create cis info from odf failed, group not found, err = %d\n",
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 152 err);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 153 return err;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 154 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 155
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 156 ub_vs_err = odf_get_struct(od_root,
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 157 ODF_FILE_NAME_CALL_ID_SERVICE "/" ODF_NAME_CIS_UB, &ub_vs);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 158 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 159
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 160 g_cis_info = kzalloc(sizeof(struct cis_info) + (sizeof(void *) * list.count), GFP_KERNEL);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 161 if (!g_cis_info) {
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 162 err = -ENOMEM;
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 163 goto free_sub_table;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 164 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 165 g_cis_info->group_count = list.count;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 166
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 167 err = odf_get_data_from_list(&list, 0, &vs);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 168 if (err) {
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 169 pr_err("create cis info from odf failed: get data from CIS group failed, err = %d\n",
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 170 err);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 171 goto fail;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 172 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 173 for (i = 0; i < list.count; i++) {
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 174 g_cis_info->groups[i] = create_group_from_vs(&vs);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 175 if (!g_cis_info->groups[i]) {
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 176 pr_err("create cis group from odf failed\n");
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 177 err = -ENODATA;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 178 goto fail;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 179 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 180 (void)odf_next_in_list(&list, &vs);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 181 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 182
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 183 if (!ub_vs_err) {
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 184 pr_info("found ub struct in cis info\n");
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 185 err = odf_get_u8_from_struct(&ub_vs, ODF_NAME_CIS_USAGE, &(g_cis_info->ub.usage));
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 186 if (err) {
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 187 pr_err("create group: get [usage] failed, err = %d\n", status);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 188 goto fail;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 189 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 190
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 191 err = odf_get_u8_from_struct(&ub_vs, ODF_NAME_CIS_INDEX, &(g_cis_info->ub.index));
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 192 if (err)
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 193 pr_warn("ub struct not get [index], use default value\n");
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 194
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 195 err = odf_get_u32_from_struct(&ub_vs, ODF_NAME_CIS_FORWARDER_ID,
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 196 &(g_cis_info->ub.forwarder_id));
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 197 if (err)
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 198 pr_warn("ub struct not get forwarder, use default value\n");
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 199 } else
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 200 pr_warn("not found ub struct in cis info\n");
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 201
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 202 if (sub_table)
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 203 memunmap(sub_table);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 204
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 205 pr_info("get cis table from odf success\n");
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 206
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 207 return 0;
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 208
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 209 fail:
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 210 free_cis_info();
c477b8f076e2b3 drivers/firmware/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-11-04 211 free_sub_table:
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 212 if (sub_table)
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 213 memunmap(sub_table);
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 214
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 215 return err;
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 216 }
24fa96b6e010d0 drivers/ubios_uvb/odf/odf_trans.c Anonymous_Z 2025-10-31 217
:::::: The code at line 119 was first introduced by commit
:::::: 24fa96b6e010d05e59d99562a415b1a64544e292 ubios_uvb: support UBIOS object description specification parse
:::::: TO: Anonymous_Z <zhangrui182(a)huawei.com>
:::::: CC: t30009442 <tangce1(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 13/13] drivers/irqchip/irq-gic-v3.c:1086:50: warning: passing argument 3 of 'single_open' makes pointer from integer without a cast
by kernel test robot 26 Dec '25
by kernel test robot 26 Dec '25
26 Dec '25
Hi Jinjie,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5
commit: 63f9ef213a477c796c6b343010762513f6315f83 [13/13] arm64: Add debugfs dir for xint
config: arm64-randconfig-004-20251226 (https://download.01.org/0day-ci/archive/20251226/202512260552.PxMBMdBf-lkp@…)
compiler: aarch64-linux-gcc (GCC) 13.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251226/202512260552.PxMBMdBf-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/202512260552.PxMBMdBf-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/irqchip/irq-gic-v3.c: In function 'xint_proc_write':
drivers/irqchip/irq-gic-v3.c:1042:30: error: implicit declaration of function 'pde_data' [-Werror=implicit-function-declaration]
1042 | int irq = (int)(long)pde_data(file_inode(file));
| ^~~~~~~~
drivers/irqchip/irq-gic-v3.c: In function 'xint_proc_open':
>> drivers/irqchip/irq-gic-v3.c:1086:50: warning: passing argument 3 of 'single_open' makes pointer from integer without a cast [-Wint-conversion]
1086 | return single_open(file, xint_proc_show, pde_data(inode));
| ^~~~~~~~~~~~~~~
| |
| int
In file included from include/linux/debugfs.h:16,
from arch/arm64/include/../../../kernel/irq/internals.h:495,
from drivers/irqchip/irq-gic-v3.c:39:
include/linux/seq_file.h:166:68: note: expected 'void *' but argument is of type 'int'
166 | int single_open(struct file *, int (*)(struct seq_file *, void *), void *);
| ^~~~~~
drivers/irqchip/irq-gic-v3.c: At top level:
drivers/irqchip/irq-gic-v3.c:1089:21: error: variable 'xint_proc_ops' has initializer but incomplete type
1089 | static const struct proc_ops xint_proc_ops = {
| ^~~~~~~~
drivers/irqchip/irq-gic-v3.c:1090:10: error: 'const struct proc_ops' has no member named 'proc_open'
1090 | .proc_open = xint_proc_open,
| ^~~~~~~~~
drivers/irqchip/irq-gic-v3.c:1090:27: warning: excess elements in struct initializer
1090 | .proc_open = xint_proc_open,
| ^~~~~~~~~~~~~~
drivers/irqchip/irq-gic-v3.c:1090:27: note: (near initialization for 'xint_proc_ops')
drivers/irqchip/irq-gic-v3.c:1091:10: error: 'const struct proc_ops' has no member named 'proc_read'
1091 | .proc_read = seq_read,
| ^~~~~~~~~
drivers/irqchip/irq-gic-v3.c:1091:27: warning: excess elements in struct initializer
1091 | .proc_read = seq_read,
| ^~~~~~~~
drivers/irqchip/irq-gic-v3.c:1091:27: note: (near initialization for 'xint_proc_ops')
drivers/irqchip/irq-gic-v3.c:1092:10: error: 'const struct proc_ops' has no member named 'proc_lseek'
1092 | .proc_lseek = seq_lseek,
| ^~~~~~~~~~
drivers/irqchip/irq-gic-v3.c:1092:27: warning: excess elements in struct initializer
1092 | .proc_lseek = seq_lseek,
| ^~~~~~~~~
drivers/irqchip/irq-gic-v3.c:1092:27: note: (near initialization for 'xint_proc_ops')
drivers/irqchip/irq-gic-v3.c:1093:10: error: 'const struct proc_ops' has no member named 'proc_release'
1093 | .proc_release = single_release,
| ^~~~~~~~~~~~
drivers/irqchip/irq-gic-v3.c:1093:27: warning: excess elements in struct initializer
1093 | .proc_release = single_release,
| ^~~~~~~~~~~~~~
drivers/irqchip/irq-gic-v3.c:1093:27: note: (near initialization for 'xint_proc_ops')
drivers/irqchip/irq-gic-v3.c:1094:10: error: 'const struct proc_ops' has no member named 'proc_write'
1094 | .proc_write = xint_proc_write,
| ^~~~~~~~~~
drivers/irqchip/irq-gic-v3.c:1094:27: warning: excess elements in struct initializer
1094 | .proc_write = xint_proc_write,
| ^~~~~~~~~~~~~~~
drivers/irqchip/irq-gic-v3.c:1094:27: note: (near initialization for 'xint_proc_ops')
drivers/irqchip/irq-gic-v3.c: In function 'register_irqchip_proc':
drivers/irqchip/irq-gic-v3.c:1103:9: error: implicit declaration of function 'proc_create_data' [-Werror=implicit-function-declaration]
1103 | proc_create_data("xint", 0644, desc->dir, &xint_proc_ops, irqp);
| ^~~~~~~~~~~~~~~~
drivers/irqchip/irq-gic-v3.c: In function 'unregister_irqchip_proc':
drivers/irqchip/irq-gic-v3.c:1111:9: error: implicit declaration of function 'remove_proc_entry' [-Werror=implicit-function-declaration]
1111 | remove_proc_entry("xint", desc->dir);
| ^~~~~~~~~~~~~~~~~
drivers/irqchip/irq-gic-v3.c: At top level:
drivers/irqchip/irq-gic-v3.c:1089:30: error: storage size of 'xint_proc_ops' isn't known
1089 | static const struct proc_ops xint_proc_ops = {
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for RESCTRL_FS
Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y]
Selected by [y]:
- ARM64_MPAM [=y]
vim +/single_open +1086 drivers/irqchip/irq-gic-v3.c
3053668e6b2119 Jinjie Ruan 2024-11-25 1038
3053668e6b2119 Jinjie Ruan 2024-11-25 1039 static ssize_t xint_proc_write(struct file *file,
3053668e6b2119 Jinjie Ruan 2024-11-25 1040 const char __user *buffer, size_t count, loff_t *pos)
3053668e6b2119 Jinjie Ruan 2024-11-25 1041 {
3053668e6b2119 Jinjie Ruan 2024-11-25 @1042 int irq = (int)(long)pde_data(file_inode(file));
3053668e6b2119 Jinjie Ruan 2024-11-25 1043 bool xint_state = false;
3053668e6b2119 Jinjie Ruan 2024-11-25 1044 unsigned long val;
3053668e6b2119 Jinjie Ruan 2024-11-25 1045 char *buf = NULL;
3053668e6b2119 Jinjie Ruan 2024-11-25 1046
3053668e6b2119 Jinjie Ruan 2024-11-25 1047 if (!xint_transform(irq, XINT_RANGE_CHECK))
3053668e6b2119 Jinjie Ruan 2024-11-25 1048 return -EPERM;
3053668e6b2119 Jinjie Ruan 2024-11-25 1049
3053668e6b2119 Jinjie Ruan 2024-11-25 1050 buf = memdup_user_nul(buffer, count);
3053668e6b2119 Jinjie Ruan 2024-11-25 1051 if (IS_ERR(buf))
3053668e6b2119 Jinjie Ruan 2024-11-25 1052 return PTR_ERR(buf);
3053668e6b2119 Jinjie Ruan 2024-11-25 1053
3053668e6b2119 Jinjie Ruan 2024-11-25 1054 if (kstrtoul(buf, 0, &val) || (val != 0 && val != 1)) {
3053668e6b2119 Jinjie Ruan 2024-11-25 1055 kfree(buf);
3053668e6b2119 Jinjie Ruan 2024-11-25 1056 return -EINVAL;
3053668e6b2119 Jinjie Ruan 2024-11-25 1057 }
3053668e6b2119 Jinjie Ruan 2024-11-25 1058
3053668e6b2119 Jinjie Ruan 2024-11-25 1059 xint_state = xint_transform(irq, XINT_SET_CHECK);
3053668e6b2119 Jinjie Ruan 2024-11-25 1060 if (xint_state == val) {
3053668e6b2119 Jinjie Ruan 2024-11-25 1061 kfree(buf);
3053668e6b2119 Jinjie Ruan 2024-11-25 1062 return -EBUSY;
3053668e6b2119 Jinjie Ruan 2024-11-25 1063 }
3053668e6b2119 Jinjie Ruan 2024-11-25 1064
3053668e6b2119 Jinjie Ruan 2024-11-25 1065 local_irq_disable();
3053668e6b2119 Jinjie Ruan 2024-11-25 1066 disable_irq(irq);
3053668e6b2119 Jinjie Ruan 2024-11-25 1067
3053668e6b2119 Jinjie Ruan 2024-11-25 1068 xint_transform(irq, xint_state ? XINT_TO_IRQ : IRQ_TO_XINT);
3053668e6b2119 Jinjie Ruan 2024-11-25 1069
3053668e6b2119 Jinjie Ruan 2024-11-25 1070 enable_irq(irq);
3053668e6b2119 Jinjie Ruan 2024-11-25 1071 local_irq_enable();
3053668e6b2119 Jinjie Ruan 2024-11-25 1072
3053668e6b2119 Jinjie Ruan 2024-11-25 1073 kfree(buf);
3053668e6b2119 Jinjie Ruan 2024-11-25 1074
3053668e6b2119 Jinjie Ruan 2024-11-25 1075 return count;
3053668e6b2119 Jinjie Ruan 2024-11-25 1076 }
3053668e6b2119 Jinjie Ruan 2024-11-25 1077
3053668e6b2119 Jinjie Ruan 2024-11-25 1078 static int xint_proc_show(struct seq_file *m, void *v)
3053668e6b2119 Jinjie Ruan 2024-11-25 1079 {
3053668e6b2119 Jinjie Ruan 2024-11-25 1080 seq_printf(m, "%d\n", xint_transform((long)m->private, XINT_SET_CHECK));
3053668e6b2119 Jinjie Ruan 2024-11-25 1081 return 0;
3053668e6b2119 Jinjie Ruan 2024-11-25 1082 }
3053668e6b2119 Jinjie Ruan 2024-11-25 1083
3053668e6b2119 Jinjie Ruan 2024-11-25 1084 static int xint_proc_open(struct inode *inode, struct file *file)
3053668e6b2119 Jinjie Ruan 2024-11-25 1085 {
3053668e6b2119 Jinjie Ruan 2024-11-25 @1086 return single_open(file, xint_proc_show, pde_data(inode));
3053668e6b2119 Jinjie Ruan 2024-11-25 1087 }
3053668e6b2119 Jinjie Ruan 2024-11-25 1088
:::::: The code at line 1086 was first introduced by commit
:::::: 3053668e6b211924bb67c19d791a5a532eca2ad8 arm64: Introduce Xint software solution
:::::: TO: Jinjie Ruan <ruanjinjie(a)huawei.com>
:::::: CC: Jinjie Ruan <ruanjinjie(a)huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 13/13] include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *'
by kernel test robot 26 Dec '25
by kernel test robot 26 Dec '25
26 Dec '25
Hi Ze,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5
commit: 5c9754d56876f60e199456beda45715da2d1a20b [13/13] mm/mem_sampling: Add eBPF interface for memory access tracing
config: arm64-randconfig-001-20251226 (https://download.01.org/0day-ci/archive/20251226/202512260557.iKOSRQRF-lkp@…)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251226/202512260557.iKOSRQRF-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/202512260557.iKOSRQRF-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from mm/slub.c:46:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE'
217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \
| ^~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL'
177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args)
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE'
217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \
| ^~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL'
177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args)
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
7 warnings and 2 errors generated.
--
In file included from mm/memory.c:83:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE'
217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \
| ^~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL'
177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args)
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE'
217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \
| ^~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL'
177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args)
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
mm/memory.c:5502:17: warning: variable 'nr_pages' set but not used [-Wunused-but-set-variable]
5502 | int flags = 0, nr_pages;
| ^
8 warnings and 2 errors generated.
--
In file included from mm/page_alloc.c:41:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE'
217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \
| ^~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL'
177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args)
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE'
217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \
| ^~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL'
177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args)
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
mm/page_alloc.c:4143:9: error: call to undeclared function 'dynamic_pool_should_alloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
4143 | return dynamic_pool_should_alloc(gfp_mask & ~GFP_RELIABLE, order);
| ^
7 warnings and 3 errors generated.
--
In file included from mm/slab_common.c:35:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE'
217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \
| ^~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL'
177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args)
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:566:44: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/tracepoint.h:217:33: note: expanded from macro '__DO_TRACE'
217 | __DO_TRACE_CALL(name, TP_ARGS(args)); \
| ^~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/linux/tracepoint.h:177:62: note: expanded from macro '__DO_TRACE_CALL'
177 | #define __DO_TRACE_CALL(name, args) __traceiter_##name(NULL, args)
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
In file included from mm/slab_common.c:35:
In file included from include/trace/events/kmem.h:441:
In file included from include/trace/define_trace.h:95:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
>> include/trace/events/kmem.h:416:1: error: conflicting types for '__traceiter_mm_spe_record'
416 | TRACE_EVENT(mm_spe_record,
| ^
include/trace/define_trace.h:28:2: note: expanded from macro 'TRACE_EVENT'
28 | DEFINE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^
include/linux/tracepoint.h:341:2: note: expanded from macro 'DEFINE_TRACE'
341 | DEFINE_TRACE_FN(name, NULL, NULL, PARAMS(proto), PARAMS(args));
| ^
include/linux/tracepoint.h:305:6: note: expanded from macro 'DEFINE_TRACE_FN'
305 | int __traceiter_##_name(void *__data, proto); \
| ^
<scratch space>:54:1: note: expanded from here
54 | __traceiter_mm_spe_record
| ^
include/trace/events/kmem.h:416:1: note: previous declaration is here
416 | TRACE_EVENT(mm_spe_record,
| ^
include/linux/tracepoint.h:566:2: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^
include/linux/tracepoint.h:432:2: note: expanded from macro 'DECLARE_TRACE'
432 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
| ^
include/linux/tracepoint.h:252:13: note: expanded from macro '__DECLARE_TRACE'
252 | extern int __traceiter_##name(data_proto); \
| ^
<scratch space>:57:1: note: expanded from here
57 | __traceiter_mm_spe_record
| ^
In file included from mm/slab_common.c:35:
In file included from include/trace/events/kmem.h:441:
In file included from include/trace/define_trace.h:95:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
>> include/trace/events/kmem.h:416:1: error: conflicting types for '__traceiter_mm_spe_record'
416 | TRACE_EVENT(mm_spe_record,
| ^
include/trace/define_trace.h:28:2: note: expanded from macro 'TRACE_EVENT'
28 | DEFINE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^
include/linux/tracepoint.h:341:2: note: expanded from macro 'DEFINE_TRACE'
341 | DEFINE_TRACE_FN(name, NULL, NULL, PARAMS(proto), PARAMS(args));
| ^
include/linux/tracepoint.h:319:6: note: expanded from macro 'DEFINE_TRACE_FN'
319 | int __traceiter_##_name(void *__data, proto) \
| ^
<scratch space>:64:1: note: expanded from here
64 | __traceiter_mm_spe_record
| ^
include/trace/events/kmem.h:416:1: note: previous declaration is here
416 | TRACE_EVENT(mm_spe_record,
| ^
include/linux/tracepoint.h:566:2: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^
include/linux/tracepoint.h:432:2: note: expanded from macro 'DECLARE_TRACE'
432 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
| ^
include/linux/tracepoint.h:252:13: note: expanded from macro '__DECLARE_TRACE'
252 | extern int __traceiter_##name(data_proto); \
| ^
<scratch space>:57:1: note: expanded from here
57 | __traceiter_mm_spe_record
| ^
In file included from mm/slab_common.c:35:
In file included from include/trace/events/kmem.h:441:
In file included from include/trace/define_trace.h:95:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:416:1: error: conflicting types for '__probestub_mm_spe_record'
416 | TRACE_EVENT(mm_spe_record,
| ^
include/trace/define_trace.h:28:2: note: expanded from macro 'TRACE_EVENT'
28 | DEFINE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^
include/linux/tracepoint.h:341:2: note: expanded from macro 'DEFINE_TRACE'
341 | DEFINE_TRACE_FN(name, NULL, NULL, PARAMS(proto), PARAMS(args));
| ^
include/linux/tracepoint.h:335:7: note: expanded from macro 'DEFINE_TRACE_FN'
335 | void __probestub_##_name(void *__data, proto) \
| ^
<scratch space>:75:1: note: expanded from here
75 | __probestub_mm_spe_record
| ^
include/trace/events/kmem.h:416:1: note: previous declaration is here
include/trace/define_trace.h:28:2: note: expanded from macro 'TRACE_EVENT'
28 | DEFINE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^
include/linux/tracepoint.h:341:2: note: expanded from macro 'DEFINE_TRACE'
341 | DEFINE_TRACE_FN(name, NULL, NULL, PARAMS(proto), PARAMS(args));
| ^
include/linux/tracepoint.h:306:7: note: expanded from macro 'DEFINE_TRACE_FN'
306 | void __probestub_##_name(void *__data, proto); \
| ^
<scratch space>:55:1: note: expanded from here
55 | __probestub_mm_spe_record
| ^
In file included from mm/slab_common.c:35:
In file included from include/trace/events/kmem.h:441:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:286:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
In file included from mm/slab_common.c:35:
In file included from include/trace/events/kmem.h:441:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:460:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/trace/trace_events.h:42:16: note: expanded from macro 'TRACE_EVENT'
42 | PARAMS(args), \
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/trace_events.h:427:51: note: expanded from macro 'DECLARE_EVENT_CLASS'
427 | __DECLARE_EVENT_CLASS(call, PARAMS(proto), PARAMS(args), PARAMS(tstruct), \
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/trace_events.h:410:64: note: expanded from macro '\
__DECLARE_EVENT_CLASS'
410 | __data_size = trace_event_get_offsets_##call(&__data_offsets, args); \
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
In file included from mm/slab_common.c:35:
In file included from include/trace/events/kmem.h:441:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:460:
>> include/trace/events/kmem.h:428:26: error: incomplete definition of type 'struct mem_sampling_record'
428 | __entry->vaddr = record->virt_addr;
| ~~~~~~^
include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign'
135 | #define TP_fast_assign(args...) args
| ^~~~
include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT'
44 | PARAMS(assign), \
| ^~~~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/trace_events.h:428:16: note: expanded from macro 'DECLARE_EVENT_CLASS'
428 | PARAMS(assign), PARAMS(print)) \
| ^~~~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/trace_events.h:420:4: note: expanded from macro '\
__DECLARE_EVENT_CLASS'
420 | { assign; } \
| ^~~~~~
include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record'
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:429:26: error: incomplete definition of type 'struct mem_sampling_record'
429 | __entry->paddr = record->phys_addr;
| ~~~~~~^
include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign'
135 | #define TP_fast_assign(args...) args
| ^~~~
include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT'
44 | PARAMS(assign), \
| ^~~~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/trace_events.h:428:16: note: expanded from macro 'DECLARE_EVENT_CLASS'
428 | PARAMS(assign), PARAMS(print)) \
| ^~~~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/trace_events.h:420:4: note: expanded from macro '\
__DECLARE_EVENT_CLASS'
420 | { assign; } \
| ^~~~~~
include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record'
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:430:24: error: incomplete definition of type 'struct mem_sampling_record'
430 | __entry->pid = record->context_id;
| ~~~~~~^
include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign'
135 | #define TP_fast_assign(args...) args
| ^~~~
include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT'
44 | PARAMS(assign), \
| ^~~~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/trace_events.h:428:16: note: expanded from macro 'DECLARE_EVENT_CLASS'
428 | PARAMS(assign), PARAMS(print)) \
| ^~~~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/trace_events.h:420:4: note: expanded from macro '\
__DECLARE_EVENT_CLASS'
420 | { assign; } \
| ^~~~~~
include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record'
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/trace/trace_events.h:42:16: note: expanded from macro 'TRACE_EVENT'
42 | PARAMS(args), \
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/trace_events.h:432:42: note: expanded from macro 'DECLARE_EVENT_CLASS'
432 | do_trace_event_raw_event_##call(__data, args); \
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:416:1: error: incompatible function pointer types passing 'void (void *, struct mem_sampling_record *)' to parameter of type 'void (*)(void *, struct mem_sampling_record *)' [-Wincompatible-function-pointer-types]
416 | TRACE_EVENT(mm_spe_record,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
417 | TP_PROTO(struct mem_sampling_record *record),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
418 |
419 | TP_ARGS(record),
| ~~~~~~~~~~~~~~~~
420 |
421 | TP_STRUCT__entry(
| ~~~~~~~~~~~~~~~~~
422 | __field(u64, vaddr)
| ~~~~~~~~~~~~~~~~~~~
423 | __field(u64, paddr)
| ~~~~~~~~~~~~~~~~~~~
424 | __field(int, pid)
| ~~~~~~~~~~~~~~~~~
425 | ),
| ~~
426 |
427 | TP_fast_assign(
| ~~~~~~~~~~~~~~~
428 | __entry->vaddr = record->virt_addr;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
429 | __entry->paddr = record->phys_addr;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
430 | __entry->pid = record->context_id;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
431 |
include/trace/trace_events.h:46:2: note: expanded from macro 'TRACE_EVENT'
46 | DEFINE_EVENT(name, name, PARAMS(proto), PARAMS(args));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:457:35: note: expanded from macro 'DEFINE_EVENT'
457 | check_trace_callback_type_##call(trace_event_raw_event_##template); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:118:1: note: expanded from here
118 | trace_event_raw_event_mm_spe_record
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/trace/events/kmem.h:416:1: note: passing argument to parameter 'cb' here
416 | TRACE_EVENT(mm_spe_record,
| ^
include/linux/tracepoint.h:566:2: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^
include/linux/tracepoint.h:432:2: note: expanded from macro 'DECLARE_TRACE'
432 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
| ^
include/linux/tracepoint.h:287:42: note: expanded from macro '__DECLARE_TRACE'
287 | check_trace_callback_type_##name(void (*cb)(data_proto)) \
| ^
In file included from mm/slab_common.c:35:
In file included from include/trace/events/kmem.h:441:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:512:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
In file included from mm/slab_common.c:35:
In file included from include/trace/events/kmem.h:441:
In file included from include/trace/define_trace.h:103:
In file included from include/trace/perf.h:75:
include/trace/events/kmem.h:417:18: warning: declaration of 'struct mem_sampling_record' will not be visible outside of this function [-Wvisibility]
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:416:1: error: conflicting types for 'perf_trace_mm_spe_record'
416 | TRACE_EVENT(mm_spe_record,
| ^
include/trace/trace_events.h:40:2: note: expanded from macro 'TRACE_EVENT'
40 | DECLARE_EVENT_CLASS(name, \
| ^
include/trace/perf.h:17:27: note: expanded from macro 'DECLARE_EVENT_CLASS'
17 | static notrace void \
| ^
<scratch space>:93:1: note: expanded from here
93 | perf_trace_mm_spe_record
| ^
include/trace/events/kmem.h:416:1: note: previous declaration is here
416 | TRACE_EVENT(mm_spe_record,
| ^
include/trace/trace_events.h:40:2: note: expanded from macro 'TRACE_EVENT'
40 | DECLARE_EVENT_CLASS(name, \
| ^
include/trace/trace_events.h:467:72: note: expanded from macro 'DECLARE_EVENT_CLASS'
467 | #define DECLARE_EVENT_CLASS(call, proto, args, tstruct, assign, print) \
| ^
include/trace/trace_events.h:383:2: note: expanded from macro '\
_TRACE_PERF_PROTO'
383 | perf_trace_##call(void *__data, proto);
| ^
<scratch space>:27:1: note: expanded from here
27 | perf_trace_mm_spe_record
| ^
In file included from mm/slab_common.c:35:
In file included from include/trace/events/kmem.h:441:
In file included from include/trace/define_trace.h:103:
In file included from include/trace/perf.h:75:
>> include/trace/events/kmem.h:419:10: error: incompatible pointer types passing 'struct mem_sampling_record *' to parameter of type 'struct mem_sampling_record *' [-Werror,-Wincompatible-pointer-types]
419 | TP_ARGS(record),
| ^~~~~~
include/linux/tracepoint.h:148:26: note: expanded from macro 'TP_ARGS'
148 | #define TP_ARGS(args...) args
| ^~~~
include/trace/trace_events.h:42:16: note: expanded from macro 'TRACE_EVENT'
42 | PARAMS(args), \
| ^~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/perf.h:31:64: note: expanded from macro 'DECLARE_EVENT_CLASS'
31 | __data_size = trace_event_get_offsets_##call(&__data_offsets, args); \
| ^~~~
include/trace/events/kmem.h:417:39: note: passing argument to parameter 'record' here
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
In file included from mm/slab_common.c:35:
In file included from include/trace/events/kmem.h:441:
In file included from include/trace/define_trace.h:103:
In file included from include/trace/perf.h:75:
>> include/trace/events/kmem.h:428:26: error: incomplete definition of type 'struct mem_sampling_record'
428 | __entry->vaddr = record->virt_addr;
| ~~~~~~^
include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign'
135 | #define TP_fast_assign(args...) args
| ^~~~
include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT'
44 | PARAMS(assign), \
| ^~~~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/perf.h:51:4: note: expanded from macro 'DECLARE_EVENT_CLASS'
51 | { assign; } \
| ^~~~~~
include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record'
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:429:26: error: incomplete definition of type 'struct mem_sampling_record'
429 | __entry->paddr = record->phys_addr;
| ~~~~~~^
include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign'
135 | #define TP_fast_assign(args...) args
| ^~~~
include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT'
44 | PARAMS(assign), \
| ^~~~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/perf.h:51:4: note: expanded from macro 'DECLARE_EVENT_CLASS'
51 | { assign; } \
| ^~~~~~
include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record'
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:430:24: error: incomplete definition of type 'struct mem_sampling_record'
430 | __entry->pid = record->context_id;
| ~~~~~~^
include/trace/stages/stage6_event_callback.h:135:33: note: expanded from macro 'TP_fast_assign'
135 | #define TP_fast_assign(args...) args
| ^~~~
include/trace/trace_events.h:44:16: note: expanded from macro 'TRACE_EVENT'
44 | PARAMS(assign), \
| ^~~~~~
include/linux/tracepoint.h:107:25: note: expanded from macro 'PARAMS'
107 | #define PARAMS(args...) args
| ^~~~
include/trace/perf.h:51:4: note: expanded from macro 'DECLARE_EVENT_CLASS'
51 | { assign; } \
| ^~~~~~
include/trace/events/kmem.h:417:18: note: forward declaration of 'struct mem_sampling_record'
417 | TP_PROTO(struct mem_sampling_record *record),
| ^
include/trace/events/kmem.h:416:1: error: incompatible function pointer types passing 'void (void *, struct mem_sampling_record *)' to parameter of type 'void (*)(void *, struct mem_sampling_record *)' [-Wincompatible-function-pointer-types]
416 | TRACE_EVENT(mm_spe_record,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
417 | TP_PROTO(struct mem_sampling_record *record),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
418 |
419 | TP_ARGS(record),
| ~~~~~~~~~~~~~~~~
420 |
421 | TP_STRUCT__entry(
| ~~~~~~~~~~~~~~~~~
422 | __field(u64, vaddr)
| ~~~~~~~~~~~~~~~~~~~
423 | __field(u64, paddr)
| ~~~~~~~~~~~~~~~~~~~
424 | __field(int, pid)
| ~~~~~~~~~~~~~~~~~
425 | ),
| ~~
426 |
427 | TP_fast_assign(
| ~~~~~~~~~~~~~~~
428 | __entry->vaddr = record->virt_addr;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
429 | __entry->paddr = record->phys_addr;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
430 | __entry->pid = record->context_id;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
431 |
include/trace/trace_events.h:46:2: note: expanded from macro 'TRACE_EVENT'
46 | DEFINE_EVENT(name, name, PARAMS(proto), PARAMS(args));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/trace/perf.h:67:35: note: expanded from macro 'DEFINE_EVENT'
67 | check_trace_callback_type_##call(perf_trace_##template); \
| ^~~~~~~~~~~~~~~~~~~~~
<scratch space>:99:1: note: expanded from here
99 | perf_trace_mm_spe_record
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/trace/events/kmem.h:416:1: note: passing argument to parameter 'cb' here
416 | TRACE_EVENT(mm_spe_record,
| ^
include/linux/tracepoint.h:566:2: note: expanded from macro 'TRACE_EVENT'
566 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^
include/linux/tracepoint.h:432:2: note: expanded from macro 'DECLARE_TRACE'
432 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
| ^
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for HALTPOLL_CPUIDLE
Depends on [n]: CPU_IDLE [=n] && ARCH_CPUIDLE_HALTPOLL [=y] && ARCH_HAS_OPTIMIZED_POLL [=y]
Selected by [y]:
- ARM64 [=y]
WARNING: unmet direct dependencies detected for RESCTRL_FS
Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y]
Selected by [y]:
- ARM64_MPAM [=y]
vim +419 include/trace/events/kmem.h
388
389 TP_PROTO(struct mm_struct *mm,
390 int member),
391
392 TP_ARGS(mm, member),
393
394 TP_STRUCT__entry(
395 __field(unsigned int, mm_id)
396 __field(unsigned int, curr)
397 __field(int, member)
398 __field(long, size)
399 ),
400
401 TP_fast_assign(
402 __entry->mm_id = mm_ptr_to_hash(mm);
403 __entry->curr = !!(current->mm == mm);
404 __entry->member = member;
405 __entry->size = (mm_counter_sum_positive(mm, member)
406 << PAGE_SHIFT);
407 ),
408
409 TP_printk("mm_id=%u curr=%d type=%s size=%ldB",
410 __entry->mm_id,
411 __entry->curr,
412 __print_symbolic(__entry->member, TRACE_MM_PAGES),
413 __entry->size)
414 );
415 #ifdef CONFIG_ARM_SPE_MEM_SAMPLING
> 416 TRACE_EVENT(mm_spe_record,
417 TP_PROTO(struct mem_sampling_record *record),
418
> 419 TP_ARGS(record),
420
421 TP_STRUCT__entry(
422 __field(u64, vaddr)
423 __field(u64, paddr)
424 __field(int, pid)
425 ),
426
427 TP_fast_assign(
> 428 __entry->vaddr = record->virt_addr;
429 __entry->paddr = record->phys_addr;
430 __entry->pid = record->context_id;
431
432 ),
433
434 TP_printk("vaddr=%llu paddr=%llu pid=%d",
435 __entry->vaddr, __entry->paddr, __entry->pid)
436 );
437 #endif /* CONFIG_ARM_SPE_MEM_SAMPLING */
438 #endif /* _TRACE_KMEM_H */
439
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 13/13] arch/arm64/mm/pfn_range_alloc.c:473:8: error: call to undeclared function 'pudp_huge_get_and_clear'; ISO C99 and later do not support implicit function declarations
by kernel test robot 26 Dec '25
by kernel test robot 26 Dec '25
26 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5
commit: 8dabe346dae33600033f2c8bcca5f4cfec8e87fb [13/13] mm/pfn_range_alloc: support update cachable attribue of linear mapping
config: arm64-randconfig-r061-20251226 (https://download.01.org/0day-ci/archive/20251226/202512260451.F7TC9nwx-lkp@…)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251226/202512260451.F7TC9nwx-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/202512260451.F7TC9nwx-lkp@intel.com/
All errors (new ones prefixed by >>):
>> arch/arm64/mm/pfn_range_alloc.c:473:8: error: call to undeclared function 'pudp_huge_get_and_clear'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
473 | pud = pudp_huge_get_and_clear(walk->mm, addr, pudp);
| ^
>> arch/arm64/mm/pfn_range_alloc.c:473:6: error: assigning to 'pud_t' from incompatible type 'int'
473 | pud = pudp_huge_get_and_clear(walk->mm, addr, pudp);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/mm/pfn_range_alloc.c:489:8: error: call to undeclared function 'pmdp_huge_get_and_clear'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
489 | pmd = pmdp_huge_get_and_clear(walk->mm, addr, pmdp);
| ^
>> arch/arm64/mm/pfn_range_alloc.c:489:6: error: assigning to 'pmd_t' from incompatible type 'int'
489 | pmd = pmdp_huge_get_and_clear(walk->mm, addr, pmdp);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 errors generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for RESCTRL_FS
Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y]
Selected by [y]:
- ARM64_MPAM [=y]
vim +/pudp_huge_get_and_clear +473 arch/arm64/mm/pfn_range_alloc.c
463
464 static int nc_pud_entry(pud_t *pudp, unsigned long addr,
465 unsigned long next, struct mm_walk *walk)
466 {
467 bool set_nc = (bool)walk->private;
468 pud_t pud;
469
470 if (pud_table(*pudp))
471 return 0;
472
> 473 pud = pudp_huge_get_and_clear(walk->mm, addr, pudp);
474 update_entry_nc(&pud_val(pud), set_nc);
475 set_pud(pudp, pud);
476
477 return 0;
478 }
479
480 static int nc_pmd_entry(pmd_t *pmdp, unsigned long addr,
481 unsigned long next, struct mm_walk *walk)
482 {
483 bool set_nc = (bool)walk->private;
484 pmd_t pmd;
485
486 if (pmd_table(*pmdp))
487 return 0;
488
> 489 pmd = pmdp_huge_get_and_clear(walk->mm, addr, pmdp);
490 update_entry_nc(&pmd_val(pmd), set_nc);
491 set_pmd(pmdp, pmd);
492
493 return 0;
494 }
495
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 13/13] drivers/ptp/ptp_hisi.c:731:36: warning: 'hisi_ptp_acpi_match' defined but not used
by kernel test robot 26 Dec '25
by kernel test robot 26 Dec '25
26 Dec '25
Hi Yonglong,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5
commit: e6aa0ecf50a8a0da6b742aacd9cbd47463275a30 [13/13] net: hns3: add support for Hisilicon ptp sync device
config: arm64-randconfig-004-20251226 (https://download.01.org/0day-ci/archive/20251226/202512260055.uMNjurGb-lkp@…)
compiler: aarch64-linux-gcc (GCC) 13.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251226/202512260055.uMNjurGb-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/202512260055.uMNjurGb-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/ptp/ptp_hisi.c:731:36: warning: 'hisi_ptp_acpi_match' defined but not used [-Wunused-const-variable=]
731 | static const struct acpi_device_id hisi_ptp_acpi_match[] = {
| ^~~~~~~~~~~~~~~~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for RESCTRL_FS
Depends on [n]: MISC_FILESYSTEMS [=n] && ARCH_HAS_CPU_RESCTRL [=y]
Selected by [y]:
- ARM64_MPAM [=y]
vim +/hisi_ptp_acpi_match +731 drivers/ptp/ptp_hisi.c
730
> 731 static const struct acpi_device_id hisi_ptp_acpi_match[] = {
732 { "HISI0411", 0 },
733 { }
734 };
735 MODULE_DEVICE_TABLE(acpi, hisi_ptp_acpi_match);
736
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 13/13] net/wireless/nl80211.c:12933:17: warning: 'memcpy' specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807
by kernel test robot 26 Dec '25
by kernel test robot 26 Dec '25
26 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5
commit: ac421033218a2998c95539a46fbedb6657790b28 [13/13] wifi: cfg80211: fix CQM for non-range use
config: arm64-randconfig-003-20251226 (https://download.01.org/0day-ci/archive/20251226/202512260022.AlkesDtX-lkp@…)
compiler: aarch64-linux-gcc (GCC) 12.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251226/202512260022.AlkesDtX-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/202512260022.AlkesDtX-lkp@intel.com/
All warnings (new ones prefixed by >>):
net/wireless/nl80211.c: In function 'nl80211_set_cqm_rssi.isra':
>> net/wireless/nl80211.c:12933:17: warning: 'memcpy' specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
12933 | memcpy(cqm_config->rssi_thresholds, thresholds,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12934 | flex_array_size(cqm_config, rssi_thresholds,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12935 | n_thresholds));
| ~~~~~~~~~~~~~~
vim +/memcpy +12933 net/wireless/nl80211.c
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12877
d6dc1a38635897 Juuso Oikarinen 2010-03-23 12878 static int nl80211_set_cqm_rssi(struct genl_info *info,
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12879 const s32 *thresholds, int n_thresholds,
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12880 u32 hysteresis)
d6dc1a38635897 Juuso Oikarinen 2010-03-23 12881 {
4c476991062a0a Johannes Berg 2010-10-04 12882 struct cfg80211_registered_device *rdev = info->user_ptr[0];
37c20b2effe987 Johannes Berg 2023-08-16 12883 struct cfg80211_cqm_config *cqm_config = NULL, *old;
4c476991062a0a Johannes Berg 2010-10-04 12884 struct net_device *dev = info->user_ptr[1];
1da5fcc86d7104 Johannes Berg 2013-08-06 12885 struct wireless_dev *wdev = dev->ieee80211_ptr;
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12886 int i, err;
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12887 s32 prev = S32_MIN;
d6dc1a38635897 Juuso Oikarinen 2010-03-23 12888
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12889 /* Check all values negative and sorted */
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12890 for (i = 0; i < n_thresholds; i++) {
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12891 if (thresholds[i] > 0 || thresholds[i] <= prev)
d6dc1a38635897 Juuso Oikarinen 2010-03-23 12892 return -EINVAL;
d6dc1a38635897 Juuso Oikarinen 2010-03-23 12893
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12894 prev = thresholds[i];
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12895 }
d6dc1a38635897 Juuso Oikarinen 2010-03-23 12896
074ac8df9f93f2 Johannes Berg 2010-09-16 12897 if (wdev->iftype != NL80211_IFTYPE_STATION &&
4c476991062a0a Johannes Berg 2010-10-04 12898 wdev->iftype != NL80211_IFTYPE_P2P_CLIENT)
4c476991062a0a Johannes Berg 2010-10-04 12899 return -EOPNOTSUPP;
d6dc1a38635897 Juuso Oikarinen 2010-03-23 12900
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12901 if (n_thresholds == 1 && thresholds[0] == 0) /* Disabling */
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12902 n_thresholds = 0;
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12903
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12904 wdev_lock(wdev);
37c20b2effe987 Johannes Berg 2023-08-16 12905 old = rcu_dereference_protected(wdev->cqm_config,
37c20b2effe987 Johannes Berg 2023-08-16 12906 lockdep_is_held(&wdev->mtx));
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12907
ac421033218a29 Johannes Berg 2024-03-20 12908 /* if already disabled just succeed */
ac421033218a29 Johannes Berg 2024-03-20 12909 if (!n_thresholds && !old)
ac421033218a29 Johannes Berg 2024-03-20 12910 return 0;
ac421033218a29 Johannes Berg 2024-03-20 12911
ac421033218a29 Johannes Berg 2024-03-20 12912 if (n_thresholds > 1) {
ac421033218a29 Johannes Berg 2024-03-20 12913 if (!wiphy_ext_feature_isset(&rdev->wiphy,
ac421033218a29 Johannes Berg 2024-03-20 12914 NL80211_EXT_FEATURE_CQM_RSSI_LIST) ||
ac421033218a29 Johannes Berg 2024-03-20 12915 !rdev->ops->set_cqm_rssi_range_config)
ac421033218a29 Johannes Berg 2024-03-20 12916 return -EOPNOTSUPP;
ac421033218a29 Johannes Berg 2024-03-20 12917 } else {
ac421033218a29 Johannes Berg 2024-03-20 12918 if (!rdev->ops->set_cqm_rssi_config)
ac421033218a29 Johannes Berg 2024-03-20 12919 return -EOPNOTSUPP;
ac421033218a29 Johannes Berg 2024-03-20 12920 }
ac421033218a29 Johannes Berg 2024-03-20 12921
37c20b2effe987 Johannes Berg 2023-08-16 12922 if (n_thresholds) {
40f231e75a1d98 Len Baker 2021-09-19 12923 cqm_config = kzalloc(struct_size(cqm_config, rssi_thresholds,
40f231e75a1d98 Len Baker 2021-09-19 12924 n_thresholds),
40f231e75a1d98 Len Baker 2021-09-19 12925 GFP_KERNEL);
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12926 if (!cqm_config) {
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12927 err = -ENOMEM;
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12928 goto unlock;
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12929 }
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12930
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12931 cqm_config->rssi_hyst = hysteresis;
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12932 cqm_config->n_rssi_thresholds = n_thresholds;
4a4b8169501b18 Andrew Zaborowski 2017-02-10 @12933 memcpy(cqm_config->rssi_thresholds, thresholds,
40f231e75a1d98 Len Baker 2021-09-19 12934 flex_array_size(cqm_config, rssi_thresholds,
40f231e75a1d98 Len Baker 2021-09-19 12935 n_thresholds));
ac421033218a29 Johannes Berg 2024-03-20 12936 cqm_config->use_range_api = n_thresholds > 1 ||
ac421033218a29 Johannes Berg 2024-03-20 12937 !rdev->ops->set_cqm_rssi_config;
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12938
37c20b2effe987 Johannes Berg 2023-08-16 12939 rcu_assign_pointer(wdev->cqm_config, cqm_config);
ac421033218a29 Johannes Berg 2024-03-20 12940
ac421033218a29 Johannes Berg 2024-03-20 12941 if (cqm_config->use_range_api)
ac421033218a29 Johannes Berg 2024-03-20 12942 err = cfg80211_cqm_rssi_update(rdev, dev, cqm_config);
ac421033218a29 Johannes Berg 2024-03-20 12943 else
ac421033218a29 Johannes Berg 2024-03-20 12944 err = rdev_set_cqm_rssi_config(rdev, dev,
ac421033218a29 Johannes Berg 2024-03-20 12945 thresholds[0],
ac421033218a29 Johannes Berg 2024-03-20 12946 hysteresis);
37c20b2effe987 Johannes Berg 2023-08-16 12947 } else {
37c20b2effe987 Johannes Berg 2023-08-16 12948 RCU_INIT_POINTER(wdev->cqm_config, NULL);
ac421033218a29 Johannes Berg 2024-03-20 12949 /* if enabled as range also disable via range */
ac421033218a29 Johannes Berg 2024-03-20 12950 if (old->use_range_api)
ac421033218a29 Johannes Berg 2024-03-20 12951 err = rdev_set_cqm_rssi_range_config(rdev, dev, 0, 0);
ac421033218a29 Johannes Berg 2024-03-20 12952 else
ac421033218a29 Johannes Berg 2024-03-20 12953 err = rdev_set_cqm_rssi_config(rdev, dev, 0, 0);
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12954 }
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12955
37c20b2effe987 Johannes Berg 2023-08-16 12956 if (err) {
37c20b2effe987 Johannes Berg 2023-08-16 12957 rcu_assign_pointer(wdev->cqm_config, old);
37c20b2effe987 Johannes Berg 2023-08-16 12958 kfree_rcu(cqm_config, rcu_head);
37c20b2effe987 Johannes Berg 2023-08-16 12959 } else {
37c20b2effe987 Johannes Berg 2023-08-16 12960 kfree_rcu(old, rcu_head);
37c20b2effe987 Johannes Berg 2023-08-16 12961 }
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12962 unlock:
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12963 wdev_unlock(wdev);
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12964
4a4b8169501b18 Andrew Zaborowski 2017-02-10 12965 return err;
d6dc1a38635897 Juuso Oikarinen 2010-03-23 12966 }
d6dc1a38635897 Juuso Oikarinen 2010-03-23 12967
:::::: The code at line 12933 was first introduced by commit
:::::: 4a4b8169501b18c3450ac735a7e277b24886a651 cfg80211: Accept multiple RSSI thresholds for CQM
:::::: TO: Andrew Zaborowski <andrew.zaborowski(a)intel.com>
:::::: CC: Johannes Berg <johannes.berg(a)intel.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 13/13] drivers/ub/urma/uburma/uburma_dev_ops.c:77:2: error: call to undeclared function 'mmu_notifier_unregister'; ISO C99 and later do not support implicit function declarations
by kernel test robot 25 Dec '25
by kernel test robot 25 Dec '25
25 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5
commit: 901128a1ed92d11749cd5ad529be4e30f3196214 [13/13] uburma: add uburma command and user object framework headers
config: arm64-randconfig-002-20251226 (https://download.01.org/0day-ci/archive/20251225/202512252339.bFtPO9U0-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 4ef602d446057dabf5f61fb221669ecbeda49279)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512252339.bFtPO9U0-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/202512252339.bFtPO9U0-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from <built-in>:3:
In file included from include/linux/compiler_types.h:150:
include/linux/compiler-clang.h:33:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined]
33 | #define __SANITIZE_ADDRESS__
| ^
<built-in>:368:9: note: previous definition is here
368 | #define __SANITIZE_ADDRESS__ 1
| ^
>> drivers/ub/urma/uburma/uburma_dev_ops.c:77:2: error: call to undeclared function 'mmu_notifier_unregister'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
77 | mmu_notifier_unregister(&file->ub_mn.mn, mm);
| ^
drivers/ub/urma/uburma/uburma_dev_ops.c:77:2: note: did you mean 'mmu_notifier_release'?
include/linux/mmu_notifier.h:629:20: note: 'mmu_notifier_release' declared here
629 | static inline void mmu_notifier_release(struct mm_struct *mm)
| ^
drivers/ub/urma/uburma/uburma_dev_ops.c:68:6: warning: no previous prototype for function 'uburma_unregister_mmu' [-Wmissing-prototypes]
68 | void uburma_unregister_mmu(struct uburma_file *file)
| ^
drivers/ub/urma/uburma/uburma_dev_ops.c:68:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
68 | void uburma_unregister_mmu(struct uburma_file *file)
| ^
| static
>> drivers/ub/urma/uburma/uburma_dev_ops.c:87:8: error: call to undeclared function 'mmu_notifier_register'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
87 | ret = mmu_notifier_register(&ub_mn->mn, current->mm);
| ^
drivers/ub/urma/uburma/uburma_dev_ops.c:87:8: note: did you mean 'mmu_notifier_release'?
include/linux/mmu_notifier.h:629:20: note: 'mmu_notifier_release' declared here
629 | static inline void mmu_notifier_release(struct mm_struct *mm)
| ^
drivers/ub/urma/uburma/uburma_dev_ops.c:80:5: warning: no previous prototype for function 'uburma_register_mmu' [-Wmissing-prototypes]
80 | int uburma_register_mmu(struct uburma_file *file)
| ^
drivers/ub/urma/uburma/uburma_dev_ops.c:80:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
80 | int uburma_register_mmu(struct uburma_file *file)
| ^
| static
drivers/ub/urma/uburma/uburma_dev_ops.c:96:6: warning: no previous prototype for function 'uburma_release_file' [-Wmissing-prototypes]
96 | void uburma_release_file(struct kref *ref)
| ^
drivers/ub/urma/uburma/uburma_dev_ops.c:96:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
96 | void uburma_release_file(struct kref *ref)
| ^
| static
4 warnings and 2 errors generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for ARCH_SUPPORTS_SCHED_SOFT_QUOTA
Depends on [n]: CGROUPS [=n]
Selected by [y]:
- ARM64 [=y]
vim +/mmu_notifier_unregister +77 drivers/ub/urma/uburma/uburma_dev_ops.c
67
> 68 void uburma_unregister_mmu(struct uburma_file *file)
69 {
70 struct uburma_mn *ub_mn = &file->ub_mn;
71 struct mm_struct *mm = ub_mn->mm;
72
73 if (!mm)
74 return;
75
76 file->ub_mn.mm = NULL;
> 77 mmu_notifier_unregister(&file->ub_mn.mn, mm);
78 }
79
80 int uburma_register_mmu(struct uburma_file *file)
81 {
82 struct uburma_mn *ub_mn = &file->ub_mn;
83 int ret = 0;
84
85 ub_mn->mm = current->mm;
86 ub_mn->mn.ops = &uburma_mm_notifier_ops;
> 87 ret = mmu_notifier_register(&ub_mn->mn, current->mm);
88 if (ret) {
89 ub_mn->mm = NULL;
90 return ret;
91 }
92
93 return 0;
94 }
95
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 10/10] drivers/infiniband/core/ib_core_cq_poll.c:92:6: warning: no previous prototype for function 'cq_polling'
by kernel test robot 25 Dec '25
by kernel test robot 25 Dec '25
25 Dec '25
Hi hjx_gitff,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5
commit: 11fa263277520b886a650fadf4f719a2878229d0 [10/10] Add poll method for nfs for virtCCA CVM.
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251225/202512252218.txZwa0HZ-lkp@…)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512252218.txZwa0HZ-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/202512252218.txZwa0HZ-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/infiniband/core/ib_core_cq_poll.c:92:6: warning: no previous prototype for function 'cq_polling' [-Wmissing-prototypes]
92 | void cq_polling(void *data)
| ^
drivers/infiniband/core/ib_core_cq_poll.c:92:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
92 | void cq_polling(void *data)
| ^
| static
>> drivers/infiniband/core/ib_core_cq_poll.c:123:6: warning: no previous prototype for function 'wakeup_and_poll' [-Wmissing-prototypes]
123 | void wakeup_and_poll(struct task_struct *awakened_thread)
| ^
drivers/infiniband/core/ib_core_cq_poll.c:123:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
123 | void wakeup_and_poll(struct task_struct *awakened_thread)
| ^
| static
>> drivers/infiniband/core/ib_core_cq_poll.c:130:5: warning: no previous prototype for function 'polling_thread' [-Wmissing-prototypes]
130 | int polling_thread(void *data)
| ^
drivers/infiniband/core/ib_core_cq_poll.c:130:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
130 | int polling_thread(void *data)
| ^
| static
>> drivers/infiniband/core/ib_core_cq_poll.c:147:5: warning: no previous prototype for function 'polling_awaken_thread' [-Wmissing-prototypes]
147 | int polling_awaken_thread(void *data)
| ^
drivers/infiniband/core/ib_core_cq_poll.c:147:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
147 | int polling_awaken_thread(void *data)
| ^
| static
4 warnings generated.
vim +/cq_polling +92 drivers/infiniband/core/ib_core_cq_poll.c
91
> 92 void cq_polling(void *data)
93 {
94 void *cq;
95 int completed = 0;
96 unsigned long flags;
97 u64 time_interval;
98 ktime_t start_time_stamp, end_time_stamp;
99 struct cq_poll_node *poll_node_entry, *poll_node_next;
100
101 spin_lock_irqsave(&cq_list_lock, flags);
102 list_for_each_entry_safe(poll_node_entry, poll_node_next,
103 &ib_cq_poll_list, list) {
104 cq = poll_node_entry->cq;
105 if (!cq) {
106 WARN_ONCE(1, "got NULL CQ 0x%p in poll list\n", cq);
107 continue;
108 }
109 start_time_stamp = ktime_get();
110 completed = ib_poll_cq_thread(cq);
111 end_time_stamp = ktime_get();
112 if (ib_cq_polling_kthread.debug_cq_poll_stat && completed) {
113 time_interval = ktime_to_ns(ktime_sub(end_time_stamp, start_time_stamp));
114 poll_node_entry->time_used_ns += time_interval;
115 poll_node_entry->poll_cq_cnt++;
116 if (poll_node_entry->max_time_ns < time_interval)
117 poll_node_entry->max_time_ns = time_interval;
118 }
119 }
120 spin_unlock_irqrestore(&cq_list_lock, flags);
121 }
122
> 123 void wakeup_and_poll(struct task_struct *awakened_thread)
124 {
125 wake_up_process(awakened_thread);
126
127 cq_polling(NULL);
128 }
129
> 130 int polling_thread(void *data)
131 {
132 while (true) {
133 if (ib_cq_polling_kthread.use_polling_kthread)
134 wakeup_and_poll(waker_polling_thread);
135
136 set_current_state(TASK_INTERRUPTIBLE);
137 if (unlikely(kthread_should_stop())) {
138 set_current_state(TASK_RUNNING);
139 break;
140 }
141 schedule();
142 }
143
144 return 0;
145 }
146
> 147 int polling_awaken_thread(void *data)
148 {
149 while (true) {
150 if (ib_cq_polling_kthread.use_polling_kthread)
151 wakeup_and_poll(poll_cq_thread);
152
153 set_current_state(TASK_INTERRUPTIBLE);
154 if (unlikely(kthread_should_stop())) {
155 set_current_state(TASK_RUNNING);
156 break;
157 }
158 schedule();
159 }
160
161 return 0;
162 }
163
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 10/10] Documentation/devicetree/bindings/gpu/phytium,dc.yaml:40:8: [warning] wrong indentation: expected 2 but found 7 (indentation)
by kernel test robot 25 Dec '25
by kernel test robot 25 Dec '25
25 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 52a3b0aa13aa2325ca2caf528fbcaba06ad3bab5
commit: ab9ff1e38569313e41ba5a036591f93cb55e5d87 [10/10] DRM: Phytium display DRM doc
config: arm64-randconfig-2052-20251225 (https://download.01.org/0day-ci/archive/20251225/202512251441.n6oaTKbj-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project e3ef26df85c317665a2c505a0d9bc179fe67bdaf)
dtschema version: 2025.12
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512251441.n6oaTKbj-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/202512251441.n6oaTKbj-lkp@intel.com/
dtcheck warnings: (new ones prefixed by >>)
>> Documentation/devicetree/bindings/gpu/phytium,dc.yaml:40:8: [warning] wrong indentation: expected 2 but found 7 (indentation)
Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml:76:15: [error] string value is redundantly quoted with any quotes (quoted-strings)
Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml:82:15: [error] string value is redundantly quoted with any quotes (quoted-strings)
--
>> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: properties:clocks: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 1
['description:Display controller reference clock source'] is too short
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
>> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: properties:reg: 'oneOf' conditional failed, one must be fixed:
False schema does not allow 1
[{'description': 'Offset and length of the memory mapped registers'}] is too short
hint: "minItems" is only needed if less than the "items" list length
from schema $id: http://devicetree.org/meta-schemas/items.yaml
>> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: 'Example' is not one of ['$id', '$schema', 'title', 'description', 'examples', 'required', 'allOf', 'anyOf', 'oneOf', 'definitions', '$defs', 'additionalProperties', 'dependencies', 'dependentRequired', 'dependentSchemas', 'patternProperties', 'properties', 'not', 'if', 'then', 'else', 'unevaluatedProperties', 'deprecated', 'maintainers', 'select', '$ref']
from schema $id: http://devicetree.org/meta-schemas/base.yaml
>> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: properties:clocks:items: 'anyOf' conditional failed, one must be fixed:
['description:Display controller reference clock source'] is not of type 'object', 'boolean'
'description:Display controller reference clock source' is not of type 'object', 'boolean'
>> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: $id: Cannot determine base path from $id, relative path/filename doesn't match actual path or filename
$id: http://devicetree.org/schemas/dc/snps,dc.yaml
file: Documentation/devicetree/bindings/gpu/phytium,dc.yaml
Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml: ^(LDO_REG[1-9]|DCDC_REG[1-5]|SWITCH_REG[1-2])$: Missing additionalProperties/unevaluatedProperties constraint
--
>> Documentation/devicetree/bindings/gpu/phytium,dc.yaml: ignoring, error in schema: properties: clocks: items
/usr/local/lib/python3.13/dist-packages/dtschema/schemas/reserved-memory/shared-dma-pool.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml'
/usr/local/lib/python3.13/dist-packages/dtschema/schemas/reserved-memory/framebuffer.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/framebuffer.yaml'
/usr/local/lib/python3.13/dist-packages/dtschema/schemas/reserved-memory/memory-region.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/memory-region.yaml'
/usr/local/lib/python3.13/dist-packages/dtschema/schemas/reserved-memory/reserved-memory.yaml: warning: ignoring duplicate '$id' value 'http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml'
Documentation/devicetree/bindings/sound/audio-graph.yaml: convert-sample-format: missing type definition
Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml: dual-lvds-odd-pixels: missing type definition
Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml: dual-lvds-even-pixels: missing type definition
Documentation/devicetree/bindings/input/touchscreen/ti,tsc2005.yaml: ti,x-plate-ohms: missing type definition
Documentation/devicetree/bindings/media/i2c/ti,ds90ub960.yaml: i2c-alias: missing type definition
Traceback (most recent call last):
vim +40 Documentation/devicetree/bindings/gpu/phytium,dc.yaml
33
34 required:
35 - compatible
36 - reg
37 - interrupts
38
39 Example:
> 40 /memreserve/ 0xf4000000 0x4000000; // (optional)
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 10/10] Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml:76:15: [error] string value is redundantly quoted with any quotes (quoted-strings)
by kernel test robot 25 Dec '25
by kernel test robot 25 Dec '25
25 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 610575a82bdf3c3be06ce9559609d5bfa65472e8
commit: c21dc717760f8594e1fccae49eb86eb05e9a5f12 [10/10] dt-bindings: arm: Add MPAM MSC binding
config: arm64-randconfig-2052-20251225 (https://download.01.org/0day-ci/archive/20251225/202512251456.TRkvFsjk-lkp@…)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project e3ef26df85c317665a2c505a0d9bc179fe67bdaf)
dtschema version: 2025.12
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251225/202512251456.TRkvFsjk-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/202512251456.TRkvFsjk-lkp@intel.com/
dtcheck warnings: (new ones prefixed by >>)
>> Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml:76:15: [error] string value is redundantly quoted with any quotes (quoted-strings)
Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml:82:15: [error] string value is redundantly quoted with any quotes (quoted-strings)
vim +76 Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml
8
9 description: |
10 The Arm MPAM specification can be found here:
11
12 https://developer.arm.com/documentation/ddi0598/latest
13
14 maintainers:
15 - Rob Herring <robh(a)kernel.org>
16
17 properties:
18 compatible:
19 items:
20 - const: arm,mpam-msc # Further details are discoverable
21 - const: arm,mpam-memory-controller-msc
22
23 reg:
24 maxItems: 1
25 description: A memory region containing registers as defined in the MPAM
26 specification.
27
28 interrupts:
29 minItems: 1
30 items:
31 - description: error (optional)
32 - description: overflow (optional, only for monitoring)
33
34 interrupt-names:
35 oneOf:
36 - items:
37 - enum: [ error, overflow ]
38 - items:
39 - const: error
40 - const: overflow
41
42 arm,not-ready-us:
43 description: The maximum time in microseconds for monitoring data to be
44 accurate after a settings change. For more information, see the
45 Not-Ready (NRDY) bit description in the MPAM specification.
46
47 numa-node-id: true # see NUMA binding
48
49 '#address-cells':
50 const: 1
51
52 '#size-cells':
53 const: 0
54
55 patternProperties:
56 '^ris@[0-9a-f]$':
57 type: object
58 additionalProperties: false
59 description: |
60 RIS nodes for each RIS in an MSC. These nodes are required for each RIS
61 implementing known MPAM controls
62
63 properties:
64 compatible:
65 enum:
66 # Bulk storage for cache
67 - arm,mpam-cache
68 # Memory bandwidth
69 - arm,mpam-memory
70
71 reg:
72 minimum: 0
73 maximum: 0xf
74
75 cpus:
> 76 $ref: '/schemas/types.yaml#/definitions/phandle-array'
77 description:
78 Phandle(s) to the CPU node(s) this RIS belongs to. By default, the parent
79 device's affinity is used.
80
81 arm,mpam-device:
82 $ref: '/schemas/types.yaml#/definitions/phandle'
83 description:
84 By default, the MPAM enabled device associated with a RIS is the MSC's
85 parent node. It is possible for each RIS to be associated with different
86 devices in which case 'arm,mpam-device' should be used.
87
88 required:
89 - compatible
90 - reg
91
92 required:
93 - compatible
94 - reg
95
96 dependencies:
97 interrupts: [ interrupt-names ]
98
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0