Linux CXL
 help / color / mirror / Atom feed
* KASAN error when insmod cxl_test
@ 2024-10-10  9:03 Huang, Ying
  2024-10-15  2:41 ` Ira Weiny
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Huang, Ying @ 2024-10-10  9:03 UTC (permalink / raw)
  To: Dave Jiang; +Cc: linux-cxl

[-- Attachment #1: Type: text/plain, Size: 10725 bytes --]

Hi, Dave,

When I tried to test v6.12-rc2 with cxl_test in qemu, the below error is
reported.  Revert commit a5ab0de0ebaa ("cxl: Calculate region bandwidth
of targets with shared upstream link") can eliminate the error.

Can you take a look at it?

The kernel config used to build kernel is attached.

-----------------------------8<------------------------------
[   28.103428] ==================================================================
[   28.104078] BUG: KASAN: slab-out-of-bounds in pcie_capability_reg_implemented+0x18/0xfb
[   28.104635] Read of size 1 at addr ffff888008a79fb4 by task systemd-udevd/408
[   28.105137] 
[   28.105261] CPU: 4 UID: 0 PID: 408 Comm: systemd-udevd Tainted: G           O       6.12.0-rc2-kvm #5
[   28.105868] Tainted: [O]=OOT_MODULE
[   28.106201] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
[   28.107115] Call Trace:
[   28.107339]  <TASK>
[   28.107526]  dump_stack_lvl+0x65/0x8c
[   28.107803]  print_address_description.constprop.0+0x8a/0x309
[   28.108223]  print_report+0x136/0x20f
[   28.108493]  ? kmem_cache_debug_flags+0x16/0x23
[   28.108836]  ? fixup_red_left+0x17/0x27
[   28.109262]  ? pcie_capability_reg_implemented+0x18/0xfb
[   28.109806]  kasan_report+0x85/0xa7
[   28.110184]  ? pcie_capability_reg_implemented+0x18/0xfb
[   28.110693]  pcie_capability_reg_implemented+0x18/0xfb
[   28.111211]  pcie_capability_read_word+0x38/0xaa
[   28.111653]  ? __free_kfree+0x9/0x22 [cxl_core]
[   28.112194]  pcie_link_speed_mbps+0x54/0xae
[   28.112594]  ? pcie_get_mps+0x6d/0x6d
[   28.113037]  cxl_pci_get_bandwidth+0x58/0xd3 [cxl_core]
[   28.113645]  ? cxl_pci_get_latency+0xac/0xac [cxl_core]
[   28.114192]  ? _raw_spin_unlock+0x1f/0x2f
[   28.114683]  ? xa_store+0x3b/0x45
[   28.115109]  cxl_endpoint_gather_bandwidth.constprop.0+0x2bf/0x352 [cxl_core]
[   28.116017]  ? cxl_hb_gather_bandwidth+0x205/0x205 [cxl_core]
[   28.116967]  ? __module_address+0xe7/0xff
[   28.117673]  ? is_module_address+0x11/0x26
[   28.118419]  ? static_obj+0x7f/0x90
[   28.119016]  ? lockdep_init_map_type+0x22e/0x305
[   28.120557]  ? __raw_spin_lock_init+0x73/0x83
[   28.121707]  cxl_region_shared_upstream_bandwidth_update+0x12c/0x491 [cxl_core]
[   28.123434]  ? cxl_endpoint_gather_bandwidth.constprop.0+0x352/0x352 [cxl_core]
[   28.124622]  ? check_last_peer+0x228/0x2c5 [cxl_core]
[   28.125273]  ? xa_set_mark+0x34/0x34
[   28.125717]  ? cxl_region_setup_targets+0x3a/0x1b8 [cxl_core]
[   28.126417]  cxl_region_attach+0x8cb/0xb05 [cxl_core]
[   28.127049]  attach_target+0x49/0x6f [cxl_core]
[   28.127631]  cxl_add_to_region+0x15a/0x1d6 [cxl_core]
[   28.128262]  ? schedule_detach+0xa/0xa [cxl_port]
[   28.128790]  discover_region+0x5d/0xb6 [cxl_port]
[   28.129327]  ? next_device+0x20/0x2d
[   28.129767]  device_for_each_child+0x8f/0xc0
[   28.130243]  ? next_device+0x2d/0x2d
[   28.130644]  ? kobject_get+0x47/0x75
[   28.131051]  cxl_port_probe+0x19f/0x272 [cxl_port]
[   28.131573]  ? discover_region+0xb6/0xb6 [cxl_port]
[   28.132117]  ? kernfs_put+0x19/0x2b
[   28.132509]  ? sysfs_do_create_link_sd+0x7a/0xbc
[   28.133016]  cxl_bus_probe+0x27/0x54 [cxl_core]
[   28.133611]  ? really_probe+0x194/0x43d
[   28.134064]  really_probe+0x1e4/0x43d
[   28.134483]  ? driver_probe_device+0xc0/0xc0
[   28.134969]  driver_probe_device+0x4a/0xc0
[   28.135430]  __device_attach_driver+0xd7/0x102
[   28.135932]  bus_for_each_drv+0xf2/0x116
[   28.136374]  ? bus_rescan_devices+0x15/0x15
[   28.136849]  __device_attach+0x10c/0x19c
[   28.137300]  ? device_bind_driver+0x39/0x39
[   28.137787]  ? bus_to_subsys+0xad/0xb9
[   28.138213]  bus_probe_device+0x4e/0xd3
[   28.138656]  device_add+0x55b/0x791
[   28.139056]  ? get_device_parent+0x20a/0x20a
[   28.139539]  ? rcu_read_unlock+0x51/0x5b
[   28.139996]  devm_cxl_add_port+0x20a/0x49c [cxl_core]
[   28.140642]  ? cxl_port_alloc+0x430/0x430 [cxl_core]
[   28.141271]  cxl_mem_probe+0x3b9/0x47c [cxl_mem]
[   28.141806]  ? __devm_add_action_or_reset+0x26/0x26 [cxl_mem]
[   28.142447]  ? sysfs_do_create_link_sd+0x7a/0xbc
[   28.142969]  cxl_bus_probe+0x27/0x54 [cxl_core]
[   28.143540]  ? really_probe+0x194/0x43d
[   28.143999]  really_probe+0x1e4/0x43d
[   28.144418]  ? driver_probe_device+0xc0/0xc0
[   28.144902]  driver_probe_device+0x4a/0xc0
[   28.145353]  __device_attach_driver+0xd7/0x102
[   28.145629]  bus_for_each_drv+0xf2/0x116
[   28.145865]  ? bus_rescan_devices+0x15/0x15
[   28.146115]  __device_attach+0x10c/0x19c
[   28.146351]  ? device_bind_driver+0x39/0x39
[   28.146614]  ? bus_to_subsys+0xad/0xb9
[   28.146839]  bus_probe_device+0x4e/0xd3
[   28.147069]  device_add+0x55b/0x791
[   28.147306]  ? get_device_parent+0x20a/0x20a
[   28.147568]  ? kobject_get+0x47/0x75
[   28.147784]  cdev_device_add+0x31/0x89
[   28.148015]  devm_cxl_add_memdev+0x26e/0x2d7 [cxl_core]
[   28.148369]  cxl_mock_mem_probe+0x2f3/0x33b [cxl_mock_mem]
[   28.148694]  platform_probe+0x3d/0x7a
[   28.148914]  really_probe+0x1e4/0x43d
[   28.149133]  ? __device_attach_driver+0x102/0x102
[   28.149420]  driver_probe_device+0x4a/0xc0
[   28.149669]  __driver_attach+0x19c/0x1bb
[   28.149912]  bus_for_each_dev+0xc7/0x101
[   28.150152]  ? bus_register+0x2d4/0x2d4
[   28.150387]  ? bus_add_driver+0x137/0x2cc
[   28.150648]  bus_add_driver+0x19d/0x2cc
[   28.150881]  driver_register+0x12c/0x17d
[   28.151111]  ? 0xffffffffc0ac8000
[   28.151307]  do_one_initcall+0x139/0x2da
[   28.151538]  ? rcu_lock_acquire.constprop.0+0x25/0x25
[   28.151826]  ? unpoison_slab_object+0x1b/0x38
[   28.152100]  ? __kasan_slab_alloc+0x37/0x41
[   28.152342]  ? rcu_is_watching+0x1c/0x38
[   28.152572]  ? poison_kmalloc_redzone+0x44/0x65
[   28.152835]  ? kasan_unpoison+0x26/0x31
[   28.153058]  ? __asan_register_globals+0x55/0x60
[   28.153338]  do_init_module+0x118/0x388
[   28.153576]  init_module_from_file+0xc2/0xe4
[   28.153838]  ? __ia32_sys_init_module+0x40/0x40
[   28.154127]  ? do_raw_spin_unlock+0xce/0xd6
[   28.154370]  idempotent_init_module+0x1ea/0x3c0
[   28.154634]  ? init_module_from_file+0xe4/0xe4
[   28.154892]  ? __seccomp_filter+0xf5/0x4f2
[   28.155135]  ? files_lookup_fd_raw+0x40/0x4b
[   28.155386]  __do_sys_finit_module+0x68/0x82
[   28.155636]  do_syscall_64+0x9a/0xfd
[   28.155848]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
[   28.156145] RIP: 0033:0x7f2239ce4559
[   28.156355] Code: 08 89 e8 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 77 08 0d 00 f7 d8 64 89 01 48
[   28.157428] RSP: 002b:00007fffd30e95d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
[   28.157858] RAX: ffffffffffffffda RBX: 000055fd0ed12110 RCX: 00007f2239ce4559
[   28.158260] RDX: 0000000000000000 RSI: 00007f2239e67e2d RDI: 0000000000000006
[   28.158661] RBP: 0000000000020000 R08: 0000000000000000 R09: 000055fd0ed13b28
[   28.159063] R10: 0000000000000006 R11: 0000000000000246 R12: 00007f2239e67e2d
[   28.159465] R13: 0000000000000000 R14: 000055fd0ed13180 R15: 000055fd0ed12110
[   28.159870]  </TASK>
[   28.160003] 
[   28.160098] Allocated by task 385:
[   28.160298]  stack_trace_save+0x7c/0x94
[   28.160523]  kasan_save_stack+0x1c/0x34
[   28.160763]  kasan_save_track+0x10/0x25
[   28.160997]  __kasan_kmalloc+0x3a/0x43
[   28.161222]  __kmalloc_node_track_caller_noprof+0x1fd/0x22d
[   28.161562]  kmalloc_reserve+0xe6/0x130
[   28.161797]  __alloc_skb+0x109/0x1b8
[   28.162018]  alloc_uevent_skb+0x55/0xe2
[   28.162254]  kobject_uevent_net_broadcast+0x11d/0x265
[   28.162565]  kobject_uevent_env+0x534/0x6d3
[   28.162806]  device_add+0x4da/0x791
[   28.163011]  platform_device_add+0x248/0x2dd
[   28.163258]  0xffffffffc0b40708
[   28.163446]  do_one_initcall+0x139/0x2da
[   28.163673]  do_init_module+0x118/0x388
[   28.163933]  init_module_from_file+0xc2/0xe4
[   28.164312]  idempotent_init_module+0x1ea/0x3c0
[   28.164665]  __do_sys_finit_module+0x68/0x82
[   28.164992]  do_syscall_64+0x9a/0xfd
[   28.165295]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
[   28.165634] 
[   28.165767] Freed by task 168:
[   28.165968]  stack_trace_save+0x7c/0x94
[   28.166207]  kasan_save_stack+0x1c/0x34
[   28.166442]  kasan_save_track+0x10/0x25
[   28.166669]  kasan_save_free_info+0x3b/0x41
[   28.166912]  __kasan_slab_free+0x18/0x2a
[   28.167150]  kfree+0x206/0x26a
[   28.167388]  skb_release_data+0x152/0x16e
[   28.167636]  __kfree_skb+0x14/0x1e
[   28.167834]  netlink_recvmsg+0x2b2/0x503
[   28.168066]  sock_recvmsg_nosec+0x48/0x80
[   28.168305]  ____sys_recvmsg+0x10c/0x1fa
[   28.168542]  ___sys_recvmsg+0xc7/0x103
[   28.168762]  __sys_recvmsg+0xb7/0x113
[   28.168978]  do_syscall_64+0x9a/0xfd
[   28.169188]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
[   28.169504] 
[   28.169599] The buggy address belongs to the object at ffff888008a79800
[   28.169599]  which belongs to the cache kmalloc-1k of size 1024
[   28.170285] The buggy address is located 948 bytes to the right of
[   28.170285]  allocated 1024-byte region [ffff888008a79800, ffff888008a79c00)
[   28.171055] 
[   28.171152] The buggy address belongs to the physical page:
[   28.171487] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888008a7f800 pfn:0x8a78
[   28.172060] head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
[   28.172539] flags: 0xffffc000000240(workingset|head|node=0|zone=1|lastcpupid=0x1ffff)
[   28.173104] page_type: f5(slab)
[   28.173343] raw: 00ffffc000000240 ffff888001042dc0 ffffea0000226410 ffffea00002f3010
[   28.173822] raw: ffff888008a7f800 0000000000100008 00000001f5000000 0000000000000000
[   28.174308] head: 00ffffc000000240 ffff888001042dc0 ffffea0000226410 ffffea00002f3010
[   28.174733] head: ffff888008a7f800 0000000000100008 00000001f5000000 0000000000000000
[   28.175177] head: 00ffffc000000003 ffffea0000229e01 ffffffffffffffff 0000000000000000
[   28.175631] head: 0000000000000008 0000000000000000 00000000ffffffff 0000000000000000
[   28.176074] page dumped because: kasan: bad access detected
[   28.176391] 
[   28.176484] Memory state around the buggy address:
[   28.176746]  ffff888008a79e80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   28.177121]  ffff888008a79f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   28.177612] >ffff888008a79f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   28.178011]                                      ^
[   28.178286]  ffff888008a7a000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   28.178671]  ffff888008a7a080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   28.179183] ==================================================================

--
Best Regards,
Huang, Ying

[-- Attachment #2: dot.config --]
[-- Type: application/octet-stream, Size: 85393 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.12.0-rc2 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Debian 12.2.0-14) 12.2.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=120200
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=24000
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24000
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_GCC_ASM_GOTO_OUTPUT_BROKEN=y
CONFIG_TOOLS_SUPPORT_RELR=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=124
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_LOCALVERSION="-kvm"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_WATCH_QUEUE is not set
# CONFIG_CROSS_MEMORY_ATTACH is not set
# CONFIG_USELIB is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST_IDLE=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y
# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
# CONFIG_BPF_PRELOAD is not set
# end of BPF subsystem

CONFIG_PREEMPT_BUILD=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
# CONFIG_SCHED_CORE is not set
# CONFIG_SCHED_CLASS_EXT is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
CONFIG_PSI=y
# CONFIG_PSI_DEFAULT_DISABLED is not set
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_NEED_TASKS_RCU=y
CONFIG_TASKS_RCU=y
CONFIG_TASKS_RUDE_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
# end of RCU Subsystem

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_IKHEADERS=y
CONFIG_LOG_BUF_SHIFT=19
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_CC_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
# CONFIG_NUMA_BALANCING_DEFAULT_ENABLED is not set
CONFIG_SLAB_OBJ_EXT=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_V1=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_GROUP_SCHED_WEIGHT=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
# CONFIG_CPUSETS_V1 is not set
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
# CONFIG_CGROUP_BPF is not set
# CONFIG_CGROUP_MISC is not set
# CONFIG_CGROUP_DEBUG is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
CONFIG_TIME_NS=y
# CONFIG_IPC_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
CONFIG_CHECKPOINT_RESTORE=y
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_RD_ZSTD=y
# CONFIG_BOOT_CONFIG is not set
CONFIG_INITRAMFS_PRESERVE_MTIME=y
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
CONFIG_CACHESTAT_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters

# CONFIG_PROFILING is not set
CONFIG_TRACEPOINTS=y

#
# Kexec and crash features
#
CONFIG_VMCORE_INFO=y
# CONFIG_KEXEC is not set
# CONFIG_KEXEC_FILE is not set
# end of Kexec and crash features
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=5
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

#
# Processor type and features
#
CONFIG_SMP=y
# CONFIG_X86_X2APIC is not set
# CONFIG_X86_MPPARSE is not set
# CONFIG_X86_CPU_RESCTRL is not set
# CONFIG_X86_FRED is not set
# CONFIG_X86_EXTENDED_PLATFORM is not set
# CONFIG_X86_INTEL_LPSS is not set
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
# CONFIG_IOSF_MBI is not set
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_DEBUG is not set
# CONFIG_PARAVIRT_SPINLOCKS is not set
CONFIG_X86_HV_CALLBACK_VECTOR=y
# CONFIG_XEN is not set
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
# CONFIG_PVH is not set
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_HAVE_PAE=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_HYGON=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_ZHAOXIN=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS_RANGE_BEGIN=2
CONFIG_NR_CPUS_RANGE_END=512
CONFIG_NR_CPUS_DEFAULT=64
CONFIG_NR_CPUS=512
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_ACPI_MADT_WAKEUP=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
# CONFIG_X86_MCE is not set

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
# CONFIG_PERF_EVENTS_INTEL_RAPL is not set
# CONFIG_PERF_EVENTS_INTEL_CSTATE is not set
# CONFIG_PERF_EVENTS_AMD_POWER is not set
CONFIG_PERF_EVENTS_AMD_UNCORE=y
# CONFIG_PERF_EVENTS_AMD_BRS is not set
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
# CONFIG_X86_IOPL_IOPERM is not set
CONFIG_MICROCODE=y
# CONFIG_MICROCODE_LATE_LOADING is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_5LEVEL=y
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
# CONFIG_AMD_MEM_ENCRYPT is not set
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
# CONFIG_ARCH_MEMORY_PROBE is not set
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=m
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
# CONFIG_X86_KERNEL_IBT is not set
# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set
CONFIG_ARCH_PKEY_BITS=4
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
# CONFIG_X86_USER_SHADOW_STACK is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_HANDOVER_PROTOCOL=y
# CONFIG_EFI_MIXED is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_SUPPORTS_KEXEC=y
CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y
CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_RANDOMIZE_BASE=y
CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_DYNAMIC_MEMORY_LAYOUT=y
CONFIG_RANDOMIZE_MEMORY=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
# CONFIG_ADDRESS_MASKING is not set
CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
CONFIG_LEGACY_VSYSCALL_XONLY=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
# CONFIG_LIVEPATCH is not set
# end of Processor type and features

CONFIG_CC_HAS_NAMED_AS=y
CONFIG_CC_HAS_SLS=y
CONFIG_CC_HAS_RETURN_THUNK=y
CONFIG_CC_HAS_ENTRY_PADDING=y
CONFIG_FUNCTION_PADDING_CFI=11
CONFIG_FUNCTION_PADDING_BYTES=16
# CONFIG_CPU_MITIGATIONS is not set
CONFIG_ARCH_HAS_ADD_PAGES=y

#
# Power management and ACPI options
#
# CONFIG_SUSPEND is not set
# CONFIG_HIBERNATION is not set
# CONFIG_PM is not set
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_TABLE_LIB=y
# CONFIG_ACPI_DEBUGGER is not set
# CONFIG_ACPI_SPCR_TABLE is not set
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
# CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
# CONFIG_ACPI_BUTTON is not set
# CONFIG_ACPI_TINY_POWER_BUTTON is not set
# CONFIG_ACPI_FAN is not set
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
# CONFIG_ACPI_THERMAL is not set
CONFIG_ACPI_CUSTOM_DSDT_FILE=""
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_HOTPLUG_MEMORY is not set
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_ACPI_SBS is not set
CONFIG_ACPI_HED=y
# CONFIG_ACPI_BGRT is not set
CONFIG_ACPI_NFIT=m
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
CONFIG_ACPI_HMAT=y
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
# CONFIG_ACPI_APEI_EINJ is not set
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
# CONFIG_ACPI_DPTF is not set
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
# CONFIG_ACPI_FFH is not set
# CONFIG_PMIC_OPREGION is not set
CONFIG_ACPI_PRMT=y
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
# CONFIG_CPU_FREQ_STAT is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_PCC_CPUFREQ is not set
CONFIG_X86_AMD_PSTATE=y
CONFIG_X86_AMD_PSTATE_DEFAULT_MODE=3
# CONFIG_X86_AMD_PSTATE_UT is not set
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set

#
# shared options
#
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

# CONFIG_INTEL_IDLE is not set
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_MMCONF_FAM10H=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
# CONFIG_X86_X32_ABI is not set
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

# CONFIG_VIRTUALIZATION is not set
CONFIG_AS_AVX512=y
CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y
CONFIG_AS_TPAUSE=y
CONFIG_AS_GFNI=y
CONFIG_AS_VAES=y
CONFIG_AS_VPCLMULQDQ=y
CONFIG_AS_WRUSS=y
CONFIG_ARCH_CONFIGURES_CPU_MITIGATIONS=y

#
# General architecture-dependent options
#
CONFIG_HOTPLUG_SMT=y
CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
CONFIG_HOTPLUG_CORE_SYNC_FULL=y
CONFIG_HOTPLUG_SPLIT_STARTUP=y
CONFIG_HOTPLUG_PARALLEL=y
CONFIG_GENERIC_ENTRY=y
CONFIG_KPROBES=y
# CONFIG_JUMP_LABEL is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_OPTPROBES=y
CONFIG_KPROBES_ON_FTRACE=y
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_KRETPROBES=y
CONFIG_KRETPROBE_ON_RETHOOK=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_ARCH_HAS_CPU_FINALIZE_INIT=y
CONFIG_ARCH_HAS_CPU_PASID=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_MMU_LAZY_TLB_REFCOUNT=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HAVE_EXTRA_ELF_NOTES=y
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
# CONFIG_STACKPROTECTOR is not set
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_HAVE_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_PAGE_SHIFT=12
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_ARCH_SUPPORTS_RT=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y
CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_GCC_PLUGINS=y
# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
CONFIG_MODVERSIONS=y
CONFIG_ASM_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_COMPRESS is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_CGROUP_RWSTAT=y
# CONFIG_BLK_DEV_BSGLIB is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLK_DEV_WRITE_MOUNTED=y
# CONFIG_BLK_DEV_ZONED is not set
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_CGROUP_IOLATENCY is not set
# CONFIG_BLK_CGROUP_IOCOST is not set
# CONFIG_BLK_CGROUP_IOPRIO is not set
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_SED_OPAL is not set
# CONFIG_BLK_INLINE_ENCRYPTION is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_AIX_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not set
# end of Partition Types

CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
# CONFIG_IOSCHED_BFQ is not set
# end of IO Schedulers

CONFIG_PADATA=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_ZPOOL=y
CONFIG_SWAP=y
CONFIG_ZSWAP=y
CONFIG_ZSWAP_DEFAULT_ON=y
# CONFIG_ZSWAP_SHRINKER_DEFAULT_ON is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lz4"
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED=y
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold"
CONFIG_ZBUD=y
CONFIG_Z3FOLD_DEPRECATED=y
CONFIG_Z3FOLD=y
CONFIG_ZSMALLOC=y
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC_CHAIN_SIZE=8

#
# Slab allocator options
#
CONFIG_SLUB=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLAB_FREELIST_RANDOM is not set
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLAB_BUCKETS is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_SLUB_CPU_PARTIAL is not set
# CONFIG_RANDOM_KMALLOC_CACHES is not set
# end of Slab allocator options

# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_HAVE_GUP_FAST=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTE_PTLOCKS=y
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_SPLIT_PMD_PTLOCKS=y
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
# CONFIG_PAGE_REPORTING is not set
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PCP_BATCH_SCALE_MAX=5
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
CONFIG_ARCH_SUPPORTS_HUGE_PFNMAP=y
CONFIG_ARCH_SUPPORTS_PMD_PFNMAP=y
CONFIG_ARCH_SUPPORTS_PUD_PFNMAP=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set
CONFIG_CMA_AREAS=19
CONFIG_MEM_SOFT_DIRTY=y
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
# CONFIG_IDLE_PAGE_TRACKING is not set
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_GET_FREE_REGION=y
# CONFIG_DEVICE_PRIVATE is not set
CONFIG_ARCH_USES_PG_ARCH_2=y
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_TEST is not set
# CONFIG_DMAPOOL_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MEMFD_CREATE=y
CONFIG_SECRETMEM=y
# CONFIG_ANON_VMA_NAME is not set
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_USERFAULTFD=y
CONFIG_PTE_MARKER_UFFD_WP=y
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
CONFIG_LRU_GEN_STATS=y
CONFIG_LRU_GEN_WALKS_MMU=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_IOMMU_MM_DATA=y
CONFIG_EXECMEM=y
CONFIG_NUMA_MEMBLKS=y
CONFIG_NUMA_EMU=y

#
# Data Access Monitoring
#
# CONFIG_DAMON is not set
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_XGRESS=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_DIAG is not set
CONFIG_UNIX=y
CONFIG_AF_UNIX_OOB=y
# CONFIG_UNIX_DIAG is not set
# CONFIG_TLS is not set
# CONFIG_XFRM_USER is not set
# CONFIG_NET_KEY is not set
# CONFIG_XDP_SOCKETS is not set
CONFIG_NET_HANDSHAKE=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
CONFIG_NET_IP_TUNNEL=y
# CONFIG_SYN_COOKIES is not set
# CONFIG_NET_IPVTI is not set
# CONFIG_NET_FOU is not set
# CONFIG_NET_FOU_IP_TUNNELS is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_TUNNEL=y
# CONFIG_INET_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_AO is not set
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=y
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_IPV6_VTI is not set
CONFIG_IPV6_SIT=y
# CONFIG_IPV6_SIT_6RD is not set
CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_IPV6_MROUTE is not set
# CONFIG_IPV6_SEG6_LWTUNNEL is not set
# CONFIG_IPV6_SEG6_HMAC is not set
# CONFIG_IPV6_RPL_LWTUNNEL is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
# CONFIG_MPTCP is not set
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NET_PTP_CLASSIFY=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
# CONFIG_BRIDGE is not set
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_LLC2 is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
# CONFIG_6LOWPAN is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# CONFIG_DNS_RESOLVER is not set
# CONFIG_BATMAN_ADV is not set
# CONFIG_OPENVSWITCH is not set
# CONFIG_VSOCKETS is not set
# CONFIG_NETLINK_DIAG is not set
# CONFIG_MPLS is not set
# CONFIG_NET_NSH is not set
# CONFIG_HSR is not set
# CONFIG_NET_SWITCHDEV is not set
# CONFIG_NET_L3_MASTER_DEV is not set
# CONFIG_QRTR is not set
# CONFIG_NET_NCSI is not set
# CONFIG_PCPU_DEV_REFCNT is not set
CONFIG_MAX_SKB_FRAGS=17
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
# CONFIG_CGROUP_NET_PRIO is not set
# CONFIG_CGROUP_NET_CLASSID is not set
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_DROP_MONITOR is not set
# end of Network testing
# end of Networking options

# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
# CONFIG_MCTP is not set
# CONFIG_WIRELESS is not set
# CONFIG_RFKILL is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
# CONFIG_NFC is not set
# CONFIG_PSAMPLE is not set
# CONFIG_NET_IFE is not set
# CONFIG_LWTUNNEL is not set
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=y
CONFIG_ETHTOOL_NETLINK=y

#
# Device Drivers
#
CONFIG_HAVE_EISA=y
# CONFIG_EISA is not set
CONFIG_HAVE_PCI=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
# CONFIG_PCIEAER is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIE_PTM is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_STUB is not set
CONFIG_PCI_ATS=y
CONFIG_PCI_DOE=y
CONFIG_PCI_LOCKLESS_CONFIG=y
# CONFIG_PCI_IOV is not set
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCI_P2PDMA is not set
CONFIG_PCI_LABEL=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=64
# CONFIG_HOTPLUG_PCI is not set

#
# PCI controller drivers
#
# CONFIG_VMD is not set

#
# Cadence-based PCIe controllers
#
# end of Cadence-based PCIe controllers

#
# DesignWare-based PCIe controllers
#
# CONFIG_PCI_MESON is not set
# CONFIG_PCIE_DW_PLAT_HOST is not set
# end of DesignWare-based PCIe controllers

#
# Mobiveil-based PCIe controllers
#
# end of Mobiveil-based PCIe controllers

#
# PLDA-based PCIe controllers
#
# end of PLDA-based PCIe controllers
# end of PCI controller drivers

#
# PCI Endpoint
#
# CONFIG_PCI_ENDPOINT is not set
# end of PCI Endpoint

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers

CONFIG_CXL_BUS=m
CONFIG_CXL_PCI=m
# CONFIG_CXL_MEM_RAW_COMMANDS is not set
CONFIG_CXL_ACPI=m
CONFIG_CXL_PMEM=m
CONFIG_CXL_MEM=m
CONFIG_CXL_PORT=m
CONFIG_CXL_REGION=y
CONFIG_CXL_REGION_INVALIDATION_TEST=y
# CONFIG_PCCARD is not set
# CONFIG_RAPIDIO is not set

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
# CONFIG_STANDALONE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
CONFIG_FW_LOADER_DEBUG=y
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_FW_LOADER_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_FW_LOADER_USER_HELPER is not set
# CONFIG_FW_LOADER_COMPRESS is not set
CONFIG_FW_UPLOAD=y
# end of Firmware loader

CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
CONFIG_HMEM_REPORTING=y
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_GENERIC_CPU_DEVICES=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
# end of Generic Driver Options

#
# Bus devices
#
# CONFIG_MHI_BUS is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices

#
# Cache Drivers
#
# end of Cache Drivers

# CONFIG_CONNECTOR is not set

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DMIID is not set
# CONFIG_DMI_SYSFS is not set
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_FW_CFG_SYSFS is not set
# CONFIG_SYSFB_SIMPLEFB is not set
# CONFIG_GOOGLE_FIRMWARE is not set

#
# EFI (Extensible Firmware Interface) Support
#
CONFIG_EFI_ESRT=y
CONFIG_EFI_VARS_PSTORE=y
# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_TEST is not set
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
# CONFIG_EFI_RCI2_TABLE is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
# CONFIG_EFI_DISABLE_RUNTIME is not set
# CONFIG_EFI_COCO_SECRET is not set
# end of EFI (Extensible Firmware Interface) Support

CONFIG_UEFI_CPER=y
CONFIG_UEFI_CPER_X86=y

#
# Qualcomm firmware drivers
#
# end of Qualcomm firmware drivers

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

# CONFIG_GNSS is not set
# CONFIG_MTD is not set
# CONFIG_OF is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT is not set
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_ZRAM is not set
CONFIG_ZRAM_DEF_COMP="unset-value"
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_VIRTIO_BLK=y
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_UBLK is not set

#
# NVME Support
#
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
# CONFIG_NVME_MULTIPATH is not set
# CONFIG_NVME_VERBOSE_ERRORS is not set
# CONFIG_NVME_FC is not set
# CONFIG_NVME_TCP is not set
# CONFIG_NVME_HOST_AUTH is not set
# end of NVME Support

#
# Misc devices
#
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
# CONFIG_NSM is not set
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_93CX6 is not set
# end of EEPROM support

# CONFIG_CB710_CORE is not set

#
# Texas Instruments shared transport line discipline
#
# end of Texas Instruments shared transport line discipline

#
# Altera FPGA firmware download module (requires I2C)
#
# CONFIG_INTEL_MEI is not set
# CONFIG_VMWARE_VMCI is not set
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
# CONFIG_MISC_RTSX_PCI is not set
# CONFIG_UACCE is not set
# CONFIG_PVPANIC is not set
# CONFIG_KEBA_CP500 is not set
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_PROC_FS is not set

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set

#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
# end of SCSI Transports

# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_SCSI_DH is not set
# end of SCSI device support

CONFIG_ATA=y
CONFIG_SATA_HOST=y
CONFIG_PATA_TIMINGS=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=0
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_AHCI_DWC is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SCH is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_LEGACY is not set
# CONFIG_MD is not set
# CONFIG_TARGET_CORE is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support

# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not set
# CONFIG_WIREGUARD is not set
# CONFIG_EQUALIZER is not set
# CONFIG_NET_FC is not set
# CONFIG_NET_TEAM is not set
# CONFIG_MACVLAN is not set
# CONFIG_IPVLAN is not set
# CONFIG_VXLAN is not set
# CONFIG_GENEVE is not set
# CONFIG_BAREUDP is not set
# CONFIG_GTP is not set
# CONFIG_PFCP is not set
# CONFIG_MACSEC is not set
# CONFIG_NETCONSOLE is not set
CONFIG_TUN=y
# CONFIG_TUN_VNET_CROSS_LE is not set
# CONFIG_VETH is not set
CONFIG_VIRTIO_NET=y
# CONFIG_NLMON is not set
# CONFIG_NETKIT is not set
# CONFIG_ARCNET is not set
CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
# CONFIG_NET_VENDOR_ALTEON is not set
# CONFIG_ALTERA_TSE is not set
# CONFIG_NET_VENDOR_AMAZON is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
CONFIG_NET_VENDOR_ASIX=y
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_CX_ECAT is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CADENCE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DAVICOM is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
# CONFIG_NET_VENDOR_ENGLEDER is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_FUNGIBLE is not set
# CONFIG_NET_VENDOR_GOOGLE is not set
# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
# CONFIG_E100 is not set
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
# CONFIG_I40E is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
# CONFIG_FM10K is not set
# CONFIG_IGC is not set
# CONFIG_IDPF is not set
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_LITEX is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_META is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MICROSEMI is not set
# CONFIG_NET_VENDOR_MICROSOFT is not set
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETERION is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
# CONFIG_NET_VENDOR_PENSANDO is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VERTEXCOM is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WANGXUN is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PHYLIB is not set
# CONFIG_MDIO_DEVICE is not set

#
# PCS device drivers
#
# CONFIG_PCS_XPCS is not set
# end of PCS device drivers

# CONFIG_PPP is not set
# CONFIG_SLIP is not set

#
# Host-side USB support is needed for USB Network Adapter support
#
# CONFIG_WLAN is not set
# CONFIG_WAN is not set

#
# Wireless WAN
#
# CONFIG_WWAN is not set
# end of Wireless WAN

# CONFIG_VMXNET3 is not set
# CONFIG_FUJITSU_ES is not set
# CONFIG_NETDEVSIM is not set
CONFIG_NET_FAILOVER=y
# CONFIG_ISDN is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_VIVALDIFMAP=y

#
# Userland interfaces
#
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
# CONFIG_MOUSE_PS2_VMMOUSE is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
# CONFIG_RMI4_CORE is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_SERIO_ARC_PS2 is not set
# CONFIG_USERIO is not set
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_LEGACY_TIOCSTI=y
CONFIG_LDISC_AUTOLOAD=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCILIB=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_EXAR=y
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_PCI1XXXX is not set
CONFIG_SERIAL_8250_DWLIB=y
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
# CONFIG_SERIAL_8250_PERICOM is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_KGDB_NMI is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers

# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_NOZOMI is not set
# CONFIG_NULL_TTY is not set
CONFIG_HVC_DRIVER=y
# CONFIG_SERIAL_DEV_BUS is not set
CONFIG_VIRTIO_CONSOLE=y
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
CONFIG_DEVMEM=y
# CONFIG_NVRAM is not set
CONFIG_DEVPORT=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
# CONFIG_XILLYBUS is not set
# end of Character devices

#
# I2C support
#
# CONFIG_I2C is not set
# end of I2C support

# CONFIG_I3C is not set
# CONFIG_SPI is not set
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
# CONFIG_PPS_CLIENT_LDISC is not set
# CONFIG_PPS_CLIENT_GPIO is not set

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PTP_1588_CLOCK_KVM=y
# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# end of PTP clock support

# CONFIG_PINCTRL is not set
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_RESET is not set
# CONFIG_POWER_SEQUENCING is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_HWMON is not set
CONFIG_THERMAL=y
# CONFIG_THERMAL_NETLINK is not set
# CONFIG_THERMAL_STATISTICS is not set
# CONFIG_THERMAL_DEBUGFS is not set
# CONFIG_THERMAL_CORE_TESTING is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set

#
# Intel thermal drivers
#
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_X86_PKG_TEMP_THERMAL is not set
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
# end of ACPI INT340X thermal drivers

# CONFIG_INTEL_PCH_THERMAL is not set
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers

# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y
# CONFIG_BCMA is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_MADERA is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
# CONFIG_LPC_ICH is not set
# CONFIG_LPC_SCH is not set
# CONFIG_MFD_INTEL_LPSS_ACPI is not set
# CONFIG_MFD_INTEL_LPSS_PCI is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VX855 is not set
# end of Multifunction device drivers

# CONFIG_REGULATOR is not set
# CONFIG_RC_CORE is not set

#
# CEC support
#
# CONFIG_MEDIA_CEC_SUPPORT is not set
# end of CEC support

# CONFIG_MEDIA_SUPPORT is not set

#
# Graphics support
#
# CONFIG_AUXDISPLAY is not set
# CONFIG_AGP is not set
# CONFIG_VGA_SWITCHEROO is not set
# CONFIG_DRM is not set

#
# Frame buffer Devices
#
# CONFIG_FB is not set
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
# CONFIG_LCD_CLASS_DEVICE is not set
# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
# end of Backlight & LCD device support

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
# end of Console display driver support
# end of Graphics support

# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
# CONFIG_HID is not set

#
# Intel ISH HID support
#
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
# end of AMD SFH HID Support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
CONFIG_RTC_NVMEM=y

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#

#
# SPI RTC drivers
#

#
# SPI and I2C RTC drivers
#

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_DS2404 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_RP5C01 is not set

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_FTRTC010 is not set

#
# HID Sensor RTC drivers
#
# CONFIG_RTC_DRV_GOLDFISH is not set
# CONFIG_DMADEVICES is not set

#
# DMABUF options
#
# CONFIG_SYNC_FILE is not set
# CONFIG_DMABUF_HEAPS is not set
# end of DMABUF options

# CONFIG_UIO is not set
# CONFIG_VFIO is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_ADMIN_LEGACY=y
CONFIG_VIRTIO_PCI_LEGACY=y
# CONFIG_VIRTIO_PMEM is not set
# CONFIG_VIRTIO_BALLOON is not set
CONFIG_VIRTIO_INPUT=y
# CONFIG_VIRTIO_MMIO is not set
# CONFIG_VIRTIO_DEBUG is not set
# CONFIG_VDPA is not set
# CONFIG_VHOST_MENU is not set

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
# end of Microsoft Hyper-V guest support

# CONFIG_GREYBUS is not set
# CONFIG_COMEDI is not set
# CONFIG_STAGING is not set
# CONFIG_GOLDFISH is not set
# CONFIG_CHROME_PLATFORMS is not set
# CONFIG_CZNIC_PLATFORMS is not set
# CONFIG_MELLANOX_PLATFORM is not set
# CONFIG_SURFACE_PLATFORMS is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
# CONFIG_XILINX_VCU is not set
# CONFIG_HWSPINLOCK is not set

#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
# end of Generic IOMMU Pagetable Support

# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
CONFIG_IOMMU_IOPF=y
# CONFIG_AMD_IOMMU is not set
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set
# CONFIG_INTEL_IOMMU_PERF_EVENTS is not set
# CONFIG_IOMMUFD is not set
# CONFIG_IRQ_REMAP is not set
# CONFIG_VIRTIO_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers

# CONFIG_SOUNDWIRE is not set

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
# end of Enable LiteX SoC Builder specific drivers

# CONFIG_WPCM450_SOC is not set

#
# Qualcomm SoC drivers
#
# end of Qualcomm SoC drivers

# CONFIG_SOC_TI is not set

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

#
# PM Domains
#

#
# Amlogic PM Domains
#
# end of Amlogic PM Domains

#
# Broadcom PM Domains
#
# end of Broadcom PM Domains

#
# i.MX PM Domains
#
# end of i.MX PM Domains

#
# Qualcomm PM Domains
#
# end of Qualcomm PM Domains
# end of PM Domains

# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
# CONFIG_NTB is not set
# CONFIG_PWM is not set

#
# IRQ chip support
#
# CONFIG_LAN966X_OIC is not set
# end of IRQ chip support

# CONFIG_IPACK_BUS is not set
# CONFIG_RESET_CONTROLLER is not set

#
# PHY Subsystem
#
# CONFIG_GENERIC_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set

#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms

# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# end of PHY Subsystem

# CONFIG_POWERCAP is not set
# CONFIG_MCB is not set

#
# Performance monitor support
#
# CONFIG_DWC_PCIE_PMU is not set
CONFIG_CXL_PMU=m
# end of Performance monitor support

# CONFIG_RAS is not set
# CONFIG_USB4 is not set

#
# Android
#
# CONFIG_ANDROID_BINDER_IPC is not set
# end of Android

CONFIG_LIBNVDIMM=m
CONFIG_BLK_DEV_PMEM=m
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=m
CONFIG_BTT=y
CONFIG_ND_PFN=m
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_NVDIMM_KEYS=y
CONFIG_NVDIMM_SECURITY_TEST=y
CONFIG_DAX=m
CONFIG_DEV_DAX=m
CONFIG_DEV_DAX_PMEM=m
CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_CXL=m
CONFIG_DEV_DAX_HMEM_DEVICES=y
CONFIG_DEV_DAX_KMEM=m
CONFIG_NVMEM=y
# CONFIG_NVMEM_SYSFS is not set
# CONFIG_NVMEM_LAYOUTS is not set
# CONFIG_NVMEM_RMEM is not set

#
# HW tracing support
#
# CONFIG_STM is not set
# CONFIG_INTEL_TH is not set
# end of HW tracing support

# CONFIG_FPGA is not set
# CONFIG_TEE is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
# CONFIG_COUNTER is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_VALIDATE_FS_PARSER=y
CONFIG_FS_IOMAP=y
CONFIG_FS_STACK=y
CONFIG_BUFFER_HEAD=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=y
CONFIG_XFS_SUPPORT_V4=y
CONFIG_XFS_SUPPORT_ASCII_CI=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_ONLINE_SCRUB is not set
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_F2FS_FS is not set
# CONFIG_BCACHEFS_FS is not set
# CONFIG_FS_DAX is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
# CONFIG_EXPORTFS_BLOCK_OPS is not set
CONFIG_FILE_LOCKING=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FS_VERITY is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_FANOTIFY is not set
# CONFIG_QUOTA is not set
# CONFIG_QUOTA_NETLINK_INTERFACE is not set
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
# CONFIG_CUSE is not set
CONFIG_VIRTIO_FS=y
CONFIG_FUSE_PASSTHROUGH=y
CONFIG_OVERLAY_FS=y
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
# CONFIG_OVERLAY_FS_INDEX is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set
# CONFIG_OVERLAY_FS_DEBUG is not set

#
# Caches
#
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
# CONFIG_NETFS_DEBUG is not set
# CONFIG_FSCACHE is not set
# end of Caches

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_EXFAT_FS is not set
# CONFIG_NTFS3_FS is not set
# CONFIG_NTFS_FS is not set
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
# CONFIG_TMPFS_QUOTA is not set
CONFIG_HUGETLBFS=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
# CONFIG_CONFIGFS_FS is not set
# CONFIG_EFIVAR_FS is not set
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ORANGEFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_RAM is not set
# CONFIG_PSTORE_BLK is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_EROFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
# CONFIG_NFS_V4 is not set
# CONFIG_NFS_SWAP is not set
# CONFIG_NFS_FSCACHE is not set
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
# CONFIG_NFSD is not set
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_SUNRPC_DEBUG is not set
# CONFIG_CEPH_FS is not set
# CONFIG_CIFS is not set
# CONFIG_SMB_SERVER is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_9P_FS=y
CONFIG_9P_FS_POSIX_ACL=y
# CONFIG_9P_FS_SECURITY is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
# CONFIG_NLS_MAC_CENTEURO is not set
# CONFIG_NLS_MAC_CROATIAN is not set
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
# CONFIG_NLS_MAC_ICELAND is not set
# CONFIG_NLS_MAC_INUIT is not set
# CONFIG_NLS_MAC_ROMANIAN is not set
# CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=y
# CONFIG_UNICODE is not set
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_KEYS_REQUEST_CACHE is not set
# CONFIG_PERSISTENT_KEYRINGS is not set
# CONFIG_TRUSTED_KEYS is not set
CONFIG_ENCRYPTED_KEYS=m
# CONFIG_USER_DECRYPTED_DATA is not set
# CONFIG_KEY_DH_OPERATIONS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_PROC_MEM_ALWAYS_FORCE=y
# CONFIG_PROC_MEM_FORCE_PTRACE is not set
# CONFIG_PROC_MEM_NO_FORCE is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
# CONFIG_INTEL_TXT is not set
# CONFIG_HARDENED_USERCOPY is not set
# CONFIG_FORTIFY_SOURCE is not set
# CONFIG_STATIC_USERMODEHELPER is not set
# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_LSM="yama,loadpin,safesetid,integrity"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
CONFIG_INIT_STACK_NONE=y
# CONFIG_INIT_STACK_ALL_PATTERN is not set
# CONFIG_INIT_STACK_ALL_ZERO is not set
# CONFIG_GCC_PLUGIN_STACKLEAK is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# CONFIG_ZERO_CALL_USED_REGS is not set
# end of Memory initialization

#
# Hardening of kernel data structures
#
CONFIG_LIST_HARDENED=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
# end of Hardening of kernel data structures

CONFIG_RANDSTRUCT_NONE=y
# CONFIG_RANDSTRUCT_FULL is not set
# CONFIG_RANDSTRUCT_PERFORMANCE is not set
# end of Kernel hardening options
# end of Security options

CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_PCRYPT is not set
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
# CONFIG_CRYPTO_TEST is not set
# end of Crypto core or helper

#
# Public-key cryptography
#
# CONFIG_CRYPTO_RSA is not set
# CONFIG_CRYPTO_DH is not set
# CONFIG_CRYPTO_ECDH is not set
# CONFIG_CRYPTO_ECDSA is not set
# CONFIG_CRYPTO_ECRDSA is not set
# CONFIG_CRYPTO_CURVE25519 is not set
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_TI is not set
# CONFIG_CRYPTO_ARIA is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_SM4_GENERIC is not set
# CONFIG_CRYPTO_TWOFISH is not set
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
# CONFIG_CRYPTO_ADIANTUM is not set
# CONFIG_CRYPTO_CHACHA20 is not set
CONFIG_CRYPTO_CBC=m
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_HCTR2 is not set
# CONFIG_CRYPTO_KEYWRAP is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
# CONFIG_CRYPTO_AEGIS128 is not set
# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set
# CONFIG_CRYPTO_ECHAINIV is not set
# CONFIG_CRYPTO_ESSIV is not set
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
# CONFIG_CRYPTO_BLAKE2B is not set
# CONFIG_CRYPTO_CMAC is not set
# CONFIG_CRYPTO_GHASH is not set
CONFIG_CRYPTO_HMAC=m
# CONFIG_CRYPTO_MD4 is not set
# CONFIG_CRYPTO_MD5 is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_POLY1305 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_SHA1 is not set
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_SHA3 is not set
# CONFIG_CRYPTO_SM3_GENERIC is not set
# CONFIG_CRYPTO_STREEBOG is not set
# CONFIG_CRYPTO_VMAC is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_XCBC is not set
CONFIG_CRYPTO_XXHASH=y
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32 is not set
CONFIG_CRYPTO_CRCT10DIF=y
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
CONFIG_CRYPTO_LZ4=y
# CONFIG_CRYPTO_LZ4HC is not set
# CONFIG_CRYPTO_ZSTD is not set
# end of Compression

#
# Random number generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_DRBG_MENU is not set
# CONFIG_CRYPTO_JITTERENTROPY is not set
# end of Random number generation

#
# Userspace interface
#
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_USER_API_RNG is not set
# CONFIG_CRYPTO_USER_API_AEAD is not set
# end of Userspace interface

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
# CONFIG_CRYPTO_CURVE25519_X86 is not set
# CONFIG_CRYPTO_AES_NI_INTEL is not set
# CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set
# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set
# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set
# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
# CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
# CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set
# CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
# CONFIG_CRYPTO_CHACHA20_X86_64 is not set
# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set
# CONFIG_CRYPTO_BLAKE2S_X86 is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
# CONFIG_CRYPTO_POLY1305_X86_64 is not set
# CONFIG_CRYPTO_SHA1_SSSE3 is not set
# CONFIG_CRYPTO_SHA256_SSSE3 is not set
# CONFIG_CRYPTO_SHA512_SSSE3 is not set
# CONFIG_CRYPTO_SM3_AVX_X86_64 is not set
# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set
# CONFIG_CRYPTO_CRC32C_INTEL is not set
# CONFIG_CRYPTO_CRC32_PCLMUL is not set
# CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set
# end of Accelerated Cryptographic Algorithms for CPU (x86)

# CONFIG_CRYPTO_HW is not set
# CONFIG_ASYMMETRIC_KEY_TYPE is not set

#
# Certificates for signature checking
#
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
# end of Certificates for signature checking

CONFIG_BINARY_PRINTF=y

#
# Library routines
#
# CONFIG_PACKING is not set
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
# CONFIG_CORDIC is not set
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
# CONFIG_CRYPTO_LIB_CHACHA is not set
# CONFIG_CRYPTO_LIB_CURVE25519 is not set
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
# CONFIG_CRYPTO_LIB_POLY1305 is not set
# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines

# CONFIG_CRC_CCITT is not set
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
# CONFIG_CRC64_ROCKSOFT is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC64 is not set
# CONFIG_CRC4 is not set
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=y
# CONFIG_CRC8 is not set
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_ARM64=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_RISCV=y
# CONFIG_XZ_DEC_MICROLZMA is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_INTERVAL_TREE=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS_HELPERS=y
CONFIG_NEED_SG_DMA_FLAGS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_DMA_NEED_SYNC=y
# CONFIG_DMA_CMA is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
# CONFIG_IRQ_POLL is not set
CONFIG_DIMLIB=y
CONFIG_OID_REGISTRY=y
CONFIG_UCS2_STRING=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_GENERIC_VDSO_OVERFLOW_PROTECT=y
CONFIG_VDSO_GETRANDOM=y
CONFIG_FONT_SUPPORT=y
CONFIG_FONT_8x16=y
CONFIG_FONT_AUTOSELECT=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_ALWAYS_INIT=y
CONFIG_STACKDEPOT_MAX_FRAMES=64
CONFIG_SBITMAP=y
# CONFIG_LWQ_TEST is not set
# end of Library routines

CONFIG_FIRMWARE_TABLE=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
# CONFIG_PRINTK_CALLER is not set
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MISC=y

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_ULEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
# CONFIG_DEBUG_INFO_DWARF4 is not set
# CONFIG_DEBUG_INFO_DWARF5 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
CONFIG_DEBUG_INFO_BTF=y
CONFIG_PAHOLE_HAS_SPLIT_BTF=y
CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y
CONFIG_DEBUG_INFO_BTF_MODULES=y
# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set
CONFIG_GDB_SCRIPTS=y
CONFIG_FRAME_WARN=2048
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
# CONFIG_HEADERS_INSTALL is not set
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
CONFIG_OBJTOOL=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_HONOUR_BLOCKLIST=y
CONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not set
# CONFIG_KGDB_LOW_LEVEL_TRAP is not set
# CONFIG_KGDB_KDB is not set
CONFIG_ARCH_HAS_EARLY_DEBUG=y
CONFIG_ARCH_HAS_UBSAN=y
# CONFIG_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
# CONFIG_NET_DEV_REFCNT_TRACKER is not set
# CONFIG_NET_NS_REFCNT_TRACKER is not set
# CONFIG_DEBUG_NET is not set
# end of Networking Debugging

#
# Memory Debugging
#
# CONFIG_PAGE_EXTENSION is not set
CONFIG_DEBUG_PAGEALLOC=y
CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT=y
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
CONFIG_SLUB_RCU_DEBUG=y
# CONFIG_PAGE_OWNER is not set
CONFIG_PAGE_POISONING=y
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
CONFIG_DEBUG_WX=y
CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_PER_VMA_LOCK_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SHRINKER_DEBUG is not set
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
CONFIG_DEBUG_VM_IRQSOFF=y
CONFIG_DEBUG_VM=y
# CONFIG_DEBUG_VM_MAPLE_TREE is not set
CONFIG_DEBUG_VM_RB=y
CONFIG_DEBUG_VM_PGFLAGS=y
CONFIG_DEBUG_VM_PGTABLE=y
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
# CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP is not set
# CONFIG_MEM_ALLOC_PROFILING is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y
CONFIG_KASAN_OUTLINE=y
# CONFIG_KASAN_INLINE is not set
CONFIG_KASAN_STACK=y
# CONFIG_KASAN_VMALLOC is not set
# CONFIG_KASAN_MODULE_TEST is not set
# CONFIG_KASAN_EXTRA_INFO is not set
CONFIG_HAVE_ARCH_KFENCE=y
# CONFIG_KFENCE is not set
CONFIG_HAVE_ARCH_KMSAN=y
# end of Memory Debugging

CONFIG_DEBUG_SHIRQ=y

#
# Debug Oops, Lockups and Hangs
#
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
# CONFIG_SOFTLOCKUP_DETECTOR_INTR_STORM is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_HARDLOCKUP_DETECTOR_PREFER_BUDDY is not set
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
# CONFIG_HARDLOCKUP_DETECTOR_BUDDY is not set
# CONFIG_HARDLOCKUP_DETECTOR_ARCH is not set
CONFIG_HARDLOCKUP_DETECTOR_COUNTS_HRTIMER=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_WQ_WATCHDOG=y
# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
# end of Scheduler Debugging

CONFIG_DEBUG_TIMEKEEPING=y
# CONFIG_DEBUG_PREEMPT is not set

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_LOCK_STAT=y
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_RWSEMS=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_LOCKDEP=y
CONFIG_LOCKDEP_BITS=15
CONFIG_LOCKDEP_CHAINS_BITS=16
CONFIG_LOCKDEP_STACK_TRACE_BITS=19
CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14
CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

CONFIG_TRACE_IRQFLAGS=y
CONFIG_TRACE_IRQFLAGS_NMI=y
# CONFIG_NMI_CHECK_CPU is not set
# CONFIG_DEBUG_IRQFLAGS is not set
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
# CONFIG_DEBUG_PLIST is not set
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
# CONFIG_DEBUG_MAPLE_TREE is not set
# end of Debug kernel data structures

#
# RCU Debugging
#
CONFIG_PROVE_RCU=y
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# end of RCU Debugging

# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_DEBUG_CGROUP_REF is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_PREEMPTIRQ_TRACEPOINTS=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_BOOTTIME_TRACING is not set
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
# CONFIG_FUNCTION_GRAPH_RETVAL is not set
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_FPROBE=y
CONFIG_FUNCTION_PROFILER=y
CONFIG_STACK_TRACER=y
CONFIG_IRQSOFF_TRACER=y
# CONFIG_PREEMPT_TRACER is not set
CONFIG_SCHED_TRACER=y
# CONFIG_HWLAT_TRACER is not set
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_TRACER_SNAPSHOT=y
CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_FPROBE_EVENTS=y
CONFIG_PROBE_EVENTS_BTF_ARGS=y
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_FTRACE_MCOUNT_RECORD=y
CONFIG_FTRACE_MCOUNT_USE_CC=y
# CONFIG_SYNTH_EVENTS is not set
# CONFIG_USER_EVENTS is not set
# CONFIG_HIST_TRIGGERS is not set
# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_RECORD_RECURSION is not set
# CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_FTRACE_SORT_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_RV is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
# CONFIG_STRICT_DEVMEM is not set

#
# x86 Debugging
#
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_EARLY_PRINTK_USB_XDBC is not set
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_DEBUG_TLBFLUSH is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
# CONFIG_DEBUG_ENTRY is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
# CONFIG_X86_DEBUG_FPU is not set
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
CONFIG_FUNCTION_ERROR_INJECTION=y
# CONFIG_FAULT_INJECTION is not set
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
# CONFIG_KCOV is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# end of Rust hacking
# end of Kernel hacking

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: KASAN error when insmod cxl_test
  2024-10-10  9:03 KASAN error when insmod cxl_test Huang, Ying
@ 2024-10-15  2:41 ` Ira Weiny
  2024-10-15  3:36 ` Dan Williams
  2024-10-15  8:39 ` Zhijian Li (Fujitsu)
  2 siblings, 0 replies; 10+ messages in thread
