Kernel
Threads by month
- ----- 2026 -----
- April
- March
- February
- January
- ----- 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
- 37 participants
- 23249 discussions
[PATCH openEuler-1.0-LTS] scsi: megaraid_sas: Fix resource leak in case of probe failure
by Luo Gengkun 24 May '24
by Luo Gengkun 24 May '24
24 May '24
From: Chandrakanth Patil <chandrakanth.patil(a)broadcom.com>
mainline inclusion
from mainline-v5.14-rc1
commit b5438f48fdd8e1c3f130d32637511efd32038152
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9RQ71
CVE: CVE-2021-47329
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
The driver doesn't clean up all the allocated resources properly when
scsi_add_host(), megasas_start_aen() function fails during the PCI device
probe.
Clean up all those resources.
Link: https://lore.kernel.org/r/20210528131307.25683-3-chandrakanth.patil@broadco…
Signed-off-by: Chandrakanth Patil <chandrakanth.patil(a)broadcom.com>
Signed-off-by: Sumit Saxena <sumit.saxena(a)broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
Signed-off-by: Luo Gengkun <luogengkun(a)huaweicloud.com>
---
drivers/scsi/megaraid/megaraid_sas_base.c | 13 +++++++++++++
drivers/scsi/megaraid/megaraid_sas_fusion.c | 1 +
2 files changed, 14 insertions(+)
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index 3f0752dc8ab5..95e0e39e7f82 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -6620,11 +6620,16 @@ static int megasas_probe_one(struct pci_dev *pdev,
return 0;
fail_start_aen:
+ instance->unload = 1;
+ scsi_remove_host(instance->host);
fail_io_attach:
megasas_mgmt_info.count--;
megasas_mgmt_info.max_index--;
megasas_mgmt_info.instance[megasas_mgmt_info.max_index] = NULL;
+ if (instance->requestorId && !instance->skip_heartbeat_timer_del)
+ del_timer_sync(&instance->sriov_heartbeat_timer);
+
instance->instancet->disable_intr(instance);
megasas_destroy_irqs(instance);
@@ -6632,8 +6637,16 @@ static int megasas_probe_one(struct pci_dev *pdev,
megasas_release_fusion(instance);
else
megasas_release_mfi(instance);
+
if (instance->msix_vectors)
pci_free_irq_vectors(instance->pdev);
+ instance->msix_vectors = 0;
+
+ if (instance->fw_crash_state != UNAVAILABLE)
+ megasas_free_host_crash_buffer(instance);
+
+ if (instance->adapter_type != MFI_SERIES)
+ megasas_fusion_stop_watchdog(instance);
fail_init_mfi:
scsi_host_put(host);
fail_alloc_instance:
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c
index f45c54f02bfa..9d4941cb961b 100644
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
@@ -4857,6 +4857,7 @@ megasas_alloc_fusion_context(struct megasas_instance *instance)
if (!fusion->log_to_span) {
dev_err(&instance->pdev->dev, "Failed from %s %d\n",
__func__, __LINE__);
+ kfree(instance->ctrl_context);
return -ENOMEM;
}
}
--
2.34.1
2
1
[openeuler:OLK-6.6 9687/9759] drivers/crypto/ccp/hygon/csv-dev.c:32:6: warning: no previous prototype for function 'csv_update_api_version'
by kernel test robot 24 May '24
by kernel test robot 24 May '24
24 May '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c564f68dbcd17a532bedbcd78ee4a0b3a2853a84
commit: c73088c4bfaa46261a59e5879143688fb540d53b [9687/9759] crypto: ccp: Print Hygon CSV API version when CSV support is detected
config: x86_64-randconfig-003-20240524 (https://download.01.org/0day-ci/archive/20240524/202405240829.xBq9c5jO-lkp@…)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240524/202405240829.xBq9c5jO-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/202405240829.xBq9c5jO-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/crypto/ccp/hygon/csv-dev.c:32:6: warning: no previous prototype for function 'csv_update_api_version' [-Wmissing-prototypes]
32 | void csv_update_api_version(struct sev_user_data_status *status)
| ^
drivers/crypto/ccp/hygon/csv-dev.c:32:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
32 | void csv_update_api_version(struct sev_user_data_status *status)
| ^
| static
drivers/crypto/ccp/hygon/csv-dev.c:40:5: warning: no previous prototype for function 'csv_cmd_buffer_len' [-Wmissing-prototypes]
40 | int csv_cmd_buffer_len(int cmd)
| ^
drivers/crypto/ccp/hygon/csv-dev.c:40:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
40 | int csv_cmd_buffer_len(int cmd)
| ^
| static
2 warnings generated.
vim +/csv_update_api_version +32 drivers/crypto/ccp/hygon/csv-dev.c
26
27 /*
28 * csv_update_api_version used to update the api version of HYGON CSV
29 * firmwareat driver side.
30 * Currently, we only need to update @hygon_csv_build.
31 */
> 32 void csv_update_api_version(struct sev_user_data_status *status)
33 {
34 if (status) {
35 hygon_csv_build = (status->flags >> 9) |
36 ((u32)status->build << 23);
37 }
38 }
39
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-5.10] BUILD SUCCESS 0d9d0b0a2098815d3c3d6dd0b357f79f90673f76
by kernel test robot 24 May '24
by kernel test robot 24 May '24
24 May '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: 0d9d0b0a2098815d3c3d6dd0b357f79f90673f76 !7733 backport some bugfix of HiSilicon PCIe PMU driver
Warning ids grouped by kconfigs:
clang_recent_errors
`-- x86_64-allnoconfig
|-- Warning:openEuler-MAINTAINERS-references-a-file-that-doesn-t-exist:Documentation-networking-hinic3.rst
|-- drivers-ub-urma-ubcore-ubcore_cdev_file.c:linux-version.h-not-needed.
|-- drivers-ub-urma-ubcore-ubcore_device.c:linux-version.h-not-needed.
|-- drivers-ub-urma-ubcore-ubcore_genl.c:linux-version.h-not-needed.
|-- drivers-ub-urma-ubcore-ubcore_genl_admin.c:linux-version.h-not-needed.
|-- drivers-ub-urma-ubcore-ubcore_uvs_cmd.c:ubcore_device.h-is-included-more-than-once.
`-- drivers-ub-urma-uburma-uburma_mmap.c:linux-version.h-not-needed.
elapsed time: 742m
configs tested: 35
configs skipped: 131
The following configs have been built successfully.
More configs may be tested in the coming days.
tested configs:
arm64 allmodconfig clang
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240524 clang
arm64 randconfig-002-20240524 clang
arm64 randconfig-003-20240524 gcc
arm64 randconfig-004-20240524 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240524 gcc
x86_64 buildonly-randconfig-002-20240524 gcc
x86_64 buildonly-randconfig-003-20240524 clang
x86_64 buildonly-randconfig-004-20240524 gcc
x86_64 buildonly-randconfig-005-20240524 gcc
x86_64 buildonly-randconfig-006-20240524 gcc
x86_64 defconfig gcc
x86_64 randconfig-001-20240524 gcc
x86_64 randconfig-002-20240524 clang
x86_64 randconfig-003-20240524 clang
x86_64 randconfig-004-20240524 clang
x86_64 randconfig-005-20240524 clang
x86_64 randconfig-006-20240524 gcc
x86_64 randconfig-011-20240524 gcc
x86_64 randconfig-012-20240524 clang
x86_64 randconfig-013-20240524 clang
x86_64 randconfig-014-20240524 gcc
x86_64 randconfig-015-20240524 gcc
x86_64 randconfig-016-20240524 clang
x86_64 randconfig-071-20240524 gcc
x86_64 randconfig-072-20240524 clang
x86_64 randconfig-073-20240524 gcc
x86_64 randconfig-074-20240524 gcc
x86_64 randconfig-075-20240524 clang
x86_64 randconfig-076-20240524 clang
x86_64 rhel-8.3-rust clang
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:openEuler-1.0-LTS] BUILD SUCCESS WITH WARNING bcfa0f0eaaa58a3d5bc06386ca698a1eabce086a
by kernel test robot 24 May '24
by kernel test robot 24 May '24
24 May '24
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: bcfa0f0eaaa58a3d5bc06386ca698a1eabce086a !7854 net/mlx5e: fix a double-free in arfs_create_groups
Warning: (recently discovered and may have been fixed)
drivers/spi/spi-phytium-plat.c:186:34: warning: unused variable 'phytium_spi_of_match' [-Wunused-const-variable]
mm/debug.c:143:21: warning: more '%' conversions than data arguments [-Wformat-insufficient-args]
mm/debug.c:174:3: warning: format specifies type 'void *' but the argument has type 'int' [-Wformat]
mm/debug.c:175:18: warning: format specifies type 'unsigned long' but the argument has type 'const unsigned long *' [-Wformat]
mm/debug.c:175:3: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat]
Unverified Warning (likely false positive, please contact us if interested):
drivers/block/loop.c:1338 loop_set_status() warn: inconsistent returns '&loop_ctl_mutex'.
Warning ids grouped by kconfigs:
gcc_recent_errors
|-- arm64-allmodconfig
| `-- drivers-gpu-drm-nouveau-nvkm-core-object.c:warning:ISO-C90-forbids-mixed-declarations-and-code
|-- arm64-defconfig
| `-- drivers-gpu-drm-nouveau-nvkm-core-object.c:warning:ISO-C90-forbids-mixed-declarations-and-code
`-- x86_64-buildonly-randconfig-002-20240524
`-- drivers-gpu-drm-nouveau-nvkm-core-object.c:warning:ISO-C90-forbids-mixed-declarations-and-code
clang_recent_errors
|-- x86_64-allyesconfig
| `-- drivers-gpu-drm-nouveau-nvkm-core-object.c:warning:mixing-declarations-and-code-is-a-C99-extension
|-- x86_64-randconfig-003-20240524
| `-- drivers-gpu-drm-nouveau-nvkm-core-object.c:warning:mixing-declarations-and-code-is-a-C99-extension
|-- x86_64-randconfig-005-20240420
| |-- drivers-spi-spi-phytium-plat.c:warning:unused-variable-phytium_spi_of_match
| |-- mm-debug.c:warning:format-specifies-type-int-but-the-argument-has-type-unsigned-long
| |-- mm-debug.c:warning:format-specifies-type-unsigned-long-but-the-argument-has-type-const-unsigned-long
| |-- mm-debug.c:warning:format-specifies-type-void-but-the-argument-has-type-int
| `-- mm-debug.c:warning:more-conversions-than-data-arguments
`-- x86_64-randconfig-161-20240430
`-- drivers-block-loop.c-loop_set_status()-warn:inconsistent-returns-loop_ctl_mutex-.
elapsed time: 740m
configs tested: 20
configs skipped: 103
tested configs:
arm64 allmodconfig gcc
arm64 allnoconfig gcc
arm64 defconfig gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240524 gcc
x86_64 buildonly-randconfig-002-20240524 gcc
x86_64 buildonly-randconfig-003-20240524 clang
x86_64 buildonly-randconfig-004-20240524 gcc
x86_64 buildonly-randconfig-005-20240524 gcc
x86_64 buildonly-randconfig-006-20240524 gcc
x86_64 defconfig gcc
x86_64 randconfig-001-20240524 gcc
x86_64 randconfig-002-20240524 clang
x86_64 randconfig-003-20240524 clang
x86_64 randconfig-004-20240524 clang
x86_64 randconfig-005-20240524 clang
x86_64 randconfig-006-20240524 gcc
x86_64 randconfig-011-20240524 gcc
x86_64 rhel-8.3-rust clang
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6 7548/9759] drivers/usb/host/xhci.h:2306:17: warning: null destination pointer
by kernel test robot 24 May '24
by kernel test robot 24 May '24
24 May '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: c564f68dbcd17a532bedbcd78ee4a0b3a2853a84
commit: 1119ec49ac4ac643e6d7c9a5a834040aef87612e [7548/9759] mm, fs: Add BPF_READAHEAD build option for bpf readhead
config: arm64-randconfig-003-20240524 (https://download.01.org/0day-ci/archive/20240524/202405240401.vDimp7ud-lkp@…)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240524/202405240401.vDimp7ud-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/202405240401.vDimp7ud-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/usb/host/xhci-trace.h:25,
from drivers/usb/host/xhci-trace.c:12:
In function 'xhci_decode_trb',
inlined from 'trace_raw_output_xhci_log_trb' at drivers/usb/host/./xhci-trace.h:110:1:
>> drivers/usb/host/xhci.h:2306:17: warning: null destination pointer [-Wformat-truncation=]
2306 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2307 | "TRB %08x%08x status '%s' len %d slot %d ep %d type '%s' flags %c:%c",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2308 | field1, field0,
| ~~~~~~~~~~~~~~~
2309 | xhci_trb_comp_code_string(GET_COMP_CODE(field2)),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2310 | EVENT_TRB_LEN(field2), TRB_TO_SLOT_ID(field3),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2311 | /* Macro decrements 1, maybe it shouldn't?!? */
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2312 | TRB_TO_EP_INDEX(field3) + 1,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2313 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2314 | field3 & EVENT_DATA ? 'E' : 'e',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2315 | field3 & TRB_CYCLE ? 'C' : 'c');
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.h:2486:17: warning: null destination pointer [-Wformat-truncation=]
2486 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2487 | "%s: info %08x%08x%08x pkt type %d roothub port %d flags %c",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2488 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2489 | field2, field1, field0 & 0xffffffe0,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2490 | TRB_TO_PACKET_TYPE(field0),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2491 | TRB_TO_ROOTHUB_PORT(field3),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2492 | field3 & TRB_CYCLE ? 'C' : 'c');
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.h:2477:17: warning: null destination pointer [-Wformat-truncation=]
2477 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2478 | "%s: ctx %08x%08x slot %d speed %d flags %c",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2479 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2480 | field1, field0,
| ~~~~~~~~~~~~~~~
2481 | TRB_TO_SLOT_ID(field3),
| ~~~~~~~~~~~~~~~~~~~~~~~
2482 | TRB_TO_DEV_SPEED(field3),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
2483 | field3 & TRB_CYCLE ? 'C' : 'c');
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.h:2470:17: warning: null destination pointer [-Wformat-truncation=]
2470 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2471 | "%s: belt %d flags %c",
| ~~~~~~~~~~~~~~~~~~~~~~~
2472 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2473 | TRB_TO_BELT(field3),
| ~~~~~~~~~~~~~~~~~~~~
2474 | field3 & TRB_CYCLE ? 'C' : 'c');
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.h:2461:17: warning: null destination pointer [-Wformat-truncation=]
2461 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2462 | "%s: event %08x%08x vf intr %d vf id %d flags %c",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2463 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2464 | field1, field0,
| ~~~~~~~~~~~~~~~
2465 | TRB_TO_VF_INTR_TARGET(field2),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2466 | TRB_TO_VF_ID(field3),
| ~~~~~~~~~~~~~~~~~~~~~
2467 | field3 & TRB_CYCLE ? 'C' : 'c');
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.h:2454:17: warning: null destination pointer [-Wformat-truncation=]
2454 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2455 | "%s: slot %d flags %c",
| ~~~~~~~~~~~~~~~~~~~~~~~
2456 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2457 | TRB_TO_SLOT_ID(field3),
| ~~~~~~~~~~~~~~~~~~~~~~~
2458 | field3 & TRB_CYCLE ? 'C' : 'c');
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.h:2443:17: warning: null destination pointer [-Wformat-truncation=]
2443 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2444 | "%s: deq %08x%08x stream %d slot %d ep %d flags %c",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2445 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2446 | field1, field0,
| ~~~~~~~~~~~~~~~
2447 | TRB_TO_STREAM_ID(field2),
| ~~~~~~~~~~~~~~~~~~~~~~~~~
2448 | TRB_TO_SLOT_ID(field3),
| ~~~~~~~~~~~~~~~~~~~~~~~
--
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2359 | field3 & TRB_CYCLE ? 'C' : 'c');
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.h:2337:17: warning: null destination pointer [-Wformat-truncation=]
2337 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2338 | "Buffer %08x%08x length %d TD size %d intr %d type '%s' flags %c:%c:%c:%c:%c:%c:%c",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2339 | field1, field0, TRB_LEN(field2), GET_TD_SIZE(field2),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2340 | GET_INTR_TARGET(field2),
| ~~~~~~~~~~~~~~~~~~~~~~~~
2341 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2342 | field3 & TRB_IDT ? 'I' : 'i',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2343 | field3 & TRB_IOC ? 'I' : 'i',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2344 | field3 & TRB_CHAIN ? 'C' : 'c',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2345 | field3 & TRB_NO_SNOOP ? 'S' : 's',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2346 | field3 & TRB_ISP ? 'I' : 'i',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2347 | field3 & TRB_ENT ? 'E' : 'e',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2348 | field3 & TRB_CYCLE ? 'C' : 'c');
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.h:2319:17: warning: null destination pointer [-Wformat-truncation=]
2319 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2320 | "bRequestType %02x bRequest %02x wValue %02x%02x wIndex %02x%02x wLength %d length %d TD size %d intr %d type '%s' flags %c:%c:%c",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2321 | field0 & 0xff,
| ~~~~~~~~~~~~~~
2322 | (field0 & 0xff00) >> 8,
| ~~~~~~~~~~~~~~~~~~~~~~~
2323 | (field0 & 0xff000000) >> 24,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2324 | (field0 & 0xff0000) >> 16,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
2325 | (field1 & 0xff00) >> 8,
| ~~~~~~~~~~~~~~~~~~~~~~~
2326 | field1 & 0xff,
| ~~~~~~~~~~~~~~
2327 | (field1 & 0xff000000) >> 16 |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2328 | (field1 & 0xff0000) >> 16,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
2329 | TRB_LEN(field2), GET_TD_SIZE(field2),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2330 | GET_INTR_TARGET(field2),
| ~~~~~~~~~~~~~~~~~~~~~~~~
2331 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2332 | field3 & TRB_IDT ? 'I' : 'i',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2333 | field3 & TRB_IOC ? 'I' : 'i',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2334 | field3 & TRB_CYCLE ? 'C' : 'c');
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.h:2365:17: warning: null destination pointer [-Wformat-truncation=]
2365 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2366 | "Buffer %08x%08x length %d TD size %d intr %d type '%s' flags %c:%c:%c:%c:%c:%c:%c:%c",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2367 | field1, field0, TRB_LEN(field2), GET_TD_SIZE(field2),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2368 | GET_INTR_TARGET(field2),
| ~~~~~~~~~~~~~~~~~~~~~~~~
2369 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2370 | field3 & TRB_BEI ? 'B' : 'b',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2371 | field3 & TRB_IDT ? 'I' : 'i',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2372 | field3 & TRB_IOC ? 'I' : 'i',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2373 | field3 & TRB_CHAIN ? 'C' : 'c',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2374 | field3 & TRB_NO_SNOOP ? 'S' : 's',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2375 | field3 & TRB_ISP ? 'I' : 'i',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2376 | field3 & TRB_ENT ? 'E' : 'e',
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2377 | field3 & TRB_CYCLE ? 'C' : 'c');
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/xhci.h:2495:17: warning: null destination pointer [-Wformat-truncation=]
2495 | snprintf(str, size,
| ^~~~~~~~~~~~~~~~~~~
2496 | "type '%s' -> raw %08x %08x %08x %08x",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2497 | xhci_trb_type_string(type),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
2498 | field0, field1, field2, field3);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:102,
from drivers/usb/host/xhci-trace.h:622:
drivers/usb/host/./xhci-trace.h: In function 'trace_raw_output_xhci_log_trb':
>> drivers/usb/host/./xhci-trace.h:127:19: warning: '%s' directive argument is null [-Wformat-overflow=]
127 | TP_printk("%s: %s", xhci_ring_type_string(__entry->type),
| ^~~~~~~~
include/trace/trace_events.h:203:34: note: in definition of macro 'DECLARE_EVENT_CLASS'
203 | trace_event_printf(iter, print); \
| ^~~~~
drivers/usb/host/./xhci-trace.h:127:9: note: in expansion of macro 'TP_printk'
127 | TP_printk("%s: %s", xhci_ring_type_string(__entry->type),
| ^~~~~~~~~
In file included from include/trace/trace_events.h:237:
drivers/usb/host/./xhci-trace.h:127:24: note: format string is defined here
127 | TP_printk("%s: %s", xhci_ring_type_string(__entry->type),
| ^~
In function 'xhci_decode_ep_context',
inlined from 'trace_raw_output_xhci_log_ep_ctx' at drivers/usb/host/./xhci-trace.h:312:1:
>> drivers/usb/host/xhci.h:2801:15: warning: argument 1 null where non-null expected [-Wnonnull]
2801 | ret = sprintf(str, "State %s mult %d max P. Streams %d %s",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2802 | xhci_ep_state_string(ep_state), mult,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2803 | max_pstr, lsa ? "LSA " : "");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kernel.h:32,
from include/linux/cpumask.h:10,
from include/linux/smp.h:13,
from include/linux/tracepoint.h:15,
from drivers/usb/host/xhci-trace.h:24:
include/linux/sprintf.h: In function 'trace_raw_output_xhci_log_ep_ctx':
include/linux/sprintf.h:10:20: note: in a call to function 'sprintf' declared 'nonnull'
10 | __printf(2, 3) int sprintf(char *buf, const char * fmt, ...);
| ^~~~~~~
In function 'xhci_decode_ep_context',
inlined from 'trace_raw_output_xhci_log_ep_ctx' at drivers/usb/host/./xhci-trace.h:312:1:
drivers/usb/host/xhci.h:2801:15: warning: null destination pointer [-Wformat-overflow=]
2801 | ret = sprintf(str, "State %s mult %d max P. Streams %d %s",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2802 | xhci_ep_state_string(ep_state), mult,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2803 | max_pstr, lsa ? "LSA " : "");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/host/./xhci-trace.h: In function 'trace_raw_output_xhci_log_ep_ctx':
drivers/usb/host/./xhci-trace.h:327:19: warning: '%s' directive argument is null [-Wformat-overflow=]
327 | TP_printk("%s", xhci_decode_ep_context(__get_buf(XHCI_MSG_MAX),
| ^~~~
include/trace/trace_events.h:203:34: note: in definition of macro 'DECLARE_EVENT_CLASS'
203 | trace_event_printf(iter, print); \
| ^~~~~
drivers/usb/host/./xhci-trace.h:327:9: note: in expansion of macro 'TP_printk'
327 | TP_printk("%s", xhci_decode_ep_context(__get_buf(XHCI_MSG_MAX),
| ^~~~~~~~~
drivers/usb/host/./xhci-trace.h:327:20: note: format string is defined here
327 | TP_printk("%s", xhci_decode_ep_context(__get_buf(XHCI_MSG_MAX),
| ^~
In function 'xhci_decode_slot_context',
inlined from 'trace_raw_output_xhci_log_slot_ctx' at drivers/usb/host/./xhci-trace.h:357:1:
drivers/usb/host/xhci.h:2546:15: warning: argument 1 null where non-null expected [-Wnonnull]
2546 | ret = sprintf(str, "RS %05x %s%s%s Ctx Entries %d MEL %d us Port# %d/%d",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2547 | info & ROUTE_STRING_MASK,
| ~~~~~~~~~~~~~~~~~~~~~~~~~
2548 | ({ char *s;
| ~~~~~~~~~~~
2549 | switch (speed) {
| ~~~~~~~~~~~~~~~~
2550 | case SLOT_SPEED_FS:
| ~~~~~~~~~~~~~~~~~~~
2551 | s = "full-speed";
| ~~~~~~~~~~~~~~~~~
2552 | break;
| ~~~~~~
2553 | case SLOT_SPEED_LS:
| ~~~~~~~~~~~~~~~~~~~
2554 | s = "low-speed";
| ~~~~~~~~~~~~~~~~
2555 | break;
| ~~~~~~
2556 | case SLOT_SPEED_HS:
| ~~~~~~~~~~~~~~~~~~~
2557 | s = "high-speed";
| ~~~~~~~~~~~~~~~~~
2558 | break;
| ~~~~~~
2559 | case SLOT_SPEED_SS:
| ~~~~~~~~~~~~~~~~~~~
2560 | s = "super-speed";
| ~~~~~~~~~~~~~~~~~~
2561 | break;
| ~~~~~~
2562 | case SLOT_SPEED_SSP:
| ~~~~~~~~~~~~~~~~~~~~
2563 | s = "super-speed plus";
| ~~~~~~~~~~~~~~~~~~~~~~~
2564 | break;
| ~~~~~~
2565 | default:
| ~~~~~~~~
2566 | s = "UNKNOWN speed";
| ~~~~~~~~~~~~~~~~~~~~
2567 | } s; }),
| ~~~~~~~~
2568 | mtt ? " multi-TT" : "",
| ~~~~~~~~~~~~~~~~~~~~~~~
2569 | hub ? " Hub" : "",
| ~~~~~~~~~~~~~~~~~~
2570 | (info & LAST_CTX_MASK) >> 27,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2571 | info2 & MAX_EXIT,
| ~~~~~~~~~~~~~~~~~
2572 | DEVINFO_TO_ROOT_HUB_PORT(info2),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2573 | DEVINFO_TO_MAX_PORTS(info2));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/sprintf.h: In function 'trace_raw_output_xhci_log_slot_ctx':
include/linux/sprintf.h:10:20: note: in a call to function 'sprintf' declared 'nonnull'
10 | __printf(2, 3) int sprintf(char *buf, const char * fmt, ...);
| ^~~~~~~
vim +2306 drivers/usb/host/xhci.h
52407729fbeabb Felipe Balbi 2017-04-07 2281
cbf286e8ef8337 Mathias Nyman 2021-08-20 2282 static inline const char *xhci_decode_trb(char *str, size_t size,
cbf286e8ef8337 Mathias Nyman 2021-08-20 2283 u32 field0, u32 field1, u32 field2, u32 field3)
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2284 {
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2285 int type = TRB_FIELD_TO_TYPE(field3);
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2286
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2287 switch (type) {
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2288 case TRB_LINK:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2289 snprintf(str, size,
96d9a6eb97d77d Lu Baolu 2017-04-07 2290 "LINK %08x%08x intr %d type '%s' flags %c:%c:%c:%c",
96d9a6eb97d77d Lu Baolu 2017-04-07 2291 field1, field0, GET_INTR_TARGET(field2),
d2561626b9d126 Lu Baolu 2017-04-07 2292 xhci_trb_type_string(type),
96d9a6eb97d77d Lu Baolu 2017-04-07 2293 field3 & TRB_IOC ? 'I' : 'i',
96d9a6eb97d77d Lu Baolu 2017-04-07 2294 field3 & TRB_CHAIN ? 'C' : 'c',
96d9a6eb97d77d Lu Baolu 2017-04-07 2295 field3 & TRB_TC ? 'T' : 't',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2296 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2297 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2298 case TRB_TRANSFER:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2299 case TRB_COMPLETION:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2300 case TRB_PORT_STATUS:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2301 case TRB_BANDWIDTH_EVENT:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2302 case TRB_DOORBELL:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2303 case TRB_HC_EVENT:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2304 case TRB_DEV_NOTE:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2305 case TRB_MFINDEX_WRAP:
cbf286e8ef8337 Mathias Nyman 2021-08-20 @2306 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2307 "TRB %08x%08x status '%s' len %d slot %d ep %d type '%s' flags %c:%c",
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2308 field1, field0,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2309 xhci_trb_comp_code_string(GET_COMP_CODE(field2)),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2310 EVENT_TRB_LEN(field2), TRB_TO_SLOT_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2311 /* Macro decrements 1, maybe it shouldn't?!? */
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2312 TRB_TO_EP_INDEX(field3) + 1,
d2561626b9d126 Lu Baolu 2017-04-07 2313 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2314 field3 & EVENT_DATA ? 'E' : 'e',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2315 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2316
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2317 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2318 case TRB_SETUP:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2319 snprintf(str, size,
cbf286e8ef8337 Mathias Nyman 2021-08-20 2320 "bRequestType %02x bRequest %02x wValue %02x%02x wIndex %02x%02x wLength %d length %d TD size %d intr %d type '%s' flags %c:%c:%c",
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2321 field0 & 0xff,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2322 (field0 & 0xff00) >> 8,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2323 (field0 & 0xff000000) >> 24,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2324 (field0 & 0xff0000) >> 16,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2325 (field1 & 0xff00) >> 8,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2326 field1 & 0xff,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2327 (field1 & 0xff000000) >> 16 |
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2328 (field1 & 0xff0000) >> 16,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2329 TRB_LEN(field2), GET_TD_SIZE(field2),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2330 GET_INTR_TARGET(field2),
d2561626b9d126 Lu Baolu 2017-04-07 2331 xhci_trb_type_string(type),
5d062aba0d399c Felipe Balbi 2017-04-07 2332 field3 & TRB_IDT ? 'I' : 'i',
5d062aba0d399c Felipe Balbi 2017-04-07 2333 field3 & TRB_IOC ? 'I' : 'i',
5d062aba0d399c Felipe Balbi 2017-04-07 2334 field3 & TRB_CYCLE ? 'C' : 'c');
5d062aba0d399c Felipe Balbi 2017-04-07 2335 break;
5d062aba0d399c Felipe Balbi 2017-04-07 2336 case TRB_DATA:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2337 snprintf(str, size,
cbf286e8ef8337 Mathias Nyman 2021-08-20 2338 "Buffer %08x%08x length %d TD size %d intr %d type '%s' flags %c:%c:%c:%c:%c:%c:%c",
5d062aba0d399c Felipe Balbi 2017-04-07 2339 field1, field0, TRB_LEN(field2), GET_TD_SIZE(field2),
5d062aba0d399c Felipe Balbi 2017-04-07 2340 GET_INTR_TARGET(field2),
d2561626b9d126 Lu Baolu 2017-04-07 2341 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2342 field3 & TRB_IDT ? 'I' : 'i',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2343 field3 & TRB_IOC ? 'I' : 'i',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2344 field3 & TRB_CHAIN ? 'C' : 'c',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2345 field3 & TRB_NO_SNOOP ? 'S' : 's',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2346 field3 & TRB_ISP ? 'I' : 'i',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2347 field3 & TRB_ENT ? 'E' : 'e',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2348 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2349 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2350 case TRB_STATUS:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2351 snprintf(str, size,
cbf286e8ef8337 Mathias Nyman 2021-08-20 2352 "Buffer %08x%08x length %d TD size %d intr %d type '%s' flags %c:%c:%c:%c",
5d062aba0d399c Felipe Balbi 2017-04-07 2353 field1, field0, TRB_LEN(field2), GET_TD_SIZE(field2),
5d062aba0d399c Felipe Balbi 2017-04-07 2354 GET_INTR_TARGET(field2),
d2561626b9d126 Lu Baolu 2017-04-07 2355 xhci_trb_type_string(type),
5d062aba0d399c Felipe Balbi 2017-04-07 2356 field3 & TRB_IOC ? 'I' : 'i',
5d062aba0d399c Felipe Balbi 2017-04-07 2357 field3 & TRB_CHAIN ? 'C' : 'c',
5d062aba0d399c Felipe Balbi 2017-04-07 2358 field3 & TRB_ENT ? 'E' : 'e',
5d062aba0d399c Felipe Balbi 2017-04-07 2359 field3 & TRB_CYCLE ? 'C' : 'c');
5d062aba0d399c Felipe Balbi 2017-04-07 2360 break;
5d062aba0d399c Felipe Balbi 2017-04-07 2361 case TRB_NORMAL:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2362 case TRB_ISOC:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2363 case TRB_EVENT_DATA:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2364 case TRB_TR_NOOP:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2365 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2366 "Buffer %08x%08x length %d TD size %d intr %d type '%s' flags %c:%c:%c:%c:%c:%c:%c:%c",
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2367 field1, field0, TRB_LEN(field2), GET_TD_SIZE(field2),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2368 GET_INTR_TARGET(field2),
d2561626b9d126 Lu Baolu 2017-04-07 2369 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2370 field3 & TRB_BEI ? 'B' : 'b',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2371 field3 & TRB_IDT ? 'I' : 'i',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2372 field3 & TRB_IOC ? 'I' : 'i',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2373 field3 & TRB_CHAIN ? 'C' : 'c',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2374 field3 & TRB_NO_SNOOP ? 'S' : 's',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2375 field3 & TRB_ISP ? 'I' : 'i',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2376 field3 & TRB_ENT ? 'E' : 'e',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2377 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2378 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2379
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2380 case TRB_CMD_NOOP:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2381 case TRB_ENABLE_SLOT:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2382 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2383 "%s: flags %c",
d2561626b9d126 Lu Baolu 2017-04-07 2384 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2385 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2386 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2387 case TRB_DISABLE_SLOT:
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2388 case TRB_NEG_BANDWIDTH:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2389 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2390 "%s: slot %d flags %c",
d2561626b9d126 Lu Baolu 2017-04-07 2391 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2392 TRB_TO_SLOT_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2393 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2394 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2395 case TRB_ADDR_DEV:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2396 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2397 "%s: ctx %08x%08x slot %d flags %c:%c",
d2561626b9d126 Lu Baolu 2017-04-07 2398 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2399 field1, field0,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2400 TRB_TO_SLOT_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2401 field3 & TRB_BSR ? 'B' : 'b',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2402 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2403 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2404 case TRB_CONFIG_EP:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2405 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2406 "%s: ctx %08x%08x slot %d flags %c:%c",
d2561626b9d126 Lu Baolu 2017-04-07 2407 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2408 field1, field0,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2409 TRB_TO_SLOT_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2410 field3 & TRB_DC ? 'D' : 'd',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2411 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2412 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2413 case TRB_EVAL_CONTEXT:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2414 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2415 "%s: ctx %08x%08x slot %d flags %c",
d2561626b9d126 Lu Baolu 2017-04-07 2416 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2417 field1, field0,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2418 TRB_TO_SLOT_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2419 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2420 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2421 case TRB_RESET_EP:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2422 snprintf(str, size,
8a62dff2c0734a Mathias Nyman 2019-08-30 2423 "%s: ctx %08x%08x slot %d ep %d flags %c:%c",
d2561626b9d126 Lu Baolu 2017-04-07 2424 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2425 field1, field0,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2426 TRB_TO_SLOT_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2427 /* Macro decrements 1, maybe it shouldn't?!? */
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2428 TRB_TO_EP_INDEX(field3) + 1,
8a62dff2c0734a Mathias Nyman 2019-08-30 2429 field3 & TRB_TSP ? 'T' : 't',
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2430 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2431 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2432 case TRB_STOP_RING:
1ce69c35b86038 Sergey Shtylyov 2022-06-30 2433 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2434 "%s: slot %d sp %d ep %d flags %c",
d2561626b9d126 Lu Baolu 2017-04-07 2435 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2436 TRB_TO_SLOT_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2437 TRB_TO_SUSPEND_PORT(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2438 /* Macro decrements 1, maybe it shouldn't?!? */
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2439 TRB_TO_EP_INDEX(field3) + 1,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2440 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2441 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2442 case TRB_SET_DEQ:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2443 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2444 "%s: deq %08x%08x stream %d slot %d ep %d flags %c",
d2561626b9d126 Lu Baolu 2017-04-07 2445 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2446 field1, field0,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2447 TRB_TO_STREAM_ID(field2),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2448 TRB_TO_SLOT_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2449 /* Macro decrements 1, maybe it shouldn't?!? */
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2450 TRB_TO_EP_INDEX(field3) + 1,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2451 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2452 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2453 case TRB_RESET_DEV:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2454 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2455 "%s: slot %d flags %c",
d2561626b9d126 Lu Baolu 2017-04-07 2456 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2457 TRB_TO_SLOT_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2458 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2459 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2460 case TRB_FORCE_EVENT:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2461 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2462 "%s: event %08x%08x vf intr %d vf id %d flags %c",
d2561626b9d126 Lu Baolu 2017-04-07 2463 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2464 field1, field0,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2465 TRB_TO_VF_INTR_TARGET(field2),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2466 TRB_TO_VF_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2467 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2468 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2469 case TRB_SET_LT:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2470 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2471 "%s: belt %d flags %c",
d2561626b9d126 Lu Baolu 2017-04-07 2472 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2473 TRB_TO_BELT(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2474 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2475 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2476 case TRB_GET_BW:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2477 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2478 "%s: ctx %08x%08x slot %d speed %d flags %c",
d2561626b9d126 Lu Baolu 2017-04-07 2479 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2480 field1, field0,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2481 TRB_TO_SLOT_ID(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2482 TRB_TO_DEV_SPEED(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2483 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2484 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2485 case TRB_FORCE_HEADER:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2486 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2487 "%s: info %08x%08x%08x pkt type %d roothub port %d flags %c",
d2561626b9d126 Lu Baolu 2017-04-07 2488 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2489 field2, field1, field0 & 0xffffffe0,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2490 TRB_TO_PACKET_TYPE(field0),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2491 TRB_TO_ROOTHUB_PORT(field3),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2492 field3 & TRB_CYCLE ? 'C' : 'c');
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2493 break;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2494 default:
cbf286e8ef8337 Mathias Nyman 2021-08-20 2495 snprintf(str, size,
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2496 "type '%s' -> raw %08x %08x %08x %08x",
d2561626b9d126 Lu Baolu 2017-04-07 2497 xhci_trb_type_string(type),
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2498 field0, field1, field2, field3);
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2499 }
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2500
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2501 return str;
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2502 }
a37c3f76e6a6b5 Felipe Balbi 2017-01-23 2503
:::::: The code at line 2306 was first introduced by commit
:::::: cbf286e8ef8337308c259ff5b9ce2e74d403be5a xhci: fix unsafe memory usage in xhci tracing
:::::: TO: Mathias Nyman <mathias.nyman(a)linux.intel.com>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
[openeuler:OLK-6.6] BUILD REGRESSION c564f68dbcd17a532bedbcd78ee4a0b3a2853a84
by kernel test robot 24 May '24
by kernel test robot 24 May '24
24 May '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: c564f68dbcd17a532bedbcd78ee4a0b3a2853a84 !7730 v2 sched: QOS_SCHED_DYNAMIC_AFFINITY depend on FAIR_CGROUP_SCHED
Error/Warning ids grouped by kconfigs:
gcc_recent_errors
|-- arm64-defconfig
| |-- arch-arm64-kernel-cpufeature.c:warning:enable_pseudo_nmi-defined-but-not-used
| `-- arch-arm64-kvm-vgic-vgic-mmio.c:warning:variable-is_pending-set-but-not-used
|-- arm64-randconfig-004-20240524
| `-- arch-arm64-kernel-cpufeature.c:warning:enable_pseudo_nmi-defined-but-not-used
|-- loongarch-allnoconfig
| `-- drivers-irqchip-irq-loongson-eiointc.c:error:NODES_PER_FLATMODE_NODE-undeclared-(first-use-in-this-function)
`-- loongarch-randconfig-001-20240524
`-- drivers-irqchip-irq-loongson-eiointc.c:error:NODES_PER_FLATMODE_NODE-undeclared-(first-use-in-this-function)
clang_recent_errors
`-- arm64-allmodconfig
|-- arch-arm64-kvm-vgic-vgic-mmio.c:warning:variable-is_pending-set-but-not-used
|-- drivers-infiniband-hw-hiroce3-host-hmm-hmm_umem.c:warning:Excess-function-parameter-context-description-in-hmm_umem_get
|-- drivers-infiniband-hw-hiroce3-host-hmm-hmm_umem.c:warning:Function-parameter-or-member-device-not-described-in-hmm_umem_get
|-- drivers-net-ethernet-bzwx-nce-comm-txrx.c:warning:no-previous-prototype-for-function-ne6x_alloc_rx_buffers
|-- drivers-net-ethernet-bzwx-nce-comm-txrx.c:warning:no-previous-prototype-for-function-ne6x_fill_jumbo_sgl
|-- drivers-net-ethernet-bzwx-nce-comm-txrx.c:warning:no-previous-prototype-for-function-ne6x_fill_tx_desc
|-- drivers-net-ethernet-bzwx-nce-comm-txrx.c:warning:no-previous-prototype-for-function-ne6x_fill_tx_priv_tag
|-- drivers-net-ethernet-bzwx-nce-comm-txrx.c:warning:no-previous-prototype-for-function-ne6x_unmap_and_free_tx_resource
|-- drivers-net-ethernet-bzwx-nce-comm-txrx.c:warning:no-previous-prototype-for-function-ne6x_xmit_jumbo
|-- drivers-net-ethernet-bzwx-nce-comm-txrx.c:warning:no-previous-prototype-for-function-ne6x_xmit_simple
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_arfs.c:warning:no-previous-prototype-for-function-ne6x_arfs_add_flow_rules
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_arfs.c:warning:no-previous-prototype-for-function-ne6x_arfs_del_flow_rules
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_arfs.c:warning:no-previous-prototype-for-function-ne6x_dev_add_fster_rules
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_arfs.c:warning:no-previous-prototype-for-function-ne6x_dev_del_fster_rules
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_arfs.c:warning:no-previous-prototype-for-function-ne6x_get_irq_num
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-getparam
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-my_atoi
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-my_isdigit
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-my_strtok
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_apb_read
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_apb_write
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_clean_queue
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_clr_table
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_erase_norflash
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_get_fru_info
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_get_mac
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_mem_read
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_mem_write
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_meter_write
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_read_norflash
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_set_dev_type_to_eeprom
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_set_hw_flag_eeprom
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_set_mac_to_eeprom
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_arfs_cnt
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_cq
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_cqdesc_states
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_cqring
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_pcie_drop_counter
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_queue
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_ring
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_rxdesc_states
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_rxq
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_rxring
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_txdesc_states
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_txq
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_txring
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_show_txtail
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_soc_read
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_soc_write
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_tab_delete
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_tab_insert
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_tab_read
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_tab_search
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_tab_write
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_templ_help
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_templ_read
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_templ_write
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_update_adpt_speed
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_debugfs.c:warning:no-previous-prototype-for-function-ne6x_dbg_write_norflash
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_dev.c:warning:no-previous-prototype-for-function-ext_toeplitz_key
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_dev.c:warning:no-previous-prototype-for-function-ne6x_dev_crc32_init
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_dev.c:warning:no-previous-prototype-for-function-ne6x_dev_get_eeprom
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_dev.c:warning:no-previous-prototype-for-function-ne6x_dev_get_speed
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_dev.c:warning:no-previous-prototype-for-function-ne6x_dev_proto_recv
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_dev.c:warning:no-previous-prototype-for-function-ne6x_dev_proto_send
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_dev.c:warning:no-previous-prototype-for-function-ne6x_dev_set_mac_inloop
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_dev.c:warning:no-previous-prototype-for-function-ne6x_dev_spd_verify
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_dev.c:warning:no-previous-prototype-for-function-ne6x_dev_transform_vf_stat_format
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_dev.c:warning:no-previous-prototype-for-function-ne6x_dev_update_status
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_interrupt.c:warning:no-previous-prototype-for-function-ne6x_adpt_request_irq_intx
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_interrupt.c:warning:no-previous-prototype-for-function-ne6x_adpt_request_irq_msix
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_interrupt.c:warning:no-previous-prototype-for-function-ne6x_msix_clean_vf_mbx
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_adjust_adpt_port_max_queue
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_adpt_release
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_aq_get_phy_capabilities
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_aq_get_vf_link_status
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_clean_rx_ring
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_clean_tx_ring
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_exit_module
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_free_cq_resources
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_free_rx_resources
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_free_tx_resources
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_hw_init
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_init_module
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_link_speed_to_rate
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_pf_init
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_print_link_message
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:no-previous-prototype-for-function-ne6x_set_vf_port_vlan
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_main.c:warning:variable-tx_linearize-set-but-not-used
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_procfs.c:warning:no-previous-prototype-for-function-ne6x_proc_i2c_read
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-_ne6x_reg_perform
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-_reg_apb_read
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-_reg_apb_write
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_axi_read
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_axi_write
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_get_user_data_template
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_lock
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_mem_read
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_mem_write
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_perform
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_polling
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_send
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_set_user_data_template
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_table_update
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_reg.c:warning:no-previous-prototype-for-function-ne6x_reg_unlock
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_adpt_close_vf
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_adpt_release_vf
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_adpt_setup_vf
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_clear_vf_status
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_conv_link_speed_to_virtchnl
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_free_vfs
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_is_reset_in_progress
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_mbx_deinit_snapshot
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_mbx_init_snapshot
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_reset_vf
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_sdk_send_msg_to_vf
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_send_init_mbx_mesg
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_set_vf_bw_for_max_vpnum
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_set_vf_state_qs_dis
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_status_to_errno
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_vc_notify_vf_link_state
|-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x_virtchnl_pf.c:warning:no-previous-prototype-for-function-ne6x_vc_set_default_allowlist
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_debugfs.c:warning:no-previous-prototype-for-function-ne6xvf_showqueue
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_debugfs.c:warning:no-previous-prototype-for-function-ne6xvf_showring
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_ethtool.c:warning:unannotated-fall-through-between-switch-labels
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-nce_get_vsi_stats_struct
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_add_vlan_list
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_asq_done
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_configure_queues
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_del_vlan_list
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_down
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_init_interrupt_scheme
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_init_sdk_mbx
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_irq_enable_queues
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_is_remove_in_progress
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_pdev_to_adapter
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_process_config
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_promiscuous_mode_changed
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_main.c:warning:no-previous-prototype-for-function-ne6xvf_replace_primary_mac
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_virtchnl.c:warning:no-previous-prototype-for-function-ne6xvf_sdk_send_msg_to_pf
|-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf_virtchnl.c:warning:no-previous-prototype-for-function-ne6xvf_vf_parse_hw_config
|-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_bitmap_table.c:error:a-randomized-struct-can-only-be-initialized-with-a-designated-initializer
|-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_cmd.c:warning:Function-parameter-or-member-cmd-not-described-in-cqm_lb_send_cmd_box
|-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_cmd.c:warning:Function-parameter-or-member-cmd-not-described-in-cqm_lb_send_cmd_box_async
|-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_cmd.c:warning:Function-parameter-or-member-cmd-not-described-in-cqm_send_cmd_box
`-- drivers-net-ethernet-huawei-hinic3-cqm-cqm_object.c:warning:Function-parameter-or-member-low2bit_align_en-not-described-in-cqm_object_qpc_mpt_create
elapsed time: 722m
configs tested: 16
configs skipped: 126
tested configs:
arm64 allmodconfig clang
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240524 clang
arm64 randconfig-002-20240524 clang
arm64 randconfig-003-20240524 gcc
arm64 randconfig-004-20240524 gcc
loongarch allmodconfig gcc
loongarch allnoconfig gcc
loongarch defconfig gcc
loongarch randconfig-001-20240524 gcc
loongarch randconfig-002-20240524 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 defconfig gcc
x86_64 rhel-8.3-rust clang
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Backport 5.19-rc5 patch to fix kernel panic caused by netperf/iperf3 test.
huangjie.albert (1):
virtio_ring : keep used_wrap_counter in vq->last_used_idx
drivers/virtio/virtio_ring.c | 76 +++++++++++++++++++++++-------------
1 file changed, 48 insertions(+), 28 deletions(-)
--
2.20.1
2
2
23 May '24
hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I8XMTL
CVE: NA
------------------------------------------------------------------
This reverts commit 2eb3daf61b18d620b0624e31ad44ac1c76d94075.
To keep CONFIG unchanged, modify ACPI_HOTPLUG_PRESENT_CPU to
ACPI_HOTPLUG_CPU.
Conflicts:
arch/x86/Kconfig
drivers/acpi/acpi_processor.c
include/linux/acpi.h
Signed-off-by: liwei <liwei728(a)huawei.com>
---
arch/loongarch/Kconfig | 2 +-
arch/loongarch/kernel/acpi.c | 4 ++--
arch/x86/Kconfig | 2 +-
arch/x86/configs/openeuler_defconfig | 2 +-
arch/x86/kernel/acpi/boot.c | 4 ++--
drivers/acpi/Kconfig | 6 +++---
drivers/acpi/acpi_processor.c | 4 ++--
drivers/acpi/bus.c | 2 +-
include/linux/acpi.h | 2 +-
9 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
index edbbf03d29d9..58da6e03ecb5 100644
--- a/arch/loongarch/Kconfig
+++ b/arch/loongarch/Kconfig
@@ -5,7 +5,7 @@ config LOONGARCH
select ACPI
select ACPI_GENERIC_GSI if ACPI
select ACPI_MCFG if ACPI
- select ACPI_HOTPLUG_PRESENT_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
+ select ACPI_HOTPLUG_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
select ACPI_PPTT if ACPI
select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
select ARCH_BINFMT_ELF_STATE
diff --git a/arch/loongarch/kernel/acpi.c b/arch/loongarch/kernel/acpi.c
index f453271e6add..58819b017ba8 100644
--- a/arch/loongarch/kernel/acpi.c
+++ b/arch/loongarch/kernel/acpi.c
@@ -291,7 +291,7 @@ void __init arch_reserve_mem_area(acpi_physical_address addr, size_t size)
memblock_reserve(addr, size);
}
-#ifdef CONFIG_ACPI_HOTPLUG_PRESENT_CPU
+#ifdef CONFIG_ACPI_HOTPLUG_CPU
#include <acpi/processor.h>
@@ -343,4 +343,4 @@ int acpi_unmap_cpu(int cpu)
}
EXPORT_SYMBOL(acpi_unmap_cpu);
-#endif /* CONFIG_ACPI_HOTPLUG_PRESENT_CPU */
+#endif /* CONFIG_ACPI_HOTPLUG_CPU */
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 6cfa82a633a6..0ac76a2637f8 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -60,7 +60,7 @@ config X86
#
select ACPI_LEGACY_TABLES_LOOKUP if ACPI
select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
- select ACPI_HOTPLUG_PRESENT_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
+ select ACPI_HOTPLUG_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
select ACPI_HOTPLUG_IGNORE_OSC if ACPI && HOTPLUG_CPU
select ARCH_32BIT_OFF_T if X86_32
select ARCH_CLOCKSOURCE_INIT
diff --git a/arch/x86/configs/openeuler_defconfig b/arch/x86/configs/openeuler_defconfig
index 80a66a8692dc..1c1fb626ae9e 100644
--- a/arch/x86/configs/openeuler_defconfig
+++ b/arch/x86/configs/openeuler_defconfig
@@ -609,7 +609,7 @@ CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_PRESENT_CPU=y
+CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_HOTPLUG_IGNORE_OSC=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=y
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 8202bd2d957d..c55c0ef47a18 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -817,7 +817,7 @@ static void __init acpi_set_irq_model_ioapic(void)
/*
* ACPI based hotplug support for CPU
*/
-#ifdef CONFIG_ACPI_HOTPLUG_PRESENT_CPU
+#ifdef CONFIG_ACPI_HOTPLUG_CPU
#include <acpi/processor.h>
static int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
@@ -866,7 +866,7 @@ int acpi_unmap_cpu(int cpu)
return (0);
}
EXPORT_SYMBOL(acpi_unmap_cpu);
-#endif /* CONFIG_ACPI_HOTPLUG_PRESENT_CPU */
+#endif /* CONFIG_ACPI_HOTPLUG_CPU */
int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base)
{
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index c49978b4b11f..c4746869d67b 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -305,14 +305,14 @@ config ACPI_IPMI
To compile this driver as a module, choose M here:
the module will be called as acpi_ipmi.
-config ACPI_HOTPLUG_PRESENT_CPU
+config ACPI_HOTPLUG_CPU
bool
depends on ACPI_PROCESSOR && HOTPLUG_CPU
select ACPI_CONTAINER
config ACPI_HOTPLUG_IGNORE_OSC
bool
- depends on ACPI_HOTPLUG_PRESENT_CPU
+ depends on ACPI_HOTPLUG_CPU
help
Ignore whether firmware acknowledged support for toggling the CPU
present bit in _STA. Some architectures predate the _OSC bits, so
@@ -408,7 +408,7 @@ config ACPI_PCI_SLOT
config ACPI_CONTAINER
bool "Container and Module Devices"
- default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_PRESENT_CPU)
+ default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU)
help
This driver supports ACPI Container and Module devices (IDs
ACPI0004, PNP0A05, and PNP0A06).
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 5bb207a7a1dd..0ff69af46a50 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -184,7 +184,7 @@ static void __init acpi_pcc_cpufreq_init(void) {}
static bool acpi_processor_hotplug_present_supported(void)
{
- if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU))
+ if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_CPU))
return false;
/* x86 systems pre-date the _OSC bit */
@@ -502,7 +502,7 @@ static void acpi_processor_make_not_present(struct acpi_device *device)
{
struct acpi_processor *pr;
- if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU)) {
+ if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_CPU)) {
pr_err_once("Changing CPU present bit is not supported");
return;
}
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index b42f17bfbb09..0d2e1de143ef 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -355,7 +355,7 @@ static void acpi_bus_osc_negotiate_platform_control(void)
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_APEI_SUPPORT;
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_ENABLED_SUPPORT;
- if (IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU))
+ if (IS_ENABLED(CONFIG_ACPI_HOTPLUG_CPU))
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_PRESENT_SUPPORT;
if (ACPI_FAILURE(acpi_get_handle(NULL, "\\_SB", &handle)))
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index a0e96f6e2de2..cc84f370620f 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -651,7 +651,7 @@ static inline u32 acpi_osc_ctx_get_cxl_control(struct acpi_osc_context *context)
#define ACPI_GSB_ACCESS_ATTRIB_RAW_PROCESS 0x0000000F
/* Enable _OST when all relevant hotplug operations are enabled */
-#if defined(CONFIG_ACPI_HOTPLUG_PRESENT_CPU) && \
+#if defined(CONFIG_ACPI_HOTPLUG_CPU) && \
defined(CONFIG_ACPI_HOTPLUG_MEMORY) && \
defined(CONFIG_ACPI_CONTAINER)
#define ACPI_HOTPLUG_OST
--
2.25.1
2
1
[PATCH openEuler-1.0-LTS] f2fs: fix to avoid racing on fsync_entry_slab by multi filesystem instances
by Ye Bin 23 May '24
by Ye Bin 23 May '24
23 May '24
From: Chao Yu <yuchao0(a)huawei.com>
mainline inclusion
from mainline-v5.14-rc1
commit cad83c968c2ebe97905f900326988ed37146c347
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9RLZ0
CVE: CVE-2021-47335
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
As syzbot reported, there is an use-after-free issue during f2fs recovery:
Use-after-free write at 0xffff88823bc16040 (in kfence-#10):
kmem_cache_destroy+0x1f/0x120 mm/slab_common.c:486
f2fs_recover_fsync_data+0x75b0/0x8380 fs/f2fs/recovery.c:869
f2fs_fill_super+0x9393/0xa420 fs/f2fs/super.c:3945
mount_bdev+0x26c/0x3a0 fs/super.c:1367
legacy_get_tree+0xea/0x180 fs/fs_context.c:592
vfs_get_tree+0x86/0x270 fs/super.c:1497
do_new_mount fs/namespace.c:2905 [inline]
path_mount+0x196f/0x2be0 fs/namespace.c:3235
do_mount fs/namespace.c:3248 [inline]
__do_sys_mount fs/namespace.c:3456 [inline]
__se_sys_mount+0x2f9/0x3b0 fs/namespace.c:3433
do_syscall_64+0x3f/0xb0 arch/x86/entry/common.c:47
entry_SYSCALL_64_after_hwframe+0x44/0xae
The root cause is multi f2fs filesystem instances can race on accessing
global fsync_entry_slab pointer, result in use-after-free issue of slab
cache, fixes to init/destroy this slab cache only once during module
init/destroy procedure to avoid this issue.
Reported-by: syzbot+9d90dad32dd9727ed084(a)syzkaller.appspotmail.com
Signed-off-by: Chao Yu <yuchao0(a)huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk(a)kernel.org>
Conflicts:
fs/f2fs/recovery.c
fs/f2fs/super.c
Signed-off-by: Ye Bin <yebin10(a)huawei.com>
---
fs/f2fs/f2fs.h | 2 ++
fs/f2fs/recovery.c | 23 ++++++++++++++---------
fs/f2fs/super.c | 8 +++++++-
3 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 8cbc9da523dc..5627e02493c7 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -3095,6 +3095,8 @@ void f2fs_build_gc_manager(struct f2fs_sb_info *sbi);
*/
int f2fs_recover_fsync_data(struct f2fs_sb_info *sbi, bool check_only);
bool f2fs_space_for_roll_forward(struct f2fs_sb_info *sbi);
+int __init f2fs_create_recovery_cache(void);
+void f2fs_destroy_recovery_cache(void);
/*
* debug.c
diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c
index 733f005b85d6..40afb6a213d8 100644
--- a/fs/f2fs/recovery.c
+++ b/fs/f2fs/recovery.c
@@ -683,13 +683,6 @@ int f2fs_recover_fsync_data(struct f2fs_sb_info *sbi, bool check_only)
quota_enabled = f2fs_enable_quota_files(sbi, s_flags & SB_RDONLY);
#endif
- fsync_entry_slab = f2fs_kmem_cache_create("f2fs_fsync_inode_entry",
- sizeof(struct fsync_inode_entry));
- if (!fsync_entry_slab) {
- err = -ENOMEM;
- goto out;
- }
-
INIT_LIST_HEAD(&inode_list);
INIT_LIST_HEAD(&tmp_inode_list);
INIT_LIST_HEAD(&dir_list);
@@ -747,8 +740,6 @@ int f2fs_recover_fsync_data(struct f2fs_sb_info *sbi, bool check_only)
}
}
- kmem_cache_destroy(fsync_entry_slab);
-out:
#ifdef CONFIG_QUOTA
/* Turn quotas off */
if (quota_enabled)
@@ -758,3 +749,17 @@ int f2fs_recover_fsync_data(struct f2fs_sb_info *sbi, bool check_only)
return ret ? ret: err;
}
+
+int __init f2fs_create_recovery_cache(void)
+{
+ fsync_entry_slab = f2fs_kmem_cache_create("f2fs_fsync_inode_entry",
+ sizeof(struct fsync_inode_entry));
+ if (!fsync_entry_slab)
+ return -ENOMEM;
+ return 0;
+}
+
+void f2fs_destroy_recovery_cache(void)
+{
+ kmem_cache_destroy(fsync_entry_slab);
+}
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 7a9cc64f5ca3..cb2579e987aa 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -3305,9 +3305,12 @@ static int __init init_f2fs_fs(void)
err = f2fs_create_checkpoint_caches();
if (err)
goto free_segment_manager_caches;
- err = f2fs_create_extent_cache();
+ err = f2fs_create_recovery_cache();
if (err)
goto free_checkpoint_caches;
+ err = f2fs_create_extent_cache();
+ if (err)
+ goto free_recovery_cache;
err = f2fs_init_sysfs();
if (err)
goto free_extent_cache;
@@ -3335,6 +3338,8 @@ static int __init init_f2fs_fs(void)
f2fs_exit_sysfs();
free_extent_cache:
f2fs_destroy_extent_cache();
+free_recovery_cache:
+ f2fs_destroy_recovery_cache();
free_checkpoint_caches:
f2fs_destroy_checkpoint_caches();
free_segment_manager_caches:
@@ -3355,6 +3360,7 @@ static void __exit exit_f2fs_fs(void)
unregister_shrinker(&f2fs_shrinker_info);
f2fs_exit_sysfs();
f2fs_destroy_extent_cache();
+ f2fs_destroy_recovery_cache();
f2fs_destroy_checkpoint_caches();
f2fs_destroy_segment_manager_caches();
f2fs_destroy_node_manager_caches();
--
2.31.1
2
1
23 May '24
hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I8XMTL
CVE: NA
------------------------------------------------------------------
This reverts commit 2eb3daf61b18d620b0624e31ad44ac1c76d94075.
To keep CONFIG unchanged, modify ACPI_HOTPLUG_PRESENT_CPU to
ACPI_HOTPLUG_CPU.
Signed-off-by: liwei <liwei728(a)huawei.com>
Conflicts:
arch/x86/Kconfig
drivers/acpi/acpi_processor.c
include/linux/acpi.h
---
arch/loongarch/Kconfig | 2 +-
arch/loongarch/kernel/acpi.c | 4 ++--
arch/x86/Kconfig | 2 +-
arch/x86/configs/openeuler_defconfig | 2 +-
arch/x86/kernel/acpi/boot.c | 4 ++--
drivers/acpi/Kconfig | 6 +++---
drivers/acpi/acpi_processor.c | 4 ++--
drivers/acpi/bus.c | 2 +-
include/linux/acpi.h | 2 +-
9 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
index edbbf03d29d9..58da6e03ecb5 100644
--- a/arch/loongarch/Kconfig
+++ b/arch/loongarch/Kconfig
@@ -5,7 +5,7 @@ config LOONGARCH
select ACPI
select ACPI_GENERIC_GSI if ACPI
select ACPI_MCFG if ACPI
- select ACPI_HOTPLUG_PRESENT_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
+ select ACPI_HOTPLUG_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
select ACPI_PPTT if ACPI
select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
select ARCH_BINFMT_ELF_STATE
diff --git a/arch/loongarch/kernel/acpi.c b/arch/loongarch/kernel/acpi.c
index f453271e6add..58819b017ba8 100644
--- a/arch/loongarch/kernel/acpi.c
+++ b/arch/loongarch/kernel/acpi.c
@@ -291,7 +291,7 @@ void __init arch_reserve_mem_area(acpi_physical_address addr, size_t size)
memblock_reserve(addr, size);
}
-#ifdef CONFIG_ACPI_HOTPLUG_PRESENT_CPU
+#ifdef CONFIG_ACPI_HOTPLUG_CPU
#include <acpi/processor.h>
@@ -343,4 +343,4 @@ int acpi_unmap_cpu(int cpu)
}
EXPORT_SYMBOL(acpi_unmap_cpu);
-#endif /* CONFIG_ACPI_HOTPLUG_PRESENT_CPU */
+#endif /* CONFIG_ACPI_HOTPLUG_CPU */
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 6cfa82a633a6..0ac76a2637f8 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -60,7 +60,7 @@ config X86
#
select ACPI_LEGACY_TABLES_LOOKUP if ACPI
select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
- select ACPI_HOTPLUG_PRESENT_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
+ select ACPI_HOTPLUG_CPU if ACPI_PROCESSOR && HOTPLUG_CPU
select ACPI_HOTPLUG_IGNORE_OSC if ACPI && HOTPLUG_CPU
select ARCH_32BIT_OFF_T if X86_32
select ARCH_CLOCKSOURCE_INIT
diff --git a/arch/x86/configs/openeuler_defconfig b/arch/x86/configs/openeuler_defconfig
index 80a66a8692dc..1c1fb626ae9e 100644
--- a/arch/x86/configs/openeuler_defconfig
+++ b/arch/x86/configs/openeuler_defconfig
@@ -609,7 +609,7 @@ CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=m
-CONFIG_ACPI_HOTPLUG_PRESENT_CPU=y
+CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_HOTPLUG_IGNORE_OSC=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=y
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 8202bd2d957d..c55c0ef47a18 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -817,7 +817,7 @@ static void __init acpi_set_irq_model_ioapic(void)
/*
* ACPI based hotplug support for CPU
*/
-#ifdef CONFIG_ACPI_HOTPLUG_PRESENT_CPU
+#ifdef CONFIG_ACPI_HOTPLUG_CPU
#include <acpi/processor.h>
static int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
@@ -866,7 +866,7 @@ int acpi_unmap_cpu(int cpu)
return (0);
}
EXPORT_SYMBOL(acpi_unmap_cpu);
-#endif /* CONFIG_ACPI_HOTPLUG_PRESENT_CPU */
+#endif /* CONFIG_ACPI_HOTPLUG_CPU */
int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base)
{
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index c49978b4b11f..c4746869d67b 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -305,14 +305,14 @@ config ACPI_IPMI
To compile this driver as a module, choose M here:
the module will be called as acpi_ipmi.
-config ACPI_HOTPLUG_PRESENT_CPU
+config ACPI_HOTPLUG_CPU
bool
depends on ACPI_PROCESSOR && HOTPLUG_CPU
select ACPI_CONTAINER
config ACPI_HOTPLUG_IGNORE_OSC
bool
- depends on ACPI_HOTPLUG_PRESENT_CPU
+ depends on ACPI_HOTPLUG_CPU
help
Ignore whether firmware acknowledged support for toggling the CPU
present bit in _STA. Some architectures predate the _OSC bits, so
@@ -408,7 +408,7 @@ config ACPI_PCI_SLOT
config ACPI_CONTAINER
bool "Container and Module Devices"
- default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_PRESENT_CPU)
+ default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU)
help
This driver supports ACPI Container and Module devices (IDs
ACPI0004, PNP0A05, and PNP0A06).
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 5bb207a7a1dd..0ff69af46a50 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -184,7 +184,7 @@ static void __init acpi_pcc_cpufreq_init(void) {}
static bool acpi_processor_hotplug_present_supported(void)
{
- if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU))
+ if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_CPU))
return false;
/* x86 systems pre-date the _OSC bit */
@@ -502,7 +502,7 @@ static void acpi_processor_make_not_present(struct acpi_device *device)
{
struct acpi_processor *pr;
- if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU)) {
+ if (!IS_ENABLED(CONFIG_ACPI_HOTPLUG_CPU)) {
pr_err_once("Changing CPU present bit is not supported");
return;
}
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index b42f17bfbb09..0d2e1de143ef 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -355,7 +355,7 @@ static void acpi_bus_osc_negotiate_platform_control(void)
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_APEI_SUPPORT;
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_ENABLED_SUPPORT;
- if (IS_ENABLED(CONFIG_ACPI_HOTPLUG_PRESENT_CPU))
+ if (IS_ENABLED(CONFIG_ACPI_HOTPLUG_CPU))
capbuf[OSC_SUPPORT_DWORD] |= OSC_SB_HOTPLUG_PRESENT_SUPPORT;
if (ACPI_FAILURE(acpi_get_handle(NULL, "\\_SB", &handle)))
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index a0e96f6e2de2..cc84f370620f 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -651,7 +651,7 @@ static inline u32 acpi_osc_ctx_get_cxl_control(struct acpi_osc_context *context)
#define ACPI_GSB_ACCESS_ATTRIB_RAW_PROCESS 0x0000000F
/* Enable _OST when all relevant hotplug operations are enabled */
-#if defined(CONFIG_ACPI_HOTPLUG_PRESENT_CPU) && \
+#if defined(CONFIG_ACPI_HOTPLUG_CPU) && \
defined(CONFIG_ACPI_HOTPLUG_MEMORY) && \
defined(CONFIG_ACPI_CONTAINER)
#define ACPI_HOTPLUG_OST
--
2.25.1
2
1