-
Notifications
You must be signed in to change notification settings - Fork 58
4.17 wlan #34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
frank-w
pushed a commit
that referenced
this pull request
Jul 8, 2018
[ Upstream commit 32ffd6e ] Do not perform the rfkill cleanup routine when (asus->driver->wlan_ctrl_by_user && ashs_present()) is true, since nothing is registered with the rfkill subsystem in that case. Doing so leads to the following kernel NULL pointer dereference: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff816c7348>] __mutex_lock_slowpath+0x98/0x120 PGD 1a3aa8067 PUD 1a3b3d067 PMD 0 Oops: 0002 [#1] PREEMPT SMP Modules linked in: bnep ccm binfmt_misc uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core hid_a4tech videodev x86_pkg_temp_thermal intel_powerclamp coretemp ath3k btusb btrtl btintel bluetooth kvm_intel snd_hda_codec_hdmi kvm snd_hda_codec_realtek snd_hda_codec_generic irqbypass crc32c_intel arc4 i915 snd_hda_intel snd_hda_codec ath9k ath9k_common ath9k_hw ath i2c_algo_bit snd_hwdep mac80211 ghash_clmulni_intel snd_hda_core snd_pcm snd_timer cfg80211 ehci_pci xhci_pci drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm xhci_hcd ehci_hcd asus_nb_wmi(-) asus_wmi sparse_keymap r8169 rfkill mxm_wmi serio_raw snd mii mei_me lpc_ich i2c_i801 video soundcore mei i2c_smbus wmi i2c_core mfd_core CPU: 3 PID: 3275 Comm: modprobe Not tainted 4.9.34-gentoo #34 Hardware name: ASUSTeK COMPUTER INC. K56CM/K56CM, BIOS K56CM.206 08/21/2012 task: ffff8801a639ba00 task.stack: ffffc900014cc000 RIP: 0010:[<ffffffff816c7348>] [<ffffffff816c7348>] __mutex_lock_slowpath+0x98/0x120 RSP: 0018:ffffc900014cfce0 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffff8801a54315b0 RCX: 00000000c0000100 RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff8801a54315b4 RBP: ffffc900014cfd30 R08: 0000000000000000 R09: 0000000000000002 R10: 0000000000000000 R11: 0000000000000000 R12: ffff8801a54315b4 R13: ffff8801a639ba00 R14: 00000000ffffffff R15: ffff8801a54315b8 FS: 00007faa254fb700(0000) GS:ffff8801aef80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 00000001a3b1b000 CR4: 00000000001406e0 Stack: ffff8801a54315b8 0000000000000000 ffffffff814733ae ffffc900014cfd28 ffffffff8146a28c ffff8801a54315b0 0000000000000000 ffff8801a54315b0 ffff8801a66f3820 0000000000000000 ffffc900014cfd48 ffffffff816c73e7 Call Trace: [<ffffffff814733ae>] ? acpi_ut_release_mutex+0x5d/0x61 [<ffffffff8146a28c>] ? acpi_ns_get_node+0x49/0x52 [<ffffffff816c73e7>] mutex_lock+0x17/0x30 [<ffffffffa00a3bb4>] asus_rfkill_hotplug+0x24/0x1a0 [asus_wmi] [<ffffffffa00a4421>] asus_wmi_rfkill_exit+0x61/0x150 [asus_wmi] [<ffffffffa00a49f1>] asus_wmi_remove+0x61/0xb0 [asus_wmi] [<ffffffff814a5128>] platform_drv_remove+0x28/0x40 [<ffffffff814a2901>] __device_release_driver+0xa1/0x160 [<ffffffff814a29e3>] device_release_driver+0x23/0x30 [<ffffffff814a1ffd>] bus_remove_device+0xfd/0x170 [<ffffffff8149e5a9>] device_del+0x139/0x270 [<ffffffff814a5028>] platform_device_del+0x28/0x90 [<ffffffff814a50a2>] platform_device_unregister+0x12/0x30 [<ffffffffa00a4209>] asus_wmi_unregister_driver+0x19/0x30 [asus_wmi] [<ffffffffa00da0ea>] asus_nb_wmi_exit+0x10/0xf26 [asus_nb_wmi] [<ffffffff8110c692>] SyS_delete_module+0x192/0x270 [<ffffffff810022b2>] ? exit_to_usermode_loop+0x92/0xa0 [<ffffffff816ca560>] entry_SYSCALL_64_fastpath+0x13/0x94 Code: e8 5e 30 00 00 8b 03 83 f8 01 0f 84 93 00 00 00 48 8b 43 10 4c 8d 7b 08 48 89 63 10 41 be ff ff ff ff 4c 89 3c 24 48 89 44 24 08 <48> 89 20 4c 89 6c 24 10 eb 1d 4c 89 e7 49 c7 45 08 02 00 00 00 RIP [<ffffffff816c7348>] __mutex_lock_slowpath+0x98/0x120 RSP <ffffc900014cfce0> CR2: 0000000000000000 ---[ end trace 8d484233fa7cb512 ]--- note: modprobe[3275] exited with preempt_count 2 https://bugzilla.kernel.org/show_bug.cgi?id=196467 Reported-by: [email protected] Signed-off-by: João Paulo Rechi Vita <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Sasha Levin <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Oct 22, 2018
gpiochip_set_cascaded_irqchip() is passed 'parent_irq' as an argument and then the address of that argument is assigned to the gpio chips gpio_irq_chip 'parents' pointer shortly thereafter. This can't ever work, because we've just assigned some stack address to a pointer that we plan to dereference later in gpiochip_irq_map(). I ran into this issue with the KASAN report below when gpiochip_irq_map() tried to setup the parent irq with a total junk pointer for the 'parents' array. BUG: KASAN: stack-out-of-bounds in gpiochip_irq_map+0x228/0x248 Read of size 4 at addr ffffffc0dde472e0 by task swapper/0/1 CPU: 7 PID: 1 Comm: swapper/0 Not tainted 4.14.72 #34 Call trace: [<ffffff9008093638>] dump_backtrace+0x0/0x718 [<ffffff9008093da4>] show_stack+0x20/0x2c [<ffffff90096b9224>] __dump_stack+0x20/0x28 [<ffffff90096b91c8>] dump_stack+0x80/0xbc [<ffffff900845a350>] print_address_description+0x70/0x238 [<ffffff900845a8e4>] kasan_report+0x1cc/0x260 [<ffffff900845aa14>] __asan_report_load4_noabort+0x2c/0x38 [<ffffff900897e098>] gpiochip_irq_map+0x228/0x248 [<ffffff900820cc08>] irq_domain_associate+0x114/0x2ec [<ffffff900820d13c>] irq_create_mapping+0x120/0x234 [<ffffff900820da78>] irq_create_fwspec_mapping+0x4c8/0x88c [<ffffff900820e2d8>] irq_create_of_mapping+0x180/0x210 [<ffffff900917114c>] of_irq_get+0x138/0x198 [<ffffff9008dc70ac>] spi_drv_probe+0x94/0x178 [<ffffff9008ca5168>] driver_probe_device+0x51c/0x824 [<ffffff9008ca6538>] __device_attach_driver+0x148/0x20c [<ffffff9008ca14cc>] bus_for_each_drv+0x120/0x188 [<ffffff9008ca570c>] __device_attach+0x19c/0x2dc [<ffffff9008ca586c>] device_initial_probe+0x20/0x2c [<ffffff9008ca18bc>] bus_probe_device+0x80/0x154 [<ffffff9008c9b9b4>] device_add+0x9b8/0xbdc [<ffffff9008dc7640>] spi_add_device+0x1b8/0x380 [<ffffff9008dcbaf0>] spi_register_controller+0x111c/0x1378 [<ffffff9008dd6b10>] spi_geni_probe+0x4dc/0x6f8 [<ffffff9008cab058>] platform_drv_probe+0xdc/0x130 [<ffffff9008ca5168>] driver_probe_device+0x51c/0x824 [<ffffff9008ca59cc>] __driver_attach+0x100/0x194 [<ffffff9008ca0ea8>] bus_for_each_dev+0x104/0x16c [<ffffff9008ca58c0>] driver_attach+0x48/0x54 [<ffffff9008ca1edc>] bus_add_driver+0x274/0x498 [<ffffff9008ca8448>] driver_register+0x1ac/0x230 [<ffffff9008caaf6c>] __platform_driver_register+0xcc/0xdc [<ffffff9009c4b33c>] spi_geni_driver_init+0x1c/0x24 [<ffffff9008084cb8>] do_one_initcall+0x240/0x3dc [<ffffff9009c017d0>] kernel_init_freeable+0x378/0x468 [<ffffff90096e8240>] kernel_init+0x14/0x110 [<ffffff9008086fcc>] ret_from_fork+0x10/0x18 The buggy address belongs to the page: page:ffffffbf037791c0 count:0 mapcount:0 mapping: (null) index:0x0 flags: 0x4000000000000000() raw: 4000000000000000 0000000000000000 0000000000000000 00000000ffffffff raw: ffffffbf037791e0 ffffffbf037791e0 0000000000000000 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffffffc0dde47180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffffc0dde47200: f1 f1 f1 f1 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f2 f2 >ffffffc0dde47280: f2 f2 00 00 00 00 00 00 00 00 00 00 f3 f3 f3 f3 ^ ffffffc0dde47300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffffc0dde47380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Let's leave around one unsigned int in the gpio_irq_chip struct for the single parent irq case and repoint the 'parents' array at it. This way code is left mostly intact to setup parents and we waste an extra few bytes per structure of which there should be only a handful in a system. Cc: Evan Green <[email protected]> Cc: Thierry Reding <[email protected]> Cc: Grygorii Strashko <[email protected]> Fixes: e0d8972 ("gpio: Implement tighter IRQ chip integration") Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Nov 5, 2018
[ Upstream commit 3e779a2 ] gpiochip_set_cascaded_irqchip() is passed 'parent_irq' as an argument and then the address of that argument is assigned to the gpio chips gpio_irq_chip 'parents' pointer shortly thereafter. This can't ever work, because we've just assigned some stack address to a pointer that we plan to dereference later in gpiochip_irq_map(). I ran into this issue with the KASAN report below when gpiochip_irq_map() tried to setup the parent irq with a total junk pointer for the 'parents' array. BUG: KASAN: stack-out-of-bounds in gpiochip_irq_map+0x228/0x248 Read of size 4 at addr ffffffc0dde472e0 by task swapper/0/1 CPU: 7 PID: 1 Comm: swapper/0 Not tainted 4.14.72 #34 Call trace: [<ffffff9008093638>] dump_backtrace+0x0/0x718 [<ffffff9008093da4>] show_stack+0x20/0x2c [<ffffff90096b9224>] __dump_stack+0x20/0x28 [<ffffff90096b91c8>] dump_stack+0x80/0xbc [<ffffff900845a350>] print_address_description+0x70/0x238 [<ffffff900845a8e4>] kasan_report+0x1cc/0x260 [<ffffff900845aa14>] __asan_report_load4_noabort+0x2c/0x38 [<ffffff900897e098>] gpiochip_irq_map+0x228/0x248 [<ffffff900820cc08>] irq_domain_associate+0x114/0x2ec [<ffffff900820d13c>] irq_create_mapping+0x120/0x234 [<ffffff900820da78>] irq_create_fwspec_mapping+0x4c8/0x88c [<ffffff900820e2d8>] irq_create_of_mapping+0x180/0x210 [<ffffff900917114c>] of_irq_get+0x138/0x198 [<ffffff9008dc70ac>] spi_drv_probe+0x94/0x178 [<ffffff9008ca5168>] driver_probe_device+0x51c/0x824 [<ffffff9008ca6538>] __device_attach_driver+0x148/0x20c [<ffffff9008ca14cc>] bus_for_each_drv+0x120/0x188 [<ffffff9008ca570c>] __device_attach+0x19c/0x2dc [<ffffff9008ca586c>] device_initial_probe+0x20/0x2c [<ffffff9008ca18bc>] bus_probe_device+0x80/0x154 [<ffffff9008c9b9b4>] device_add+0x9b8/0xbdc [<ffffff9008dc7640>] spi_add_device+0x1b8/0x380 [<ffffff9008dcbaf0>] spi_register_controller+0x111c/0x1378 [<ffffff9008dd6b10>] spi_geni_probe+0x4dc/0x6f8 [<ffffff9008cab058>] platform_drv_probe+0xdc/0x130 [<ffffff9008ca5168>] driver_probe_device+0x51c/0x824 [<ffffff9008ca59cc>] __driver_attach+0x100/0x194 [<ffffff9008ca0ea8>] bus_for_each_dev+0x104/0x16c [<ffffff9008ca58c0>] driver_attach+0x48/0x54 [<ffffff9008ca1edc>] bus_add_driver+0x274/0x498 [<ffffff9008ca8448>] driver_register+0x1ac/0x230 [<ffffff9008caaf6c>] __platform_driver_register+0xcc/0xdc [<ffffff9009c4b33c>] spi_geni_driver_init+0x1c/0x24 [<ffffff9008084cb8>] do_one_initcall+0x240/0x3dc [<ffffff9009c017d0>] kernel_init_freeable+0x378/0x468 [<ffffff90096e8240>] kernel_init+0x14/0x110 [<ffffff9008086fcc>] ret_from_fork+0x10/0x18 The buggy address belongs to the page: page:ffffffbf037791c0 count:0 mapcount:0 mapping: (null) index:0x0 flags: 0x4000000000000000() raw: 4000000000000000 0000000000000000 0000000000000000 00000000ffffffff raw: ffffffbf037791e0 ffffffbf037791e0 0000000000000000 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffffffc0dde47180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffffc0dde47200: f1 f1 f1 f1 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f2 f2 >ffffffc0dde47280: f2 f2 00 00 00 00 00 00 00 00 00 00 f3 f3 f3 f3 ^ ffffffc0dde47300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffffc0dde47380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Let's leave around one unsigned int in the gpio_irq_chip struct for the single parent irq case and repoint the 'parents' array at it. This way code is left mostly intact to setup parents and we waste an extra few bytes per structure of which there should be only a handful in a system. Cc: Evan Green <[email protected]> Cc: Thierry Reding <[email protected]> Cc: Grygorii Strashko <[email protected]> Fixes: e0d8972 ("gpio: Implement tighter IRQ chip integration") Signed-off-by: Stephen Boyd <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Dec 17, 2018
Increase kasan instrumented kernel stack size from 32k to 64k. Other architectures seems to get away with just doubling kernel stack size under kasan, but on s390 this appears to be not enough due to bigger frame size. The particular pain point is kasan inlined checks (CONFIG_KASAN_INLINE vs CONFIG_KASAN_OUTLINE). With inlined checks one particular case hitting stack overflow is fs sync on xfs filesystem: #0 [9a0681e8] 704 bytes check_usage at 34b1fc #1 [9a0684a8] 432 bytes check_usage at 34c710 #2 [9a068658] 1048 bytes validate_chain at 35044a #3 [9a068a70] 312 bytes __lock_acquire at 3559fe #4 [9a068ba8] 440 bytes lock_acquire at 3576ee #5 [9a068d60] 104 bytes _raw_spin_lock at 21b44e0 #6 [9a068dc8] 1992 bytes enqueue_entity at 2dbf72 #7 [9a069590] 1496 bytes enqueue_task_fair at 2df5f0 #8 [9a069b68] 64 bytes ttwu_do_activate at 28f438 #9 [9a069ba8] 552 bytes try_to_wake_up at 298c4c #10 [9a069dd0] 168 bytes wake_up_worker at 23f97c #11 [9a069e78] 200 bytes insert_work at 23fc2e #12 [9a069f40] 648 bytes __queue_work at 2487c0 #13 [9a06a1c8] 200 bytes __queue_delayed_work at 24db28 #14 [9a06a290] 248 bytes mod_delayed_work_on at 24de84 #15 [9a06a388] 24 bytes kblockd_mod_delayed_work_on at 153e2a0 #16 [9a06a3a0] 288 bytes __blk_mq_delay_run_hw_queue at 158168c #17 [9a06a4c0] 192 bytes blk_mq_run_hw_queue at 1581a3c #18 [9a06a580] 184 bytes blk_mq_sched_insert_requests at 15a2192 #19 [9a06a638] 1024 bytes blk_mq_flush_plug_list at 1590f3a #20 [9a06aa38] 704 bytes blk_flush_plug_list at 1555028 #21 [9a06acf8] 320 bytes schedule at 219e476 #22 [9a06ae38] 760 bytes schedule_timeout at 21b0aac #23 [9a06b130] 408 bytes wait_for_common at 21a1706 #24 [9a06b2c8] 360 bytes xfs_buf_iowait at fa1540 #25 [9a06b430] 256 bytes __xfs_buf_submit at fadae6 #26 [9a06b530] 264 bytes xfs_buf_read_map at fae3f6 #27 [9a06b638] 656 bytes xfs_trans_read_buf_map at 10ac9a8 #28 [9a06b8c8] 304 bytes xfs_btree_kill_root at e72426 #29 [9a06b9f8] 288 bytes xfs_btree_lookup_get_block at e7bc5e #30 [9a06bb18] 624 bytes xfs_btree_lookup at e7e1a6 #31 [9a06bd88] 2664 bytes xfs_alloc_ag_vextent_near at dfa070 #32 [9a06c7f0] 144 bytes xfs_alloc_ag_vextent at dff3ca #33 [9a06c880] 1128 bytes xfs_alloc_vextent at e05fce #34 [9a06cce8] 584 bytes xfs_bmap_btalloc at e58342 #35 [9a06cf30] 1336 bytes xfs_bmapi_write at e618de #36 [9a06d468] 776 bytes xfs_iomap_write_allocate at ff678e #37 [9a06d770] 720 bytes xfs_map_blocks at f82af8 #38 [9a06da40] 928 bytes xfs_writepage_map at f83cd6 #39 [9a06dde0] 320 bytes xfs_do_writepage at f85872 #40 [9a06df20] 1320 bytes write_cache_pages at 73dfe8 #41 [9a06e448] 208 bytes xfs_vm_writepages at f7f892 #42 [9a06e518] 88 bytes do_writepages at 73fe6a #43 [9a06e570] 872 bytes __writeback_single_inode at a20cb6 #44 [9a06e8d8] 664 bytes writeback_sb_inodes at a23be2 #45 [9a06eb70] 296 bytes __writeback_inodes_wb at a242e0 #46 [9a06ec98] 928 bytes wb_writeback at a2500e #47 [9a06f038] 848 bytes wb_do_writeback at a260ae #48 [9a06f388] 536 bytes wb_workfn at a28228 #49 [9a06f5a0] 1088 bytes process_one_work at 24a234 #50 [9a06f9e0] 1120 bytes worker_thread at 24ba26 #51 [9a06fe40] 104 bytes kthread at 26545a #52 [9a06fea8] kernel_thread_starter at 21b6b62 To be able to increase the stack size to 64k reuse LLILL instruction in __switch_to function to load 64k - STACK_FRAME_OVERHEAD - __PT_SIZE (65192) value as unsigned. Reported-by: Benjamin Block <[email protected]> Reviewed-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Apr 6, 2019
[ Upstream commit ce48c45 ] Since we've had: commit cb53826 ("jump_label/lockdep: Assert we hold the hotplug lock for _cpuslocked() operations") we've been getting some lockdep warnings during init, such as on HiKey960: [ 0.820495] WARNING: CPU: 4 PID: 0 at kernel/cpu.c:316 lockdep_assert_cpus_held+0x3c/0x48 [ 0.820498] Modules linked in: [ 0.820509] CPU: 4 PID: 0 Comm: swapper/4 Tainted: G S 4.20.0-rc5-00051-g4cae42a #34 [ 0.820511] Hardware name: HiKey960 (DT) [ 0.820516] pstate: 600001c5 (nZCv dAIF -PAN -UAO) [ 0.820520] pc : lockdep_assert_cpus_held+0x3c/0x48 [ 0.820523] lr : lockdep_assert_cpus_held+0x38/0x48 [ 0.820526] sp : ffff00000a9cbe50 [ 0.820528] x29: ffff00000a9cbe50 x28: 0000000000000000 [ 0.820533] x27: 00008000b69e5000 x26: ffff8000bff4cfe0 [ 0.820537] x25: ffff000008ba69e0 x24: 0000000000000001 [ 0.820541] x23: ffff000008fce000 x22: ffff000008ba70c8 [ 0.820545] x21: 0000000000000001 x20: 0000000000000003 [ 0.820548] x19: ffff00000a35d628 x18: ffffffffffffffff [ 0.820552] x17: 0000000000000000 x16: 0000000000000000 [ 0.820556] x15: ffff00000958f848 x14: 455f3052464d4d34 [ 0.820559] x13: 00000000769dde98 x12: ffff8000bf3f65a8 [ 0.820564] x11: 0000000000000000 x10: ffff00000958f848 [ 0.820567] x9 : ffff000009592000 x8 : ffff00000958f848 [ 0.820571] x7 : ffff00000818ffa0 x6 : 0000000000000000 [ 0.820574] x5 : 0000000000000000 x4 : 0000000000000001 [ 0.820578] x3 : 0000000000000000 x2 : 0000000000000001 [ 0.820582] x1 : 00000000ffffffff x0 : 0000000000000000 [ 0.820587] Call trace: [ 0.820591] lockdep_assert_cpus_held+0x3c/0x48 [ 0.820598] static_key_enable_cpuslocked+0x28/0xd0 [ 0.820606] arch_timer_check_ool_workaround+0xe8/0x228 [ 0.820610] arch_timer_starting_cpu+0xe4/0x2d8 [ 0.820615] cpuhp_invoke_callback+0xe8/0xd08 [ 0.820619] notify_cpu_starting+0x80/0xb8 [ 0.820625] secondary_start_kernel+0x118/0x1d0 We've also had a similar warning in sched_init_smp() for every asymmetric system that would enable the sched_asym_cpucapacity static key, although that was singled out in: commit 40fa378 ("sched/core: Take the hotplug lock in sched_init_smp()") Those warnings are actually harmless, since we cannot have hotplug operations at the time they appear. Instead of starting to sprinkle useless hotplug lock operations in the init codepaths, mute the warnings until they start warning about real problems. Suggested-by: Peter Zijlstra <[email protected]> Signed-off-by: Valentin Schneider <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Paul E. McKenney <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Will Deacon <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Apr 6, 2019
[ Upstream commit ce48c45 ] Since we've had: commit cb53826 ("jump_label/lockdep: Assert we hold the hotplug lock for _cpuslocked() operations") we've been getting some lockdep warnings during init, such as on HiKey960: [ 0.820495] WARNING: CPU: 4 PID: 0 at kernel/cpu.c:316 lockdep_assert_cpus_held+0x3c/0x48 [ 0.820498] Modules linked in: [ 0.820509] CPU: 4 PID: 0 Comm: swapper/4 Tainted: G S 4.20.0-rc5-00051-g4cae42a #34 [ 0.820511] Hardware name: HiKey960 (DT) [ 0.820516] pstate: 600001c5 (nZCv dAIF -PAN -UAO) [ 0.820520] pc : lockdep_assert_cpus_held+0x3c/0x48 [ 0.820523] lr : lockdep_assert_cpus_held+0x38/0x48 [ 0.820526] sp : ffff00000a9cbe50 [ 0.820528] x29: ffff00000a9cbe50 x28: 0000000000000000 [ 0.820533] x27: 00008000b69e5000 x26: ffff8000bff4cfe0 [ 0.820537] x25: ffff000008ba69e0 x24: 0000000000000001 [ 0.820541] x23: ffff000008fce000 x22: ffff000008ba70c8 [ 0.820545] x21: 0000000000000001 x20: 0000000000000003 [ 0.820548] x19: ffff00000a35d628 x18: ffffffffffffffff [ 0.820552] x17: 0000000000000000 x16: 0000000000000000 [ 0.820556] x15: ffff00000958f848 x14: 455f3052464d4d34 [ 0.820559] x13: 00000000769dde98 x12: ffff8000bf3f65a8 [ 0.820564] x11: 0000000000000000 x10: ffff00000958f848 [ 0.820567] x9 : ffff000009592000 x8 : ffff00000958f848 [ 0.820571] x7 : ffff00000818ffa0 x6 : 0000000000000000 [ 0.820574] x5 : 0000000000000000 x4 : 0000000000000001 [ 0.820578] x3 : 0000000000000000 x2 : 0000000000000001 [ 0.820582] x1 : 00000000ffffffff x0 : 0000000000000000 [ 0.820587] Call trace: [ 0.820591] lockdep_assert_cpus_held+0x3c/0x48 [ 0.820598] static_key_enable_cpuslocked+0x28/0xd0 [ 0.820606] arch_timer_check_ool_workaround+0xe8/0x228 [ 0.820610] arch_timer_starting_cpu+0xe4/0x2d8 [ 0.820615] cpuhp_invoke_callback+0xe8/0xd08 [ 0.820619] notify_cpu_starting+0x80/0xb8 [ 0.820625] secondary_start_kernel+0x118/0x1d0 We've also had a similar warning in sched_init_smp() for every asymmetric system that would enable the sched_asym_cpucapacity static key, although that was singled out in: commit 40fa378 ("sched/core: Take the hotplug lock in sched_init_smp()") Those warnings are actually harmless, since we cannot have hotplug operations at the time they appear. Instead of starting to sprinkle useless hotplug lock operations in the init codepaths, mute the warnings until they start warning about real problems. Suggested-by: Peter Zijlstra <[email protected]> Signed-off-by: Valentin Schneider <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Paul E. McKenney <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Will Deacon <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Apr 22, 2019
[ Upstream commit ce48c45 ] Since we've had: commit cb53826 ("jump_label/lockdep: Assert we hold the hotplug lock for _cpuslocked() operations") we've been getting some lockdep warnings during init, such as on HiKey960: [ 0.820495] WARNING: CPU: 4 PID: 0 at kernel/cpu.c:316 lockdep_assert_cpus_held+0x3c/0x48 [ 0.820498] Modules linked in: [ 0.820509] CPU: 4 PID: 0 Comm: swapper/4 Tainted: G S 4.20.0-rc5-00051-g4cae42a #34 [ 0.820511] Hardware name: HiKey960 (DT) [ 0.820516] pstate: 600001c5 (nZCv dAIF -PAN -UAO) [ 0.820520] pc : lockdep_assert_cpus_held+0x3c/0x48 [ 0.820523] lr : lockdep_assert_cpus_held+0x38/0x48 [ 0.820526] sp : ffff00000a9cbe50 [ 0.820528] x29: ffff00000a9cbe50 x28: 0000000000000000 [ 0.820533] x27: 00008000b69e5000 x26: ffff8000bff4cfe0 [ 0.820537] x25: ffff000008ba69e0 x24: 0000000000000001 [ 0.820541] x23: ffff000008fce000 x22: ffff000008ba70c8 [ 0.820545] x21: 0000000000000001 x20: 0000000000000003 [ 0.820548] x19: ffff00000a35d628 x18: ffffffffffffffff [ 0.820552] x17: 0000000000000000 x16: 0000000000000000 [ 0.820556] x15: ffff00000958f848 x14: 455f3052464d4d34 [ 0.820559] x13: 00000000769dde98 x12: ffff8000bf3f65a8 [ 0.820564] x11: 0000000000000000 x10: ffff00000958f848 [ 0.820567] x9 : ffff000009592000 x8 : ffff00000958f848 [ 0.820571] x7 : ffff00000818ffa0 x6 : 0000000000000000 [ 0.820574] x5 : 0000000000000000 x4 : 0000000000000001 [ 0.820578] x3 : 0000000000000000 x2 : 0000000000000001 [ 0.820582] x1 : 00000000ffffffff x0 : 0000000000000000 [ 0.820587] Call trace: [ 0.820591] lockdep_assert_cpus_held+0x3c/0x48 [ 0.820598] static_key_enable_cpuslocked+0x28/0xd0 [ 0.820606] arch_timer_check_ool_workaround+0xe8/0x228 [ 0.820610] arch_timer_starting_cpu+0xe4/0x2d8 [ 0.820615] cpuhp_invoke_callback+0xe8/0xd08 [ 0.820619] notify_cpu_starting+0x80/0xb8 [ 0.820625] secondary_start_kernel+0x118/0x1d0 We've also had a similar warning in sched_init_smp() for every asymmetric system that would enable the sched_asym_cpucapacity static key, although that was singled out in: commit 40fa378 ("sched/core: Take the hotplug lock in sched_init_smp()") Those warnings are actually harmless, since we cannot have hotplug operations at the time they appear. Instead of starting to sprinkle useless hotplug lock operations in the init codepaths, mute the warnings until they start warning about real problems. Suggested-by: Peter Zijlstra <[email protected]> Signed-off-by: Valentin Schneider <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Paul E. McKenney <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Will Deacon <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Dec 22, 2019
[ Upstream commit d00fa9a ] The tunnel socket tunnel->sock (struct sock) is accessed when preparing a new ppp session on a tunnel at pppol2tp_session_init. If the socket is closed by a thread while another is creating a new session, the threads race. In pppol2tp_connect, the tunnel object may be created if the pppol2tp socket is associated with the special session_id 0 and the tunnel socket is looked up using the provided fd. When handling this, pppol2tp_connect cannot sock_hold the tunnel socket to prevent it being destroyed during pppol2tp_connect since this may itself may race with the socket being destroyed. Doing sockfd_lookup in pppol2tp_connect isn't sufficient to prevent tunnel->sock going away either because a given tunnel socket fd may be reused between calls to pppol2tp_connect. Instead, have l2tp_tunnel_create sock_hold the tunnel socket before it does sockfd_put. This ensures that the tunnel's socket is always extant while the tunnel object exists. Hold a ref on the socket until the tunnel is destroyed and ensure that all tunnel destroy paths go through a common function (l2tp_tunnel_delete) since this will do the final sock_put to release the tunnel socket. Since the tunnel's socket is now guaranteed to exist if the tunnel exists, we no longer need to use sockfd_lookup via l2tp_sock_to_tunnel to derive the tunnel from the socket since this is always sk_user_data. Also, sessions no longer sock_hold the tunnel socket since sessions already hold a tunnel ref and the tunnel sock will not be freed until the tunnel is freed. Removing these sock_holds in l2tp_session_register avoids a possible sock leak in the pppol2tp_connect error path if l2tp_session_register succeeds but attaching a ppp channel fails. The pppol2tp_connect error path could have been fixed instead and have the sock ref dropped when the session is freed, but doing a sock_put of the tunnel socket when the session is freed would require a new session_free callback. It is simpler to just remove the sock_hold of the tunnel socket in l2tp_session_register, now that the tunnel socket lifetime is guaranteed. Finally, some init code in l2tp_tunnel_create is reordered to ensure that the new tunnel object's refcount is set and the tunnel socket ref is taken before the tunnel socket destructor callbacks are set. kasan: CONFIG_KASAN_INLINE enabled kasan: GPF could be caused by NULL-ptr deref or user memory access general protection fault: 0000 [#1] SMP KASAN Modules linked in: CPU: 0 PID: 4360 Comm: syzbot_19c09769 Not tainted 4.16.0-rc2+ #34 Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 RIP: 0010:pppol2tp_session_init+0x1d6/0x500 RSP: 0018:ffff88001377fb40 EFLAGS: 00010212 RAX: dffffc0000000000 RBX: ffff88001636a940 RCX: ffffffff84836c1d RDX: 0000000000000045 RSI: 0000000055976744 RDI: 0000000000000228 RBP: ffff88001377fb60 R08: ffffffff84836bc8 R09: 0000000000000002 R10: ffff88001377fab8 R11: 0000000000000001 R12: 0000000000000000 R13: ffff88001636aac8 R14: ffff8800160f81c0 R15: 1ffff100026eff76 FS: 00007ffb3ea66700(0000) GS:ffff88001a400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020e77000 CR3: 0000000016261000 CR4: 00000000000006f0 Call Trace: pppol2tp_connect+0xd18/0x13c0 ? pppol2tp_session_create+0x170/0x170 ? __might_fault+0x115/0x1d0 ? lock_downgrade+0x860/0x860 ? __might_fault+0xe5/0x1d0 ? security_socket_connect+0x8e/0xc0 SYSC_connect+0x1b6/0x310 ? SYSC_bind+0x280/0x280 ? __do_page_fault+0x5d1/0xca0 ? up_read+0x1f/0x40 ? __do_page_fault+0x3c8/0xca0 SyS_connect+0x29/0x30 ? SyS_accept+0x40/0x40 do_syscall_64+0x1e0/0x730 ? trace_hardirqs_off_thunk+0x1a/0x1c entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x7ffb3e376259 RSP: 002b:00007ffeda4f6508 EFLAGS: 00000202 ORIG_RAX: 000000000000002a RAX: ffffffffffffffda RBX: 0000000020e77012 RCX: 00007ffb3e376259 RDX: 000000000000002e RSI: 0000000020e77000 RDI: 0000000000000004 RBP: 00007ffeda4f6540 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000400b60 R13: 00007ffeda4f6660 R14: 0000000000000000 R15: 0000000000000000 Code: 80 3d b0 ff 06 02 00 0f 84 07 02 00 00 e8 13 d6 db fc 49 8d bc 24 28 02 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 f a 48 c1 ea 03 <80> 3c 02 00 0f 85 ed 02 00 00 4d 8b a4 24 28 02 00 00 e8 13 16 Fixes: 80d84ef ("l2tp: prevent l2tp_tunnel_delete racing with userspace close") Signed-off-by: James Chapman <[email protected]> Signed-off-by: David S. Miller <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Dec 22, 2019
commit 2975d5d upstream. Garbage supplied by user will cause to UCMA module provide zero memory size for memcpy(), because it wasn't checked, it will produce unpredictable results in rdma_resolve_addr(). [ 42.873814] BUG: KASAN: null-ptr-deref in rdma_resolve_addr+0xc8/0xfb0 [ 42.874816] Write of size 28 at addr 00000000000000a0 by task resaddr/1044 [ 42.876765] [ 42.876960] CPU: 1 PID: 1044 Comm: resaddr Not tainted 4.16.0-rc1-00057-gaa56a5293d7e #34 [ 42.877840] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.0-0-g63451fca13-prebuilt.qemu-project.org 04/01/2014 [ 42.879691] Call Trace: [ 42.880236] dump_stack+0x5c/0x77 [ 42.880664] kasan_report+0x163/0x380 [ 42.881354] ? rdma_resolve_addr+0xc8/0xfb0 [ 42.881864] memcpy+0x34/0x50 [ 42.882692] rdma_resolve_addr+0xc8/0xfb0 [ 42.883366] ? deref_stack_reg+0x88/0xd0 [ 42.883856] ? vsnprintf+0x31a/0x770 [ 42.884686] ? rdma_bind_addr+0xc40/0xc40 [ 42.885327] ? num_to_str+0x130/0x130 [ 42.885773] ? deref_stack_reg+0x88/0xd0 [ 42.886217] ? __read_once_size_nocheck.constprop.6+0x10/0x10 [ 42.887698] ? unwind_get_return_address_ptr+0x50/0x50 [ 42.888302] ? replace_slot+0x147/0x170 [ 42.889176] ? delete_node+0x12c/0x340 [ 42.890223] ? __radix_tree_lookup+0xa9/0x160 [ 42.891196] ? ucma_resolve_ip+0xb7/0x110 [ 42.891917] ucma_resolve_ip+0xb7/0x110 [ 42.893003] ? ucma_resolve_addr+0x190/0x190 [ 42.893531] ? _copy_from_user+0x5e/0x90 [ 42.894204] ucma_write+0x174/0x1f0 [ 42.895162] ? ucma_resolve_route+0xf0/0xf0 [ 42.896309] ? dequeue_task_fair+0x67e/0xd90 [ 42.897192] ? put_prev_entity+0x7d/0x170 [ 42.897870] ? ring_buffer_record_is_on+0xd/0x20 [ 42.898439] ? tracing_record_taskinfo_skip+0x20/0x50 [ 42.899686] __vfs_write+0xc4/0x350 [ 42.900142] ? kernel_read+0xa0/0xa0 [ 42.900602] ? firmware_map_remove+0xdf/0xdf [ 42.901135] ? do_task_dead+0x5d/0x60 [ 42.901598] ? do_exit+0xcc6/0x1220 [ 42.902789] ? __fget+0xa8/0xf0 [ 42.903190] vfs_write+0xf7/0x280 [ 42.903600] SyS_write+0xa1/0x120 [ 42.904206] ? SyS_read+0x120/0x120 [ 42.905710] ? compat_start_thread+0x60/0x60 [ 42.906423] ? SyS_read+0x120/0x120 [ 42.908716] do_syscall_64+0xeb/0x250 [ 42.910760] entry_SYSCALL_64_after_hwframe+0x21/0x86 [ 42.912735] RIP: 0033:0x7f138b0afe99 [ 42.914734] RSP: 002b:00007f138b799e98 EFLAGS: 00000287 ORIG_RAX: 0000000000000001 [ 42.917134] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f138b0afe99 [ 42.919487] RDX: 000000000000002e RSI: 0000000020000c40 RDI: 0000000000000004 [ 42.922393] RBP: 00007f138b799ec0 R08: 00007f138b79a700 R09: 0000000000000000 [ 42.925266] R10: 00007f138b79a700 R11: 0000000000000287 R12: 00007f138b799fc0 [ 42.927570] R13: 0000000000000000 R14: 00007ffdbae757c0 R15: 00007f138b79a9c0 [ 42.930047] [ 42.932681] Disabling lock debugging due to kernel taint [ 42.934795] BUG: unable to handle kernel NULL pointer dereference at 00000000000000a0 [ 42.936939] IP: memcpy_erms+0x6/0x10 [ 42.938864] PGD 80000001bea92067 P4D 80000001bea92067 PUD 1bea96067 PMD 0 [ 42.941576] Oops: 0002 [#1] SMP KASAN PTI [ 42.943952] CPU: 1 PID: 1044 Comm: resaddr Tainted: G B 4.16.0-rc1-00057-gaa56a5293d7e #34 [ 42.946964] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.11.0-0-g63451fca13-prebuilt.qemu-project.org 04/01/2014 [ 42.952336] RIP: 0010:memcpy_erms+0x6/0x10 [ 42.954707] RSP: 0018:ffff8801c8b479c8 EFLAGS: 00010286 [ 42.957227] RAX: 00000000000000a0 RBX: ffff8801c8b47ba0 RCX: 000000000000001c [ 42.960543] RDX: 000000000000001c RSI: ffff8801c8b47bbc RDI: 00000000000000a0 [ 42.963867] RBP: ffff8801c8b47b60 R08: 0000000000000000 R09: ffffed0039168ed1 [ 42.967303] R10: 0000000000000001 R11: ffffed0039168ed0 R12: ffff8801c8b47bbc [ 42.970685] R13: 00000000000000a0 R14: 1ffff10039168f4a R15: 0000000000000000 [ 42.973631] FS: 00007f138b79a700(0000) GS:ffff8801e5d00000(0000) knlGS:0000000000000000 [ 42.976831] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 42.979239] CR2: 00000000000000a0 CR3: 00000001be908002 CR4: 00000000003606a0 [ 42.982060] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 42.984877] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 42.988033] Call Trace: [ 42.990487] rdma_resolve_addr+0xc8/0xfb0 [ 42.993202] ? deref_stack_reg+0x88/0xd0 [ 42.996055] ? vsnprintf+0x31a/0x770 [ 42.998707] ? rdma_bind_addr+0xc40/0xc40 [ 43.000985] ? num_to_str+0x130/0x130 [ 43.003410] ? deref_stack_reg+0x88/0xd0 [ 43.006302] ? __read_once_size_nocheck.constprop.6+0x10/0x10 [ 43.008780] ? unwind_get_return_address_ptr+0x50/0x50 [ 43.011178] ? replace_slot+0x147/0x170 [ 43.013517] ? delete_node+0x12c/0x340 [ 43.016019] ? __radix_tree_lookup+0xa9/0x160 [ 43.018755] ? ucma_resolve_ip+0xb7/0x110 [ 43.021270] ucma_resolve_ip+0xb7/0x110 [ 43.023968] ? ucma_resolve_addr+0x190/0x190 [ 43.026312] ? _copy_from_user+0x5e/0x90 [ 43.029384] ucma_write+0x174/0x1f0 [ 43.031861] ? ucma_resolve_route+0xf0/0xf0 [ 43.034782] ? dequeue_task_fair+0x67e/0xd90 [ 43.037483] ? put_prev_entity+0x7d/0x170 [ 43.040215] ? ring_buffer_record_is_on+0xd/0x20 [ 43.042990] ? tracing_record_taskinfo_skip+0x20/0x50 [ 43.045595] __vfs_write+0xc4/0x350 [ 43.048624] ? kernel_read+0xa0/0xa0 [ 43.051604] ? firmware_map_remove+0xdf/0xdf [ 43.055379] ? do_task_dead+0x5d/0x60 [ 43.058000] ? do_exit+0xcc6/0x1220 [ 43.060783] ? __fget+0xa8/0xf0 [ 43.063133] vfs_write+0xf7/0x280 [ 43.065677] SyS_write+0xa1/0x120 [ 43.068647] ? SyS_read+0x120/0x120 [ 43.071179] ? compat_start_thread+0x60/0x60 [ 43.074025] ? SyS_read+0x120/0x120 [ 43.076705] do_syscall_64+0xeb/0x250 [ 43.079006] entry_SYSCALL_64_after_hwframe+0x21/0x86 [ 43.081606] RIP: 0033:0x7f138b0afe99 [ 43.083679] RSP: 002b:00007f138b799e98 EFLAGS: 00000287 ORIG_RAX: 0000000000000001 [ 43.086802] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f138b0afe99 [ 43.089989] RDX: 000000000000002e RSI: 0000000020000c40 RDI: 0000000000000004 [ 43.092866] RBP: 00007f138b799ec0 R08: 00007f138b79a700 R09: 0000000000000000 [ 43.096233] R10: 00007f138b79a700 R11: 0000000000000287 R12: 00007f138b799fc0 [ 43.098913] R13: 0000000000000000 R14: 00007ffdbae757c0 R15: 00007f138b79a9c0 [ 43.101809] Code: 90 90 90 90 90 eb 1e 0f 1f 00 48 89 f8 48 89 d1 48 c1 e9 03 83 e2 07 f3 48 a5 89 d1 f3 a4 c3 66 0f 1f 44 00 00 48 89 f8 48 89 d1 <f3> a4 c3 0f 1f 80 00 00 00 00 48 89 f8 48 83 fa 20 72 7e 40 38 [ 43.107950] RIP: memcpy_erms+0x6/0x10 RSP: ffff8801c8b479c8 Reported-by: <[email protected]> Fixes: 7521663 ("RDMA/cma: Export rdma cm interface to userspace") Signed-off-by: Leon Romanovsky <[email protected]> Reviewed-by: Sean Hefty <[email protected]> Signed-off-by: Jason Gunthorpe <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Oct 5, 2020
[ Upstream commit 96298f6 ] According to Core Spec Version 5.2 | Vol 3, Part A 6.1.5, the incoming L2CAP_ConfigReq should be handled during OPEN state. The section below shows the btmon trace when running L2CAP/COS/CFD/BV-12-C before and after this change. === Before === ... > ACL Data RX: Handle 256 flags 0x02 dlen 12 #22 L2CAP: Connection Request (0x02) ident 2 len 4 PSM: 1 (0x0001) Source CID: 65 < ACL Data TX: Handle 256 flags 0x00 dlen 16 #23 L2CAP: Connection Response (0x03) ident 2 len 8 Destination CID: 64 Source CID: 65 Result: Connection successful (0x0000) Status: No further information available (0x0000) < ACL Data TX: Handle 256 flags 0x00 dlen 12 #24 L2CAP: Configure Request (0x04) ident 2 len 4 Destination CID: 65 Flags: 0x0000 > HCI Event: Number of Completed Packets (0x13) plen 5 #25 Num handles: 1 Handle: 256 Count: 1 > HCI Event: Number of Completed Packets (0x13) plen 5 #26 Num handles: 1 Handle: 256 Count: 1 > ACL Data RX: Handle 256 flags 0x02 dlen 16 #27 L2CAP: Configure Request (0x04) ident 3 len 8 Destination CID: 64 Flags: 0x0000 Option: Unknown (0x10) [hint] 01 00 .. < ACL Data TX: Handle 256 flags 0x00 dlen 18 #28 L2CAP: Configure Response (0x05) ident 3 len 10 Source CID: 65 Flags: 0x0000 Result: Success (0x0000) Option: Maximum Transmission Unit (0x01) [mandatory] MTU: 672 > HCI Event: Number of Completed Packets (0x13) plen 5 #29 Num handles: 1 Handle: 256 Count: 1 > ACL Data RX: Handle 256 flags 0x02 dlen 14 #30 L2CAP: Configure Response (0x05) ident 2 len 6 Source CID: 64 Flags: 0x0000 Result: Success (0x0000) > ACL Data RX: Handle 256 flags 0x02 dlen 20 #31 L2CAP: Configure Request (0x04) ident 3 len 12 Destination CID: 64 Flags: 0x0000 Option: Unknown (0x10) [hint] 01 00 91 02 11 11 ...... < ACL Data TX: Handle 256 flags 0x00 dlen 14 #32 L2CAP: Command Reject (0x01) ident 3 len 6 Reason: Invalid CID in request (0x0002) Destination CID: 64 Source CID: 65 > HCI Event: Number of Completed Packets (0x13) plen 5 #33 Num handles: 1 Handle: 256 Count: 1 ... === After === ... > ACL Data RX: Handle 256 flags 0x02 dlen 12 #22 L2CAP: Connection Request (0x02) ident 2 len 4 PSM: 1 (0x0001) Source CID: 65 < ACL Data TX: Handle 256 flags 0x00 dlen 16 #23 L2CAP: Connection Response (0x03) ident 2 len 8 Destination CID: 64 Source CID: 65 Result: Connection successful (0x0000) Status: No further information available (0x0000) < ACL Data TX: Handle 256 flags 0x00 dlen 12 #24 L2CAP: Configure Request (0x04) ident 2 len 4 Destination CID: 65 Flags: 0x0000 > HCI Event: Number of Completed Packets (0x13) plen 5 #25 Num handles: 1 Handle: 256 Count: 1 > HCI Event: Number of Completed Packets (0x13) plen 5 #26 Num handles: 1 Handle: 256 Count: 1 > ACL Data RX: Handle 256 flags 0x02 dlen 16 #27 L2CAP: Configure Request (0x04) ident 3 len 8 Destination CID: 64 Flags: 0x0000 Option: Unknown (0x10) [hint] 01 00 .. < ACL Data TX: Handle 256 flags 0x00 dlen 18 #28 L2CAP: Configure Response (0x05) ident 3 len 10 Source CID: 65 Flags: 0x0000 Result: Success (0x0000) Option: Maximum Transmission Unit (0x01) [mandatory] MTU: 672 > HCI Event: Number of Completed Packets (0x13) plen 5 #29 Num handles: 1 Handle: 256 Count: 1 > ACL Data RX: Handle 256 flags 0x02 dlen 14 #30 L2CAP: Configure Response (0x05) ident 2 len 6 Source CID: 64 Flags: 0x0000 Result: Success (0x0000) > ACL Data RX: Handle 256 flags 0x02 dlen 20 #31 L2CAP: Configure Request (0x04) ident 3 len 12 Destination CID: 64 Flags: 0x0000 Option: Unknown (0x10) [hint] 01 00 91 02 11 11 ..... < ACL Data TX: Handle 256 flags 0x00 dlen 18 #32 L2CAP: Configure Response (0x05) ident 3 len 10 Source CID: 65 Flags: 0x0000 Result: Success (0x0000) Option: Maximum Transmission Unit (0x01) [mandatory] MTU: 672 < ACL Data TX: Handle 256 flags 0x00 dlen 12 #33 L2CAP: Configure Request (0x04) ident 3 len 4 Destination CID: 65 Flags: 0x0000 > HCI Event: Number of Completed Packets (0x13) plen 5 #34 Num handles: 1 Handle: 256 Count: 1 > HCI Event: Number of Completed Packets (0x13) plen 5 #35 Num handles: 1 Handle: 256 Count: 1 ... Signed-off-by: Howard Chung <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Oct 5, 2020
[ Upstream commit 96298f6 ] According to Core Spec Version 5.2 | Vol 3, Part A 6.1.5, the incoming L2CAP_ConfigReq should be handled during OPEN state. The section below shows the btmon trace when running L2CAP/COS/CFD/BV-12-C before and after this change. === Before === ... > ACL Data RX: Handle 256 flags 0x02 dlen 12 #22 L2CAP: Connection Request (0x02) ident 2 len 4 PSM: 1 (0x0001) Source CID: 65 < ACL Data TX: Handle 256 flags 0x00 dlen 16 #23 L2CAP: Connection Response (0x03) ident 2 len 8 Destination CID: 64 Source CID: 65 Result: Connection successful (0x0000) Status: No further information available (0x0000) < ACL Data TX: Handle 256 flags 0x00 dlen 12 #24 L2CAP: Configure Request (0x04) ident 2 len 4 Destination CID: 65 Flags: 0x0000 > HCI Event: Number of Completed Packets (0x13) plen 5 #25 Num handles: 1 Handle: 256 Count: 1 > HCI Event: Number of Completed Packets (0x13) plen 5 #26 Num handles: 1 Handle: 256 Count: 1 > ACL Data RX: Handle 256 flags 0x02 dlen 16 #27 L2CAP: Configure Request (0x04) ident 3 len 8 Destination CID: 64 Flags: 0x0000 Option: Unknown (0x10) [hint] 01 00 .. < ACL Data TX: Handle 256 flags 0x00 dlen 18 #28 L2CAP: Configure Response (0x05) ident 3 len 10 Source CID: 65 Flags: 0x0000 Result: Success (0x0000) Option: Maximum Transmission Unit (0x01) [mandatory] MTU: 672 > HCI Event: Number of Completed Packets (0x13) plen 5 #29 Num handles: 1 Handle: 256 Count: 1 > ACL Data RX: Handle 256 flags 0x02 dlen 14 #30 L2CAP: Configure Response (0x05) ident 2 len 6 Source CID: 64 Flags: 0x0000 Result: Success (0x0000) > ACL Data RX: Handle 256 flags 0x02 dlen 20 #31 L2CAP: Configure Request (0x04) ident 3 len 12 Destination CID: 64 Flags: 0x0000 Option: Unknown (0x10) [hint] 01 00 91 02 11 11 ...... < ACL Data TX: Handle 256 flags 0x00 dlen 14 #32 L2CAP: Command Reject (0x01) ident 3 len 6 Reason: Invalid CID in request (0x0002) Destination CID: 64 Source CID: 65 > HCI Event: Number of Completed Packets (0x13) plen 5 #33 Num handles: 1 Handle: 256 Count: 1 ... === After === ... > ACL Data RX: Handle 256 flags 0x02 dlen 12 #22 L2CAP: Connection Request (0x02) ident 2 len 4 PSM: 1 (0x0001) Source CID: 65 < ACL Data TX: Handle 256 flags 0x00 dlen 16 #23 L2CAP: Connection Response (0x03) ident 2 len 8 Destination CID: 64 Source CID: 65 Result: Connection successful (0x0000) Status: No further information available (0x0000) < ACL Data TX: Handle 256 flags 0x00 dlen 12 #24 L2CAP: Configure Request (0x04) ident 2 len 4 Destination CID: 65 Flags: 0x0000 > HCI Event: Number of Completed Packets (0x13) plen 5 #25 Num handles: 1 Handle: 256 Count: 1 > HCI Event: Number of Completed Packets (0x13) plen 5 #26 Num handles: 1 Handle: 256 Count: 1 > ACL Data RX: Handle 256 flags 0x02 dlen 16 #27 L2CAP: Configure Request (0x04) ident 3 len 8 Destination CID: 64 Flags: 0x0000 Option: Unknown (0x10) [hint] 01 00 .. < ACL Data TX: Handle 256 flags 0x00 dlen 18 #28 L2CAP: Configure Response (0x05) ident 3 len 10 Source CID: 65 Flags: 0x0000 Result: Success (0x0000) Option: Maximum Transmission Unit (0x01) [mandatory] MTU: 672 > HCI Event: Number of Completed Packets (0x13) plen 5 #29 Num handles: 1 Handle: 256 Count: 1 > ACL Data RX: Handle 256 flags 0x02 dlen 14 #30 L2CAP: Configure Response (0x05) ident 2 len 6 Source CID: 64 Flags: 0x0000 Result: Success (0x0000) > ACL Data RX: Handle 256 flags 0x02 dlen 20 #31 L2CAP: Configure Request (0x04) ident 3 len 12 Destination CID: 64 Flags: 0x0000 Option: Unknown (0x10) [hint] 01 00 91 02 11 11 ..... < ACL Data TX: Handle 256 flags 0x00 dlen 18 #32 L2CAP: Configure Response (0x05) ident 3 len 10 Source CID: 65 Flags: 0x0000 Result: Success (0x0000) Option: Maximum Transmission Unit (0x01) [mandatory] MTU: 672 < ACL Data TX: Handle 256 flags 0x00 dlen 12 #33 L2CAP: Configure Request (0x04) ident 3 len 4 Destination CID: 65 Flags: 0x0000 > HCI Event: Number of Completed Packets (0x13) plen 5 #34 Num handles: 1 Handle: 256 Count: 1 > HCI Event: Number of Completed Packets (0x13) plen 5 #35 Num handles: 1 Handle: 256 Count: 1 ... Signed-off-by: Howard Chung <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Jun 24, 2021
The BUG message "BUG: using smp_processor_id() in preemptible [00000000] code" was observed for TCMU devices with kernel config DEBUG_PREEMPT. The message was observed when blktests block/005 was run on TCMU devices with fileio backend or user:zbc backend [1]. The commit 1130b49 ("scsi: target: tcm_loop: Use LIO wq cmd submission helper") triggered the symptom. The commit modified work queue to handle commands and changed 'current->nr_cpu_allowed' at smp_processor_id() call. The message was also observed at system shutdown when TCMU devices were not cleaned up [2]. The function smp_processor_id() was called in SCSI host work queue for abort handling, and triggered the BUG message. This symptom was observed regardless of the commit 1130b49 ("scsi: target: tcm_loop: Use LIO wq cmd submission helper"). To avoid the preemptible code check at smp_processor_id(), get CPU ID with raw_smp_processor_id() instead. The CPU ID is used for performance improvement then thread move to other CPU will not affect the code. [1] [ 56.468103] run blktests block/005 at 2021-05-12 14:16:38 [ 57.369473] check_preemption_disabled: 85 callbacks suppressed [ 57.369480] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1511 [ 57.369506] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1510 [ 57.369512] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1506 [ 57.369552] caller is __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.369606] CPU: 4 PID: 1506 Comm: fio Not tainted 5.13.0-rc1+ #34 [ 57.369613] Hardware name: System manufacturer System Product Name/PRIME Z270-A, BIOS 1302 03/15/2018 [ 57.369617] Call Trace: [ 57.369621] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1507 [ 57.369628] dump_stack+0x6d/0x89 [ 57.369642] check_preemption_disabled+0xc8/0xd0 [ 57.369628] caller is __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.369655] __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.369695] target_init_cmd+0x76/0x90 [target_core_mod] [ 57.369732] tcm_loop_queuecommand+0x109/0x210 [tcm_loop] [ 57.369744] scsi_queue_rq+0x38e/0xc40 [ 57.369761] __blk_mq_try_issue_directly+0x109/0x1c0 [ 57.369779] blk_mq_try_issue_directly+0x43/0x90 [ 57.369790] blk_mq_submit_bio+0x4e5/0x5d0 [ 57.369812] submit_bio_noacct+0x46e/0x4e0 [ 57.369830] __blkdev_direct_IO_simple+0x1a3/0x2d0 [ 57.369859] ? set_init_blocksize.isra.0+0x60/0x60 [ 57.369880] generic_file_read_iter+0x89/0x160 [ 57.369898] blkdev_read_iter+0x44/0x60 [ 57.369906] new_sync_read+0x102/0x170 [ 57.369929] vfs_read+0xd4/0x160 [ 57.369941] __x64_sys_pread64+0x6e/0xa0 [ 57.369946] ? lockdep_hardirqs_on+0x79/0x100 [ 57.369958] do_syscall_64+0x3a/0x70 [ 57.369965] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 57.369973] RIP: 0033:0x7f7ed4c1399f [ 57.369979] Code: 08 89 3c 24 48 89 4c 24 18 e8 7d f3 ff ff 4c 8b 54 24 18 48 8b 54 24 10 41 89 c0 48 8b 74 24 08 8b 3c 24 b8 11 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 04 24 e8 cd f3 ff ff 48 8b [ 57.369983] RSP: 002b:00007ffd7918c580 EFLAGS: 00000293 ORIG_RAX: 0000000000000011 [ 57.369990] RAX: ffffffffffffffda RBX: 00000000015b4540 RCX: 00007f7ed4c1399f [ 57.369993] RDX: 0000000000001000 RSI: 00000000015de000 RDI: 0000000000000009 [ 57.369996] RBP: 00000000015b4540 R08: 0000000000000000 R09: 0000000000000001 [ 57.369999] R10: 0000000000e5c000 R11: 0000000000000293 R12: 00007f7eb5269a70 [ 57.370002] R13: 0000000000000000 R14: 0000000000001000 R15: 00000000015b4568 [ 57.370031] CPU: 7 PID: 1507 Comm: fio Not tainted 5.13.0-rc1+ #34 [ 57.370036] Hardware name: System manufacturer System Product Name/PRIME Z270-A, BIOS 1302 03/15/2018 [ 57.370039] Call Trace: [ 57.370045] dump_stack+0x6d/0x89 [ 57.370056] check_preemption_disabled+0xc8/0xd0 [ 57.370068] __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.370121] target_init_cmd+0x76/0x90 [target_core_mod] [ 57.370178] tcm_loop_queuecommand+0x109/0x210 [tcm_loop] [ 57.370197] scsi_queue_rq+0x38e/0xc40 [ 57.370224] __blk_mq_try_issue_directly+0x109/0x1c0 ... [2] [ 117.458597] BUG: using smp_processor_id() in preemptible [00000000] code: kworker/u16:8 [ 117.467279] caller is __target_init_cmd+0x157/0x170 [target_core_mod] [ 117.473893] CPU: 1 PID: 418 Comm: kworker/u16:6 Not tainted 5.13.0-rc1+ #34 [ 117.481150] Hardware name: System manufacturer System Product Name/PRIME Z270-A, BIOS 8 [ 117.481153] Workqueue: scsi_tmf_7 scmd_eh_abort_handler [ 117.481156] Call Trace: [ 117.481158] dump_stack+0x6d/0x89 [ 117.481162] check_preemption_disabled+0xc8/0xd0 [ 117.512575] target_submit_tmr+0x41/0x150 [target_core_mod] [ 117.519705] tcm_loop_issue_tmr+0xa7/0x100 [tcm_loop] [ 117.524913] tcm_loop_abort_task+0x43/0x60 [tcm_loop] [ 117.530137] scmd_eh_abort_handler+0x7b/0x230 [ 117.534681] process_one_work+0x268/0x580 [ 117.538862] worker_thread+0x55/0x3b0 [ 117.542652] ? process_one_work+0x580/0x580 [ 117.548351] kthread+0x143/0x160 [ 117.551675] ? kthread_create_worker_on_cpu+0x40/0x40 [ 117.556873] ret_from_fork+0x1f/0x30 Link: https://lore.kernel.org/r/[email protected] Fixes: 1526d9f ("scsi: target: Make state_list per CPU") Cc: [email protected] # v5.11+ Reviewed-by: Mike Christie <[email protected]> Signed-off-by: Shin'ichiro Kawasaki <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Dec 12, 2022
By keep sending L2CAP_CONF_REQ packets, chan->num_conf_rsp increases
multiple times and eventually it will wrap around the maximum number
(i.e., 255).
This patch prevents this by adding a boundary check with
L2CAP_MAX_CONF_RSP
Btmon log:
Bluetooth monitor ver 5.64
= Note: Linux version 6.1.0-rc2 (x86_64) 0.264594
= Note: Bluetooth subsystem version 2.22 0.264636
@ MGMT Open: btmon (privileged) version 1.22 {0x0001} 0.272191
= New Index: 00:00:00:00:00:00 (Primary,Virtual,hci0) [hci0] 13.877604
@ RAW Open: 9496 (privileged) version 2.22 {0x0002} 13.890741
= Open Index: 00:00:00:00:00:00 [hci0] 13.900426
(...)
> ACL Data RX: Handle 200 flags 0x00 dlen 1033 #32 [hci0] 14.273106
invalid packet size (12 != 1033)
08 00 01 00 02 01 04 00 01 10 ff ff ............
> ACL Data RX: Handle 200 flags 0x00 dlen 1547 #33 [hci0] 14.273561
invalid packet size (14 != 1547)
0a 00 01 00 04 01 06 00 40 00 00 00 00 00 ........@.....
> ACL Data RX: Handle 200 flags 0x00 dlen 2061 #34 [hci0] 14.274390
invalid packet size (16 != 2061)
0c 00 01 00 04 01 08 00 40 00 00 00 00 00 00 04 ........@.......
> ACL Data RX: Handle 200 flags 0x00 dlen 2061 #35 [hci0] 14.274932
invalid packet size (16 != 2061)
0c 00 01 00 04 01 08 00 40 00 00 00 07 00 03 00 ........@.......
= bluetoothd: Bluetooth daemon 5.43 14.401828
> ACL Data RX: Handle 200 flags 0x00 dlen 1033 #36 [hci0] 14.275753
invalid packet size (12 != 1033)
08 00 01 00 04 01 04 00 40 00 00 00 ........@...
Signed-off-by: Sungwoo Kim <[email protected]>
Signed-off-by: Luiz Augusto von Dentz <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Feb 17, 2023
[ Upstream commit bcd7026 ] By keep sending L2CAP_CONF_REQ packets, chan->num_conf_rsp increases multiple times and eventually it will wrap around the maximum number (i.e., 255). This patch prevents this by adding a boundary check with L2CAP_MAX_CONF_RSP Btmon log: Bluetooth monitor ver 5.64 = Note: Linux version 6.1.0-rc2 (x86_64) 0.264594 = Note: Bluetooth subsystem version 2.22 0.264636 @ MGMT Open: btmon (privileged) version 1.22 {0x0001} 0.272191 = New Index: 00:00:00:00:00:00 (Primary,Virtual,hci0) [hci0] 13.877604 @ RAW Open: 9496 (privileged) version 2.22 {0x0002} 13.890741 = Open Index: 00:00:00:00:00:00 [hci0] 13.900426 (...) > ACL Data RX: Handle 200 flags 0x00 dlen 1033 #32 [hci0] 14.273106 invalid packet size (12 != 1033) 08 00 01 00 02 01 04 00 01 10 ff ff ............ > ACL Data RX: Handle 200 flags 0x00 dlen 1547 #33 [hci0] 14.273561 invalid packet size (14 != 1547) 0a 00 01 00 04 01 06 00 40 00 00 00 00 00 ........@..... > ACL Data RX: Handle 200 flags 0x00 dlen 2061 #34 [hci0] 14.274390 invalid packet size (16 != 2061) 0c 00 01 00 04 01 08 00 40 00 00 00 00 00 00 04 ........@....... > ACL Data RX: Handle 200 flags 0x00 dlen 2061 #35 [hci0] 14.274932 invalid packet size (16 != 2061) 0c 00 01 00 04 01 08 00 40 00 00 00 07 00 03 00 ........@....... = bluetoothd: Bluetooth daemon 5.43 14.401828 > ACL Data RX: Handle 200 flags 0x00 dlen 1033 #36 [hci0] 14.275753 invalid packet size (12 != 1033) 08 00 01 00 04 01 04 00 40 00 00 00 ........@... Signed-off-by: Sungwoo Kim <[email protected]> Signed-off-by: Luiz Augusto von Dentz <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Feb 17, 2023
[ Upstream commit bcd7026 ] By keep sending L2CAP_CONF_REQ packets, chan->num_conf_rsp increases multiple times and eventually it will wrap around the maximum number (i.e., 255). This patch prevents this by adding a boundary check with L2CAP_MAX_CONF_RSP Btmon log: Bluetooth monitor ver 5.64 = Note: Linux version 6.1.0-rc2 (x86_64) 0.264594 = Note: Bluetooth subsystem version 2.22 0.264636 @ MGMT Open: btmon (privileged) version 1.22 {0x0001} 0.272191 = New Index: 00:00:00:00:00:00 (Primary,Virtual,hci0) [hci0] 13.877604 @ RAW Open: 9496 (privileged) version 2.22 {0x0002} 13.890741 = Open Index: 00:00:00:00:00:00 [hci0] 13.900426 (...) > ACL Data RX: Handle 200 flags 0x00 dlen 1033 #32 [hci0] 14.273106 invalid packet size (12 != 1033) 08 00 01 00 02 01 04 00 01 10 ff ff ............ > ACL Data RX: Handle 200 flags 0x00 dlen 1547 #33 [hci0] 14.273561 invalid packet size (14 != 1547) 0a 00 01 00 04 01 06 00 40 00 00 00 00 00 ........@..... > ACL Data RX: Handle 200 flags 0x00 dlen 2061 #34 [hci0] 14.274390 invalid packet size (16 != 2061) 0c 00 01 00 04 01 08 00 40 00 00 00 00 00 00 04 ........@....... > ACL Data RX: Handle 200 flags 0x00 dlen 2061 #35 [hci0] 14.274932 invalid packet size (16 != 2061) 0c 00 01 00 04 01 08 00 40 00 00 00 07 00 03 00 ........@....... = bluetoothd: Bluetooth daemon 5.43 14.401828 > ACL Data RX: Handle 200 flags 0x00 dlen 1033 #36 [hci0] 14.275753 invalid packet size (12 != 1033) 08 00 01 00 04 01 04 00 40 00 00 00 ........@... Signed-off-by: Sungwoo Kim <[email protected]> Signed-off-by: Luiz Augusto von Dentz <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Feb 17, 2023
[ Upstream commit bcd7026 ] By keep sending L2CAP_CONF_REQ packets, chan->num_conf_rsp increases multiple times and eventually it will wrap around the maximum number (i.e., 255). This patch prevents this by adding a boundary check with L2CAP_MAX_CONF_RSP Btmon log: Bluetooth monitor ver 5.64 = Note: Linux version 6.1.0-rc2 (x86_64) 0.264594 = Note: Bluetooth subsystem version 2.22 0.264636 @ MGMT Open: btmon (privileged) version 1.22 {0x0001} 0.272191 = New Index: 00:00:00:00:00:00 (Primary,Virtual,hci0) [hci0] 13.877604 @ RAW Open: 9496 (privileged) version 2.22 {0x0002} 13.890741 = Open Index: 00:00:00:00:00:00 [hci0] 13.900426 (...) > ACL Data RX: Handle 200 flags 0x00 dlen 1033 #32 [hci0] 14.273106 invalid packet size (12 != 1033) 08 00 01 00 02 01 04 00 01 10 ff ff ............ > ACL Data RX: Handle 200 flags 0x00 dlen 1547 #33 [hci0] 14.273561 invalid packet size (14 != 1547) 0a 00 01 00 04 01 06 00 40 00 00 00 00 00 ........@..... > ACL Data RX: Handle 200 flags 0x00 dlen 2061 #34 [hci0] 14.274390 invalid packet size (16 != 2061) 0c 00 01 00 04 01 08 00 40 00 00 00 00 00 00 04 ........@....... > ACL Data RX: Handle 200 flags 0x00 dlen 2061 #35 [hci0] 14.274932 invalid packet size (16 != 2061) 0c 00 01 00 04 01 08 00 40 00 00 00 07 00 03 00 ........@....... = bluetoothd: Bluetooth daemon 5.43 14.401828 > ACL Data RX: Handle 200 flags 0x00 dlen 1033 #36 [hci0] 14.275753 invalid packet size (12 != 1033) 08 00 01 00 04 01 04 00 40 00 00 00 ........@... Signed-off-by: Sungwoo Kim <[email protected]> Signed-off-by: Luiz Augusto von Dentz <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Mar 18, 2023
commit e0bead9 upstream. Move the VMCB updates from avic_refresh_apicv_exec_ctrl() into avic_set_virtual_apic_mode() and invert the dependency being said functions to avoid calling avic_vcpu_{load,put}() and avic_set_pi_irte_mode() when "only" setting the virtual APIC mode. avic_set_virtual_apic_mode() is invoked from common x86 with preemption enabled, which makes avic_vcpu_{load,put}() unhappy. Luckily, calling those and updating IRTE stuff is unnecessary as the only reason avic_set_virtual_apic_mode() is called is to handle transitions between xAPIC and x2APIC that don't also toggle APICv activation. And if activation doesn't change, there's no need to fiddle with the physical APIC ID table or update IRTE. The "full" refresh is guaranteed to be called if activation changes in this case as the only call to the "set" path is: kvm_vcpu_update_apicv(vcpu); static_call_cond(kvm_x86_set_virtual_apic_mode)(vcpu); and kvm_vcpu_update_apicv() invokes the refresh if activation changes: if (apic->apicv_active == activate) goto out; apic->apicv_active = activate; kvm_apic_update_apicv(vcpu); static_call(kvm_x86_refresh_apicv_exec_ctrl)(vcpu); Rename the helper to reflect that it is also called during "refresh". WARNING: CPU: 183 PID: 49186 at arch/x86/kvm/svm/avic.c:1081 avic_vcpu_put+0xde/0xf0 [kvm_amd] CPU: 183 PID: 49186 Comm: stable Tainted: G O 6.0.0-smp--fcddbca45f0a-sink #34 Hardware name: Google, Inc. Arcadia_IT_80/Arcadia_IT_80, BIOS 10.48.0 01/27/2022 RIP: 0010:avic_vcpu_put+0xde/0xf0 [kvm_amd] avic_refresh_apicv_exec_ctrl+0x142/0x1c0 [kvm_amd] avic_set_virtual_apic_mode+0x5a/0x70 [kvm_amd] kvm_lapic_set_base+0x149/0x1a0 [kvm] kvm_set_apic_base+0x8f/0xd0 [kvm] kvm_set_msr_common+0xa3a/0xdc0 [kvm] svm_set_msr+0x364/0x6b0 [kvm_amd] __kvm_set_msr+0xb8/0x1c0 [kvm] kvm_emulate_wrmsr+0x58/0x1d0 [kvm] msr_interception+0x1c/0x30 [kvm_amd] svm_invoke_exit_handler+0x31/0x100 [kvm_amd] svm_handle_exit+0xfc/0x160 [kvm_amd] vcpu_enter_guest+0x21bb/0x23e0 [kvm] vcpu_run+0x92/0x450 [kvm] kvm_arch_vcpu_ioctl_run+0x43e/0x6e0 [kvm] kvm_vcpu_ioctl+0x559/0x620 [kvm] Fixes: 05c4fe8 ("KVM: SVM: Refresh AVIC configuration when changing APIC mode") Cc: [email protected] Cc: Suravee Suthikulpanit <[email protected]> Reviewed-by: Maxim Levitsky <[email protected]> Signed-off-by: Sean Christopherson <[email protected]> Message-Id: <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Jun 19, 2023
commit 70ca3c5 upstream. The BUG message "BUG: using smp_processor_id() in preemptible [00000000] code" was observed for TCMU devices with kernel config DEBUG_PREEMPT. The message was observed when blktests block/005 was run on TCMU devices with fileio backend or user:zbc backend [1]. The commit 1130b49 ("scsi: target: tcm_loop: Use LIO wq cmd submission helper") triggered the symptom. The commit modified work queue to handle commands and changed 'current->nr_cpu_allowed' at smp_processor_id() call. The message was also observed at system shutdown when TCMU devices were not cleaned up [2]. The function smp_processor_id() was called in SCSI host work queue for abort handling, and triggered the BUG message. This symptom was observed regardless of the commit 1130b49 ("scsi: target: tcm_loop: Use LIO wq cmd submission helper"). To avoid the preemptible code check at smp_processor_id(), get CPU ID with raw_smp_processor_id() instead. The CPU ID is used for performance improvement then thread move to other CPU will not affect the code. [1] [ 56.468103] run blktests block/005 at 2021-05-12 14:16:38 [ 57.369473] check_preemption_disabled: 85 callbacks suppressed [ 57.369480] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1511 [ 57.369506] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1510 [ 57.369512] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1506 [ 57.369552] caller is __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.369606] CPU: 4 PID: 1506 Comm: fio Not tainted 5.13.0-rc1+ #34 [ 57.369613] Hardware name: System manufacturer System Product Name/PRIME Z270-A, BIOS 1302 03/15/2018 [ 57.369617] Call Trace: [ 57.369621] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1507 [ 57.369628] dump_stack+0x6d/0x89 [ 57.369642] check_preemption_disabled+0xc8/0xd0 [ 57.369628] caller is __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.369655] __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.369695] target_init_cmd+0x76/0x90 [target_core_mod] [ 57.369732] tcm_loop_queuecommand+0x109/0x210 [tcm_loop] [ 57.369744] scsi_queue_rq+0x38e/0xc40 [ 57.369761] __blk_mq_try_issue_directly+0x109/0x1c0 [ 57.369779] blk_mq_try_issue_directly+0x43/0x90 [ 57.369790] blk_mq_submit_bio+0x4e5/0x5d0 [ 57.369812] submit_bio_noacct+0x46e/0x4e0 [ 57.369830] __blkdev_direct_IO_simple+0x1a3/0x2d0 [ 57.369859] ? set_init_blocksize.isra.0+0x60/0x60 [ 57.369880] generic_file_read_iter+0x89/0x160 [ 57.369898] blkdev_read_iter+0x44/0x60 [ 57.369906] new_sync_read+0x102/0x170 [ 57.369929] vfs_read+0xd4/0x160 [ 57.369941] __x64_sys_pread64+0x6e/0xa0 [ 57.369946] ? lockdep_hardirqs_on+0x79/0x100 [ 57.369958] do_syscall_64+0x3a/0x70 [ 57.369965] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 57.369973] RIP: 0033:0x7f7ed4c1399f [ 57.369979] Code: 08 89 3c 24 48 89 4c 24 18 e8 7d f3 ff ff 4c 8b 54 24 18 48 8b 54 24 10 41 89 c0 48 8b 74 24 08 8b 3c 24 b8 11 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 04 24 e8 cd f3 ff ff 48 8b [ 57.369983] RSP: 002b:00007ffd7918c580 EFLAGS: 00000293 ORIG_RAX: 0000000000000011 [ 57.369990] RAX: ffffffffffffffda RBX: 00000000015b4540 RCX: 00007f7ed4c1399f [ 57.369993] RDX: 0000000000001000 RSI: 00000000015de000 RDI: 0000000000000009 [ 57.369996] RBP: 00000000015b4540 R08: 0000000000000000 R09: 0000000000000001 [ 57.369999] R10: 0000000000e5c000 R11: 0000000000000293 R12: 00007f7eb5269a70 [ 57.370002] R13: 0000000000000000 R14: 0000000000001000 R15: 00000000015b4568 [ 57.370031] CPU: 7 PID: 1507 Comm: fio Not tainted 5.13.0-rc1+ #34 [ 57.370036] Hardware name: System manufacturer System Product Name/PRIME Z270-A, BIOS 1302 03/15/2018 [ 57.370039] Call Trace: [ 57.370045] dump_stack+0x6d/0x89 [ 57.370056] check_preemption_disabled+0xc8/0xd0 [ 57.370068] __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.370121] target_init_cmd+0x76/0x90 [target_core_mod] [ 57.370178] tcm_loop_queuecommand+0x109/0x210 [tcm_loop] [ 57.370197] scsi_queue_rq+0x38e/0xc40 [ 57.370224] __blk_mq_try_issue_directly+0x109/0x1c0 ... [2] [ 117.458597] BUG: using smp_processor_id() in preemptible [00000000] code: kworker/u16:8 [ 117.467279] caller is __target_init_cmd+0x157/0x170 [target_core_mod] [ 117.473893] CPU: 1 PID: 418 Comm: kworker/u16:6 Not tainted 5.13.0-rc1+ #34 [ 117.481150] Hardware name: System manufacturer System Product Name/PRIME Z270-A, BIOS 8 [ 117.481153] Workqueue: scsi_tmf_7 scmd_eh_abort_handler [ 117.481156] Call Trace: [ 117.481158] dump_stack+0x6d/0x89 [ 117.481162] check_preemption_disabled+0xc8/0xd0 [ 117.512575] target_submit_tmr+0x41/0x150 [target_core_mod] [ 117.519705] tcm_loop_issue_tmr+0xa7/0x100 [tcm_loop] [ 117.524913] tcm_loop_abort_task+0x43/0x60 [tcm_loop] [ 117.530137] scmd_eh_abort_handler+0x7b/0x230 [ 117.534681] process_one_work+0x268/0x580 [ 117.538862] worker_thread+0x55/0x3b0 [ 117.542652] ? process_one_work+0x580/0x580 [ 117.548351] kthread+0x143/0x160 [ 117.551675] ? kthread_create_worker_on_cpu+0x40/0x40 [ 117.556873] ret_from_fork+0x1f/0x30 Link: https://lore.kernel.org/r/[email protected] Fixes: 1526d9f ("scsi: target: Make state_list per CPU") Cc: [email protected] # v5.11+ Reviewed-by: Mike Christie <[email protected]> Signed-off-by: Shin'ichiro Kawasaki <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Aug 6, 2023
The nexthop code expects a 31 bit hash, such as what is returned by
fib_multipath_hash() and rt6_multipath_hash(). Passing the 32 bit hash
returned by skb_get_hash() can lead to problems related to the fact that
'int hash' is a negative number when the MSB is set.
In the case of hash threshold nexthop groups, nexthop_select_path_hthr()
will disproportionately select the first nexthop group entry. In the case
of resilient nexthop groups, nexthop_select_path_res() may do an out of
bounds access in nh_buckets[], for example:
hash = -912054133
num_nh_buckets = 2
bucket_index = 65535
which leads to the following panic:
BUG: unable to handle page fault for address: ffffc900025910c8
PGD 100000067 P4D 100000067 PUD 10026b067 PMD 0
Oops: 0002 [#1] PREEMPT SMP KASAN NOPTI
CPU: 4 PID: 856 Comm: kworker/4:3 Not tainted 6.5.0-rc2+ #34
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Workqueue: ipv6_addrconf addrconf_dad_work
RIP: 0010:nexthop_select_path+0x197/0xbf0
Code: c1 e4 05 be 08 00 00 00 4c 8b 35 a4 14 7e 01 4e 8d 6c 25 00 4a 8d 7c 25 08 48 01 dd e8 c2 25 15 ff 49 8d 7d 08 e8 39 13 15 ff <4d> 89 75 08 48 89 ef e8 7d 12 15 ff 48 8b 5d 00 e8 14 55 2f 00 85
RSP: 0018:ffff88810c36f260 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 00000000002000c0 RCX: ffffffffaf02dd77
RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffc900025910c8
RBP: ffffc900025910c0 R08: 0000000000000001 R09: fffff520004b2219
R10: ffffc900025910cf R11: 31392d2068736168 R12: 00000000002000c0
R13: ffffc900025910c0 R14: 00000000fffef608 R15: ffff88811840e900
FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffc900025910c8 CR3: 0000000129d00000 CR4: 0000000000750ee0
PKRU: 55555554
Call Trace:
<TASK>
? __die+0x23/0x70
? page_fault_oops+0x1ee/0x5c0
? __pfx_is_prefetch.constprop.0+0x10/0x10
? __pfx_page_fault_oops+0x10/0x10
? search_bpf_extables+0xfe/0x1c0
? fixup_exception+0x3b/0x470
? exc_page_fault+0xf6/0x110
? asm_exc_page_fault+0x26/0x30
? nexthop_select_path+0x197/0xbf0
? nexthop_select_path+0x197/0xbf0
? lock_is_held_type+0xe7/0x140
vxlan_xmit+0x5b2/0x2340
? __lock_acquire+0x92b/0x3370
? __pfx_vxlan_xmit+0x10/0x10
? __pfx___lock_acquire+0x10/0x10
? __pfx_register_lock_class+0x10/0x10
? skb_network_protocol+0xce/0x2d0
? dev_hard_start_xmit+0xca/0x350
? __pfx_vxlan_xmit+0x10/0x10
dev_hard_start_xmit+0xca/0x350
__dev_queue_xmit+0x513/0x1e20
? __pfx___dev_queue_xmit+0x10/0x10
? __pfx_lock_release+0x10/0x10
? mark_held_locks+0x44/0x90
? skb_push+0x4c/0x80
? eth_header+0x81/0xe0
? __pfx_eth_header+0x10/0x10
? neigh_resolve_output+0x215/0x310
? ip6_finish_output2+0x2ba/0xc90
ip6_finish_output2+0x2ba/0xc90
? lock_release+0x236/0x3e0
? ip6_mtu+0xbb/0x240
? __pfx_ip6_finish_output2+0x10/0x10
? find_held_lock+0x83/0xa0
? lock_is_held_type+0xe7/0x140
ip6_finish_output+0x1ee/0x780
ip6_output+0x138/0x460
? __pfx_ip6_output+0x10/0x10
? __pfx___lock_acquire+0x10/0x10
? __pfx_ip6_finish_output+0x10/0x10
NF_HOOK.constprop.0+0xc0/0x420
? __pfx_NF_HOOK.constprop.0+0x10/0x10
? ndisc_send_skb+0x2c0/0x960
? __pfx_lock_release+0x10/0x10
? __local_bh_enable_ip+0x93/0x110
? lock_is_held_type+0xe7/0x140
ndisc_send_skb+0x4be/0x960
? __pfx_ndisc_send_skb+0x10/0x10
? mark_held_locks+0x65/0x90
? find_held_lock+0x83/0xa0
ndisc_send_ns+0xb0/0x110
? __pfx_ndisc_send_ns+0x10/0x10
addrconf_dad_work+0x631/0x8e0
? lock_acquire+0x180/0x3f0
? __pfx_addrconf_dad_work+0x10/0x10
? mark_held_locks+0x24/0x90
process_one_work+0x582/0x9c0
? __pfx_process_one_work+0x10/0x10
? __pfx_do_raw_spin_lock+0x10/0x10
? mark_held_locks+0x24/0x90
worker_thread+0x93/0x630
? __kthread_parkme+0xdc/0x100
? __pfx_worker_thread+0x10/0x10
kthread+0x1a5/0x1e0
? __pfx_kthread+0x10/0x10
ret_from_fork+0x34/0x60
? __pfx_kthread+0x10/0x10
ret_from_fork_asm+0x1b/0x30
RIP: 0000:0x0
Code: Unable to access opcode bytes at 0xffffffffffffffd6.
RSP: 0000:0000000000000000 EFLAGS: 00000000 ORIG_RAX: 0000000000000000
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
</TASK>
Modules linked in:
CR2: ffffc900025910c8
---[ end trace 0000000000000000 ]---
RIP: 0010:nexthop_select_path+0x197/0xbf0
Code: c1 e4 05 be 08 00 00 00 4c 8b 35 a4 14 7e 01 4e 8d 6c 25 00 4a 8d 7c 25 08 48 01 dd e8 c2 25 15 ff 49 8d 7d 08 e8 39 13 15 ff <4d> 89 75 08 48 89 ef e8 7d 12 15 ff 48 8b 5d 00 e8 14 55 2f 00 85
RSP: 0018:ffff88810c36f260 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 00000000002000c0 RCX: ffffffffaf02dd77
RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffc900025910c8
RBP: ffffc900025910c0 R08: 0000000000000001 R09: fffff520004b2219
R10: ffffc900025910cf R11: 31392d2068736168 R12: 00000000002000c0
R13: ffffc900025910c0 R14: 00000000fffef608 R15: ffff88811840e900
FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffffffffd6 CR3: 0000000129d00000 CR4: 0000000000750ee0
PKRU: 55555554
Kernel panic - not syncing: Fatal exception in interrupt
Kernel Offset: 0x2ca00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---
Fix this problem by ensuring the MSB of hash is 0 using a right shift - the
same approach used in fib_multipath_hash() and rt6_multipath_hash().
Fixes: 1274e1c ("vxlan: ecmp support for mac fdb entries")
Signed-off-by: Benjamin Poirier <[email protected]>
Reviewed-by: Ido Schimmel <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Aug 31, 2023
[ Upstream commit 0756384 ] The nexthop code expects a 31 bit hash, such as what is returned by fib_multipath_hash() and rt6_multipath_hash(). Passing the 32 bit hash returned by skb_get_hash() can lead to problems related to the fact that 'int hash' is a negative number when the MSB is set. In the case of hash threshold nexthop groups, nexthop_select_path_hthr() will disproportionately select the first nexthop group entry. In the case of resilient nexthop groups, nexthop_select_path_res() may do an out of bounds access in nh_buckets[], for example: hash = -912054133 num_nh_buckets = 2 bucket_index = 65535 which leads to the following panic: BUG: unable to handle page fault for address: ffffc900025910c8 PGD 100000067 P4D 100000067 PUD 10026b067 PMD 0 Oops: 0002 [#1] PREEMPT SMP KASAN NOPTI CPU: 4 PID: 856 Comm: kworker/4:3 Not tainted 6.5.0-rc2+ #34 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Workqueue: ipv6_addrconf addrconf_dad_work RIP: 0010:nexthop_select_path+0x197/0xbf0 Code: c1 e4 05 be 08 00 00 00 4c 8b 35 a4 14 7e 01 4e 8d 6c 25 00 4a 8d 7c 25 08 48 01 dd e8 c2 25 15 ff 49 8d 7d 08 e8 39 13 15 ff <4d> 89 75 08 48 89 ef e8 7d 12 15 ff 48 8b 5d 00 e8 14 55 2f 00 85 RSP: 0018:ffff88810c36f260 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 00000000002000c0 RCX: ffffffffaf02dd77 RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffc900025910c8 RBP: ffffc900025910c0 R08: 0000000000000001 R09: fffff520004b2219 R10: ffffc900025910cf R11: 31392d2068736168 R12: 00000000002000c0 R13: ffffc900025910c0 R14: 00000000fffef608 R15: ffff88811840e900 FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffc900025910c8 CR3: 0000000129d00000 CR4: 0000000000750ee0 PKRU: 55555554 Call Trace: <TASK> ? __die+0x23/0x70 ? page_fault_oops+0x1ee/0x5c0 ? __pfx_is_prefetch.constprop.0+0x10/0x10 ? __pfx_page_fault_oops+0x10/0x10 ? search_bpf_extables+0xfe/0x1c0 ? fixup_exception+0x3b/0x470 ? exc_page_fault+0xf6/0x110 ? asm_exc_page_fault+0x26/0x30 ? nexthop_select_path+0x197/0xbf0 ? nexthop_select_path+0x197/0xbf0 ? lock_is_held_type+0xe7/0x140 vxlan_xmit+0x5b2/0x2340 ? __lock_acquire+0x92b/0x3370 ? __pfx_vxlan_xmit+0x10/0x10 ? __pfx___lock_acquire+0x10/0x10 ? __pfx_register_lock_class+0x10/0x10 ? skb_network_protocol+0xce/0x2d0 ? dev_hard_start_xmit+0xca/0x350 ? __pfx_vxlan_xmit+0x10/0x10 dev_hard_start_xmit+0xca/0x350 __dev_queue_xmit+0x513/0x1e20 ? __pfx___dev_queue_xmit+0x10/0x10 ? __pfx_lock_release+0x10/0x10 ? mark_held_locks+0x44/0x90 ? skb_push+0x4c/0x80 ? eth_header+0x81/0xe0 ? __pfx_eth_header+0x10/0x10 ? neigh_resolve_output+0x215/0x310 ? ip6_finish_output2+0x2ba/0xc90 ip6_finish_output2+0x2ba/0xc90 ? lock_release+0x236/0x3e0 ? ip6_mtu+0xbb/0x240 ? __pfx_ip6_finish_output2+0x10/0x10 ? find_held_lock+0x83/0xa0 ? lock_is_held_type+0xe7/0x140 ip6_finish_output+0x1ee/0x780 ip6_output+0x138/0x460 ? __pfx_ip6_output+0x10/0x10 ? __pfx___lock_acquire+0x10/0x10 ? __pfx_ip6_finish_output+0x10/0x10 NF_HOOK.constprop.0+0xc0/0x420 ? __pfx_NF_HOOK.constprop.0+0x10/0x10 ? ndisc_send_skb+0x2c0/0x960 ? __pfx_lock_release+0x10/0x10 ? __local_bh_enable_ip+0x93/0x110 ? lock_is_held_type+0xe7/0x140 ndisc_send_skb+0x4be/0x960 ? __pfx_ndisc_send_skb+0x10/0x10 ? mark_held_locks+0x65/0x90 ? find_held_lock+0x83/0xa0 ndisc_send_ns+0xb0/0x110 ? __pfx_ndisc_send_ns+0x10/0x10 addrconf_dad_work+0x631/0x8e0 ? lock_acquire+0x180/0x3f0 ? __pfx_addrconf_dad_work+0x10/0x10 ? mark_held_locks+0x24/0x90 process_one_work+0x582/0x9c0 ? __pfx_process_one_work+0x10/0x10 ? __pfx_do_raw_spin_lock+0x10/0x10 ? mark_held_locks+0x24/0x90 worker_thread+0x93/0x630 ? __kthread_parkme+0xdc/0x100 ? __pfx_worker_thread+0x10/0x10 kthread+0x1a5/0x1e0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x34/0x60 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 RIP: 0000:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0000:0000000000000000 EFLAGS: 00000000 ORIG_RAX: 0000000000000000 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 </TASK> Modules linked in: CR2: ffffc900025910c8 ---[ end trace 0000000000000000 ]--- RIP: 0010:nexthop_select_path+0x197/0xbf0 Code: c1 e4 05 be 08 00 00 00 4c 8b 35 a4 14 7e 01 4e 8d 6c 25 00 4a 8d 7c 25 08 48 01 dd e8 c2 25 15 ff 49 8d 7d 08 e8 39 13 15 ff <4d> 89 75 08 48 89 ef e8 7d 12 15 ff 48 8b 5d 00 e8 14 55 2f 00 85 RSP: 0018:ffff88810c36f260 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 00000000002000c0 RCX: ffffffffaf02dd77 RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffc900025910c8 RBP: ffffc900025910c0 R08: 0000000000000001 R09: fffff520004b2219 R10: ffffc900025910cf R11: 31392d2068736168 R12: 00000000002000c0 R13: ffffc900025910c0 R14: 00000000fffef608 R15: ffff88811840e900 FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 0000000129d00000 CR4: 0000000000750ee0 PKRU: 55555554 Kernel panic - not syncing: Fatal exception in interrupt Kernel Offset: 0x2ca00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]--- Fix this problem by ensuring the MSB of hash is 0 using a right shift - the same approach used in fib_multipath_hash() and rt6_multipath_hash(). Fixes: 1274e1c ("vxlan: ecmp support for mac fdb entries") Signed-off-by: Benjamin Poirier <[email protected]> Reviewed-by: Ido Schimmel <[email protected]> Reviewed-by: Simon Horman <[email protected]> Signed-off-by: David S. Miller <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Aug 31, 2023
[ Upstream commit 0756384 ] The nexthop code expects a 31 bit hash, such as what is returned by fib_multipath_hash() and rt6_multipath_hash(). Passing the 32 bit hash returned by skb_get_hash() can lead to problems related to the fact that 'int hash' is a negative number when the MSB is set. In the case of hash threshold nexthop groups, nexthop_select_path_hthr() will disproportionately select the first nexthop group entry. In the case of resilient nexthop groups, nexthop_select_path_res() may do an out of bounds access in nh_buckets[], for example: hash = -912054133 num_nh_buckets = 2 bucket_index = 65535 which leads to the following panic: BUG: unable to handle page fault for address: ffffc900025910c8 PGD 100000067 P4D 100000067 PUD 10026b067 PMD 0 Oops: 0002 [#1] PREEMPT SMP KASAN NOPTI CPU: 4 PID: 856 Comm: kworker/4:3 Not tainted 6.5.0-rc2+ #34 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Workqueue: ipv6_addrconf addrconf_dad_work RIP: 0010:nexthop_select_path+0x197/0xbf0 Code: c1 e4 05 be 08 00 00 00 4c 8b 35 a4 14 7e 01 4e 8d 6c 25 00 4a 8d 7c 25 08 48 01 dd e8 c2 25 15 ff 49 8d 7d 08 e8 39 13 15 ff <4d> 89 75 08 48 89 ef e8 7d 12 15 ff 48 8b 5d 00 e8 14 55 2f 00 85 RSP: 0018:ffff88810c36f260 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 00000000002000c0 RCX: ffffffffaf02dd77 RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffc900025910c8 RBP: ffffc900025910c0 R08: 0000000000000001 R09: fffff520004b2219 R10: ffffc900025910cf R11: 31392d2068736168 R12: 00000000002000c0 R13: ffffc900025910c0 R14: 00000000fffef608 R15: ffff88811840e900 FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffc900025910c8 CR3: 0000000129d00000 CR4: 0000000000750ee0 PKRU: 55555554 Call Trace: <TASK> ? __die+0x23/0x70 ? page_fault_oops+0x1ee/0x5c0 ? __pfx_is_prefetch.constprop.0+0x10/0x10 ? __pfx_page_fault_oops+0x10/0x10 ? search_bpf_extables+0xfe/0x1c0 ? fixup_exception+0x3b/0x470 ? exc_page_fault+0xf6/0x110 ? asm_exc_page_fault+0x26/0x30 ? nexthop_select_path+0x197/0xbf0 ? nexthop_select_path+0x197/0xbf0 ? lock_is_held_type+0xe7/0x140 vxlan_xmit+0x5b2/0x2340 ? __lock_acquire+0x92b/0x3370 ? __pfx_vxlan_xmit+0x10/0x10 ? __pfx___lock_acquire+0x10/0x10 ? __pfx_register_lock_class+0x10/0x10 ? skb_network_protocol+0xce/0x2d0 ? dev_hard_start_xmit+0xca/0x350 ? __pfx_vxlan_xmit+0x10/0x10 dev_hard_start_xmit+0xca/0x350 __dev_queue_xmit+0x513/0x1e20 ? __pfx___dev_queue_xmit+0x10/0x10 ? __pfx_lock_release+0x10/0x10 ? mark_held_locks+0x44/0x90 ? skb_push+0x4c/0x80 ? eth_header+0x81/0xe0 ? __pfx_eth_header+0x10/0x10 ? neigh_resolve_output+0x215/0x310 ? ip6_finish_output2+0x2ba/0xc90 ip6_finish_output2+0x2ba/0xc90 ? lock_release+0x236/0x3e0 ? ip6_mtu+0xbb/0x240 ? __pfx_ip6_finish_output2+0x10/0x10 ? find_held_lock+0x83/0xa0 ? lock_is_held_type+0xe7/0x140 ip6_finish_output+0x1ee/0x780 ip6_output+0x138/0x460 ? __pfx_ip6_output+0x10/0x10 ? __pfx___lock_acquire+0x10/0x10 ? __pfx_ip6_finish_output+0x10/0x10 NF_HOOK.constprop.0+0xc0/0x420 ? __pfx_NF_HOOK.constprop.0+0x10/0x10 ? ndisc_send_skb+0x2c0/0x960 ? __pfx_lock_release+0x10/0x10 ? __local_bh_enable_ip+0x93/0x110 ? lock_is_held_type+0xe7/0x140 ndisc_send_skb+0x4be/0x960 ? __pfx_ndisc_send_skb+0x10/0x10 ? mark_held_locks+0x65/0x90 ? find_held_lock+0x83/0xa0 ndisc_send_ns+0xb0/0x110 ? __pfx_ndisc_send_ns+0x10/0x10 addrconf_dad_work+0x631/0x8e0 ? lock_acquire+0x180/0x3f0 ? __pfx_addrconf_dad_work+0x10/0x10 ? mark_held_locks+0x24/0x90 process_one_work+0x582/0x9c0 ? __pfx_process_one_work+0x10/0x10 ? __pfx_do_raw_spin_lock+0x10/0x10 ? mark_held_locks+0x24/0x90 worker_thread+0x93/0x630 ? __kthread_parkme+0xdc/0x100 ? __pfx_worker_thread+0x10/0x10 kthread+0x1a5/0x1e0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x34/0x60 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 RIP: 0000:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0000:0000000000000000 EFLAGS: 00000000 ORIG_RAX: 0000000000000000 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 </TASK> Modules linked in: CR2: ffffc900025910c8 ---[ end trace 0000000000000000 ]--- RIP: 0010:nexthop_select_path+0x197/0xbf0 Code: c1 e4 05 be 08 00 00 00 4c 8b 35 a4 14 7e 01 4e 8d 6c 25 00 4a 8d 7c 25 08 48 01 dd e8 c2 25 15 ff 49 8d 7d 08 e8 39 13 15 ff <4d> 89 75 08 48 89 ef e8 7d 12 15 ff 48 8b 5d 00 e8 14 55 2f 00 85 RSP: 0018:ffff88810c36f260 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 00000000002000c0 RCX: ffffffffaf02dd77 RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffc900025910c8 RBP: ffffc900025910c0 R08: 0000000000000001 R09: fffff520004b2219 R10: ffffc900025910cf R11: 31392d2068736168 R12: 00000000002000c0 R13: ffffc900025910c0 R14: 00000000fffef608 R15: ffff88811840e900 FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 0000000129d00000 CR4: 0000000000750ee0 PKRU: 55555554 Kernel panic - not syncing: Fatal exception in interrupt Kernel Offset: 0x2ca00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]--- Fix this problem by ensuring the MSB of hash is 0 using a right shift - the same approach used in fib_multipath_hash() and rt6_multipath_hash(). Fixes: 1274e1c ("vxlan: ecmp support for mac fdb entries") Signed-off-by: Benjamin Poirier <[email protected]> Reviewed-by: Ido Schimmel <[email protected]> Reviewed-by: Simon Horman <[email protected]> Signed-off-by: David S. Miller <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Aug 31, 2023
[ Upstream commit 0756384 ] The nexthop code expects a 31 bit hash, such as what is returned by fib_multipath_hash() and rt6_multipath_hash(). Passing the 32 bit hash returned by skb_get_hash() can lead to problems related to the fact that 'int hash' is a negative number when the MSB is set. In the case of hash threshold nexthop groups, nexthop_select_path_hthr() will disproportionately select the first nexthop group entry. In the case of resilient nexthop groups, nexthop_select_path_res() may do an out of bounds access in nh_buckets[], for example: hash = -912054133 num_nh_buckets = 2 bucket_index = 65535 which leads to the following panic: BUG: unable to handle page fault for address: ffffc900025910c8 PGD 100000067 P4D 100000067 PUD 10026b067 PMD 0 Oops: 0002 [#1] PREEMPT SMP KASAN NOPTI CPU: 4 PID: 856 Comm: kworker/4:3 Not tainted 6.5.0-rc2+ #34 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Workqueue: ipv6_addrconf addrconf_dad_work RIP: 0010:nexthop_select_path+0x197/0xbf0 Code: c1 e4 05 be 08 00 00 00 4c 8b 35 a4 14 7e 01 4e 8d 6c 25 00 4a 8d 7c 25 08 48 01 dd e8 c2 25 15 ff 49 8d 7d 08 e8 39 13 15 ff <4d> 89 75 08 48 89 ef e8 7d 12 15 ff 48 8b 5d 00 e8 14 55 2f 00 85 RSP: 0018:ffff88810c36f260 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 00000000002000c0 RCX: ffffffffaf02dd77 RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffc900025910c8 RBP: ffffc900025910c0 R08: 0000000000000001 R09: fffff520004b2219 R10: ffffc900025910cf R11: 31392d2068736168 R12: 00000000002000c0 R13: ffffc900025910c0 R14: 00000000fffef608 R15: ffff88811840e900 FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffc900025910c8 CR3: 0000000129d00000 CR4: 0000000000750ee0 PKRU: 55555554 Call Trace: <TASK> ? __die+0x23/0x70 ? page_fault_oops+0x1ee/0x5c0 ? __pfx_is_prefetch.constprop.0+0x10/0x10 ? __pfx_page_fault_oops+0x10/0x10 ? search_bpf_extables+0xfe/0x1c0 ? fixup_exception+0x3b/0x470 ? exc_page_fault+0xf6/0x110 ? asm_exc_page_fault+0x26/0x30 ? nexthop_select_path+0x197/0xbf0 ? nexthop_select_path+0x197/0xbf0 ? lock_is_held_type+0xe7/0x140 vxlan_xmit+0x5b2/0x2340 ? __lock_acquire+0x92b/0x3370 ? __pfx_vxlan_xmit+0x10/0x10 ? __pfx___lock_acquire+0x10/0x10 ? __pfx_register_lock_class+0x10/0x10 ? skb_network_protocol+0xce/0x2d0 ? dev_hard_start_xmit+0xca/0x350 ? __pfx_vxlan_xmit+0x10/0x10 dev_hard_start_xmit+0xca/0x350 __dev_queue_xmit+0x513/0x1e20 ? __pfx___dev_queue_xmit+0x10/0x10 ? __pfx_lock_release+0x10/0x10 ? mark_held_locks+0x44/0x90 ? skb_push+0x4c/0x80 ? eth_header+0x81/0xe0 ? __pfx_eth_header+0x10/0x10 ? neigh_resolve_output+0x215/0x310 ? ip6_finish_output2+0x2ba/0xc90 ip6_finish_output2+0x2ba/0xc90 ? lock_release+0x236/0x3e0 ? ip6_mtu+0xbb/0x240 ? __pfx_ip6_finish_output2+0x10/0x10 ? find_held_lock+0x83/0xa0 ? lock_is_held_type+0xe7/0x140 ip6_finish_output+0x1ee/0x780 ip6_output+0x138/0x460 ? __pfx_ip6_output+0x10/0x10 ? __pfx___lock_acquire+0x10/0x10 ? __pfx_ip6_finish_output+0x10/0x10 NF_HOOK.constprop.0+0xc0/0x420 ? __pfx_NF_HOOK.constprop.0+0x10/0x10 ? ndisc_send_skb+0x2c0/0x960 ? __pfx_lock_release+0x10/0x10 ? __local_bh_enable_ip+0x93/0x110 ? lock_is_held_type+0xe7/0x140 ndisc_send_skb+0x4be/0x960 ? __pfx_ndisc_send_skb+0x10/0x10 ? mark_held_locks+0x65/0x90 ? find_held_lock+0x83/0xa0 ndisc_send_ns+0xb0/0x110 ? __pfx_ndisc_send_ns+0x10/0x10 addrconf_dad_work+0x631/0x8e0 ? lock_acquire+0x180/0x3f0 ? __pfx_addrconf_dad_work+0x10/0x10 ? mark_held_locks+0x24/0x90 process_one_work+0x582/0x9c0 ? __pfx_process_one_work+0x10/0x10 ? __pfx_do_raw_spin_lock+0x10/0x10 ? mark_held_locks+0x24/0x90 worker_thread+0x93/0x630 ? __kthread_parkme+0xdc/0x100 ? __pfx_worker_thread+0x10/0x10 kthread+0x1a5/0x1e0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x34/0x60 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 RIP: 0000:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0000:0000000000000000 EFLAGS: 00000000 ORIG_RAX: 0000000000000000 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 </TASK> Modules linked in: CR2: ffffc900025910c8 ---[ end trace 0000000000000000 ]--- RIP: 0010:nexthop_select_path+0x197/0xbf0 Code: c1 e4 05 be 08 00 00 00 4c 8b 35 a4 14 7e 01 4e 8d 6c 25 00 4a 8d 7c 25 08 48 01 dd e8 c2 25 15 ff 49 8d 7d 08 e8 39 13 15 ff <4d> 89 75 08 48 89 ef e8 7d 12 15 ff 48 8b 5d 00 e8 14 55 2f 00 85 RSP: 0018:ffff88810c36f260 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 00000000002000c0 RCX: ffffffffaf02dd77 RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffffc900025910c8 RBP: ffffc900025910c0 R08: 0000000000000001 R09: fffff520004b2219 R10: ffffc900025910cf R11: 31392d2068736168 R12: 00000000002000c0 R13: ffffc900025910c0 R14: 00000000fffef608 R15: ffff88811840e900 FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 0000000129d00000 CR4: 0000000000750ee0 PKRU: 55555554 Kernel panic - not syncing: Fatal exception in interrupt Kernel Offset: 0x2ca00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]--- Fix this problem by ensuring the MSB of hash is 0 using a right shift - the same approach used in fib_multipath_hash() and rt6_multipath_hash(). Fixes: 1274e1c ("vxlan: ecmp support for mac fdb entries") Signed-off-by: Benjamin Poirier <[email protected]> Reviewed-by: Ido Schimmel <[email protected]> Reviewed-by: Simon Horman <[email protected]> Signed-off-by: David S. Miller <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Jan 14, 2024
[ Upstream commit 282c1d7 ] [ 567.613292] shift exponent 255 is too large for 64-bit type 'long unsigned int' [ 567.614498] CPU: 5 PID: 238 Comm: kworker/5:1 Tainted: G OE 6.2.0-34-generic #34~22.04.1-Ubuntu [ 567.614502] Hardware name: AMD Splinter/Splinter-RPL, BIOS WS43927N_871 09/25/2023 [ 567.614504] Workqueue: events send_exception_work_handler [amdgpu] [ 567.614748] Call Trace: [ 567.614750] <TASK> [ 567.614753] dump_stack_lvl+0x48/0x70 [ 567.614761] dump_stack+0x10/0x20 [ 567.614763] __ubsan_handle_shift_out_of_bounds+0x156/0x310 [ 567.614769] ? srso_alias_return_thunk+0x5/0x7f [ 567.614773] ? update_sd_lb_stats.constprop.0+0xf2/0x3c0 [ 567.614780] svm_range_split_by_granularity.cold+0x2b/0x34 [amdgpu] [ 567.615047] ? srso_alias_return_thunk+0x5/0x7f [ 567.615052] svm_migrate_to_ram+0x185/0x4d0 [amdgpu] [ 567.615286] do_swap_page+0x7b6/0xa30 [ 567.615291] ? srso_alias_return_thunk+0x5/0x7f [ 567.615294] ? __free_pages+0x119/0x130 [ 567.615299] handle_pte_fault+0x227/0x280 [ 567.615303] __handle_mm_fault+0x3c0/0x720 [ 567.615311] handle_mm_fault+0x119/0x330 [ 567.615314] ? lock_mm_and_find_vma+0x44/0x250 [ 567.615318] do_user_addr_fault+0x1a9/0x640 [ 567.615323] exc_page_fault+0x81/0x1b0 [ 567.615328] asm_exc_page_fault+0x27/0x30 [ 567.615332] RIP: 0010:__get_user_8+0x1c/0x30 Signed-off-by: Jesse Zhang <[email protected]> Suggested-by: Philip Yang <[email protected]> Reviewed-by: Yifan Zhang <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Jan 26, 2024
[ Upstream commit d6938c1 ] Inside decrement_ttl() upon discovering that the packet ttl has exceeded, __IP_INC_STATS and __IP6_INC_STATS macros can be called from preemptible context having the following backtrace: check_preemption_disabled: 48 callbacks suppressed BUG: using __this_cpu_add() in preemptible [00000000] code: curl/1177 caller is decrement_ttl+0x217/0x830 CPU: 5 PID: 1177 Comm: curl Not tainted 6.7.0+ #34 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0xbd/0xe0 check_preemption_disabled+0xd1/0xe0 decrement_ttl+0x217/0x830 __ip_vs_get_out_rt+0x4e0/0x1ef0 ip_vs_nat_xmit+0x205/0xcd0 ip_vs_in_hook+0x9b1/0x26a0 nf_hook_slow+0xc2/0x210 nf_hook+0x1fb/0x770 __ip_local_out+0x33b/0x640 ip_local_out+0x2a/0x490 __ip_queue_xmit+0x990/0x1d10 __tcp_transmit_skb+0x288b/0x3d10 tcp_connect+0x3466/0x5180 tcp_v4_connect+0x1535/0x1bb0 __inet_stream_connect+0x40d/0x1040 inet_stream_connect+0x57/0xa0 __sys_connect_file+0x162/0x1a0 __sys_connect+0x137/0x160 __x64_sys_connect+0x72/0xb0 do_syscall_64+0x6f/0x140 entry_SYSCALL_64_after_hwframe+0x6e/0x76 RIP: 0033:0x7fe6dbbc34e0 Use the corresponding preemption-aware variants: IP_INC_STATS and IP6_INC_STATS. Found by Linux Verification Center (linuxtesting.org). Fixes: 8d8e20e ("ipvs: Decrement ttl") Signed-off-by: Fedor Pchelkin <[email protected]> Acked-by: Julian Anastasov <[email protected]> Acked-by: Simon Horman <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Aug 31, 2024
When l2tp tunnels use a socket provided by userspace, we can hit lockdep splats like the below when data is transmitted through another (unrelated) userspace socket which then gets routed over l2tp. This issue was previously discussed here: https://lore.kernel.org/netdev/[email protected]/ The solution is to have lockdep treat socket locks of l2tp tunnel sockets separately than those of standard INET sockets. To do so, use a different lockdep subclass where lock nesting is possible. ============================================ WARNING: possible recursive locking detected 6.10.0+ #34 Not tainted -------------------------------------------- iperf3/771 is trying to acquire lock: ffff8881027601d8 (slock-AF_INET/1){+.-.}-{2:2}, at: l2tp_xmit_skb+0x243/0x9d0 but task is already holding lock: ffff888102650d98 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x1848/0x1e10 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(slock-AF_INET/1); lock(slock-AF_INET/1); *** DEADLOCK *** May be due to missing lock nesting notation 10 locks held by iperf3/771: #0: ffff888102650258 (sk_lock-AF_INET){+.+.}-{0:0}, at: tcp_sendmsg+0x1a/0x40 #1: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x4b/0xbc0 #2: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x17a/0x1130 #3: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x28b/0x9f0 #4: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0xf9/0x260 #5: ffff888102650d98 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x1848/0x1e10 #6: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x4b/0xbc0 #7: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x17a/0x1130 #8: ffffffff822ac1e0 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0xcc/0x1450 #9: ffff888101f33258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock#2){+...}-{2:2}, at: __dev_queue_xmit+0x513/0x1450 stack backtrace: CPU: 2 UID: 0 PID: 771 Comm: iperf3 Not tainted 6.10.0+ #34 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Call Trace: <IRQ> dump_stack_lvl+0x69/0xa0 dump_stack+0xc/0x20 __lock_acquire+0x135d/0x2600 ? srso_alias_return_thunk+0x5/0xfbef5 lock_acquire+0xc4/0x2a0 ? l2tp_xmit_skb+0x243/0x9d0 ? __skb_checksum+0xa3/0x540 _raw_spin_lock_nested+0x35/0x50 ? l2tp_xmit_skb+0x243/0x9d0 l2tp_xmit_skb+0x243/0x9d0 l2tp_eth_dev_xmit+0x3c/0xc0 dev_hard_start_xmit+0x11e/0x420 sch_direct_xmit+0xc3/0x640 __dev_queue_xmit+0x61c/0x1450 ? ip_finish_output2+0xf4c/0x1130 ip_finish_output2+0x6b6/0x1130 ? srso_alias_return_thunk+0x5/0xfbef5 ? __ip_finish_output+0x217/0x380 ? srso_alias_return_thunk+0x5/0xfbef5 __ip_finish_output+0x217/0x380 ip_output+0x99/0x120 __ip_queue_xmit+0xae4/0xbc0 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? tcp_options_write.constprop.0+0xcb/0x3e0 ip_queue_xmit+0x34/0x40 __tcp_transmit_skb+0x1625/0x1890 __tcp_send_ack+0x1b8/0x340 tcp_send_ack+0x23/0x30 __tcp_ack_snd_check+0xa8/0x530 ? srso_alias_return_thunk+0x5/0xfbef5 tcp_rcv_established+0x412/0xd70 tcp_v4_do_rcv+0x299/0x420 tcp_v4_rcv+0x1991/0x1e10 ip_protocol_deliver_rcu+0x50/0x220 ip_local_deliver_finish+0x158/0x260 ip_local_deliver+0xc8/0xe0 ip_rcv+0xe5/0x1d0 ? __pfx_ip_rcv+0x10/0x10 __netif_receive_skb_one_core+0xce/0xe0 ? process_backlog+0x28b/0x9f0 __netif_receive_skb+0x34/0xd0 ? process_backlog+0x28b/0x9f0 process_backlog+0x2cb/0x9f0 __napi_poll.constprop.0+0x61/0x280 net_rx_action+0x332/0x670 ? srso_alias_return_thunk+0x5/0xfbef5 ? find_held_lock+0x2b/0x80 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 handle_softirqs+0xda/0x480 ? __dev_queue_xmit+0xa2c/0x1450 do_softirq+0xa1/0xd0 </IRQ> <TASK> __local_bh_enable_ip+0xc8/0xe0 ? __dev_queue_xmit+0xa2c/0x1450 __dev_queue_xmit+0xa48/0x1450 ? ip_finish_output2+0xf4c/0x1130 ip_finish_output2+0x6b6/0x1130 ? srso_alias_return_thunk+0x5/0xfbef5 ? __ip_finish_output+0x217/0x380 ? srso_alias_return_thunk+0x5/0xfbef5 __ip_finish_output+0x217/0x380 ip_output+0x99/0x120 __ip_queue_xmit+0xae4/0xbc0 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? tcp_options_write.constprop.0+0xcb/0x3e0 ip_queue_xmit+0x34/0x40 __tcp_transmit_skb+0x1625/0x1890 tcp_write_xmit+0x766/0x2fb0 ? __entry_text_end+0x102ba9/0x102bad ? srso_alias_return_thunk+0x5/0xfbef5 ? __might_fault+0x74/0xc0 ? srso_alias_return_thunk+0x5/0xfbef5 __tcp_push_pending_frames+0x56/0x190 tcp_push+0x117/0x310 tcp_sendmsg_locked+0x14c1/0x1740 tcp_sendmsg+0x28/0x40 inet_sendmsg+0x5d/0x90 sock_write_iter+0x242/0x2b0 vfs_write+0x68d/0x800 ? __pfx_sock_write_iter+0x10/0x10 ksys_write+0xc8/0xf0 __x64_sys_write+0x3d/0x50 x64_sys_call+0xfaf/0x1f50 do_syscall_64+0x6d/0x140 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7f4d143af992 Code: c3 8b 07 85 c0 75 24 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> e9 01 cc ff ff 41 54 b8 02 00 00 0 RSP: 002b:00007ffd65032058 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f4d143af992 RDX: 0000000000000025 RSI: 00007f4d143f3bcc RDI: 0000000000000005 RBP: 00007f4d143f2b28 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f4d143f3bcc R13: 0000000000000005 R14: 0000000000000000 R15: 00007ffd650323f0 </TASK> Fixes: 0b2c597 ("l2tp: close all race conditions in l2tp_tunnel_register()") Suggested-by: Eric Dumazet <[email protected]> Reported-by: [email protected] Closes: https://syzkaller.appspot.com/bug?extid=6acef9e0a4d1f46c83d4 CC: [email protected] CC: [email protected] Signed-off-by: James Chapman <[email protected]> Signed-off-by: Tom Parkin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Sep 14, 2024
[ Upstream commit 86a41ea ] When l2tp tunnels use a socket provided by userspace, we can hit lockdep splats like the below when data is transmitted through another (unrelated) userspace socket which then gets routed over l2tp. This issue was previously discussed here: https://lore.kernel.org/netdev/[email protected]/ The solution is to have lockdep treat socket locks of l2tp tunnel sockets separately than those of standard INET sockets. To do so, use a different lockdep subclass where lock nesting is possible. ============================================ WARNING: possible recursive locking detected 6.10.0+ #34 Not tainted -------------------------------------------- iperf3/771 is trying to acquire lock: ffff8881027601d8 (slock-AF_INET/1){+.-.}-{2:2}, at: l2tp_xmit_skb+0x243/0x9d0 but task is already holding lock: ffff888102650d98 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x1848/0x1e10 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(slock-AF_INET/1); lock(slock-AF_INET/1); *** DEADLOCK *** May be due to missing lock nesting notation 10 locks held by iperf3/771: #0: ffff888102650258 (sk_lock-AF_INET){+.+.}-{0:0}, at: tcp_sendmsg+0x1a/0x40 #1: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x4b/0xbc0 #2: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x17a/0x1130 #3: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x28b/0x9f0 #4: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0xf9/0x260 #5: ffff888102650d98 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x1848/0x1e10 #6: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x4b/0xbc0 #7: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x17a/0x1130 #8: ffffffff822ac1e0 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0xcc/0x1450 #9: ffff888101f33258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock#2){+...}-{2:2}, at: __dev_queue_xmit+0x513/0x1450 stack backtrace: CPU: 2 UID: 0 PID: 771 Comm: iperf3 Not tainted 6.10.0+ #34 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Call Trace: <IRQ> dump_stack_lvl+0x69/0xa0 dump_stack+0xc/0x20 __lock_acquire+0x135d/0x2600 ? srso_alias_return_thunk+0x5/0xfbef5 lock_acquire+0xc4/0x2a0 ? l2tp_xmit_skb+0x243/0x9d0 ? __skb_checksum+0xa3/0x540 _raw_spin_lock_nested+0x35/0x50 ? l2tp_xmit_skb+0x243/0x9d0 l2tp_xmit_skb+0x243/0x9d0 l2tp_eth_dev_xmit+0x3c/0xc0 dev_hard_start_xmit+0x11e/0x420 sch_direct_xmit+0xc3/0x640 __dev_queue_xmit+0x61c/0x1450 ? ip_finish_output2+0xf4c/0x1130 ip_finish_output2+0x6b6/0x1130 ? srso_alias_return_thunk+0x5/0xfbef5 ? __ip_finish_output+0x217/0x380 ? srso_alias_return_thunk+0x5/0xfbef5 __ip_finish_output+0x217/0x380 ip_output+0x99/0x120 __ip_queue_xmit+0xae4/0xbc0 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? tcp_options_write.constprop.0+0xcb/0x3e0 ip_queue_xmit+0x34/0x40 __tcp_transmit_skb+0x1625/0x1890 __tcp_send_ack+0x1b8/0x340 tcp_send_ack+0x23/0x30 __tcp_ack_snd_check+0xa8/0x530 ? srso_alias_return_thunk+0x5/0xfbef5 tcp_rcv_established+0x412/0xd70 tcp_v4_do_rcv+0x299/0x420 tcp_v4_rcv+0x1991/0x1e10 ip_protocol_deliver_rcu+0x50/0x220 ip_local_deliver_finish+0x158/0x260 ip_local_deliver+0xc8/0xe0 ip_rcv+0xe5/0x1d0 ? __pfx_ip_rcv+0x10/0x10 __netif_receive_skb_one_core+0xce/0xe0 ? process_backlog+0x28b/0x9f0 __netif_receive_skb+0x34/0xd0 ? process_backlog+0x28b/0x9f0 process_backlog+0x2cb/0x9f0 __napi_poll.constprop.0+0x61/0x280 net_rx_action+0x332/0x670 ? srso_alias_return_thunk+0x5/0xfbef5 ? find_held_lock+0x2b/0x80 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 handle_softirqs+0xda/0x480 ? __dev_queue_xmit+0xa2c/0x1450 do_softirq+0xa1/0xd0 </IRQ> <TASK> __local_bh_enable_ip+0xc8/0xe0 ? __dev_queue_xmit+0xa2c/0x1450 __dev_queue_xmit+0xa48/0x1450 ? ip_finish_output2+0xf4c/0x1130 ip_finish_output2+0x6b6/0x1130 ? srso_alias_return_thunk+0x5/0xfbef5 ? __ip_finish_output+0x217/0x380 ? srso_alias_return_thunk+0x5/0xfbef5 __ip_finish_output+0x217/0x380 ip_output+0x99/0x120 __ip_queue_xmit+0xae4/0xbc0 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? tcp_options_write.constprop.0+0xcb/0x3e0 ip_queue_xmit+0x34/0x40 __tcp_transmit_skb+0x1625/0x1890 tcp_write_xmit+0x766/0x2fb0 ? __entry_text_end+0x102ba9/0x102bad ? srso_alias_return_thunk+0x5/0xfbef5 ? __might_fault+0x74/0xc0 ? srso_alias_return_thunk+0x5/0xfbef5 __tcp_push_pending_frames+0x56/0x190 tcp_push+0x117/0x310 tcp_sendmsg_locked+0x14c1/0x1740 tcp_sendmsg+0x28/0x40 inet_sendmsg+0x5d/0x90 sock_write_iter+0x242/0x2b0 vfs_write+0x68d/0x800 ? __pfx_sock_write_iter+0x10/0x10 ksys_write+0xc8/0xf0 __x64_sys_write+0x3d/0x50 x64_sys_call+0xfaf/0x1f50 do_syscall_64+0x6d/0x140 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7f4d143af992 Code: c3 8b 07 85 c0 75 24 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> e9 01 cc ff ff 41 54 b8 02 00 00 0 RSP: 002b:00007ffd65032058 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f4d143af992 RDX: 0000000000000025 RSI: 00007f4d143f3bcc RDI: 0000000000000005 RBP: 00007f4d143f2b28 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f4d143f3bcc R13: 0000000000000005 R14: 0000000000000000 R15: 00007ffd650323f0 </TASK> Fixes: 0b2c597 ("l2tp: close all race conditions in l2tp_tunnel_register()") Suggested-by: Eric Dumazet <[email protected]> Reported-by: [email protected] Closes: https://syzkaller.appspot.com/bug?extid=6acef9e0a4d1f46c83d4 CC: [email protected] CC: [email protected] Signed-off-by: James Chapman <[email protected]> Signed-off-by: Tom Parkin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Sep 14, 2024
[ Upstream commit 86a41ea ] When l2tp tunnels use a socket provided by userspace, we can hit lockdep splats like the below when data is transmitted through another (unrelated) userspace socket which then gets routed over l2tp. This issue was previously discussed here: https://lore.kernel.org/netdev/[email protected]/ The solution is to have lockdep treat socket locks of l2tp tunnel sockets separately than those of standard INET sockets. To do so, use a different lockdep subclass where lock nesting is possible. ============================================ WARNING: possible recursive locking detected 6.10.0+ #34 Not tainted -------------------------------------------- iperf3/771 is trying to acquire lock: ffff8881027601d8 (slock-AF_INET/1){+.-.}-{2:2}, at: l2tp_xmit_skb+0x243/0x9d0 but task is already holding lock: ffff888102650d98 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x1848/0x1e10 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(slock-AF_INET/1); lock(slock-AF_INET/1); *** DEADLOCK *** May be due to missing lock nesting notation 10 locks held by iperf3/771: #0: ffff888102650258 (sk_lock-AF_INET){+.+.}-{0:0}, at: tcp_sendmsg+0x1a/0x40 #1: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x4b/0xbc0 #2: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x17a/0x1130 #3: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x28b/0x9f0 #4: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0xf9/0x260 #5: ffff888102650d98 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x1848/0x1e10 #6: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x4b/0xbc0 #7: ffffffff822ac220 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x17a/0x1130 #8: ffffffff822ac1e0 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0xcc/0x1450 #9: ffff888101f33258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock#2){+...}-{2:2}, at: __dev_queue_xmit+0x513/0x1450 stack backtrace: CPU: 2 UID: 0 PID: 771 Comm: iperf3 Not tainted 6.10.0+ #34 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Call Trace: <IRQ> dump_stack_lvl+0x69/0xa0 dump_stack+0xc/0x20 __lock_acquire+0x135d/0x2600 ? srso_alias_return_thunk+0x5/0xfbef5 lock_acquire+0xc4/0x2a0 ? l2tp_xmit_skb+0x243/0x9d0 ? __skb_checksum+0xa3/0x540 _raw_spin_lock_nested+0x35/0x50 ? l2tp_xmit_skb+0x243/0x9d0 l2tp_xmit_skb+0x243/0x9d0 l2tp_eth_dev_xmit+0x3c/0xc0 dev_hard_start_xmit+0x11e/0x420 sch_direct_xmit+0xc3/0x640 __dev_queue_xmit+0x61c/0x1450 ? ip_finish_output2+0xf4c/0x1130 ip_finish_output2+0x6b6/0x1130 ? srso_alias_return_thunk+0x5/0xfbef5 ? __ip_finish_output+0x217/0x380 ? srso_alias_return_thunk+0x5/0xfbef5 __ip_finish_output+0x217/0x380 ip_output+0x99/0x120 __ip_queue_xmit+0xae4/0xbc0 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? tcp_options_write.constprop.0+0xcb/0x3e0 ip_queue_xmit+0x34/0x40 __tcp_transmit_skb+0x1625/0x1890 __tcp_send_ack+0x1b8/0x340 tcp_send_ack+0x23/0x30 __tcp_ack_snd_check+0xa8/0x530 ? srso_alias_return_thunk+0x5/0xfbef5 tcp_rcv_established+0x412/0xd70 tcp_v4_do_rcv+0x299/0x420 tcp_v4_rcv+0x1991/0x1e10 ip_protocol_deliver_rcu+0x50/0x220 ip_local_deliver_finish+0x158/0x260 ip_local_deliver+0xc8/0xe0 ip_rcv+0xe5/0x1d0 ? __pfx_ip_rcv+0x10/0x10 __netif_receive_skb_one_core+0xce/0xe0 ? process_backlog+0x28b/0x9f0 __netif_receive_skb+0x34/0xd0 ? process_backlog+0x28b/0x9f0 process_backlog+0x2cb/0x9f0 __napi_poll.constprop.0+0x61/0x280 net_rx_action+0x332/0x670 ? srso_alias_return_thunk+0x5/0xfbef5 ? find_held_lock+0x2b/0x80 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 handle_softirqs+0xda/0x480 ? __dev_queue_xmit+0xa2c/0x1450 do_softirq+0xa1/0xd0 </IRQ> <TASK> __local_bh_enable_ip+0xc8/0xe0 ? __dev_queue_xmit+0xa2c/0x1450 __dev_queue_xmit+0xa48/0x1450 ? ip_finish_output2+0xf4c/0x1130 ip_finish_output2+0x6b6/0x1130 ? srso_alias_return_thunk+0x5/0xfbef5 ? __ip_finish_output+0x217/0x380 ? srso_alias_return_thunk+0x5/0xfbef5 __ip_finish_output+0x217/0x380 ip_output+0x99/0x120 __ip_queue_xmit+0xae4/0xbc0 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? tcp_options_write.constprop.0+0xcb/0x3e0 ip_queue_xmit+0x34/0x40 __tcp_transmit_skb+0x1625/0x1890 tcp_write_xmit+0x766/0x2fb0 ? __entry_text_end+0x102ba9/0x102bad ? srso_alias_return_thunk+0x5/0xfbef5 ? __might_fault+0x74/0xc0 ? srso_alias_return_thunk+0x5/0xfbef5 __tcp_push_pending_frames+0x56/0x190 tcp_push+0x117/0x310 tcp_sendmsg_locked+0x14c1/0x1740 tcp_sendmsg+0x28/0x40 inet_sendmsg+0x5d/0x90 sock_write_iter+0x242/0x2b0 vfs_write+0x68d/0x800 ? __pfx_sock_write_iter+0x10/0x10 ksys_write+0xc8/0xf0 __x64_sys_write+0x3d/0x50 x64_sys_call+0xfaf/0x1f50 do_syscall_64+0x6d/0x140 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7f4d143af992 Code: c3 8b 07 85 c0 75 24 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> e9 01 cc ff ff 41 54 b8 02 00 00 0 RSP: 002b:00007ffd65032058 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f4d143af992 RDX: 0000000000000025 RSI: 00007f4d143f3bcc RDI: 0000000000000005 RBP: 00007f4d143f2b28 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f4d143f3bcc R13: 0000000000000005 R14: 0000000000000000 R15: 00007ffd650323f0 </TASK> Fixes: 0b2c597 ("l2tp: close all race conditions in l2tp_tunnel_register()") Suggested-by: Eric Dumazet <[email protected]> Reported-by: [email protected] Closes: https://syzkaller.appspot.com/bug?extid=6acef9e0a4d1f46c83d4 CC: [email protected] CC: [email protected] Signed-off-by: James Chapman <[email protected]> Signed-off-by: Tom Parkin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Sep 23, 2024
It would be useful to see what the sched_ext scheduler state is, and what scheduler is running, when we're dumping a task's stack. This patch therefore adds a new print_scx_info() function that's called in the same context as print_worker_info() and print_stop_info(). An example dump follows. BUG: kernel NULL pointer dereference, address: 0000000000000999 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: 0002 [#1] PREEMPT SMP CPU: 13 PID: 2047 Comm: insmod Tainted: G O 6.6.0-work-10323-gb58d4cae8e99-dirty #34 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS unknown 2/2/2022 Sched_ext: qmap (enabled+all), task: runnable_at=-17ms RIP: 0010:init_module+0x9/0x1000 [test_module] ... v3: - scx_ops_enable_state_str[] definition moved to an earlier patch as it's now used by core implementation. - Convert jiffy delta to msecs using jiffies_to_msecs() instead of multiplying by (HZ / MSEC_PER_SEC). The conversion is implemented in jiffies_delta_msecs(). v2: - We are now using scx_ops_enable_state_str[] outside CONFIG_SCHED_DEBUG. Move it outside of CONFIG_SCHED_DEBUG and to the top. This was reported by Changwoo and Andrea. Signed-off-by: David Vernet <[email protected]> Reported-by: Changwoo Min <[email protected]> Reported-by: Andrea Righi <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Nov 3, 2024
Fix a shift-out-of-bounds bug reported by UBSAN when running VM with MTE enabled host kernel. UBSAN: shift-out-of-bounds in arch/arm64/kvm/sys_regs.c:1988:14 shift exponent 33 is too large for 32-bit type 'int' CPU: 26 UID: 0 PID: 7629 Comm: qemu-kvm Not tainted 6.12.0-rc2 #34 Hardware name: IEI NF5280R7/Mitchell MB, BIOS 00.00. 2024-10-12 09:28:54 10/14/2024 Call trace: dump_backtrace+0xa0/0x128 show_stack+0x20/0x38 dump_stack_lvl+0x74/0x90 dump_stack+0x18/0x28 __ubsan_handle_shift_out_of_bounds+0xf8/0x1e0 reset_clidr+0x10c/0x1c8 kvm_reset_sys_regs+0x50/0x1c8 kvm_reset_vcpu+0xec/0x2b0 __kvm_vcpu_set_target+0x84/0x158 kvm_vcpu_set_target+0x138/0x168 kvm_arch_vcpu_ioctl_vcpu_init+0x40/0x2b0 kvm_arch_vcpu_ioctl+0x28c/0x4b8 kvm_vcpu_ioctl+0x4bc/0x7a8 __arm64_sys_ioctl+0xb4/0x100 invoke_syscall+0x70/0x100 el0_svc_common.constprop.0+0x48/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x3c/0x158 el0t_64_sync_handler+0x120/0x130 el0t_64_sync+0x194/0x198 Fixes: 7af0c25 ("KVM: arm64: Normalize cache configuration") Cc: [email protected] Reviewed-by: Gavin Shan <[email protected]> Signed-off-by: Ilkka Koskinen <[email protected]> Reviewed-by: Anshuman Khandual <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]>
BtbN
pushed a commit
to BtbN/BPI-Router-Linux
that referenced
this pull request
Nov 9, 2024
commit c6c167a upstream. Fix a shift-out-of-bounds bug reported by UBSAN when running VM with MTE enabled host kernel. UBSAN: shift-out-of-bounds in arch/arm64/kvm/sys_regs.c:1988:14 shift exponent 33 is too large for 32-bit type 'int' CPU: 26 UID: 0 PID: 7629 Comm: qemu-kvm Not tainted 6.12.0-rc2 frank-w#34 Hardware name: IEI NF5280R7/Mitchell MB, BIOS 00.00. 2024-10-12 09:28:54 10/14/2024 Call trace: dump_backtrace+0xa0/0x128 show_stack+0x20/0x38 dump_stack_lvl+0x74/0x90 dump_stack+0x18/0x28 __ubsan_handle_shift_out_of_bounds+0xf8/0x1e0 reset_clidr+0x10c/0x1c8 kvm_reset_sys_regs+0x50/0x1c8 kvm_reset_vcpu+0xec/0x2b0 __kvm_vcpu_set_target+0x84/0x158 kvm_vcpu_set_target+0x138/0x168 kvm_arch_vcpu_ioctl_vcpu_init+0x40/0x2b0 kvm_arch_vcpu_ioctl+0x28c/0x4b8 kvm_vcpu_ioctl+0x4bc/0x7a8 __arm64_sys_ioctl+0xb4/0x100 invoke_syscall+0x70/0x100 el0_svc_common.constprop.0+0x48/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x3c/0x158 el0t_64_sync_handler+0x120/0x130 el0t_64_sync+0x194/0x198 Fixes: 7af0c25 ("KVM: arm64: Normalize cache configuration") Cc: [email protected] Reviewed-by: Gavin Shan <[email protected]> Signed-off-by: Ilkka Koskinen <[email protected]> Reviewed-by: Anshuman Khandual <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Dec 6, 2024
commit c6c167a upstream. Fix a shift-out-of-bounds bug reported by UBSAN when running VM with MTE enabled host kernel. UBSAN: shift-out-of-bounds in arch/arm64/kvm/sys_regs.c:1988:14 shift exponent 33 is too large for 32-bit type 'int' CPU: 26 UID: 0 PID: 7629 Comm: qemu-kvm Not tainted 6.12.0-rc2 #34 Hardware name: IEI NF5280R7/Mitchell MB, BIOS 00.00. 2024-10-12 09:28:54 10/14/2024 Call trace: dump_backtrace+0xa0/0x128 show_stack+0x20/0x38 dump_stack_lvl+0x74/0x90 dump_stack+0x18/0x28 __ubsan_handle_shift_out_of_bounds+0xf8/0x1e0 reset_clidr+0x10c/0x1c8 kvm_reset_sys_regs+0x50/0x1c8 kvm_reset_vcpu+0xec/0x2b0 __kvm_vcpu_set_target+0x84/0x158 kvm_vcpu_set_target+0x138/0x168 kvm_arch_vcpu_ioctl_vcpu_init+0x40/0x2b0 kvm_arch_vcpu_ioctl+0x28c/0x4b8 kvm_vcpu_ioctl+0x4bc/0x7a8 __arm64_sys_ioctl+0xb4/0x100 invoke_syscall+0x70/0x100 el0_svc_common.constprop.0+0x48/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x3c/0x158 el0t_64_sync_handler+0x120/0x130 el0t_64_sync+0x194/0x198 Fixes: 7af0c25 ("KVM: arm64: Normalize cache configuration") Cc: [email protected] Reviewed-by: Gavin Shan <[email protected]> Signed-off-by: Ilkka Koskinen <[email protected]> Reviewed-by: Anshuman Khandual <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Marc Zyngier <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Jan 25, 2025
…nt message
Address a bug in the kernel that triggers a "sleeping function called from
invalid context" warning when /sys/kernel/debug/kmemleak is printed under
specific conditions:
- CONFIG_PREEMPT_RT=y
- Set SELinux as the LSM for the system
- Set kptr_restrict to 1
- kmemleak buffer contains at least one item
BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48
in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 136, name: cat
preempt_count: 1, expected: 0
RCU nest depth: 2, expected: 2
6 locks held by cat/136:
#0: ffff32e64bcbf950 (&p->lock){+.+.}-{3:3}, at: seq_read_iter+0xb8/0xe30
#1: ffffafe6aaa9dea0 (scan_mutex){+.+.}-{3:3}, at: kmemleak_seq_start+0x34/0x128
#3: ffff32e6546b1cd0 (&object->lock){....}-{2:2}, at: kmemleak_seq_show+0x3c/0x1e0
#4: ffffafe6aa8d8560 (rcu_read_lock){....}-{1:2}, at: has_ns_capability_noaudit+0x8/0x1b0
#5: ffffafe6aabbc0f8 (notif_lock){+.+.}-{2:2}, at: avc_compute_av+0xc4/0x3d0
irq event stamp: 136660
hardirqs last enabled at (136659): [<ffffafe6a80fd7a0>] _raw_spin_unlock_irqrestore+0xa8/0xd8
hardirqs last disabled at (136660): [<ffffafe6a80fd85c>] _raw_spin_lock_irqsave+0x8c/0xb0
softirqs last enabled at (0): [<ffffafe6a5d50b28>] copy_process+0x11d8/0x3df8
softirqs last disabled at (0): [<0000000000000000>] 0x0
Preemption disabled at:
[<ffffafe6a6598a4c>] kmemleak_seq_show+0x3c/0x1e0
CPU: 1 UID: 0 PID: 136 Comm: cat Tainted: G E 6.11.0-rt7+ #34
Tainted: [E]=UNSIGNED_MODULE
Hardware name: linux,dummy-virt (DT)
Call trace:
dump_backtrace+0xa0/0x128
show_stack+0x1c/0x30
dump_stack_lvl+0xe8/0x198
dump_stack+0x18/0x20
rt_spin_lock+0x8c/0x1a8
avc_perm_nonode+0xa0/0x150
cred_has_capability.isra.0+0x118/0x218
selinux_capable+0x50/0x80
security_capable+0x7c/0xd0
has_ns_capability_noaudit+0x94/0x1b0
has_capability_noaudit+0x20/0x30
restricted_pointer+0x21c/0x4b0
pointer+0x298/0x760
vsnprintf+0x330/0xf70
seq_printf+0x178/0x218
print_unreferenced+0x1a4/0x2d0
kmemleak_seq_show+0xd0/0x1e0
seq_read_iter+0x354/0xe30
seq_read+0x250/0x378
full_proxy_read+0xd8/0x148
vfs_read+0x190/0x918
ksys_read+0xf0/0x1e0
__arm64_sys_read+0x70/0xa8
invoke_syscall.constprop.0+0xd4/0x1d8
el0_svc+0x50/0x158
el0t_64_sync+0x17c/0x180
%pS and %pK, in the same back trace line, are redundant, and %pS can void
%pK service in certain contexts.
%pS alone already provides the necessary information, and if it cannot
resolve the symbol, it falls back to printing the raw address voiding
the original intent behind the %pK.
Additionally, %pK requires a privilege check CAP_SYSLOG enforced through
the LSM, which can trigger a "sleeping function called from invalid
context" warning under RT_PREEMPT kernels when the check occurs in an
atomic context. This issue may also affect other LSMs.
This change avoids the unnecessary privilege check and resolves the
sleeping function warning without any loss of information.
Link: https://lkml.kernel.org/r/[email protected]
Fixes: 3a6f33d ("mm/kmemleak: use %pK to display kernel pointers in backtrace")
Signed-off-by: Alessandro Carminati <[email protected]>
Acked-by: Sebastian Andrzej Siewior <[email protected]>
Acked-by: Catalin Marinas <[email protected]>
Cc: Clément Léger <[email protected]>
Cc: Alessandro Carminati <[email protected]>
Cc: Eric Chanudet <[email protected]>
Cc: Gabriele Paoloni <[email protected]>
Cc: Juri Lelli <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Thomas Weißschuh <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Jan 31, 2025
…nt message commit cddc76b upstream. Address a bug in the kernel that triggers a "sleeping function called from invalid context" warning when /sys/kernel/debug/kmemleak is printed under specific conditions: - CONFIG_PREEMPT_RT=y - Set SELinux as the LSM for the system - Set kptr_restrict to 1 - kmemleak buffer contains at least one item BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 136, name: cat preempt_count: 1, expected: 0 RCU nest depth: 2, expected: 2 6 locks held by cat/136: #0: ffff32e64bcbf950 (&p->lock){+.+.}-{3:3}, at: seq_read_iter+0xb8/0xe30 #1: ffffafe6aaa9dea0 (scan_mutex){+.+.}-{3:3}, at: kmemleak_seq_start+0x34/0x128 #3: ffff32e6546b1cd0 (&object->lock){....}-{2:2}, at: kmemleak_seq_show+0x3c/0x1e0 #4: ffffafe6aa8d8560 (rcu_read_lock){....}-{1:2}, at: has_ns_capability_noaudit+0x8/0x1b0 #5: ffffafe6aabbc0f8 (notif_lock){+.+.}-{2:2}, at: avc_compute_av+0xc4/0x3d0 irq event stamp: 136660 hardirqs last enabled at (136659): [<ffffafe6a80fd7a0>] _raw_spin_unlock_irqrestore+0xa8/0xd8 hardirqs last disabled at (136660): [<ffffafe6a80fd85c>] _raw_spin_lock_irqsave+0x8c/0xb0 softirqs last enabled at (0): [<ffffafe6a5d50b28>] copy_process+0x11d8/0x3df8 softirqs last disabled at (0): [<0000000000000000>] 0x0 Preemption disabled at: [<ffffafe6a6598a4c>] kmemleak_seq_show+0x3c/0x1e0 CPU: 1 UID: 0 PID: 136 Comm: cat Tainted: G E 6.11.0-rt7+ #34 Tainted: [E]=UNSIGNED_MODULE Hardware name: linux,dummy-virt (DT) Call trace: dump_backtrace+0xa0/0x128 show_stack+0x1c/0x30 dump_stack_lvl+0xe8/0x198 dump_stack+0x18/0x20 rt_spin_lock+0x8c/0x1a8 avc_perm_nonode+0xa0/0x150 cred_has_capability.isra.0+0x118/0x218 selinux_capable+0x50/0x80 security_capable+0x7c/0xd0 has_ns_capability_noaudit+0x94/0x1b0 has_capability_noaudit+0x20/0x30 restricted_pointer+0x21c/0x4b0 pointer+0x298/0x760 vsnprintf+0x330/0xf70 seq_printf+0x178/0x218 print_unreferenced+0x1a4/0x2d0 kmemleak_seq_show+0xd0/0x1e0 seq_read_iter+0x354/0xe30 seq_read+0x250/0x378 full_proxy_read+0xd8/0x148 vfs_read+0x190/0x918 ksys_read+0xf0/0x1e0 __arm64_sys_read+0x70/0xa8 invoke_syscall.constprop.0+0xd4/0x1d8 el0_svc+0x50/0x158 el0t_64_sync+0x17c/0x180 %pS and %pK, in the same back trace line, are redundant, and %pS can void %pK service in certain contexts. %pS alone already provides the necessary information, and if it cannot resolve the symbol, it falls back to printing the raw address voiding the original intent behind the %pK. Additionally, %pK requires a privilege check CAP_SYSLOG enforced through the LSM, which can trigger a "sleeping function called from invalid context" warning under RT_PREEMPT kernels when the check occurs in an atomic context. This issue may also affect other LSMs. This change avoids the unnecessary privilege check and resolves the sleeping function warning without any loss of information. Link: https://lkml.kernel.org/r/[email protected] Fixes: 3a6f33d ("mm/kmemleak: use %pK to display kernel pointers in backtrace") Signed-off-by: Alessandro Carminati <[email protected]> Acked-by: Sebastian Andrzej Siewior <[email protected]> Acked-by: Catalin Marinas <[email protected]> Cc: Clément Léger <[email protected]> Cc: Alessandro Carminati <[email protected]> Cc: Eric Chanudet <[email protected]> Cc: Gabriele Paoloni <[email protected]> Cc: Juri Lelli <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Thomas Weißschuh <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Jan 31, 2025
…nt message commit cddc76b upstream. Address a bug in the kernel that triggers a "sleeping function called from invalid context" warning when /sys/kernel/debug/kmemleak is printed under specific conditions: - CONFIG_PREEMPT_RT=y - Set SELinux as the LSM for the system - Set kptr_restrict to 1 - kmemleak buffer contains at least one item BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 136, name: cat preempt_count: 1, expected: 0 RCU nest depth: 2, expected: 2 6 locks held by cat/136: #0: ffff32e64bcbf950 (&p->lock){+.+.}-{3:3}, at: seq_read_iter+0xb8/0xe30 #1: ffffafe6aaa9dea0 (scan_mutex){+.+.}-{3:3}, at: kmemleak_seq_start+0x34/0x128 #3: ffff32e6546b1cd0 (&object->lock){....}-{2:2}, at: kmemleak_seq_show+0x3c/0x1e0 #4: ffffafe6aa8d8560 (rcu_read_lock){....}-{1:2}, at: has_ns_capability_noaudit+0x8/0x1b0 #5: ffffafe6aabbc0f8 (notif_lock){+.+.}-{2:2}, at: avc_compute_av+0xc4/0x3d0 irq event stamp: 136660 hardirqs last enabled at (136659): [<ffffafe6a80fd7a0>] _raw_spin_unlock_irqrestore+0xa8/0xd8 hardirqs last disabled at (136660): [<ffffafe6a80fd85c>] _raw_spin_lock_irqsave+0x8c/0xb0 softirqs last enabled at (0): [<ffffafe6a5d50b28>] copy_process+0x11d8/0x3df8 softirqs last disabled at (0): [<0000000000000000>] 0x0 Preemption disabled at: [<ffffafe6a6598a4c>] kmemleak_seq_show+0x3c/0x1e0 CPU: 1 UID: 0 PID: 136 Comm: cat Tainted: G E 6.11.0-rt7+ #34 Tainted: [E]=UNSIGNED_MODULE Hardware name: linux,dummy-virt (DT) Call trace: dump_backtrace+0xa0/0x128 show_stack+0x1c/0x30 dump_stack_lvl+0xe8/0x198 dump_stack+0x18/0x20 rt_spin_lock+0x8c/0x1a8 avc_perm_nonode+0xa0/0x150 cred_has_capability.isra.0+0x118/0x218 selinux_capable+0x50/0x80 security_capable+0x7c/0xd0 has_ns_capability_noaudit+0x94/0x1b0 has_capability_noaudit+0x20/0x30 restricted_pointer+0x21c/0x4b0 pointer+0x298/0x760 vsnprintf+0x330/0xf70 seq_printf+0x178/0x218 print_unreferenced+0x1a4/0x2d0 kmemleak_seq_show+0xd0/0x1e0 seq_read_iter+0x354/0xe30 seq_read+0x250/0x378 full_proxy_read+0xd8/0x148 vfs_read+0x190/0x918 ksys_read+0xf0/0x1e0 __arm64_sys_read+0x70/0xa8 invoke_syscall.constprop.0+0xd4/0x1d8 el0_svc+0x50/0x158 el0t_64_sync+0x17c/0x180 %pS and %pK, in the same back trace line, are redundant, and %pS can void %pK service in certain contexts. %pS alone already provides the necessary information, and if it cannot resolve the symbol, it falls back to printing the raw address voiding the original intent behind the %pK. Additionally, %pK requires a privilege check CAP_SYSLOG enforced through the LSM, which can trigger a "sleeping function called from invalid context" warning under RT_PREEMPT kernels when the check occurs in an atomic context. This issue may also affect other LSMs. This change avoids the unnecessary privilege check and resolves the sleeping function warning without any loss of information. Link: https://lkml.kernel.org/r/[email protected] Fixes: 3a6f33d ("mm/kmemleak: use %pK to display kernel pointers in backtrace") Signed-off-by: Alessandro Carminati <[email protected]> Acked-by: Sebastian Andrzej Siewior <[email protected]> Acked-by: Catalin Marinas <[email protected]> Cc: Clément Léger <[email protected]> Cc: Alessandro Carminati <[email protected]> Cc: Eric Chanudet <[email protected]> Cc: Gabriele Paoloni <[email protected]> Cc: Juri Lelli <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Thomas Weißschuh <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
frank-w
pushed a commit
that referenced
this pull request
Jul 16, 2025
[ Upstream commit eedf3e3 ] ACPICA commit 1c28da2242783579d59767617121035dafba18c3 This was originally done in NetBSD: NetBSD/src@b69d1ac and is the correct alternative to the smattering of `memcpy`s I previously contributed to this repository. This also sidesteps the newly strict checks added in UBSAN: llvm/llvm-project@7926744 Before this change we see the following UBSAN stack trace in Fuchsia: #0 0x000021afcfdeca5e in acpi_rs_get_address_common(struct acpi_resource*, union aml_resource*) ../../third_party/acpica/source/components/resources/rsaddr.c:329 <platform-bus-x86.so>+0x6aca5e #1.2 0x000021982bc4af3c in ubsan_get_stack_trace() compiler-rt/lib/ubsan/ubsan_diag.cpp:41 <libclang_rt.asan.so>+0x41f3c #1.1 0x000021982bc4af3c in maybe_print_stack_trace() compiler-rt/lib/ubsan/ubsan_diag.cpp:51 <libclang_rt.asan.so>+0x41f3c #1 0x000021982bc4af3c in ~scoped_report() compiler-rt/lib/ubsan/ubsan_diag.cpp:395 <libclang_rt.asan.so>+0x41f3c #2 0x000021982bc4bb6f in handletype_mismatch_impl() compiler-rt/lib/ubsan/ubsan_handlers.cpp:137 <libclang_rt.asan.so>+0x42b6f #3 0x000021982bc4b723 in __ubsan_handle_type_mismatch_v1 compiler-rt/lib/ubsan/ubsan_handlers.cpp:142 <libclang_rt.asan.so>+0x42723 #4 0x000021afcfdeca5e in acpi_rs_get_address_common(struct acpi_resource*, union aml_resource*) ../../third_party/acpica/source/components/resources/rsaddr.c:329 <platform-bus-x86.so>+0x6aca5e #5 0x000021afcfdf2089 in acpi_rs_convert_aml_to_resource(struct acpi_resource*, union aml_resource*, struct acpi_rsconvert_info*) ../../third_party/acpica/source/components/resources/rsmisc.c:355 <platform-bus-x86.so>+0x6b2089 #6 0x000021afcfded169 in acpi_rs_convert_aml_to_resources(u8*, u32, u32, u8, void**) ../../third_party/acpica/source/components/resources/rslist.c:137 <platform-bus-x86.so>+0x6ad169 #7 0x000021afcfe2d24a in acpi_ut_walk_aml_resources(struct acpi_walk_state*, u8*, acpi_size, acpi_walk_aml_callback, void**) ../../third_party/acpica/source/components/utilities/utresrc.c:237 <platform-bus-x86.so>+0x6ed24a #8 0x000021afcfde66b7 in acpi_rs_create_resource_list(union acpi_operand_object*, struct acpi_buffer*) ../../third_party/acpica/source/components/resources/rscreate.c:199 <platform-bus-x86.so>+0x6a66b7 #9 0x000021afcfdf6979 in acpi_rs_get_method_data(acpi_handle, const char*, struct acpi_buffer*) ../../third_party/acpica/source/components/resources/rsutils.c:770 <platform-bus-x86.so>+0x6b6979 #10 0x000021afcfdf708f in acpi_walk_resources(acpi_handle, char*, acpi_walk_resource_callback, void*) ../../third_party/acpica/source/components/resources/rsxface.c:731 <platform-bus-x86.so>+0x6b708f #11 0x000021afcfa95dcf in acpi::acpi_impl::walk_resources(acpi::acpi_impl*, acpi_handle, const char*, acpi::Acpi::resources_callable) ../../src/devices/board/lib/acpi/acpi-impl.cc:41 <platform-bus-x86.so>+0x355dcf #12 0x000021afcfaa8278 in acpi::device_builder::gather_resources(acpi::device_builder*, acpi::Acpi*, fidl::any_arena&, acpi::Manager*, acpi::device_builder::gather_resources_callback) ../../src/devices/board/lib/acpi/device-builder.cc:84 <platform-bus-x86.so>+0x368278 #13 0x000021afcfbddb87 in acpi::Manager::configure_discovered_devices(acpi::Manager*) ../../src/devices/board/lib/acpi/manager.cc:75 <platform-bus-x86.so>+0x49db87 #14 0x000021afcf99091d in publish_acpi_devices(acpi::Manager*, zx_device_t*, zx_device_t*) ../../src/devices/board/drivers/x86/acpi-nswalk.cc:95 <platform-bus-x86.so>+0x25091d #15 0x000021afcf9c1d4e in x86::X86::do_init(x86::X86*) ../../src/devices/board/drivers/x86/x86.cc:60 <platform-bus-x86.so>+0x281d4e #16 0x000021afcf9e33ad in λ(x86::X86::ddk_init::(anon class)*) ../../src/devices/board/drivers/x86/x86.cc:77 <platform-bus-x86.so>+0x2a33ad #17 0x000021afcf9e313e in fit::internal::target<(lambda at../../src/devices/board/drivers/x86/x86.cc:76:19), false, false, std::__2::allocator<std::byte>, void>::invoke(void*) ../../sdk/lib/fit/include/lib/fit/internal/function.h:183 <platform-bus-x86.so>+0x2a313e #18 0x000021afcfbab4c7 in fit::internal::function_base<16UL, false, void(), std::__2::allocator<std::byte>>::invoke(const fit::internal::function_base<16UL, false, void (), std::__2::allocator<std::byte> >*) ../../sdk/lib/fit/include/lib/fit/internal/function.h:522 <platform-bus-x86.so>+0x46b4c7 #19 0x000021afcfbab342 in fit::function_impl<16UL, false, void(), std::__2::allocator<std::byte>>::operator()(const fit::function_impl<16UL, false, void (), std::__2::allocator<std::byte> >*) ../../sdk/lib/fit/include/lib/fit/function.h:315 <platform-bus-x86.so>+0x46b342 #20 0x000021afcfcd98c3 in async::internal::retained_task::Handler(async_dispatcher_t*, async_task_t*, zx_status_t) ../../sdk/lib/async/task.cc:24 <platform-bus-x86.so>+0x5998c3 #21 0x00002290f9924616 in λ(const driver_runtime::Dispatcher::post_task::(anon class)*, std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request> >, zx_status_t) ../../src/devices/bin/driver_runtime/dispatcher.cc:789 <libdriver_runtime.so>+0x10a616 #22 0x00002290f9924323 in fit::internal::target<(lambda at../../src/devices/bin/driver_runtime/dispatcher.cc:788:7), true, false, std::__2::allocator<std::byte>, void, std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request>>, int>::invoke(void*, std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request> >, int) ../../sdk/lib/fit/include/lib/fit/internal/function.h:128 <libdriver_runtime.so>+0x10a323 #23 0x00002290f9904b76 in fit::internal::function_base<24UL, true, void(std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request>>, int), std::__2::allocator<std::byte>>::invoke(const fit::internal::function_base<24UL, true, void (std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request> >, int), std::__2::allocator<std::byte> >*, std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request> >, int) ../../sdk/lib/fit/include/lib/fit/internal/function.h:522 <libdriver_runtime.so>+0xeab76 #24 0x00002290f9904831 in fit::callback_impl<24UL, true, void(std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request>>, int), std::__2::allocator<std::byte>>::operator()(fit::callback_impl<24UL, true, void (std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request> >, int), std::__2::allocator<std::byte> >*, std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request> >, int) ../../sdk/lib/fit/include/lib/fit/function.h:471 <libdriver_runtime.so>+0xea831 #25 0x00002290f98d5adc in driver_runtime::callback_request::Call(driver_runtime::callback_request*, std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request> >, zx_status_t) ../../src/devices/bin/driver_runtime/callback_request.h:74 <libdriver_runtime.so>+0xbbadc #26 0x00002290f98e1e58 in driver_runtime::Dispatcher::dispatch_callback(driver_runtime::Dispatcher*, std::__2::unique_ptr<driver_runtime::callback_request, std::__2::default_delete<driver_runtime::callback_request> >) ../../src/devices/bin/driver_runtime/dispatcher.cc:1248 <libdriver_runtime.so>+0xc7e58 #27 0x00002290f98e4159 in driver_runtime::Dispatcher::dispatch_callbacks(driver_runtime::Dispatcher*, std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter> >, fbl::ref_ptr<driver_runtime::Dispatcher>) ../../src/devices/bin/driver_runtime/dispatcher.cc:1308 <libdriver_runtime.so>+0xca159 #28 0x00002290f9918414 in λ(const driver_runtime::Dispatcher::create_with_adder::(anon class)*, std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter> >, fbl::ref_ptr<driver_runtime::Dispatcher>) ../../src/devices/bin/driver_runtime/dispatcher.cc:353 <libdriver_runtime.so>+0xfe414 #29 0x00002290f991812d in fit::internal::target<(lambda at../../src/devices/bin/driver_runtime/dispatcher.cc:351:7), true, false, std::__2::allocator<std::byte>, void, std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter>>, fbl::ref_ptr<driver_runtime::Dispatcher>>::invoke(void*, std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter> >, fbl::ref_ptr<driver_runtime::Dispatcher>) ../../sdk/lib/fit/include/lib/fit/internal/function.h:128 <libdriver_runtime.so>+0xfe12d #30 0x00002290f9906fc7 in fit::internal::function_base<8UL, true, void(std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter>>, fbl::ref_ptr<driver_runtime::Dispatcher>), std::__2::allocator<std::byte>>::invoke(const fit::internal::function_base<8UL, true, void (std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter> >, fbl::ref_ptr<driver_runtime::Dispatcher>), std::__2::allocator<std::byte> >*, std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter> >, fbl::ref_ptr<driver_runtime::Dispatcher>) ../../sdk/lib/fit/include/lib/fit/internal/function.h:522 <libdriver_runtime.so>+0xecfc7 #31 0x00002290f9906c66 in fit::function_impl<8UL, true, void(std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter>>, fbl::ref_ptr<driver_runtime::Dispatcher>), std::__2::allocator<std::byte>>::operator()(const fit::function_impl<8UL, true, void (std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter> >, fbl::ref_ptr<driver_runtime::Dispatcher>), std::__2::allocator<std::byte> >*, std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter> >, fbl::ref_ptr<driver_runtime::Dispatcher>) ../../sdk/lib/fit/include/lib/fit/function.h:315 <libdriver_runtime.so>+0xecc66 #32 0x00002290f98e73d9 in driver_runtime::Dispatcher::event_waiter::invoke_callback(driver_runtime::Dispatcher::event_waiter*, std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter> >, fbl::ref_ptr<driver_runtime::Dispatcher>) ../../src/devices/bin/driver_runtime/dispatcher.h:543 <libdriver_runtime.so>+0xcd3d9 #33 0x00002290f98e700d in driver_runtime::Dispatcher::event_waiter::handle_event(std::__2::unique_ptr<driver_runtime::Dispatcher::event_waiter, std::__2::default_delete<driver_runtime::Dispatcher::event_waiter> >, async_dispatcher_t*, async::wait_base*, zx_status_t, zx_packet_signal_t const*) ../../src/devices/bin/driver_runtime/dispatcher.cc:1442 <libdriver_runtime.so>+0xcd00d #34 0x00002290f9918983 in async_loop_owned_event_handler<driver_runtime::Dispatcher::event_waiter>::handle_event(async_loop_owned_event_handler<driver_runtime::Dispatcher::event_waiter>*, async_dispatcher_t*, async::wait_base*, zx_status_t, zx_packet_signal_t const*) ../../src/devices/bin/driver_runtime/async_loop_owned_event_handler.h:59 <libdriver_runtime.so>+0xfe983 #35 0x00002290f9918b9e in async::wait_method<async_loop_owned_event_handler<driver_runtime::Dispatcher::event_waiter>, &async_loop_owned_event_handler<driver_runtime::Dispatcher::event_waiter>::handle_event>::call_handler(async_dispatcher_t*, async_wait_t*, zx_status_t, zx_packet_signal_t const*) ../../sdk/lib/async/include/lib/async/cpp/wait.h:201 <libdriver_runtime.so>+0xfeb9e #36 0x00002290f99bf509 in async_loop_dispatch_wait(async_loop_t*, async_wait_t*, zx_status_t, zx_packet_signal_t const*) ../../sdk/lib/async-loop/loop.c:394 <libdriver_runtime.so>+0x1a5509 #37 0x00002290f99b9958 in async_loop_run_once(async_loop_t*, zx_time_t) ../../sdk/lib/async-loop/loop.c:343 <libdriver_runtime.so>+0x19f958 #38 0x00002290f99b9247 in async_loop_run(async_loop_t*, zx_time_t, _Bool) ../../sdk/lib/async-loop/loop.c:301 <libdriver_runtime.so>+0x19f247 #39 0x00002290f99ba962 in async_loop_run_thread(void*) ../../sdk/lib/async-loop/loop.c:860 <libdriver_runtime.so>+0x1a0962 #40 0x000041afd176ef30 in start_c11(void*) ../../zircon/third_party/ulib/musl/pthread/pthread_create.c:63 <libc.so>+0x84f30 #41 0x000041afd18a448d in thread_trampoline(uintptr_t, uintptr_t) ../../zircon/system/ulib/runtime/thread.cc:100 <libc.so>+0x1ba48d Link: acpica/acpica@1c28da22 Signed-off-by: Rafael J. Wysocki <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Tamir Duberstein <[email protected]> [ rjw: Pick up the tag from Tamir ] Signed-off-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Sasha Levin <[email protected]>
frank-w
added a commit
that referenced
this pull request
Oct 23, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 23, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 23, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 23, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 23, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 26, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 26, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 26, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 26, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 27, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 27, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Oct 29, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Nov 7, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Nov 7, 2025
[ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Nov 8, 2025
The initconst statement causes memory to be freed after init resulting in non-working devices. Signed-off-by: Frank Wunderlich <[email protected]> --- clk: mediatek: clk-gate: fix crash since 6.18-rc1 [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Nov 8, 2025
The initconst statement causes memory to be freed after init resulting in non-working devices. Signed-off-by: Frank Wunderlich <[email protected]> --- clk: mediatek: clk-gate: fix crash since 6.18-rc1 [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Nov 9, 2025
The initconst statement causes memory to be freed after init resulting in non-working devices. Signed-off-by: Frank Wunderlich <[email protected]> --- clk: mediatek: clk-gate: fix crash since 6.18-rc1 [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Nov 11, 2025
The initconst statement causes memory to be freed after init resulting in non-working devices. Signed-off-by: Frank Wunderlich <[email protected]> --- clk: mediatek: clk-gate: fix crash since 6.18-rc1 [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
frank-w
added a commit
that referenced
this pull request
Nov 11, 2025
The initconst statement causes memory to be freed after init resulting in non-working devices. Signed-off-by: Frank Wunderlich <[email protected]> --- clk: mediatek: clk-gate: fix crash since 6.18-rc1 [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- [ 5.277262] mtk-msdc 11230000.mmc: msdc_runtime_suspend:3308 before gate_clock [ 5.284492] mtk-msdc 11230000.mmc: msdc_gate_clock:925 before bulk_disable_unprepare [ 5.292255] Unable to handle kernel paging request at virtual address ffffffc0813d2388 [ 5.300166] Mem abort info: [ 5.302948] ESR = 0x0000000096000007 [ 5.306684] EC = 0x25: DABT (current EL), IL = 32 bits [ 5.311983] SET = 0, FnV = 0 [ 5.315025] EA = 0, S1PTW = 0 [ 5.318154] FSC = 0x07: level 3 translation fault [ 5.323020] Data abort info: [ 5.325888] ISV = 0, ISS = 0x00000007, ISS2 = 0x00000000 [ 5.331359] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 5.336397] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 5.341695] swapper pgtable: 4k pages, 39-bit VAs, pgdp=00000000452fd000 [ 5.348382] [ffffffc0813d2388] pgd=1000000045ae1003, p4d=1000000045ae1003, pud=1000000045ae1003, pmd=1000000045ae4003, pte=0000000000000000 [ 5.360895] Internal error: Oops: 0000000096000007 [#1] SMP [ 5.366543] Modules linked in: [ 5.369590] CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.18.0-rc1-bpi-r4-mt7987-clk #34 NONE [ 5.378882] Hardware name: Bananapi BPI-R4-LITE (DT) [ 5.383834] Workqueue: pm pm_runtime_work [ 5.387843] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.394792] pc : mtk_cg_disable+0x18/0x38 [ 5.398795] lr : clk_core_disable+0x7c/0x150 [ 5.403057] sp : ffffffc081bb3bc0 [ 5.406360] x29: ffffffc081bb3bc0 x28: ffffff8000113540 x27: 0000000000000000 [ 5.413485] x26: ffffff8000113580 x25: 00000000000f4240 x24: ffffff80001a1ac0 [ 5.420610] x23: 0000000000000008 x22: 0000000000000004 x21: ffffff8001112738 [ 5.427734] x20: ffffff8000ff8800 x19: ffffff8000ff8800 x18: 00000000ffffffff [ 5.434858] x17: 755f656c62617369 x16: 645f6b6c75622065 x15: 726f666562203532 [ 5.441983] x14: 00000000ffffffea x13: ffffffc081bb3918 x12: ffffffc081869cf0 [ 5.449107] x11: 0000000000000001 x10: 0000000000000001 x9 : 0000000000017fe8 [ 5.456232] x8 : c0000000ffffefff x7 : ffffffc081811c70 x6 : 0000000000057fa8 [ 5.463356] x5 : ffffffc081869c98 x4 : ffffffc081ace6a8 x3 : 0000000000000001 [ 5.470480] x2 : 0000000000000001 x1 : ffffffc0813d2370 x0 : ffffff8001036400 [ 5.477605] Call trace: [ 5.480041] mtk_cg_disable+0x18/0x38 (P) [ 5.484043] clk_core_disable+0x7c/0x150 [ 5.487956] clk_disable+0x30/0x4c [ 5.491350] clk_bulk_disable+0x3c/0x58 [ 5.495177] msdc_gate_clock+0x48/0x15c [ 5.499005] msdc_runtime_suspend+0x2a0/0x2e4 [ 5.503352] pm_generic_runtime_suspend+0x2c/0x44 [ 5.508047] __rpm_callback+0x40/0x228 [ 5.511788] rpm_callback+0x38/0x80 [ 5.515268] rpm_suspend+0xd8/0x630 [ 5.518748] pm_runtime_work+0x114/0x118 [ 5.522662] process_one_work+0x164/0x3ac [ 5.526665] worker_thread+0x284/0x46c [ 5.530404] kthread+0x114/0x1c8 [ 5.533623] ret_from_fork+0x10/0x20 [ 5.537193] Code: d2800023 910003fd f9401401 f9400c00 (f9400c24) [ 5.543272] ---[ end trace 0000000000000000 ]--- Fixes: ("clk: mediatek: clk-gate: Refactor mtk_clk_register_gate to use mtk_gate struct") Fixes: ("clk: mediatek: add clock driver for mt7987 from sdk")
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.