From: Ira Weiny @ 2024-10-15  2:41 UTC (permalink / raw)
  To: Huang, Ying, Dave Jiang; +Cc: linux-cxl

Huang, Ying wrote:
> Hi, Dave,
> 
> When I tried to test v6.12-rc2 with cxl_test in qemu, the below error is
> reported.  Revert commit a5ab0de0ebaa ("cxl: Calculate region bandwidth
> of targets with shared upstream link") can eliminate the error.

Hey Ying,

Dave is out on vacation so I'm checking on this.

I thought perhaps this was related to the Initialization errors Dan was
working on.[1]

But a quick test with his patch set did not make the error go away and
I've been side tracked with some other stuff today.  Best guess is t

I'll dig in a little more tomorrow.
Ira

Link: https://lore.kernel.org/all/172862483180.2150669.5564474284074502692.stgit@dwillia2-xfh.jf.intel.com/ [1]

> 
> Can you take a look at it?
> 
> The kernel config used to build kernel is attached.
> 
> -----------------------------8<------------------------------
> [   28.103428] ==================================================================
> [   28.104078] BUG: KASAN: slab-out-of-bounds in pcie_capability_reg_implemented+0x18/0xfb
> [   28.104635] Read of size 1 at addr ffff888008a79fb4 by task systemd-udevd/408
> [   28.105137] 
> [   28.105261] CPU: 4 UID: 0 PID: 408 Comm: systemd-udevd Tainted: G           O       6.12.0-rc2-kvm #5
> [   28.105868] Tainted: [O]=OOT_MODULE
> [   28.106201] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
> [   28.107115] Call Trace:
> [   28.107339]  <TASK>
> [   28.107526]  dump_stack_lvl+0x65/0x8c
> [   28.107803]  print_address_description.constprop.0+0x8a/0x309
> [   28.108223]  print_report+0x136/0x20f
> [   28.108493]  ? kmem_cache_debug_flags+0x16/0x23
> [   28.108836]  ? fixup_red_left+0x17/0x27
> [   28.109262]  ? pcie_capability_reg_implemented+0x18/0xfb
> [   28.109806]  kasan_report+0x85/0xa7
> [   28.110184]  ? pcie_capability_reg_implemented+0x18/0xfb
> [   28.110693]  pcie_capability_reg_implemented+0x18/0xfb
> [   28.111211]  pcie_capability_read_word+0x38/0xaa
> [   28.111653]  ? __free_kfree+0x9/0x22 [cxl_core]
> [   28.112194]  pcie_link_speed_mbps+0x54/0xae
> [   28.112594]  ? pcie_get_mps+0x6d/0x6d
> [   28.113037]  cxl_pci_get_bandwidth+0x58/0xd3 [cxl_core]
> [   28.113645]  ? cxl_pci_get_latency+0xac/0xac [cxl_core]
> [   28.114192]  ? _raw_spin_unlock+0x1f/0x2f
> [   28.114683]  ? xa_store+0x3b/0x45
> [   28.115109]  cxl_endpoint_gather_bandwidth.constprop.0+0x2bf/0x352 [cxl_core]
> [   28.116017]  ? cxl_hb_gather_bandwidth+0x205/0x205 [cxl_core]
> [   28.116967]  ? __module_address+0xe7/0xff
> [   28.117673]  ? is_module_address+0x11/0x26
> [   28.118419]  ? static_obj+0x7f/0x90
> [   28.119016]  ? lockdep_init_map_type+0x22e/0x305
> [   28.120557]  ? __raw_spin_lock_init+0x73/0x83
> [   28.121707]  cxl_region_shared_upstream_bandwidth_update+0x12c/0x491 [cxl_core]
> [   28.123434]  ? cxl_endpoint_gather_bandwidth.constprop.0+0x352/0x352 [cxl_core]
> [   28.124622]  ? check_last_peer+0x228/0x2c5 [cxl_core]
> [   28.125273]  ? xa_set_mark+0x34/0x34
> [   28.125717]  ? cxl_region_setup_targets+0x3a/0x1b8 [cxl_core]
> [   28.126417]  cxl_region_attach+0x8cb/0xb05 [cxl_core]
> [   28.127049]  attach_target+0x49/0x6f [cxl_core]
> [   28.127631]  cxl_add_to_region+0x15a/0x1d6 [cxl_core]
> [   28.128262]  ? schedule_detach+0xa/0xa [cxl_port]
> [   28.128790]  discover_region+0x5d/0xb6 [cxl_port]
> [   28.129327]  ? next_device+0x20/0x2d
> [   28.129767]  device_for_each_child+0x8f/0xc0
> [   28.130243]  ? next_device+0x2d/0x2d
> [   28.130644]  ? kobject_get+0x47/0x75
> [   28.131051]  cxl_port_probe+0x19f/0x272 [cxl_port]
> [   28.131573]  ? discover_region+0xb6/0xb6 [cxl_port]
> [   28.132117]  ? kernfs_put+0x19/0x2b
> [   28.132509]  ? sysfs_do_create_link_sd+0x7a/0xbc
> [   28.133016]  cxl_bus_probe+0x27/0x54 [cxl_core]
> [   28.133611]  ? really_probe+0x194/0x43d
> [   28.134064]  really_probe+0x1e4/0x43d
> [   28.134483]  ? driver_probe_device+0xc0/0xc0
> [   28.134969]  driver_probe_device+0x4a/0xc0
> [   28.135430]  __device_attach_driver+0xd7/0x102
> [   28.135932]  bus_for_each_drv+0xf2/0x116
> [   28.136374]  ? bus_rescan_devices+0x15/0x15
> [   28.136849]  __device_attach+0x10c/0x19c
> [   28.137300]  ? device_bind_driver+0x39/0x39
> [   28.137787]  ? bus_to_subsys+0xad/0xb9
> [   28.138213]  bus_probe_device+0x4e/0xd3
> [   28.138656]  device_add+0x55b/0x791
> [   28.139056]  ? get_device_parent+0x20a/0x20a
> [   28.139539]  ? rcu_read_unlock+0x51/0x5b
> [   28.139996]  devm_cxl_add_port+0x20a/0x49c [cxl_core]
> [   28.140642]  ? cxl_port_alloc+0x430/0x430 [cxl_core]
> [   28.141271]  cxl_mem_probe+0x3b9/0x47c [cxl_mem]
> [   28.141806]  ? __devm_add_action_or_reset+0x26/0x26 [cxl_mem]
> [   28.142447]  ? sysfs_do_create_link_sd+0x7a/0xbc
> [   28.142969]  cxl_bus_probe+0x27/0x54 [cxl_core]
> [   28.143540]  ? really_probe+0x194/0x43d
> [   28.143999]  really_probe+0x1e4/0x43d
> [   28.144418]  ? driver_probe_device+0xc0/0xc0
> [   28.144902]  driver_probe_device+0x4a/0xc0
> [   28.145353]  __device_attach_driver+0xd7/0x102
> [   28.145629]  bus_for_each_drv+0xf2/0x116
> [   28.145865]  ? bus_rescan_devices+0x15/0x15
> [   28.146115]  __device_attach+0x10c/0x19c
> [   28.146351]  ? device_bind_driver+0x39/0x39
> [   28.146614]  ? bus_to_subsys+0xad/0xb9
> [   28.146839]  bus_probe_device+0x4e/0xd3
> [   28.147069]  device_add+0x55b/0x791
> [   28.147306]  ? get_device_parent+0x20a/0x20a
> [   28.147568]  ? kobject_get+0x47/0x75
> [   28.147784]  cdev_device_add+0x31/0x89
> [   28.148015]  devm_cxl_add_memdev+0x26e/0x2d7 [cxl_core]
> [   28.148369]  cxl_mock_mem_probe+0x2f3/0x33b [cxl_mock_mem]
> [   28.148694]  platform_probe+0x3d/0x7a
> [   28.148914]  really_probe+0x1e4/0x43d
> [   28.149133]  ? __device_attach_driver+0x102/0x102
> [   28.149420]  driver_probe_device+0x4a/0xc0
> [   28.149669]  __driver_attach+0x19c/0x1bb
> [   28.149912]  bus_for_each_dev+0xc7/0x101
> [   28.150152]  ? bus_register+0x2d4/0x2d4
> [   28.150387]  ? bus_add_driver+0x137/0x2cc
> [   28.150648]  bus_add_driver+0x19d/0x2cc
> [   28.150881]  driver_register+0x12c/0x17d
> [   28.151111]  ? 0xffffffffc0ac8000
> [   28.151307]  do_one_initcall+0x139/0x2da
> [   28.151538]  ? rcu_lock_acquire.constprop.0+0x25/0x25
> [   28.151826]  ? unpoison_slab_object+0x1b/0x38
> [   28.152100]  ? __kasan_slab_alloc+0x37/0x41
> [   28.152342]  ? rcu_is_watching+0x1c/0x38
> [   28.152572]  ? poison_kmalloc_redzone+0x44/0x65
> [   28.152835]  ? kasan_unpoison+0x26/0x31
> [   28.153058]  ? __asan_register_globals+0x55/0x60
> [   28.153338]  do_init_module+0x118/0x388
> [   28.153576]  init_module_from_file+0xc2/0xe4
> [   28.153838]  ? __ia32_sys_init_module+0x40/0x40
> [   28.154127]  ? do_raw_spin_unlock+0xce/0xd6
> [   28.154370]  idempotent_init_module+0x1ea/0x3c0
> [   28.154634]  ? init_module_from_file+0xe4/0xe4
> [   28.154892]  ? __seccomp_filter+0xf5/0x4f2
> [   28.155135]  ? files_lookup_fd_raw+0x40/0x4b
> [   28.155386]  __do_sys_finit_module+0x68/0x82
> [   28.155636]  do_syscall_64+0x9a/0xfd
> [   28.155848]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> [   28.156145] RIP: 0033:0x7f2239ce4559
> [   28.156355] Code: 08 89 e8 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 77 08 0d 00 f7 d8 64 89 01 48
> [   28.157428] RSP: 002b:00007fffd30e95d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
> [   28.157858] RAX: ffffffffffffffda RBX: 000055fd0ed12110 RCX: 00007f2239ce4559
> [   28.158260] RDX: 0000000000000000 RSI: 00007f2239e67e2d RDI: 0000000000000006
> [   28.158661] RBP: 0000000000020000 R08: 0000000000000000 R09: 000055fd0ed13b28
> [   28.159063] R10: 0000000000000006 R11: 0000000000000246 R12: 00007f2239e67e2d
> [   28.159465] R13: 0000000000000000 R14: 000055fd0ed13180 R15: 000055fd0ed12110
> [   28.159870]  </TASK>
> [   28.160003] 
> [   28.160098] Allocated by task 385:
> [   28.160298]  stack_trace_save+0x7c/0x94
> [   28.160523]  kasan_save_stack+0x1c/0x34
> [   28.160763]  kasan_save_track+0x10/0x25
> [   28.160997]  __kasan_kmalloc+0x3a/0x43
> [   28.161222]  __kmalloc_node_track_caller_noprof+0x1fd/0x22d
> [   28.161562]  kmalloc_reserve+0xe6/0x130
> [   28.161797]  __alloc_skb+0x109/0x1b8
> [   28.162018]  alloc_uevent_skb+0x55/0xe2
> [   28.162254]  kobject_uevent_net_broadcast+0x11d/0x265
> [   28.162565]  kobject_uevent_env+0x534/0x6d3
> [   28.162806]  device_add+0x4da/0x791
> [   28.163011]  platform_device_add+0x248/0x2dd
> [   28.163258]  0xffffffffc0b40708
> [   28.163446]  do_one_initcall+0x139/0x2da
> [   28.163673]  do_init_module+0x118/0x388
> [   28.163933]  init_module_from_file+0xc2/0xe4
> [   28.164312]  idempotent_init_module+0x1ea/0x3c0
> [   28.164665]  __do_sys_finit_module+0x68/0x82
> [   28.164992]  do_syscall_64+0x9a/0xfd
> [   28.165295]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> [   28.165634] 
> [   28.165767] Freed by task 168:
> [   28.165968]  stack_trace_save+0x7c/0x94
> [   28.166207]  kasan_save_stack+0x1c/0x34
> [   28.166442]  kasan_save_track+0x10/0x25
> [   28.166669]  kasan_save_free_info+0x3b/0x41
> [   28.166912]  __kasan_slab_free+0x18/0x2a
> [   28.167150]  kfree+0x206/0x26a
> [   28.167388]  skb_release_data+0x152/0x16e
> [   28.167636]  __kfree_skb+0x14/0x1e
> [   28.167834]  netlink_recvmsg+0x2b2/0x503
> [   28.168066]  sock_recvmsg_nosec+0x48/0x80
> [   28.168305]  ____sys_recvmsg+0x10c/0x1fa
> [   28.168542]  ___sys_recvmsg+0xc7/0x103
> [   28.168762]  __sys_recvmsg+0xb7/0x113
> [   28.168978]  do_syscall_64+0x9a/0xfd
> [   28.169188]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> [   28.169504] 
> [   28.169599] The buggy address belongs to the object at ffff888008a79800
> [   28.169599]  which belongs to the cache kmalloc-1k of size 1024
> [   28.170285] The buggy address is located 948 bytes to the right of
> [   28.170285]  allocated 1024-byte region [ffff888008a79800, ffff888008a79c00)
> [   28.171055] 
> [   28.171152] The buggy address belongs to the physical page:
> [   28.171487] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888008a7f800 pfn:0x8a78
> [   28.172060] head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
> [   28.172539] flags: 0xffffc000000240(workingset|head|node=0|zone=1|lastcpupid=0x1ffff)
> [   28.173104] page_type: f5(slab)
> [   28.173343] raw: 00ffffc000000240 ffff888001042dc0 ffffea0000226410 ffffea00002f3010
> [   28.173822] raw: ffff888008a7f800 0000000000100008 00000001f5000000 0000000000000000
> [   28.174308] head: 00ffffc000000240 ffff888001042dc0 ffffea0000226410 ffffea00002f3010
> [   28.174733] head: ffff888008a7f800 0000000000100008 00000001f5000000 0000000000000000
> [   28.175177] head: 00ffffc000000003 ffffea0000229e01 ffffffffffffffff 0000000000000000
> [   28.175631] head: 0000000000000008 0000000000000000 00000000ffffffff 0000000000000000
> [   28.176074] page dumped because: kasan: bad access detected
> [   28.176391] 
> [   28.176484] Memory state around the buggy address:
> [   28.176746]  ffff888008a79e80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> [   28.177121]  ffff888008a79f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> [   28.177612] >ffff888008a79f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> [   28.178011]                                      ^
> [   28.178286]  ffff888008a7a000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [   28.178671]  ffff888008a7a080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [   28.179183] ==================================================================
> 
> --
> Best Regards,
> Huang, Ying



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: KASAN error when insmod cxl_test
  2024-10-10  9:03 KASAN error when insmod cxl_test Huang, Ying
  2024-10-15  2:41 ` Ira Weiny
@ 2024-10-15  3:36 ` Dan Williams
  2024-10-15  4:56   ` Huang, Ying
  2024-10-15 14:34   ` Ira Weiny
  2024-10-15  8:39 ` Zhijian Li (Fujitsu)
  2 siblings, 2 replies; 10+ messages in thread
From: Dan Williams @ 2024-10-15  3:36 UTC (permalink / raw)
  To: Huang, Ying, Dave Jiang; +Cc: linux-cxl

Huang, Ying wrote:
> Hi, Dave,
> 
> When I tried to test v6.12-rc2 with cxl_test in qemu, the below error is
> reported.  Revert commit a5ab0de0ebaa ("cxl: Calculate region bandwidth
> of targets with shared upstream link") can eliminate the error.
> 
> Can you take a look at it?

Does the same reproduce with "modprobe cxl_test"? I worry that direct
'insmod' usage results in cases where it proceeds with the wrong
dependencies. I.e. I never test with insmod, only modprobe, and my
v6.12-rc2 testing so far has not hit this.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: KASAN error when insmod cxl_test
  2024-10-15  3:36 ` Dan Williams
@ 2024-10-15  4:56   ` Huang, Ying
  2024-10-15 14:34   ` Ira Weiny
  1 sibling, 0 replies; 10+ messages in thread
From: Huang, Ying @ 2024-10-15  4:56 UTC (permalink / raw)
  To: Dan Williams; +Cc: Dave Jiang, linux-cxl, Ira Weiny

Dan Williams <dan.j.williams@intel.com> writes:

> Huang, Ying wrote:
>> Hi, Dave,
>> 
>> When I tried to test v6.12-rc2 with cxl_test in qemu, the below error is
>> reported.  Revert commit a5ab0de0ebaa ("cxl: Calculate region bandwidth
>> of targets with shared upstream link") can eliminate the error.
>> 
>> Can you take a look at it?
>
> Does the same reproduce with "modprobe cxl_test"?

I used "modprobe cxl_test" to test.

> I worry that direct
> 'insmod' usage results in cases where it proceeds with the wrong
> dependencies. I.e. I never test with insmod, only modprobe, and my
> v6.12-rc2 testing so far has not hit this.

One possible reason is the difference in .config.

--
Best Regards,
Huang, Ying

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: KASAN error when insmod cxl_test
  2024-10-10  9:03 KASAN error when insmod cxl_test Huang, Ying
  2024-10-15  2:41 ` Ira Weiny
  2024-10-15  3:36 ` Dan Williams
@ 2024-10-15  8:39 ` Zhijian Li (Fujitsu)
  2024-10-15  9:41   ` Zhijian Li (Fujitsu)
  2 siblings, 1 reply; 10+ messages in thread
From: Zhijian Li (Fujitsu) @ 2024-10-15  8:39 UTC (permalink / raw)
  To: Huang, Ying, Dave Jiang; +Cc: linux-cxl@vger.kernel.org


All,

I encountered a panic with similar calltrace

I guessed I have root cause this, it was introduced since commit

commit a5ab0de0ebaa65e0a75ec0761a2745c66a9d17dc
Author: Dave Jiang <dave.jiang@intel.com>
Date:   Tue Sep 3 17:11:51 2024 -0700

     cxl: Calculate region bandwidth of targets with shared upstream link


Which calls cxl_region_shared_upstream_bandwidth_update(cxlr).
However, the cxl_region_shared_upstream_bandwidth_update(cxlr) works on PCI/PCIE device only
while the cxl_test was implemented by platform device.

I'm cooking and testing below patch

index ef1621d40f05..3eb27cfe43ed 100644
--- a/drivers/cxl/core/cdat.c
+++ b/drivers/cxl/core/cdat.c
@@ -5,6 +5,7 @@
  #include <linux/fw_table.h>
  #include <linux/node.h>
  #include <linux/overflow.h>
+#include <linux/platform_device.h>
  #include "cxlpci.h"
  #include "cxlmem.h"
  #include "core.h"
@@ -641,9 +642,13 @@ static int cxl_endpoint_gather_bandwidth(struct cxl_region *cxlr,
         void *ptr;
         int rc;

         if (cxlds->rcd)
                 return -ENODEV;
  
+       if (dev_is_platform(cxlds->dev))
+               return -ENODEV;
+

=======================
reproducer:
$ while true; do meson test cxl-create-region.sh; done

====================
[ 1174.878672] platform cxl_host_bridge.3: host supports CXL (restricted)
[ 1175.532274] Oops: general protection fault, probably for non-canonical address 0x3ef17856fcae4fbd: 0000 [#1] PREEMPT SMP PTI
[ 1175.532300] CPU: 1 UID: 0 PID: 9167 Comm: cxl Kdump: loaded Tainted: G           OE      6.12.0-rc3-master+ #66
[ 1175.532316] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
[ 1175.532325] Hardware name: LENOVO 90CXCTO1WW/, BIOS FCKT70AUS 04/23/2015
[ 1175.532335] RIP: 0010:pci_bus_read_config_word+0x1c/0x60
[ 1175.532346] Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 53 b8 87 00 00 00 48 83 ec 08 c7 44 24 04 00 00 00 00 f6 c2 01 75 29 <48> 8b 87 c0 00 00 00 48 89 cb 4c 8d 44 24 04 b9 02 00 00 00 48 8b
[ 1175.532370] RSP: 0018:ffffa115034dfbb8 EFLAGS: 00010246
[ 1175.532379] RAX: 0000000000000087 RBX: 0000000000000012 RCX: ffffa115034dfbfe
[ 1175.532390] RDX: 0000000000000016 RSI: 000000006f4e2f4e RDI: 3ef17856fcae4efd
[ 1175.532401] RBP: ffff8cc229121b48 R08: 0000000000000010 R09: 0000000000000000
[ 1175.532412] R10: 0000000000000001 R11: ffff8cc225434360 R12: ffffa115034dfbfe
[ 1175.532422] R13: 0000000000000000 R14: ffff8cc2f119a080 R15: ffffa115034dfc50
[ 1175.532433] FS:  00007f31d93537c0(0000) GS:ffff8cc510a80000(0000) knlGS:0000000000000000
[ 1175.532445] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1175.532455] CR2: 00007f31d95f3370 CR3: 00000001163ea001 CR4: 00000000001726f0
[ 1175.532465] Call Trace:
[ 1175.532472]  <TASK>
[ 1175.532478]  ? __die_body.cold+0x19/0x27
[ 1175.532488]  ? die_addr+0x38/0x60
[ 1175.532496]  ? exc_general_protection+0x1f5/0x4b0
[ 1175.532507]  ? asm_exc_general_protection+0x22/0x30
[ 1175.532519]  ? pci_bus_read_config_word+0x1c/0x60
[ 1175.532528]  pcie_capability_read_word+0x93/0xb0
[ 1175.532538]  pcie_link_speed_mbps+0x18/0x50
[ 1175.532548]  cxl_pci_get_bandwidth+0x18/0x60 [cxl_core]
[ 1175.532575]  cxl_endpoint_gather_bandwidth.constprop.0+0xf4/0x230 [cxl_core]
[ 1175.532596]  ? xas_store+0x54/0x660
[ 1175.532605]  ? preempt_count_add+0x69/0xa0
[ 1175.532615]  ? _raw_spin_lock+0x13/0x40
[ 1175.532623]  ? __kmalloc_cache_noprof+0xe7/0x270
[ 1175.532632]  cxl_region_shared_upstream_bandwidth_update+0x9c/0x790 [cxl_core]
[ 1175.532653]  cxl_region_attach+0x520/0x7e0 [cxl_core]
[ 1175.532672]  store_targetN+0xf2/0x120 [cxl_core]
[ 1175.532690]  kernfs_fop_write_iter+0x13a/0x1f0
[ 1175.532699]  vfs_write+0x23b/0x410
[ 1175.532707]  ksys_write+0x53/0xd0
[ 1175.532714]  do_syscall_64+0x62/0x180
[ 1175.532724]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 1175.532734] RIP: 0033:0x7f31d9611834
[ 1175.532742] Code: c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 80 3d 15 f8 0d 00 00 74 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 55 48 89 e5 48 83 ec 20 48 89
[ 1175.532764] RSP: 002b:00007ffc382f7ff8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
[ 1175.532776] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f31d9611834
[ 1175.532787] RDX: 000000000000000c RSI: 000000003ed90593 RDI: 0000000000000003
[ 1175.532797] RBP: 00007ffc382f8030 R08: 0000000000000064 R09: 00000000ffffffff
[ 1175.532808] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000006
[ 1175.532818] R13: 0000000000000000 R14: 00007f31d97c4000 R15: 0000000000428d80
[ 1175.532830]  </TASK>
[ 1175.532835] Modules linked in: device_dax(OE) kmem dax_cxl cxl_mock_mem(OE) cxl_test(OE) cxl_mem(OE) cxl_port(OE) cxl_pmem(OE) cxl_acpi(OE) cxl_mock(OE) cxl_core(OE) xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_nat_tftp nf_conntrack_tftp bridge stp llc nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat ip6table_nat ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_raw iptable_security ip_set nf_tables ip6table_filter iptable_filter rfkill intel_rapl_msr intel_rapl_common sunrpc x86_pkg_temp_thermal snd_hda_codec_realtek intel_powerclamp snd_hda_codec_generic coretemp snd_hda_scodec_component kvm_intel snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_hda_codec kvm snd_hwdep snd_hda_core snd_seq snd_seq_device snd_pcm snd_timer snd rapl mei_hdcp intel_cstate soundcore iTCO_wdt mei_me at24 intel_pmc_bxt intel_uncore iTCO_vendor_support i2c_i801 wmi_bmof
[ 1175.532885]  pcspkr mei i2c_smbus lpc_ich loop nfnetlink zram xfs i915 i2c_algo_bit drm_buddy ttm drm_display_helper dax_pmem(OE) nd_pmem(OE) nd_btt(OE) drm_kms_helper nd_e820(OE) libnvdimm(OE) crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel drm nfit_test_iomap(OE) r8169 video wmi serio_raw ip6_tables ip_tables pkcs8_key_parser fuse
[ 1175.533043] ---[ end trace 0000000000000000 ]---
[ 1175.533055] RIP: 0010:pci_bus_read_config_word+0x1c/0x60
[ 1175.533065] Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 53 b8 87 00 00 00 48 83 ec 08 c7 44 24 04 00 00 00 00 f6 c2 01 75 29 <48> 8b 87 c0 00 00 00 48 89 cb 4c 8d 44 24 04 b9 02 00 00 00 48 8b
[ 1175.533088] RSP: 0018:ffffa115034dfbb8 EFLAGS: 00010246
[ 1175.533097] RAX: 0000000000000087 RBX: 0000000000000012 RCX: ffffa115034dfbfe
[ 1175.533108] RDX: 0000000000000016 RSI: 000000006f4e2f4e RDI: 3ef17856fcae4efd
[ 1175.533119] RBP: ffff8cc229121b48 R08: 0000000000000010 R09: 0000000000000000
[ 1175.533840] R10: 0000000000000001 R11: ffff8cc225434360 R12: ffffa115034dfbfe
[ 1175.534567] R13: 0000000000000000 R14: ffff8cc2f119a080 R15: ffffa115034dfc50
[ 1175.535295] FS:  00007f31d93537c0(0000) GS:ffff8cc510a80000(0000) knlGS:0000000000000000
[ 1175.536015] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1175.536720] CR2: 00007f31d95f3370 CR3: 00000001163ea001 CR4: 00000000001726f0
[ 1176.146160] PEFILE: Unsigned PE binary


Thanks
Zhijian



On 10/10/2024 17:03, Huang, Ying wrote:
> Hi, Dave,
> 
> When I tried to test v6.12-rc2 with cxl_test in qemu, the below error is
> reported.  Revert commit a5ab0de0ebaa ("cxl: Calculate region bandwidth
> of targets with shared upstream link") can eliminate the error.
> 
> Can you take a look at it?
> 
> The kernel config used to build kernel is attached.
> 
> -----------------------------8<------------------------------
> [   28.103428] ==================================================================
> [   28.104078] BUG: KASAN: slab-out-of-bounds in pcie_capability_reg_implemented+0x18/0xfb
> [   28.104635] Read of size 1 at addr ffff888008a79fb4 by task systemd-udevd/408
> [   28.105137]
> [   28.105261] CPU: 4 UID: 0 PID: 408 Comm: systemd-udevd Tainted: G           O       6.12.0-rc2-kvm #5
> [   28.105868] Tainted: [O]=OOT_MODULE
> [   28.106201] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
> [   28.107115] Call Trace:
> [   28.107339]  <TASK>
> [   28.107526]  dump_stack_lvl+0x65/0x8c
> [   28.107803]  print_address_description.constprop.0+0x8a/0x309
> [   28.108223]  print_report+0x136/0x20f
> [   28.108493]  ? kmem_cache_debug_flags+0x16/0x23
> [   28.108836]  ? fixup_red_left+0x17/0x27
> [   28.109262]  ? pcie_capability_reg_implemented+0x18/0xfb
> [   28.109806]  kasan_report+0x85/0xa7
> [   28.110184]  ? pcie_capability_reg_implemented+0x18/0xfb
> [   28.110693]  pcie_capability_reg_implemented+0x18/0xfb
> [   28.111211]  pcie_capability_read_word+0x38/0xaa
> [   28.111653]  ? __free_kfree+0x9/0x22 [cxl_core]
> [   28.112194]  pcie_link_speed_mbps+0x54/0xae
> [   28.112594]  ? pcie_get_mps+0x6d/0x6d
> [   28.113037]  cxl_pci_get_bandwidth+0x58/0xd3 [cxl_core]
> [   28.113645]  ? cxl_pci_get_latency+0xac/0xac [cxl_core]
> [   28.114192]  ? _raw_spin_unlock+0x1f/0x2f
> [   28.114683]  ? xa_store+0x3b/0x45
> [   28.115109]  cxl_endpoint_gather_bandwidth.constprop.0+0x2bf/0x352 [cxl_core]
> [   28.116017]  ? cxl_hb_gather_bandwidth+0x205/0x205 [cxl_core]
> [   28.116967]  ? __module_address+0xe7/0xff
> [   28.117673]  ? is_module_address+0x11/0x26
> [   28.118419]  ? static_obj+0x7f/0x90
> [   28.119016]  ? lockdep_init_map_type+0x22e/0x305
> [   28.120557]  ? __raw_spin_lock_init+0x73/0x83
> [   28.121707]  cxl_region_shared_upstream_bandwidth_update+0x12c/0x491 [cxl_core]
> [   28.123434]  ? cxl_endpoint_gather_bandwidth.constprop.0+0x352/0x352 [cxl_core]
> [   28.124622]  ? check_last_peer+0x228/0x2c5 [cxl_core]
> [   28.125273]  ? xa_set_mark+0x34/0x34
> [   28.125717]  ? cxl_region_setup_targets+0x3a/0x1b8 [cxl_core]
> [   28.126417]  cxl_region_attach+0x8cb/0xb05 [cxl_core]
> [   28.127049]  attach_target+0x49/0x6f [cxl_core]
> [   28.127631]  cxl_add_to_region+0x15a/0x1d6 [cxl_core]
> [   28.128262]  ? schedule_detach+0xa/0xa [cxl_port]
> [   28.128790]  discover_region+0x5d/0xb6 [cxl_port]
> [   28.129327]  ? next_device+0x20/0x2d
> [   28.129767]  device_for_each_child+0x8f/0xc0
> [   28.130243]  ? next_device+0x2d/0x2d
> [   28.130644]  ? kobject_get+0x47/0x75
> [   28.131051]  cxl_port_probe+0x19f/0x272 [cxl_port]
> [   28.131573]  ? discover_region+0xb6/0xb6 [cxl_port]
> [   28.132117]  ? kernfs_put+0x19/0x2b
> [   28.132509]  ? sysfs_do_create_link_sd+0x7a/0xbc
> [   28.133016]  cxl_bus_probe+0x27/0x54 [cxl_core]
> [   28.133611]  ? really_probe+0x194/0x43d
> [   28.134064]  really_probe+0x1e4/0x43d
> [   28.134483]  ? driver_probe_device+0xc0/0xc0
> [   28.134969]  driver_probe_device+0x4a/0xc0
> [   28.135430]  __device_attach_driver+0xd7/0x102
> [   28.135932]  bus_for_each_drv+0xf2/0x116
> [   28.136374]  ? bus_rescan_devices+0x15/0x15
> [   28.136849]  __device_attach+0x10c/0x19c
> [   28.137300]  ? device_bind_driver+0x39/0x39
> [   28.137787]  ? bus_to_subsys+0xad/0xb9
> [   28.138213]  bus_probe_device+0x4e/0xd3
> [   28.138656]  device_add+0x55b/0x791
> [   28.139056]  ? get_device_parent+0x20a/0x20a
> [   28.139539]  ? rcu_read_unlock+0x51/0x5b
> [   28.139996]  devm_cxl_add_port+0x20a/0x49c [cxl_core]
> [   28.140642]  ? cxl_port_alloc+0x430/0x430 [cxl_core]
> [   28.141271]  cxl_mem_probe+0x3b9/0x47c [cxl_mem]
> [   28.141806]  ? __devm_add_action_or_reset+0x26/0x26 [cxl_mem]
> [   28.142447]  ? sysfs_do_create_link_sd+0x7a/0xbc
> [   28.142969]  cxl_bus_probe+0x27/0x54 [cxl_core]
> [   28.143540]  ? really_probe+0x194/0x43d
> [   28.143999]  really_probe+0x1e4/0x43d
> [   28.144418]  ? driver_probe_device+0xc0/0xc0
> [   28.144902]  driver_probe_device+0x4a/0xc0
> [   28.145353]  __device_attach_driver+0xd7/0x102
> [   28.145629]  bus_for_each_drv+0xf2/0x116
> [   28.145865]  ? bus_rescan_devices+0x15/0x15
> [   28.146115]  __device_attach+0x10c/0x19c
> [   28.146351]  ? device_bind_driver+0x39/0x39
> [   28.146614]  ? bus_to_subsys+0xad/0xb9
> [   28.146839]  bus_probe_device+0x4e/0xd3
> [   28.147069]  device_add+0x55b/0x791
> [   28.147306]  ? get_device_parent+0x20a/0x20a
> [   28.147568]  ? kobject_get+0x47/0x75
> [   28.147784]  cdev_device_add+0x31/0x89
> [   28.148015]  devm_cxl_add_memdev+0x26e/0x2d7 [cxl_core]
> [   28.148369]  cxl_mock_mem_probe+0x2f3/0x33b [cxl_mock_mem]
> [   28.148694]  platform_probe+0x3d/0x7a
> [   28.148914]  really_probe+0x1e4/0x43d
> [   28.149133]  ? __device_attach_driver+0x102/0x102
> [   28.149420]  driver_probe_device+0x4a/0xc0
> [   28.149669]  __driver_attach+0x19c/0x1bb
> [   28.149912]  bus_for_each_dev+0xc7/0x101
> [   28.150152]  ? bus_register+0x2d4/0x2d4
> [   28.150387]  ? bus_add_driver+0x137/0x2cc
> [   28.150648]  bus_add_driver+0x19d/0x2cc
> [   28.150881]  driver_register+0x12c/0x17d
> [   28.151111]  ? 0xffffffffc0ac8000
> [   28.151307]  do_one_initcall+0x139/0x2da
> [   28.151538]  ? rcu_lock_acquire.constprop.0+0x25/0x25
> [   28.151826]  ? unpoison_slab_object+0x1b/0x38
> [   28.152100]  ? __kasan_slab_alloc+0x37/0x41
> [   28.152342]  ? rcu_is_watching+0x1c/0x38
> [   28.152572]  ? poison_kmalloc_redzone+0x44/0x65
> [   28.152835]  ? kasan_unpoison+0x26/0x31
> [   28.153058]  ? __asan_register_globals+0x55/0x60
> [   28.153338]  do_init_module+0x118/0x388
> [   28.153576]  init_module_from_file+0xc2/0xe4
> [   28.153838]  ? __ia32_sys_init_module+0x40/0x40
> [   28.154127]  ? do_raw_spin_unlock+0xce/0xd6
> [   28.154370]  idempotent_init_module+0x1ea/0x3c0
> [   28.154634]  ? init_module_from_file+0xe4/0xe4
> [   28.154892]  ? __seccomp_filter+0xf5/0x4f2
> [   28.155135]  ? files_lookup_fd_raw+0x40/0x4b
> [   28.155386]  __do_sys_finit_module+0x68/0x82
> [   28.155636]  do_syscall_64+0x9a/0xfd
> [   28.155848]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> [   28.156145] RIP: 0033:0x7f2239ce4559
> [   28.156355] Code: 08 89 e8 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 77 08 0d 00 f7 d8 64 89 01 48
> [   28.157428] RSP: 002b:00007fffd30e95d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
> [   28.157858] RAX: ffffffffffffffda RBX: 000055fd0ed12110 RCX: 00007f2239ce4559
> [   28.158260] RDX: 0000000000000000 RSI: 00007f2239e67e2d RDI: 0000000000000006
> [   28.158661] RBP: 0000000000020000 R08: 0000000000000000 R09: 000055fd0ed13b28
> [   28.159063] R10: 0000000000000006 R11: 0000000000000246 R12: 00007f2239e67e2d
> [   28.159465] R13: 0000000000000000 R14: 000055fd0ed13180 R15: 000055fd0ed12110
> [   28.159870]  </TASK>
> [   28.160003]
> [   28.160098] Allocated by task 385:
> [   28.160298]  stack_trace_save+0x7c/0x94
> [   28.160523]  kasan_save_stack+0x1c/0x34
> [   28.160763]  kasan_save_track+0x10/0x25
> [   28.160997]  __kasan_kmalloc+0x3a/0x43
> [   28.161222]  __kmalloc_node_track_caller_noprof+0x1fd/0x22d
> [   28.161562]  kmalloc_reserve+0xe6/0x130
> [   28.161797]  __alloc_skb+0x109/0x1b8
> [   28.162018]  alloc_uevent_skb+0x55/0xe2
> [   28.162254]  kobject_uevent_net_broadcast+0x11d/0x265
> [   28.162565]  kobject_uevent_env+0x534/0x6d3
> [   28.162806]  device_add+0x4da/0x791
> [   28.163011]  platform_device_add+0x248/0x2dd
> [   28.163258]  0xffffffffc0b40708
> [   28.163446]  do_one_initcall+0x139/0x2da
> [   28.163673]  do_init_module+0x118/0x388
> [   28.163933]  init_module_from_file+0xc2/0xe4
> [   28.164312]  idempotent_init_module+0x1ea/0x3c0
> [   28.164665]  __do_sys_finit_module+0x68/0x82
> [   28.164992]  do_syscall_64+0x9a/0xfd
> [   28.165295]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> [   28.165634]
> [   28.165767] Freed by task 168:
> [   28.165968]  stack_trace_save+0x7c/0x94
> [   28.166207]  kasan_save_stack+0x1c/0x34
> [   28.166442]  kasan_save_track+0x10/0x25
> [   28.166669]  kasan_save_free_info+0x3b/0x41
> [   28.166912]  __kasan_slab_free+0x18/0x2a
> [   28.167150]  kfree+0x206/0x26a
> [   28.167388]  skb_release_data+0x152/0x16e
> [   28.167636]  __kfree_skb+0x14/0x1e
> [   28.167834]  netlink_recvmsg+0x2b2/0x503
> [   28.168066]  sock_recvmsg_nosec+0x48/0x80
> [   28.168305]  ____sys_recvmsg+0x10c/0x1fa
> [   28.168542]  ___sys_recvmsg+0xc7/0x103
> [   28.168762]  __sys_recvmsg+0xb7/0x113
> [   28.168978]  do_syscall_64+0x9a/0xfd
> [   28.169188]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> [   28.169504]
> [   28.169599] The buggy address belongs to the object at ffff888008a79800
> [   28.169599]  which belongs to the cache kmalloc-1k of size 1024
> [   28.170285] The buggy address is located 948 bytes to the right of
> [   28.170285]  allocated 1024-byte region [ffff888008a79800, ffff888008a79c00)
> [   28.171055]
> [   28.171152] The buggy address belongs to the physical page:
> [   28.171487] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888008a7f800 pfn:0x8a78
> [   28.172060] head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
> [   28.172539] flags: 0xffffc000000240(workingset|head|node=0|zone=1|lastcpupid=0x1ffff)
> [   28.173104] page_type: f5(slab)
> [   28.173343] raw: 00ffffc000000240 ffff888001042dc0 ffffea0000226410 ffffea00002f3010
> [   28.173822] raw: ffff888008a7f800 0000000000100008 00000001f5000000 0000000000000000
> [   28.174308] head: 00ffffc000000240 ffff888001042dc0 ffffea0000226410 ffffea00002f3010
> [   28.174733] head: ffff888008a7f800 0000000000100008 00000001f5000000 0000000000000000
> [   28.175177] head: 00ffffc000000003 ffffea0000229e01 ffffffffffffffff 0000000000000000
> [   28.175631] head: 0000000000000008 0000000000000000 00000000ffffffff 0000000000000000
> [   28.176074] page dumped because: kasan: bad access detected
> [   28.176391]
> [   28.176484] Memory state around the buggy address:
> [   28.176746]  ffff888008a79e80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> [   28.177121]  ffff888008a79f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> [   28.177612] >ffff888008a79f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> [   28.178011]                                      ^
> [   28.178286]  ffff888008a7a000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [   28.178671]  ffff888008a7a080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> [   28.179183] ==================================================================
> 
> --
> Best Regards,
> Huang, Ying

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: KASAN error when insmod cxl_test
  2024-10-15  8:39 ` Zhijian Li (Fujitsu)
@ 2024-10-15  9:41   ` Zhijian Li (Fujitsu)
  2024-10-15 15:53     ` Ira Weiny
  2024-10-15 18:06     ` Dan Williams
  0 siblings, 2 replies; 10+ messages in thread
From: Zhijian Li (Fujitsu) @ 2024-10-15  9:41 UTC (permalink / raw)
  To: Huang, Ying, Dave Jiang; +Cc: linux-cxl@vger.kernel.org



On 15/10/2024 16:39, Zhijian Li (Fujitsu) wrote:
> 
> All,
> 
> I encountered a panic with similar calltrace
> 
> I guessed I have root cause this, it was introduced since commit
> 
> commit a5ab0de0ebaa65e0a75ec0761a2745c66a9d17dc
> Author: Dave Jiang <dave.jiang@intel.com>
> Date:   Tue Sep 3 17:11:51 2024 -0700
> 
>       cxl: Calculate region bandwidth of targets with shared upstream link
> 
> 
> Which calls cxl_region_shared_upstream_bandwidth_update(cxlr).
> However, the cxl_region_shared_upstream_bandwidth_update(cxlr) works on PCI/PCIE device only
> while the cxl_test was implemented by platform device.
> 
> I'm cooking and testing below patch


An alternative patch with a mock,

diff --git a/tools/testing/cxl/Kbuild b/tools/testing/cxl/Kbuild
index b1256fee3567..ed9f50dee3f5 100644
--- a/tools/testing/cxl/Kbuild
+++ b/tools/testing/cxl/Kbuild
@@ -15,6 +15,7 @@ ldflags-y += --wrap=devm_cxl_add_rch_dport
  ldflags-y += --wrap=cxl_rcd_component_reg_phys
  ldflags-y += --wrap=cxl_endpoint_parse_cdat
  ldflags-y += --wrap=cxl_dport_init_ras_reporting
+ldflags-y += --wrap=cxl_region_shared_upstream_bandwidth_update
  
  DRIVERS := ../../../drivers
  CXL_SRC := $(DRIVERS)/cxl
@@ -61,6 +62,7 @@ cxl_core-y += $(CXL_CORE_SRC)/pci.o
  cxl_core-y += $(CXL_CORE_SRC)/hdm.o
  cxl_core-y += $(CXL_CORE_SRC)/pmu.o
  cxl_core-y += $(CXL_CORE_SRC)/cdat.o
+cxl_core-y += mock_cdat.o
  cxl_core-$(CONFIG_TRACING) += $(CXL_CORE_SRC)/trace.o
  cxl_core-$(CONFIG_CXL_REGION) += $(CXL_CORE_SRC)/region.o
  cxl_core-y += config_check.o
diff --git a/tools/testing/cxl/mock_cdat.c b/tools/testing/cxl/mock_cdat.c
new file mode 100644
index 000000000000..a48d9c549651
--- /dev/null
+++ b/tools/testing/cxl/mock_cdat.c
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/* Copyright(c) 2021 Intel Corporation. All rights reserved. */
+
+#include <cxl.h>
+
+void __wrap_cxl_region_shared_upstream_bandwidth_update(struct cxl_region *cxlr)
+{
+}


> 
> index ef1621d40f05..3eb27cfe43ed 100644
> --- a/drivers/cxl/core/cdat.c
> +++ b/drivers/cxl/core/cdat.c
> @@ -5,6 +5,7 @@
>    #include <linux/fw_table.h>
>    #include <linux/node.h>
>    #include <linux/overflow.h>
> +#include <linux/platform_device.h>
>    #include "cxlpci.h"
>    #include "cxlmem.h"
>    #include "core.h"
> @@ -641,9 +642,13 @@ static int cxl_endpoint_gather_bandwidth(struct cxl_region *cxlr,
>           void *ptr;
>           int rc;
> 
>           if (cxlds->rcd)
>                   return -ENODEV;
>    
> +       if (dev_is_platform(cxlds->dev))
> +               return -ENODEV;
> +
> 
> =======================
> reproducer:
> $ while true; do meson test cxl-create-region.sh; done
> 
> ====================
> [ 1174.878672] platform cxl_host_bridge.3: host supports CXL (restricted)
> [ 1175.532274] Oops: general protection fault, probably for non-canonical address 0x3ef17856fcae4fbd: 0000 [#1] PREEMPT SMP PTI
> [ 1175.532300] CPU: 1 UID: 0 PID: 9167 Comm: cxl Kdump: loaded Tainted: G           OE      6.12.0-rc3-master+ #66
> [ 1175.532316] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
> [ 1175.532325] Hardware name: LENOVO 90CXCTO1WW/, BIOS FCKT70AUS 04/23/2015
> [ 1175.532335] RIP: 0010:pci_bus_read_config_word+0x1c/0x60
> [ 1175.532346] Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 53 b8 87 00 00 00 48 83 ec 08 c7 44 24 04 00 00 00 00 f6 c2 01 75 29 <48> 8b 87 c0 00 00 00 48 89 cb 4c 8d 44 24 04 b9 02 00 00 00 48 8b
> [ 1175.532370] RSP: 0018:ffffa115034dfbb8 EFLAGS: 00010246
> [ 1175.532379] RAX: 0000000000000087 RBX: 0000000000000012 RCX: ffffa115034dfbfe
> [ 1175.532390] RDX: 0000000000000016 RSI: 000000006f4e2f4e RDI: 3ef17856fcae4efd
> [ 1175.532401] RBP: ffff8cc229121b48 R08: 0000000000000010 R09: 0000000000000000
> [ 1175.532412] R10: 0000000000000001 R11: ffff8cc225434360 R12: ffffa115034dfbfe
> [ 1175.532422] R13: 0000000000000000 R14: ffff8cc2f119a080 R15: ffffa115034dfc50
> [ 1175.532433] FS:  00007f31d93537c0(0000) GS:ffff8cc510a80000(0000) knlGS:0000000000000000
> [ 1175.532445] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 1175.532455] CR2: 00007f31d95f3370 CR3: 00000001163ea001 CR4: 00000000001726f0
> [ 1175.532465] Call Trace:
> [ 1175.532472]  <TASK>
> [ 1175.532478]  ? __die_body.cold+0x19/0x27
> [ 1175.532488]  ? die_addr+0x38/0x60
> [ 1175.532496]  ? exc_general_protection+0x1f5/0x4b0
> [ 1175.532507]  ? asm_exc_general_protection+0x22/0x30
> [ 1175.532519]  ? pci_bus_read_config_word+0x1c/0x60
> [ 1175.532528]  pcie_capability_read_word+0x93/0xb0
> [ 1175.532538]  pcie_link_speed_mbps+0x18/0x50
> [ 1175.532548]  cxl_pci_get_bandwidth+0x18/0x60 [cxl_core]
> [ 1175.532575]  cxl_endpoint_gather_bandwidth.constprop.0+0xf4/0x230 [cxl_core]
> [ 1175.532596]  ? xas_store+0x54/0x660
> [ 1175.532605]  ? preempt_count_add+0x69/0xa0
> [ 1175.532615]  ? _raw_spin_lock+0x13/0x40
> [ 1175.532623]  ? __kmalloc_cache_noprof+0xe7/0x270
> [ 1175.532632]  cxl_region_shared_upstream_bandwidth_update+0x9c/0x790 [cxl_core]
> [ 1175.532653]  cxl_region_attach+0x520/0x7e0 [cxl_core]
> [ 1175.532672]  store_targetN+0xf2/0x120 [cxl_core]
> [ 1175.532690]  kernfs_fop_write_iter+0x13a/0x1f0
> [ 1175.532699]  vfs_write+0x23b/0x410
> [ 1175.532707]  ksys_write+0x53/0xd0
> [ 1175.532714]  do_syscall_64+0x62/0x180
> [ 1175.532724]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [ 1175.532734] RIP: 0033:0x7f31d9611834
> [ 1175.532742] Code: c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 80 3d 15 f8 0d 00 00 74 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 55 48 89 e5 48 83 ec 20 48 89
> [ 1175.532764] RSP: 002b:00007ffc382f7ff8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
> [ 1175.532776] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f31d9611834
> [ 1175.532787] RDX: 000000000000000c RSI: 000000003ed90593 RDI: 0000000000000003
> [ 1175.532797] RBP: 00007ffc382f8030 R08: 0000000000000064 R09: 00000000ffffffff
> [ 1175.532808] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000006
> [ 1175.532818] R13: 0000000000000000 R14: 00007f31d97c4000 R15: 0000000000428d80
> [ 1175.532830]  </TASK>
> [ 1175.532835] Modules linked in: device_dax(OE) kmem dax_cxl cxl_mock_mem(OE) cxl_test(OE) cxl_mem(OE) cxl_port(OE) cxl_pmem(OE) cxl_acpi(OE) cxl_mock(OE) cxl_core(OE) xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_nat_tftp nf_conntrack_tftp bridge stp llc nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat ip6table_nat ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_raw iptable_security ip_set nf_tables ip6table_filter iptable_filter rfkill intel_rapl_msr intel_rapl_common sunrpc x86_pkg_temp_thermal snd_hda_codec_realtek intel_powerclamp snd_hda_codec_generic coretemp snd_hda_scodec_component kvm_intel snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_hda_codec kvm snd_hwdep snd_hda_core snd_seq snd_seq_device snd_pcm snd_timer snd rapl mei_hdcp intel_cstate soundcore iTCO_wdt mei_me at24 intel_pmc_bxt intel_uncore iTCO_vendor_support i2c_i801 wmi_bmof
> [ 1175.532885]  pcspkr mei i2c_smbus lpc_ich loop nfnetlink zram xfs i915 i2c_algo_bit drm_buddy ttm drm_display_helper dax_pmem(OE) nd_pmem(OE) nd_btt(OE) drm_kms_helper nd_e820(OE) libnvdimm(OE) crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel drm nfit_test_iomap(OE) r8169 video wmi serio_raw ip6_tables ip_tables pkcs8_key_parser fuse
> [ 1175.533043] ---[ end trace 0000000000000000 ]---
> [ 1175.533055] RIP: 0010:pci_bus_read_config_word+0x1c/0x60
> [ 1175.533065] Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 53 b8 87 00 00 00 48 83 ec 08 c7 44 24 04 00 00 00 00 f6 c2 01 75 29 <48> 8b 87 c0 00 00 00 48 89 cb 4c 8d 44 24 04 b9 02 00 00 00 48 8b
> [ 1175.533088] RSP: 0018:ffffa115034dfbb8 EFLAGS: 00010246
> [ 1175.533097] RAX: 0000000000000087 RBX: 0000000000000012 RCX: ffffa115034dfbfe
> [ 1175.533108] RDX: 0000000000000016 RSI: 000000006f4e2f4e RDI: 3ef17856fcae4efd
> [ 1175.533119] RBP: ffff8cc229121b48 R08: 0000000000000010 R09: 0000000000000000
> [ 1175.533840] R10: 0000000000000001 R11: ffff8cc225434360 R12: ffffa115034dfbfe
> [ 1175.534567] R13: 0000000000000000 R14: ffff8cc2f119a080 R15: ffffa115034dfc50
> [ 1175.535295] FS:  00007f31d93537c0(0000) GS:ffff8cc510a80000(0000) knlGS:0000000000000000
> [ 1175.536015] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 1175.536720] CR2: 00007f31d95f3370 CR3: 00000001163ea001 CR4: 00000000001726f0
> [ 1176.146160] PEFILE: Unsigned PE binary
> 
> 
> Thanks
> Zhijian
> 
> 
> 
> On 10/10/2024 17:03, Huang, Ying wrote:
>> Hi, Dave,
>>
>> When I tried to test v6.12-rc2 with cxl_test in qemu, the below error is
>> reported.  Revert commit a5ab0de0ebaa ("cxl: Calculate region bandwidth
>> of targets with shared upstream link") can eliminate the error.
>>
>> Can you take a look at it?
>>
>> The kernel config used to build kernel is attached.
>>
>> -----------------------------8<------------------------------
>> [   28.103428] ==================================================================
>> [   28.104078] BUG: KASAN: slab-out-of-bounds in pcie_capability_reg_implemented+0x18/0xfb
>> [   28.104635] Read of size 1 at addr ffff888008a79fb4 by task systemd-udevd/408
>> [   28.105137]
>> [   28.105261] CPU: 4 UID: 0 PID: 408 Comm: systemd-udevd Tainted: G           O       6.12.0-rc2-kvm #5
>> [   28.105868] Tainted: [O]=OOT_MODULE
>> [   28.106201] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
>> [   28.107115] Call Trace:
>> [   28.107339]  <TASK>
>> [   28.107526]  dump_stack_lvl+0x65/0x8c
>> [   28.107803]  print_address_description.constprop.0+0x8a/0x309
>> [   28.108223]  print_report+0x136/0x20f
>> [   28.108493]  ? kmem_cache_debug_flags+0x16/0x23
>> [   28.108836]  ? fixup_red_left+0x17/0x27
>> [   28.109262]  ? pcie_capability_reg_implemented+0x18/0xfb
>> [   28.109806]  kasan_report+0x85/0xa7
>> [   28.110184]  ? pcie_capability_reg_implemented+0x18/0xfb
>> [   28.110693]  pcie_capability_reg_implemented+0x18/0xfb
>> [   28.111211]  pcie_capability_read_word+0x38/0xaa
>> [   28.111653]  ? __free_kfree+0x9/0x22 [cxl_core]
>> [   28.112194]  pcie_link_speed_mbps+0x54/0xae
>> [   28.112594]  ? pcie_get_mps+0x6d/0x6d
>> [   28.113037]  cxl_pci_get_bandwidth+0x58/0xd3 [cxl_core]
>> [   28.113645]  ? cxl_pci_get_latency+0xac/0xac [cxl_core]
>> [   28.114192]  ? _raw_spin_unlock+0x1f/0x2f
>> [   28.114683]  ? xa_store+0x3b/0x45
>> [   28.115109]  cxl_endpoint_gather_bandwidth.constprop.0+0x2bf/0x352 [cxl_core]
>> [   28.116017]  ? cxl_hb_gather_bandwidth+0x205/0x205 [cxl_core]
>> [   28.116967]  ? __module_address+0xe7/0xff
>> [   28.117673]  ? is_module_address+0x11/0x26
>> [   28.118419]  ? static_obj+0x7f/0x90
>> [   28.119016]  ? lockdep_init_map_type+0x22e/0x305
>> [   28.120557]  ? __raw_spin_lock_init+0x73/0x83
>> [   28.121707]  cxl_region_shared_upstream_bandwidth_update+0x12c/0x491 [cxl_core]
>> [   28.123434]  ? cxl_endpoint_gather_bandwidth.constprop.0+0x352/0x352 [cxl_core]
>> [   28.124622]  ? check_last_peer+0x228/0x2c5 [cxl_core]
>> [   28.125273]  ? xa_set_mark+0x34/0x34
>> [   28.125717]  ? cxl_region_setup_targets+0x3a/0x1b8 [cxl_core]
>> [   28.126417]  cxl_region_attach+0x8cb/0xb05 [cxl_core]
>> [   28.127049]  attach_target+0x49/0x6f [cxl_core]
>> [   28.127631]  cxl_add_to_region+0x15a/0x1d6 [cxl_core]
>> [   28.128262]  ? schedule_detach+0xa/0xa [cxl_port]
>> [   28.128790]  discover_region+0x5d/0xb6 [cxl_port]
>> [   28.129327]  ? next_device+0x20/0x2d
>> [   28.129767]  device_for_each_child+0x8f/0xc0
>> [   28.130243]  ? next_device+0x2d/0x2d
>> [   28.130644]  ? kobject_get+0x47/0x75
>> [   28.131051]  cxl_port_probe+0x19f/0x272 [cxl_port]
>> [   28.131573]  ? discover_region+0xb6/0xb6 [cxl_port]
>> [   28.132117]  ? kernfs_put+0x19/0x2b
>> [   28.132509]  ? sysfs_do_create_link_sd+0x7a/0xbc
>> [   28.133016]  cxl_bus_probe+0x27/0x54 [cxl_core]
>> [   28.133611]  ? really_probe+0x194/0x43d
>> [   28.134064]  really_probe+0x1e4/0x43d
>> [   28.134483]  ? driver_probe_device+0xc0/0xc0
>> [   28.134969]  driver_probe_device+0x4a/0xc0
>> [   28.135430]  __device_attach_driver+0xd7/0x102
>> [   28.135932]  bus_for_each_drv+0xf2/0x116
>> [   28.136374]  ? bus_rescan_devices+0x15/0x15
>> [   28.136849]  __device_attach+0x10c/0x19c
>> [   28.137300]  ? device_bind_driver+0x39/0x39
>> [   28.137787]  ? bus_to_subsys+0xad/0xb9
>> [   28.138213]  bus_probe_device+0x4e/0xd3
>> [   28.138656]  device_add+0x55b/0x791
>> [   28.139056]  ? get_device_parent+0x20a/0x20a
>> [   28.139539]  ? rcu_read_unlock+0x51/0x5b
>> [   28.139996]  devm_cxl_add_port+0x20a/0x49c [cxl_core]
>> [   28.140642]  ? cxl_port_alloc+0x430/0x430 [cxl_core]
>> [   28.141271]  cxl_mem_probe+0x3b9/0x47c [cxl_mem]
>> [   28.141806]  ? __devm_add_action_or_reset+0x26/0x26 [cxl_mem]
>> [   28.142447]  ? sysfs_do_create_link_sd+0x7a/0xbc
>> [   28.142969]  cxl_bus_probe+0x27/0x54 [cxl_core]
>> [   28.143540]  ? really_probe+0x194/0x43d
>> [   28.143999]  really_probe+0x1e4/0x43d
>> [   28.144418]  ? driver_probe_device+0xc0/0xc0
>> [   28.144902]  driver_probe_device+0x4a/0xc0
>> [   28.145353]  __device_attach_driver+0xd7/0x102
>> [   28.145629]  bus_for_each_drv+0xf2/0x116
>> [   28.145865]  ? bus_rescan_devices+0x15/0x15
>> [   28.146115]  __device_attach+0x10c/0x19c
>> [   28.146351]  ? device_bind_driver+0x39/0x39
>> [   28.146614]  ? bus_to_subsys+0xad/0xb9
>> [   28.146839]  bus_probe_device+0x4e/0xd3
>> [   28.147069]  device_add+0x55b/0x791
>> [   28.147306]  ? get_device_parent+0x20a/0x20a
>> [   28.147568]  ? kobject_get+0x47/0x75
>> [   28.147784]  cdev_device_add+0x31/0x89
>> [   28.148015]  devm_cxl_add_memdev+0x26e/0x2d7 [cxl_core]
>> [   28.148369]  cxl_mock_mem_probe+0x2f3/0x33b [cxl_mock_mem]
>> [   28.148694]  platform_probe+0x3d/0x7a
>> [   28.148914]  really_probe+0x1e4/0x43d
>> [   28.149133]  ? __device_attach_driver+0x102/0x102
>> [   28.149420]  driver_probe_device+0x4a/0xc0
>> [   28.149669]  __driver_attach+0x19c/0x1bb
>> [   28.149912]  bus_for_each_dev+0xc7/0x101
>> [   28.150152]  ? bus_register+0x2d4/0x2d4
>> [   28.150387]  ? bus_add_driver+0x137/0x2cc
>> [   28.150648]  bus_add_driver+0x19d/0x2cc
>> [   28.150881]  driver_register+0x12c/0x17d
>> [   28.151111]  ? 0xffffffffc0ac8000
>> [   28.151307]  do_one_initcall+0x139/0x2da
>> [   28.151538]  ? rcu_lock_acquire.constprop.0+0x25/0x25
>> [   28.151826]  ? unpoison_slab_object+0x1b/0x38
>> [   28.152100]  ? __kasan_slab_alloc+0x37/0x41
>> [   28.152342]  ? rcu_is_watching+0x1c/0x38
>> [   28.152572]  ? poison_kmalloc_redzone+0x44/0x65
>> [   28.152835]  ? kasan_unpoison+0x26/0x31
>> [   28.153058]  ? __asan_register_globals+0x55/0x60
>> [   28.153338]  do_init_module+0x118/0x388
>> [   28.153576]  init_module_from_file+0xc2/0xe4
>> [   28.153838]  ? __ia32_sys_init_module+0x40/0x40
>> [   28.154127]  ? do_raw_spin_unlock+0xce/0xd6
>> [   28.154370]  idempotent_init_module+0x1ea/0x3c0
>> [   28.154634]  ? init_module_from_file+0xe4/0xe4
>> [   28.154892]  ? __seccomp_filter+0xf5/0x4f2
>> [   28.155135]  ? files_lookup_fd_raw+0x40/0x4b
>> [   28.155386]  __do_sys_finit_module+0x68/0x82
>> [   28.155636]  do_syscall_64+0x9a/0xfd
>> [   28.155848]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
>> [   28.156145] RIP: 0033:0x7f2239ce4559
>> [   28.156355] Code: 08 89 e8 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 77 08 0d 00 f7 d8 64 89 01 48
>> [   28.157428] RSP: 002b:00007fffd30e95d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
>> [   28.157858] RAX: ffffffffffffffda RBX: 000055fd0ed12110 RCX: 00007f2239ce4559
>> [   28.158260] RDX: 0000000000000000 RSI: 00007f2239e67e2d RDI: 0000000000000006
>> [   28.158661] RBP: 0000000000020000 R08: 0000000000000000 R09: 000055fd0ed13b28
>> [   28.159063] R10: 0000000000000006 R11: 0000000000000246 R12: 00007f2239e67e2d
>> [   28.159465] R13: 0000000000000000 R14: 000055fd0ed13180 R15: 000055fd0ed12110
>> [   28.159870]  </TASK>
>> [   28.160003]
>> [   28.160098] Allocated by task 385:
>> [   28.160298]  stack_trace_save+0x7c/0x94
>> [   28.160523]  kasan_save_stack+0x1c/0x34
>> [   28.160763]  kasan_save_track+0x10/0x25
>> [   28.160997]  __kasan_kmalloc+0x3a/0x43
>> [   28.161222]  __kmalloc_node_track_caller_noprof+0x1fd/0x22d
>> [   28.161562]  kmalloc_reserve+0xe6/0x130
>> [   28.161797]  __alloc_skb+0x109/0x1b8
>> [   28.162018]  alloc_uevent_skb+0x55/0xe2
>> [   28.162254]  kobject_uevent_net_broadcast+0x11d/0x265
>> [   28.162565]  kobject_uevent_env+0x534/0x6d3
>> [   28.162806]  device_add+0x4da/0x791
>> [   28.163011]  platform_device_add+0x248/0x2dd
>> [   28.163258]  0xffffffffc0b40708
>> [   28.163446]  do_one_initcall+0x139/0x2da
>> [   28.163673]  do_init_module+0x118/0x388
>> [   28.163933]  init_module_from_file+0xc2/0xe4
>> [   28.164312]  idempotent_init_module+0x1ea/0x3c0
>> [   28.164665]  __do_sys_finit_module+0x68/0x82
>> [   28.164992]  do_syscall_64+0x9a/0xfd
>> [   28.165295]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
>> [   28.165634]
>> [   28.165767] Freed by task 168:
>> [   28.165968]  stack_trace_save+0x7c/0x94
>> [   28.166207]  kasan_save_stack+0x1c/0x34
>> [   28.166442]  kasan_save_track+0x10/0x25
>> [   28.166669]  kasan_save_free_info+0x3b/0x41
>> [   28.166912]  __kasan_slab_free+0x18/0x2a
>> [   28.167150]  kfree+0x206/0x26a
>> [   28.167388]  skb_release_data+0x152/0x16e
>> [   28.167636]  __kfree_skb+0x14/0x1e
>> [   28.167834]  netlink_recvmsg+0x2b2/0x503
>> [   28.168066]  sock_recvmsg_nosec+0x48/0x80
>> [   28.168305]  ____sys_recvmsg+0x10c/0x1fa
>> [   28.168542]  ___sys_recvmsg+0xc7/0x103
>> [   28.168762]  __sys_recvmsg+0xb7/0x113
>> [   28.168978]  do_syscall_64+0x9a/0xfd
>> [   28.169188]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
>> [   28.169504]
>> [   28.169599] The buggy address belongs to the object at ffff888008a79800
>> [   28.169599]  which belongs to the cache kmalloc-1k of size 1024
>> [   28.170285] The buggy address is located 948 bytes to the right of
>> [   28.170285]  allocated 1024-byte region [ffff888008a79800, ffff888008a79c00)
>> [   28.171055]
>> [   28.171152] The buggy address belongs to the physical page:
>> [   28.171487] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888008a7f800 pfn:0x8a78
>> [   28.172060] head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
>> [   28.172539] flags: 0xffffc000000240(workingset|head|node=0|zone=1|lastcpupid=0x1ffff)
>> [   28.173104] page_type: f5(slab)
>> [   28.173343] raw: 00ffffc000000240 ffff888001042dc0 ffffea0000226410 ffffea00002f3010
>> [   28.173822] raw: ffff888008a7f800 0000000000100008 00000001f5000000 0000000000000000
>> [   28.174308] head: 00ffffc000000240 ffff888001042dc0 ffffea0000226410 ffffea00002f3010
>> [   28.174733] head: ffff888008a7f800 0000000000100008 00000001f5000000 0000000000000000
>> [   28.175177] head: 00ffffc000000003 ffffea0000229e01 ffffffffffffffff 0000000000000000
>> [   28.175631] head: 0000000000000008 0000000000000000 00000000ffffffff 0000000000000000
>> [   28.176074] page dumped because: kasan: bad access detected
>> [   28.176391]
>> [   28.176484] Memory state around the buggy address:
>> [   28.176746]  ffff888008a79e80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>> [   28.177121]  ffff888008a79f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>> [   28.177612] >ffff888008a79f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>> [   28.178011]                                      ^
>> [   28.178286]  ffff888008a7a000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>> [   28.178671]  ffff888008a7a080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>> [   28.179183] ==================================================================
>>
>> --
>> Best Regards,
>> Huang, Ying

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: KASAN error when insmod cxl_test
  2024-10-15  3:36 ` Dan Williams
  2024-10-15  4:56   ` Huang, Ying
@ 2024-10-15 14:34   ` Ira Weiny
  1 sibling, 0 replies; 10+ messages in thread
From: Ira Weiny @ 2024-10-15 14:34 UTC (permalink / raw)
  To: Dan Williams, Huang, Ying, Dave Jiang; +Cc: linux-cxl

Dan Williams wrote:
> Huang, Ying wrote:
> > Hi, Dave,
> > 
> > When I tried to test v6.12-rc2 with cxl_test in qemu, the below error is
> > reported.  Revert commit a5ab0de0ebaa ("cxl: Calculate region bandwidth
> > of targets with shared upstream link") can eliminate the error.
> > 
> > Can you take a look at it?
> 
> Does the same reproduce with "modprobe cxl_test"? I worry that direct
> 'insmod' usage results in cases where it proceeds with the wrong
> dependencies. I.e. I never test with insmod, only modprobe, and my
> v6.12-rc2 testing so far has not hit this.
> 

For me this is only happening when I boot qemu.  I don't see this error
when I use modprobe or insmod after boot.

It only happens when I use cxl_test and not qemu test devices.  Which
means Zhijian is probably the best solution.  I'm testing his mock diff
now.

Ira

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: KASAN error when insmod cxl_test
  2024-10-15  9:41   ` Zhijian Li (Fujitsu)
@ 2024-10-15 15:53     ` Ira Weiny
  2024-10-15 18:06     ` Dan Williams
  1 sibling, 0 replies; 10+ messages in thread
From: Ira Weiny @ 2024-10-15 15:53 UTC (permalink / raw)
  To: Zhijian Li (Fujitsu), Huang, Ying, Dave Jiang; +Cc: linux-cxl@vger.kernel.org

Zhijian Li (Fujitsu) wrote:
> 
> 
> On 15/10/2024 16:39, Zhijian Li (Fujitsu) wrote:
> > 
> > All,
> > 
> > I encountered a panic with similar calltrace
> > 
> > I guessed I have root cause this, it was introduced since commit
> > 
> > commit a5ab0de0ebaa65e0a75ec0761a2745c66a9d17dc
> > Author: Dave Jiang <dave.jiang@intel.com>
> > Date:   Tue Sep 3 17:11:51 2024 -0700
> > 
> >       cxl: Calculate region bandwidth of targets with shared upstream link
> > 
> > 
> > Which calls cxl_region_shared_upstream_bandwidth_update(cxlr).
> > However, the cxl_region_shared_upstream_bandwidth_update(cxlr) works on PCI/PCIE device only
> > while the cxl_test was implemented by platform device.
> > 
> > I'm cooking and testing below patch
> 
> 
> An alternative patch with a mock,

This prevents the kasan error as well.  I've also reproduced your pointer
bug.  I now see this is clearly a cxl-test only issue.

For the future I wonder if this mock function should walk the platform
devices to test the aggregate bandwidth through simulated switches?  But
the current tests don't seem to care.  So I'm inclined to get your patch
into rc quickly.

Zhijian

Would you like me to write up the patch or can you submit it quickly so I
can soak it for RC?

Thanks,
Ira

> 
> diff --git a/tools/testing/cxl/Kbuild b/tools/testing/cxl/Kbuild
> index b1256fee3567..ed9f50dee3f5 100644
> --- a/tools/testing/cxl/Kbuild
> +++ b/tools/testing/cxl/Kbuild
> @@ -15,6 +15,7 @@ ldflags-y += --wrap=devm_cxl_add_rch_dport
>   ldflags-y += --wrap=cxl_rcd_component_reg_phys
>   ldflags-y += --wrap=cxl_endpoint_parse_cdat
>   ldflags-y += --wrap=cxl_dport_init_ras_reporting
> +ldflags-y += --wrap=cxl_region_shared_upstream_bandwidth_update
>   
>   DRIVERS := ../../../drivers
>   CXL_SRC := $(DRIVERS)/cxl
> @@ -61,6 +62,7 @@ cxl_core-y += $(CXL_CORE_SRC)/pci.o
>   cxl_core-y += $(CXL_CORE_SRC)/hdm.o
>   cxl_core-y += $(CXL_CORE_SRC)/pmu.o
>   cxl_core-y += $(CXL_CORE_SRC)/cdat.o
> +cxl_core-y += mock_cdat.o
>   cxl_core-$(CONFIG_TRACING) += $(CXL_CORE_SRC)/trace.o
>   cxl_core-$(CONFIG_CXL_REGION) += $(CXL_CORE_SRC)/region.o
>   cxl_core-y += config_check.o
> diff --git a/tools/testing/cxl/mock_cdat.c b/tools/testing/cxl/mock_cdat.c
> new file mode 100644
> index 000000000000..a48d9c549651
> --- /dev/null
> +++ b/tools/testing/cxl/mock_cdat.c
> @@ -0,0 +1,9 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/* Copyright(c) 2021 Intel Corporation. All rights reserved. */
> +
> +#include <cxl.h>
> +
> +void __wrap_cxl_region_shared_upstream_bandwidth_update(struct cxl_region *cxlr)
> +{
> +}
> 
> 
> > 
> > index ef1621d40f05..3eb27cfe43ed 100644
> > --- a/drivers/cxl/core/cdat.c
> > +++ b/drivers/cxl/core/cdat.c
> > @@ -5,6 +5,7 @@
> >    #include <linux/fw_table.h>
> >    #include <linux/node.h>
> >    #include <linux/overflow.h>
> > +#include <linux/platform_device.h>
> >    #include "cxlpci.h"
> >    #include "cxlmem.h"
> >    #include "core.h"
> > @@ -641,9 +642,13 @@ static int cxl_endpoint_gather_bandwidth(struct cxl_region *cxlr,
> >           void *ptr;
> >           int rc;
> > 
> >           if (cxlds->rcd)
> >                   return -ENODEV;
> >    
> > +       if (dev_is_platform(cxlds->dev))
> > +               return -ENODEV;
> > +
> > 
> > =======================
> > reproducer:
> > $ while true; do meson test cxl-create-region.sh; done
> > 
> > ====================
> > [ 1174.878672] platform cxl_host_bridge.3: host supports CXL (restricted)
> > [ 1175.532274] Oops: general protection fault, probably for non-canonical address 0x3ef17856fcae4fbd: 0000 [#1] PREEMPT SMP PTI
> > [ 1175.532300] CPU: 1 UID: 0 PID: 9167 Comm: cxl Kdump: loaded Tainted: G           OE      6.12.0-rc3-master+ #66
> > [ 1175.532316] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
> > [ 1175.532325] Hardware name: LENOVO 90CXCTO1WW/, BIOS FCKT70AUS 04/23/2015
> > [ 1175.532335] RIP: 0010:pci_bus_read_config_word+0x1c/0x60
> > [ 1175.532346] Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 53 b8 87 00 00 00 48 83 ec 08 c7 44 24 04 00 00 00 00 f6 c2 01 75 29 <48> 8b 87 c0 00 00 00 48 89 cb 4c 8d 44 24 04 b9 02 00 00 00 48 8b
> > [ 1175.532370] RSP: 0018:ffffa115034dfbb8 EFLAGS: 00010246
> > [ 1175.532379] RAX: 0000000000000087 RBX: 0000000000000012 RCX: ffffa115034dfbfe
> > [ 1175.532390] RDX: 0000000000000016 RSI: 000000006f4e2f4e RDI: 3ef17856fcae4efd
> > [ 1175.532401] RBP: ffff8cc229121b48 R08: 0000000000000010 R09: 0000000000000000
> > [ 1175.532412] R10: 0000000000000001 R11: ffff8cc225434360 R12: ffffa115034dfbfe
> > [ 1175.532422] R13: 0000000000000000 R14: ffff8cc2f119a080 R15: ffffa115034dfc50
> > [ 1175.532433] FS:  00007f31d93537c0(0000) GS:ffff8cc510a80000(0000) knlGS:0000000000000000
> > [ 1175.532445] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [ 1175.532455] CR2: 00007f31d95f3370 CR3: 00000001163ea001 CR4: 00000000001726f0
> > [ 1175.532465] Call Trace:
> > [ 1175.532472]  <TASK>
> > [ 1175.532478]  ? __die_body.cold+0x19/0x27
> > [ 1175.532488]  ? die_addr+0x38/0x60
> > [ 1175.532496]  ? exc_general_protection+0x1f5/0x4b0
> > [ 1175.532507]  ? asm_exc_general_protection+0x22/0x30
> > [ 1175.532519]  ? pci_bus_read_config_word+0x1c/0x60
> > [ 1175.532528]  pcie_capability_read_word+0x93/0xb0
> > [ 1175.532538]  pcie_link_speed_mbps+0x18/0x50
> > [ 1175.532548]  cxl_pci_get_bandwidth+0x18/0x60 [cxl_core]
> > [ 1175.532575]  cxl_endpoint_gather_bandwidth.constprop.0+0xf4/0x230 [cxl_core]
> > [ 1175.532596]  ? xas_store+0x54/0x660
> > [ 1175.532605]  ? preempt_count_add+0x69/0xa0
> > [ 1175.532615]  ? _raw_spin_lock+0x13/0x40
> > [ 1175.532623]  ? __kmalloc_cache_noprof+0xe7/0x270
> > [ 1175.532632]  cxl_region_shared_upstream_bandwidth_update+0x9c/0x790 [cxl_core]
> > [ 1175.532653]  cxl_region_attach+0x520/0x7e0 [cxl_core]
> > [ 1175.532672]  store_targetN+0xf2/0x120 [cxl_core]
> > [ 1175.532690]  kernfs_fop_write_iter+0x13a/0x1f0
> > [ 1175.532699]  vfs_write+0x23b/0x410
> > [ 1175.532707]  ksys_write+0x53/0xd0
> > [ 1175.532714]  do_syscall_64+0x62/0x180
> > [ 1175.532724]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
> > [ 1175.532734] RIP: 0033:0x7f31d9611834
> > [ 1175.532742] Code: c7 00 16 00 00 00 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 80 3d 15 f8 0d 00 00 74 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 55 48 89 e5 48 83 ec 20 48 89
> > [ 1175.532764] RSP: 002b:00007ffc382f7ff8 EFLAGS: 00000202 ORIG_RAX: 0000000000000001
> > [ 1175.532776] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f31d9611834
> > [ 1175.532787] RDX: 000000000000000c RSI: 000000003ed90593 RDI: 0000000000000003
> > [ 1175.532797] RBP: 00007ffc382f8030 R08: 0000000000000064 R09: 00000000ffffffff
> > [ 1175.532808] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000006
> > [ 1175.532818] R13: 0000000000000000 R14: 00007f31d97c4000 R15: 0000000000428d80
> > [ 1175.532830]  </TASK>
> > [ 1175.532835] Modules linked in: device_dax(OE) kmem dax_cxl cxl_mock_mem(OE) cxl_test(OE) cxl_mem(OE) cxl_port(OE) cxl_pmem(OE) cxl_acpi(OE) cxl_mock(OE) cxl_core(OE) xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_nat_tftp nf_conntrack_tftp bridge stp llc nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat ip6table_nat ip6table_mangle ip6table_raw ip6table_security iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_raw iptable_security ip_set nf_tables ip6table_filter iptable_filter rfkill intel_rapl_msr intel_rapl_common sunrpc x86_pkg_temp_thermal snd_hda_codec_realtek intel_powerclamp snd_hda_codec_generic coretemp snd_hda_scodec_component kvm_intel snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_hda_codec kvm snd_hwdep snd_hda_core snd_seq snd_seq_device snd_pcm snd_timer snd rapl mei_hdcp intel_cstate soundcore iTCO_wdt mei_me at24 intel_pmc_bxt intel_uncore iTCO_vendor_support i2c_i801 wmi_bmof
> > [ 1175.532885]  pcspkr mei i2c_smbus lpc_ich loop nfnetlink zram xfs i915 i2c_algo_bit drm_buddy ttm drm_display_helper dax_pmem(OE) nd_pmem(OE) nd_btt(OE) drm_kms_helper nd_e820(OE) libnvdimm(OE) crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel drm nfit_test_iomap(OE) r8169 video wmi serio_raw ip6_tables ip_tables pkcs8_key_parser fuse
> > [ 1175.533043] ---[ end trace 0000000000000000 ]---
> > [ 1175.533055] RIP: 0010:pci_bus_read_config_word+0x1c/0x60
> > [ 1175.533065] Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 00 53 b8 87 00 00 00 48 83 ec 08 c7 44 24 04 00 00 00 00 f6 c2 01 75 29 <48> 8b 87 c0 00 00 00 48 89 cb 4c 8d 44 24 04 b9 02 00 00 00 48 8b
> > [ 1175.533088] RSP: 0018:ffffa115034dfbb8 EFLAGS: 00010246
> > [ 1175.533097] RAX: 0000000000000087 RBX: 0000000000000012 RCX: ffffa115034dfbfe
> > [ 1175.533108] RDX: 0000000000000016 RSI: 000000006f4e2f4e RDI: 3ef17856fcae4efd
> > [ 1175.533119] RBP: ffff8cc229121b48 R08: 0000000000000010 R09: 0000000000000000
> > [ 1175.533840] R10: 0000000000000001 R11: ffff8cc225434360 R12: ffffa115034dfbfe
> > [ 1175.534567] R13: 0000000000000000 R14: ffff8cc2f119a080 R15: ffffa115034dfc50
> > [ 1175.535295] FS:  00007f31d93537c0(0000) GS:ffff8cc510a80000(0000) knlGS:0000000000000000
> > [ 1175.536015] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [ 1175.536720] CR2: 00007f31d95f3370 CR3: 00000001163ea001 CR4: 00000000001726f0
> > [ 1176.146160] PEFILE: Unsigned PE binary
> > 
> > 
> > Thanks
> > Zhijian
> > 
> > 
> > 
> > On 10/10/2024 17:03, Huang, Ying wrote:
> >> Hi, Dave,
> >>
> >> When I tried to test v6.12-rc2 with cxl_test in qemu, the below error is
> >> reported.  Revert commit a5ab0de0ebaa ("cxl: Calculate region bandwidth
> >> of targets with shared upstream link") can eliminate the error.
> >>
> >> Can you take a look at it?
> >>
> >> The kernel config used to build kernel is attached.
> >>
> >> -----------------------------8<------------------------------
> >> [   28.103428] ==================================================================
> >> [   28.104078] BUG: KASAN: slab-out-of-bounds in pcie_capability_reg_implemented+0x18/0xfb
> >> [   28.104635] Read of size 1 at addr ffff888008a79fb4 by task systemd-udevd/408
> >> [   28.105137]
> >> [   28.105261] CPU: 4 UID: 0 PID: 408 Comm: systemd-udevd Tainted: G           O       6.12.0-rc2-kvm #5
> >> [   28.105868] Tainted: [O]=OOT_MODULE
> >> [   28.106201] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
> >> [   28.107115] Call Trace:
> >> [   28.107339]  <TASK>
> >> [   28.107526]  dump_stack_lvl+0x65/0x8c
> >> [   28.107803]  print_address_description.constprop.0+0x8a/0x309
> >> [   28.108223]  print_report+0x136/0x20f
> >> [   28.108493]  ? kmem_cache_debug_flags+0x16/0x23
> >> [   28.108836]  ? fixup_red_left+0x17/0x27
> >> [   28.109262]  ? pcie_capability_reg_implemented+0x18/0xfb
> >> [   28.109806]  kasan_report+0x85/0xa7
> >> [   28.110184]  ? pcie_capability_reg_implemented+0x18/0xfb
> >> [   28.110693]  pcie_capability_reg_implemented+0x18/0xfb
> >> [   28.111211]  pcie_capability_read_word+0x38/0xaa
> >> [   28.111653]  ? __free_kfree+0x9/0x22 [cxl_core]
> >> [   28.112194]  pcie_link_speed_mbps+0x54/0xae
> >> [   28.112594]  ? pcie_get_mps+0x6d/0x6d
> >> [   28.113037]  cxl_pci_get_bandwidth+0x58/0xd3 [cxl_core]
> >> [   28.113645]  ? cxl_pci_get_latency+0xac/0xac [cxl_core]
> >> [   28.114192]  ? _raw_spin_unlock+0x1f/0x2f
> >> [   28.114683]  ? xa_store+0x3b/0x45
> >> [   28.115109]  cxl_endpoint_gather_bandwidth.constprop.0+0x2bf/0x352 [cxl_core]
> >> [   28.116017]  ? cxl_hb_gather_bandwidth+0x205/0x205 [cxl_core]
> >> [   28.116967]  ? __module_address+0xe7/0xff
> >> [   28.117673]  ? is_module_address+0x11/0x26
> >> [   28.118419]  ? static_obj+0x7f/0x90
> >> [   28.119016]  ? lockdep_init_map_type+0x22e/0x305
> >> [   28.120557]  ? __raw_spin_lock_init+0x73/0x83
> >> [   28.121707]  cxl_region_shared_upstream_bandwidth_update+0x12c/0x491 [cxl_core]
> >> [   28.123434]  ? cxl_endpoint_gather_bandwidth.constprop.0+0x352/0x352 [cxl_core]
> >> [   28.124622]  ? check_last_peer+0x228/0x2c5 [cxl_core]
> >> [   28.125273]  ? xa_set_mark+0x34/0x34
> >> [   28.125717]  ? cxl_region_setup_targets+0x3a/0x1b8 [cxl_core]
> >> [   28.126417]  cxl_region_attach+0x8cb/0xb05 [cxl_core]
> >> [   28.127049]  attach_target+0x49/0x6f [cxl_core]
> >> [   28.127631]  cxl_add_to_region+0x15a/0x1d6 [cxl_core]
> >> [   28.128262]  ? schedule_detach+0xa/0xa [cxl_port]
> >> [   28.128790]  discover_region+0x5d/0xb6 [cxl_port]
> >> [   28.129327]  ? next_device+0x20/0x2d
> >> [   28.129767]  device_for_each_child+0x8f/0xc0
> >> [   28.130243]  ? next_device+0x2d/0x2d
> >> [   28.130644]  ? kobject_get+0x47/0x75
> >> [   28.131051]  cxl_port_probe+0x19f/0x272 [cxl_port]
> >> [   28.131573]  ? discover_region+0xb6/0xb6 [cxl_port]
> >> [   28.132117]  ? kernfs_put+0x19/0x2b
> >> [   28.132509]  ? sysfs_do_create_link_sd+0x7a/0xbc
> >> [   28.133016]  cxl_bus_probe+0x27/0x54 [cxl_core]
> >> [   28.133611]  ? really_probe+0x194/0x43d
> >> [   28.134064]  really_probe+0x1e4/0x43d
> >> [   28.134483]  ? driver_probe_device+0xc0/0xc0
> >> [   28.134969]  driver_probe_device+0x4a/0xc0
> >> [   28.135430]  __device_attach_driver+0xd7/0x102
> >> [   28.135932]  bus_for_each_drv+0xf2/0x116
> >> [   28.136374]  ? bus_rescan_devices+0x15/0x15
> >> [   28.136849]  __device_attach+0x10c/0x19c
> >> [   28.137300]  ? device_bind_driver+0x39/0x39
> >> [   28.137787]  ? bus_to_subsys+0xad/0xb9
> >> [   28.138213]  bus_probe_device+0x4e/0xd3
> >> [   28.138656]  device_add+0x55b/0x791
> >> [   28.139056]  ? get_device_parent+0x20a/0x20a
> >> [   28.139539]  ? rcu_read_unlock+0x51/0x5b
> >> [   28.139996]  devm_cxl_add_port+0x20a/0x49c [cxl_core]
> >> [   28.140642]  ? cxl_port_alloc+0x430/0x430 [cxl_core]
> >> [   28.141271]  cxl_mem_probe+0x3b9/0x47c [cxl_mem]
> >> [   28.141806]  ? __devm_add_action_or_reset+0x26/0x26 [cxl_mem]
> >> [   28.142447]  ? sysfs_do_create_link_sd+0x7a/0xbc
> >> [   28.142969]  cxl_bus_probe+0x27/0x54 [cxl_core]
> >> [   28.143540]  ? really_probe+0x194/0x43d
> >> [   28.143999]  really_probe+0x1e4/0x43d
> >> [   28.144418]  ? driver_probe_device+0xc0/0xc0
> >> [   28.144902]  driver_probe_device+0x4a/0xc0
> >> [   28.145353]  __device_attach_driver+0xd7/0x102
> >> [   28.145629]  bus_for_each_drv+0xf2/0x116
> >> [   28.145865]  ? bus_rescan_devices+0x15/0x15
> >> [   28.146115]  __device_attach+0x10c/0x19c
> >> [   28.146351]  ? device_bind_driver+0x39/0x39
> >> [   28.146614]  ? bus_to_subsys+0xad/0xb9
> >> [   28.146839]  bus_probe_device+0x4e/0xd3
> >> [   28.147069]  device_add+0x55b/0x791
> >> [   28.147306]  ? get_device_parent+0x20a/0x20a
> >> [   28.147568]  ? kobject_get+0x47/0x75
> >> [   28.147784]  cdev_device_add+0x31/0x89
> >> [   28.148015]  devm_cxl_add_memdev+0x26e/0x2d7 [cxl_core]
> >> [   28.148369]  cxl_mock_mem_probe+0x2f3/0x33b [cxl_mock_mem]
> >> [   28.148694]  platform_probe+0x3d/0x7a
> >> [   28.148914]  really_probe+0x1e4/0x43d
> >> [   28.149133]  ? __device_attach_driver+0x102/0x102
> >> [   28.149420]  driver_probe_device+0x4a/0xc0
> >> [   28.149669]  __driver_attach+0x19c/0x1bb
> >> [   28.149912]  bus_for_each_dev+0xc7/0x101
> >> [   28.150152]  ? bus_register+0x2d4/0x2d4
> >> [   28.150387]  ? bus_add_driver+0x137/0x2cc
> >> [   28.150648]  bus_add_driver+0x19d/0x2cc
> >> [   28.150881]  driver_register+0x12c/0x17d
> >> [   28.151111]  ? 0xffffffffc0ac8000
> >> [   28.151307]  do_one_initcall+0x139/0x2da
> >> [   28.151538]  ? rcu_lock_acquire.constprop.0+0x25/0x25
> >> [   28.151826]  ? unpoison_slab_object+0x1b/0x38
> >> [   28.152100]  ? __kasan_slab_alloc+0x37/0x41
> >> [   28.152342]  ? rcu_is_watching+0x1c/0x38
> >> [   28.152572]  ? poison_kmalloc_redzone+0x44/0x65
> >> [   28.152835]  ? kasan_unpoison+0x26/0x31
> >> [   28.153058]  ? __asan_register_globals+0x55/0x60
> >> [   28.153338]  do_init_module+0x118/0x388
> >> [   28.153576]  init_module_from_file+0xc2/0xe4
> >> [   28.153838]  ? __ia32_sys_init_module+0x40/0x40
> >> [   28.154127]  ? do_raw_spin_unlock+0xce/0xd6
> >> [   28.154370]  idempotent_init_module+0x1ea/0x3c0
> >> [   28.154634]  ? init_module_from_file+0xe4/0xe4
> >> [   28.154892]  ? __seccomp_filter+0xf5/0x4f2
> >> [   28.155135]  ? files_lookup_fd_raw+0x40/0x4b
> >> [   28.155386]  __do_sys_finit_module+0x68/0x82
> >> [   28.155636]  do_syscall_64+0x9a/0xfd
> >> [   28.155848]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> >> [   28.156145] RIP: 0033:0x7f2239ce4559
> >> [   28.156355] Code: 08 89 e8 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 77 08 0d 00 f7 d8 64 89 01 48
> >> [   28.157428] RSP: 002b:00007fffd30e95d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
> >> [   28.157858] RAX: ffffffffffffffda RBX: 000055fd0ed12110 RCX: 00007f2239ce4559
> >> [   28.158260] RDX: 0000000000000000 RSI: 00007f2239e67e2d RDI: 0000000000000006
> >> [   28.158661] RBP: 0000000000020000 R08: 0000000000000000 R09: 000055fd0ed13b28
> >> [   28.159063] R10: 0000000000000006 R11: 0000000000000246 R12: 00007f2239e67e2d
> >> [   28.159465] R13: 0000000000000000 R14: 000055fd0ed13180 R15: 000055fd0ed12110
> >> [   28.159870]  </TASK>
> >> [   28.160003]
> >> [   28.160098] Allocated by task 385:
> >> [   28.160298]  stack_trace_save+0x7c/0x94
> >> [   28.160523]  kasan_save_stack+0x1c/0x34
> >> [   28.160763]  kasan_save_track+0x10/0x25
> >> [   28.160997]  __kasan_kmalloc+0x3a/0x43
> >> [   28.161222]  __kmalloc_node_track_caller_noprof+0x1fd/0x22d
> >> [   28.161562]  kmalloc_reserve+0xe6/0x130
> >> [   28.161797]  __alloc_skb+0x109/0x1b8
> >> [   28.162018]  alloc_uevent_skb+0x55/0xe2
> >> [   28.162254]  kobject_uevent_net_broadcast+0x11d/0x265
> >> [   28.162565]  kobject_uevent_env+0x534/0x6d3
> >> [   28.162806]  device_add+0x4da/0x791
> >> [   28.163011]  platform_device_add+0x248/0x2dd
> >> [   28.163258]  0xffffffffc0b40708
> >> [   28.163446]  do_one_initcall+0x139/0x2da
> >> [   28.163673]  do_init_module+0x118/0x388
> >> [   28.163933]  init_module_from_file+0xc2/0xe4
> >> [   28.164312]  idempotent_init_module+0x1ea/0x3c0
> >> [   28.164665]  __do_sys_finit_module+0x68/0x82
> >> [   28.164992]  do_syscall_64+0x9a/0xfd
> >> [   28.165295]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> >> [   28.165634]
> >> [   28.165767] Freed by task 168:
> >> [   28.165968]  stack_trace_save+0x7c/0x94
> >> [   28.166207]  kasan_save_stack+0x1c/0x34
> >> [   28.166442]  kasan_save_track+0x10/0x25
> >> [   28.166669]  kasan_save_free_info+0x3b/0x41
> >> [   28.166912]  __kasan_slab_free+0x18/0x2a
> >> [   28.167150]  kfree+0x206/0x26a
> >> [   28.167388]  skb_release_data+0x152/0x16e
> >> [   28.167636]  __kfree_skb+0x14/0x1e
> >> [   28.167834]  netlink_recvmsg+0x2b2/0x503
> >> [   28.168066]  sock_recvmsg_nosec+0x48/0x80
> >> [   28.168305]  ____sys_recvmsg+0x10c/0x1fa
> >> [   28.168542]  ___sys_recvmsg+0xc7/0x103
> >> [   28.168762]  __sys_recvmsg+0xb7/0x113
> >> [   28.168978]  do_syscall_64+0x9a/0xfd
> >> [   28.169188]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> >> [   28.169504]
> >> [   28.169599] The buggy address belongs to the object at ffff888008a79800
> >> [   28.169599]  which belongs to the cache kmalloc-1k of size 1024
> >> [   28.170285] The buggy address is located 948 bytes to the right of
> >> [   28.170285]  allocated 1024-byte region [ffff888008a79800, ffff888008a79c00)
> >> [   28.171055]
> >> [   28.171152] The buggy address belongs to the physical page:
> >> [   28.171487] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888008a7f800 pfn:0x8a78
> >> [   28.172060] head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
> >> [   28.172539] flags: 0xffffc000000240(workingset|head|node=0|zone=1|lastcpupid=0x1ffff)
> >> [   28.173104] page_type: f5(slab)
> >> [   28.173343] raw: 00ffffc000000240 ffff888001042dc0 ffffea0000226410 ffffea00002f3010
> >> [   28.173822] raw: ffff888008a7f800 0000000000100008 00000001f5000000 0000000000000000
> >> [   28.174308] head: 00ffffc000000240 ffff888001042dc0 ffffea0000226410 ffffea00002f3010
> >> [   28.174733] head: ffff888008a7f800 0000000000100008 00000001f5000000 0000000000000000
> >> [   28.175177] head: 00ffffc000000003 ffffea0000229e01 ffffffffffffffff 0000000000000000
> >> [   28.175631] head: 0000000000000008 0000000000000000 00000000ffffffff 0000000000000000
> >> [   28.176074] page dumped because: kasan: bad access detected
> >> [   28.176391]
> >> [   28.176484] Memory state around the buggy address:
> >> [   28.176746]  ffff888008a79e80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> >> [   28.177121]  ffff888008a79f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> >> [   28.177612] >ffff888008a79f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> >> [   28.178011]                                      ^
> >> [   28.178286]  ffff888008a7a000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >> [   28.178671]  ffff888008a7a080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >> [   28.179183] ==================================================================
> >>
> >> --
> >> Best Regards,
> >> Huang, Ying



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: KASAN error when insmod cxl_test
  2024-10-15  9:41   ` Zhijian Li (Fujitsu)
  2024-10-15 15:53     ` Ira Weiny
@ 2024-10-15 18:06     ` Dan Williams
  2024-10-16  1:23       ` Zhijian Li (Fujitsu)
  1 sibling, 1 reply; 10+ messages in thread
From: Dan Williams @ 2024-10-15 18:06 UTC (permalink / raw)
  To: Zhijian Li (Fujitsu), Huang, Ying, Dave Jiang; +Cc: linux-cxl@vger.kernel.org

Zhijian Li (Fujitsu) wrote:
> 
> 
> On 15/10/2024 16:39, Zhijian Li (Fujitsu) wrote:
> > 
> > All,
> > 
> > I encountered a panic with similar calltrace
> > 
> > I guessed I have root cause this, it was introduced since commit
> > 
> > commit a5ab0de0ebaa65e0a75ec0761a2745c66a9d17dc
> > Author: Dave Jiang <dave.jiang@intel.com>
> > Date:   Tue Sep 3 17:11:51 2024 -0700
> > 
> >       cxl: Calculate region bandwidth of targets with shared upstream link
> > 
> > 
> > Which calls cxl_region_shared_upstream_bandwidth_update(cxlr).
> > However, the cxl_region_shared_upstream_bandwidth_update(cxlr) works on PCI/PCIE device only
> > while the cxl_test was implemented by platform device.
> > 
> > I'm cooking and testing below patch
> 
> 
> An alternative patch with a mock,
> 
> diff --git a/tools/testing/cxl/Kbuild b/tools/testing/cxl/Kbuild
> index b1256fee3567..ed9f50dee3f5 100644
> --- a/tools/testing/cxl/Kbuild
> +++ b/tools/testing/cxl/Kbuild
> @@ -15,6 +15,7 @@ ldflags-y += --wrap=devm_cxl_add_rch_dport
>   ldflags-y += --wrap=cxl_rcd_component_reg_phys
>   ldflags-y += --wrap=cxl_endpoint_parse_cdat
>   ldflags-y += --wrap=cxl_dport_init_ras_reporting
> +ldflags-y += --wrap=cxl_region_shared_upstream_bandwidth_update

I prefer this mock approach, thanks for tracking that down! Feel free to

>   
>   DRIVERS := ../../../drivers
>   CXL_SRC := $(DRIVERS)/cxl
> @@ -61,6 +62,7 @@ cxl_core-y += $(CXL_CORE_SRC)/pci.o
>   cxl_core-y += $(CXL_CORE_SRC)/hdm.o
>   cxl_core-y += $(CXL_CORE_SRC)/pmu.o
>   cxl_core-y += $(CXL_CORE_SRC)/cdat.o
> +cxl_core-y += mock_cdat.o

My expectation is that all CXL core mocks land in
tools/testing/cxl/test/mock.c, other than that this looks good to me.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: KASAN error when insmod cxl_test
  2024-10-15 18:06     ` Dan Williams
@ 2024-10-16  1:23       ` Zhijian Li (Fujitsu)
  0 siblings, 0 replies; 10+ messages in thread
From: Zhijian Li (Fujitsu) @ 2024-10-16  1:23 UTC (permalink / raw)
  To: Dan Williams, Huang, Ying, Dave Jiang; +Cc: linux-cxl@vger.kernel.org



On 16/10/2024 02:06, Dan Williams wrote:
> Zhijian Li (Fujitsu) wrote:
>>
>>
>> On 15/10/2024 16:39, Zhijian Li (Fujitsu) wrote:
>>>
>>> All,
>>>
>>> I encountered a panic with similar calltrace
>>>
>>> I guessed I have root cause this, it was introduced since commit
>>>
>>> commit a5ab0de0ebaa65e0a75ec0761a2745c66a9d17dc
>>> Author: Dave Jiang <dave.jiang@intel.com>
>>> Date:   Tue Sep 3 17:11:51 2024 -0700
>>>
>>>        cxl: Calculate region bandwidth of targets with shared upstream link
>>>
>>>
>>> Which calls cxl_region_shared_upstream_bandwidth_update(cxlr).
>>> However, the cxl_region_shared_upstream_bandwidth_update(cxlr) works on PCI/PCIE device only
>>> while the cxl_test was implemented by platform device.
>>>
>>> I'm cooking and testing below patch
>>
>>
>> An alternative patch with a mock,
>>
>> diff --git a/tools/testing/cxl/Kbuild b/tools/testing/cxl/Kbuild
>> index b1256fee3567..ed9f50dee3f5 100644
>> --- a/tools/testing/cxl/Kbuild
>> +++ b/tools/testing/cxl/Kbuild
>> @@ -15,6 +15,7 @@ ldflags-y += --wrap=devm_cxl_add_rch_dport
>>    ldflags-y += --wrap=cxl_rcd_component_reg_phys
>>    ldflags-y += --wrap=cxl_endpoint_parse_cdat
>>    ldflags-y += --wrap=cxl_dport_init_ras_reporting
>> +ldflags-y += --wrap=cxl_region_shared_upstream_bandwidth_update
> 
> I prefer this mock approach, thanks for tracking that down! Feel free to
> 
>>    
>>    DRIVERS := ../../../drivers
>>    CXL_SRC := $(DRIVERS)/cxl
>> @@ -61,6 +62,7 @@ cxl_core-y += $(CXL_CORE_SRC)/pci.o
>>    cxl_core-y += $(CXL_CORE_SRC)/hdm.o
>>    cxl_core-y += $(CXL_CORE_SRC)/pmu.o
>>    cxl_core-y += $(CXL_CORE_SRC)/cdat.o
>> +cxl_core-y += mock_cdat.o
> 
> My expectation is that all CXL core mocks land in
> tools/testing/cxl/test/mock.c, other than that this looks good to me.

I tried this option, but it failed with dependency check.

$depmod -a
depmod: ERROR: Cycle detected: cxl_mock -> cxl_core -> cxl_mock
depmod: ERROR: Found 2 modules in dependency cycles!
===========================

diff --git a/tools/testing/cxl/Kbuild b/tools/testing/cxl/Kbuild
index ed9f50dee3f5..813790d40100 100644
--- a/tools/testing/cxl/Kbuild
+++ b/tools/testing/cxl/Kbuild
@@ -62,7 +62,7 @@ cxl_core-y += $(CXL_CORE_SRC)/pci.o
  cxl_core-y += $(CXL_CORE_SRC)/hdm.o
  cxl_core-y += $(CXL_CORE_SRC)/pmu.o
  cxl_core-y += $(CXL_CORE_SRC)/cdat.o
  cxl_core-$(CONFIG_TRACING) += $(CXL_CORE_SRC)/trace.o
  cxl_core-$(CONFIG_CXL_REGION) += $(CXL_CORE_SRC)/region.o
  cxl_core-y += config_check.o
diff --git a/tools/testing/cxl/mock_cdat.c b/tools/testing/cxl/mock_cdat.c
index a48d9c549651..97beb9f107bb 100644
--- a/tools/testing/cxl/mock_cdat.c
+++ b/tools/testing/cxl/mock_cdat.c
@@ -6,4 +6,3 @@
  void __wrap_cxl_region_shared_upstream_bandwidth_update(struct cxl_region *cxlr)
  {
  }
-
diff --git a/tools/testing/cxl/test/mock.c b/tools/testing/cxl/test/mock.c
index f4ce96cc11d4..4c43462c1081 100644
--- a/tools/testing/cxl/test/mock.c
+++ b/tools/testing/cxl/test/mock.c
@@ -311,6 +311,11 @@ void __wrap_cxl_dport_init_ras_reporting(struct cxl_dport *dport, struct device
  }
  EXPORT_SYMBOL_NS_GPL(__wrap_cxl_dport_init_ras_reporting, CXL);
  
+void __wrap_cxl_region_shared_upstream_bandwidth_update(struct cxl_region *cxlr)
+{
+}
+EXPORT_SYMBOL_NS_GPL(__wrap_cxl_region_shared_upstream_bandwidth_update, CXL);
+
  MODULE_LICENSE("GPL v2");
  MODULE_IMPORT_NS(ACPI);
  MODULE_IMPORT_NS(CXL);


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-10-16  1:23 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-10  9:03 KASAN error when insmod cxl_test Huang, Ying
2024-10-15  2:41 ` Ira Weiny
2024-10-15  3:36 ` Dan Williams
2024-10-15  4:56   ` Huang, Ying
2024-10-15 14:34   ` Ira Weiny
2024-10-15  8:39 ` Zhijian Li (Fujitsu)
2024-10-15  9:41   ` Zhijian Li (Fujitsu)
2024-10-15 15:53     ` Ira Weiny
2024-10-15 18:06     ` Dan Williams
2024-10-16  1:23       ` Zhijian Li (Fujitsu)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox