All of lore.kernel.org
 help / color / mirror / Atom feed
* [syzbot] upstream test error: WARNING: ODEBUG bug in mgmt_index_removed
@ 2022-08-04  9:42 syzbot
  2022-08-05  7:12 ` [PATCH (urgent)] Bluetooth: don't try to cancel uninitialized works at mgmt_index_removed() Tetsuo Handa
  0 siblings, 1 reply; 4+ messages in thread
From: syzbot @ 2022-08-04  9:42 UTC (permalink / raw)
  To: davem, edumazet, johan.hedberg, kuba, linux-bluetooth,
	linux-kernel, luiz.dentz, marcel, netdev, pabeni, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    b44f2fd87919 Merge tag 'drm-next-2022-08-03' of git://anon..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=12099eb6080000
kernel config:  https://syzkaller.appspot.com/x/.config?x=4dcc926c2745b9bc
dashboard link: https://syzkaller.appspot.com/bug?extid=b8ddd338a8838e581b1c
compiler:       gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b8ddd338a8838e581b1c@syzkaller.appspotmail.com

------------[ cut here ]------------
ODEBUG: assert_init not available (active state 0) object type: timer_list hint: 0x0
WARNING: CPU: 2 PID: 3677 at lib/debugobjects.c:502 debug_print_object+0x16e/0x250 lib/debugobjects.c:502
Modules linked in:
CPU: 2 PID: 3677 Comm: syz-executor.0 Not tainted 5.19.0-syzkaller-07280-gb44f2fd87919 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014
RIP: 0010:debug_print_object+0x16e/0x250 lib/debugobjects.c:502
Code: ff df 48 89 fa 48 c1 ea 03 80 3c 02 00 0f 85 af 00 00 00 48 8b 14 dd 80 6d 28 8a 4c 89 ee 48 c7 c7 60 61 28 8a e8 c5 6c 37 05 <0f> 0b 83 05 f5 4d bc 09 01 48 83 c4 18 5b 5d 41 5c 41 5d 41 5e c3
RSP: 0018:ffffc90002e976e0 EFLAGS: 00010086
RAX: 0000000000000000 RBX: 0000000000000005 RCX: 0000000000000000
RDX: ffff88801b79a1c0 RSI: ffffffff81604db8 RDI: fffff520005d2ece
RBP: 0000000000000001 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000080000000 R11: 0000000000000001 R12: ffffffff89cec7e0
R13: ffffffff8a2867e0 R14: ffffffff81694bf0 R15: 1ffff920005d2ee7
FS:  0000000000000000(0000) GS:ffff88802ca00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055d5e4cfad58 CR3: 0000000015303000 CR4: 0000000000150ee0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 debug_object_assert_init lib/debugobjects.c:892 [inline]
 debug_object_assert_init+0x1f4/0x2e0 lib/debugobjects.c:863
 debug_timer_assert_init kernel/time/timer.c:792 [inline]
 debug_assert_init kernel/time/timer.c:837 [inline]
 del_timer+0x6d/0x110 kernel/time/timer.c:1257
 try_to_grab_pending+0x6d/0xd0 kernel/workqueue.c:1275
 __cancel_work_timer+0xa6/0x570 kernel/workqueue.c:3121
 mgmt_index_removed+0x187/0x2e0 net/bluetooth/mgmt.c:8939
 hci_unregister_dev+0x467/0x550 net/bluetooth/hci_core.c:2688
 vhci_release+0x7c/0xf0 drivers/bluetooth/hci_vhci.c:568
 __fput+0x277/0x9d0 fs/file_table.c:320
 task_work_run+0xdd/0x1a0 kernel/task_work.c:177
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0xade/0x29d0 kernel/exit.c:795
 do_group_exit+0xd2/0x2f0 kernel/exit.c:925
 get_signal+0x2542/0x2600 kernel/signal.c:2857
 arch_do_signal_or_restart+0x82/0x2300 arch/x86/kernel/signal.c:869
 exit_to_user_mode_loop kernel/entry/common.c:166 [inline]
 exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:201
 __syscall_exit_to_user_mode_work kernel/entry/common.c:283 [inline]
 syscall_exit_to_user_mode+0x19/0x50 kernel/entry/common.c:294
 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f283b03bdbc
Code: Unable to access opcode bytes at RIP 0x7f283b03bd92.
RSP: 002b:00007ffec8e73250 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
RAX: fffffffffffffe00 RBX: 00007ffec8e73300 RCX: 00007f283b03bdbc
RDX: 0000000000000040 RSI: 00007f283b198020 RDI: 00000000000000f9
RBP: 0000000000000003 R08: 0000000000000000 R09: ff00000000000000
R10: 00007f283b16d6c0 R11: 0000000000000246 R12: 0000000000000032
R13: 000000000000e5af R14: 0000000000000003 R15: 00007ffec8e73340
 </TASK>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

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

* [PATCH (urgent)] Bluetooth: don't try to cancel uninitialized works at mgmt_index_removed()
  2022-08-04  9:42 [syzbot] upstream test error: WARNING: ODEBUG bug in mgmt_index_removed syzbot
@ 2022-08-05  7:12 ` Tetsuo Handa
  2022-08-05  8:02   ` [(urgent)] " bluez.test.bot
  2022-08-05 22:20   ` [PATCH (urgent)] " patchwork-bot+bluetooth
  0 siblings, 2 replies; 4+ messages in thread
From: Tetsuo Handa @ 2022-08-05  7:12 UTC (permalink / raw)
  To: Brian Gix, Luiz Augusto von Dentz
  Cc: Marcel Holtmann, Johan Hedberg, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, linux-bluetooth

syzbot is reporting attempt to cancel uninitialized work at
mgmt_index_removed() [1], for calling cancel_delayed_work_sync() without
INIT_DELAYED_WORK() is not permitted.

INIT_DELAYED_WORK() is called from mgmt_init_hdev() via chan->hdev_init()
 from hci_mgmt_cmd(), but cancel_delayed_work_sync() is unconditionally
called from mgmt_index_removed().

Call cancel_delayed_work_sync() only if HCI_MGMT flag was set, for
mgmt_init_hdev() sets HCI_MGMT flag when calling INIT_DELAYED_WORK().

Link: https://syzkaller.appspot.com/bug?extid=b8ddd338a8838e581b1c [1]
Reported-by: syzbot <syzbot+b8ddd338a8838e581b1c@syzkaller.appspotmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Fixes: 0ef08313cefdd60d ("Bluetooth: Convert delayed discov_off to hci_sync")
---
I can't test this patch due to lack of reproducer. But please review and
send to linux.git as soon as possible, for currently syzbot can't test
changes for 6.0-rc1 due to this problem (please see "Instances:" table at
https://syzkaller.appspot.com/upstream ).

syzbot was unable to test linux-next.git since 20220628 due to a different bug.
As an unfortunate result, this bug (being there since 20220725) which would have
been already found and fixed in linux-next.git arrived at linux.git...

 net/bluetooth/mgmt.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index f0bb2fc883d7..6e31023b84f5 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -8935,6 +8935,8 @@ void mgmt_index_removed(struct hci_dev *hdev)
 			 HCI_MGMT_EXT_INDEX_EVENTS);
 
 	/* Cancel any remaining timed work */
+	if (!hci_dev_test_flag(hdev, HCI_MGMT))
+		return;
 	cancel_delayed_work_sync(&hdev->discov_off);
 	cancel_delayed_work_sync(&hdev->service_cache);
 	cancel_delayed_work_sync(&hdev->rpa_expired);
-- 
2.34.1


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

* RE: [(urgent)] Bluetooth: don't try to cancel uninitialized works at mgmt_index_removed()
  2022-08-05  7:12 ` [PATCH (urgent)] Bluetooth: don't try to cancel uninitialized works at mgmt_index_removed() Tetsuo Handa
@ 2022-08-05  8:02   ` bluez.test.bot
  2022-08-05 22:20   ` [PATCH (urgent)] " patchwork-bot+bluetooth
  1 sibling, 0 replies; 4+ messages in thread
From: bluez.test.bot @ 2022-08-05  8:02 UTC (permalink / raw)
  To: linux-bluetooth, penguin-kernel

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

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=665551

---Test result---

Test Summary:
CheckPatch                    PASS      1.63 seconds
GitLint                       FAIL      1.01 seconds
SubjectPrefix                 PASS      0.88 seconds
BuildKernel                   PASS      34.88 seconds
BuildKernel32                 PASS      30.75 seconds
Incremental Build with patchesPASS      41.93 seconds
TestRunner: Setup             PASS      502.14 seconds
TestRunner: l2cap-tester      PASS      17.94 seconds
TestRunner: bnep-tester       PASS      6.99 seconds
TestRunner: mgmt-tester       PASS      105.50 seconds
TestRunner: rfcomm-tester     PASS      10.44 seconds
TestRunner: sco-tester        PASS      10.18 seconds
TestRunner: smp-tester        PASS      10.16 seconds
TestRunner: userchan-tester   PASS      7.21 seconds

Details
##############################
Test: GitLint - FAIL - 1.01 seconds
Run gitlint with rule in .gitlint
[(urgent)] Bluetooth: don't try to cancel uninitialized works at mgmt_index_removed()
1: T1 Title exceeds max length (85>80): "[(urgent)] Bluetooth: don't try to cancel uninitialized works at mgmt_index_removed()"




---
Regards,
Linux Bluetooth


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

* Re: [PATCH (urgent)] Bluetooth: don't try to cancel uninitialized works at mgmt_index_removed()
  2022-08-05  7:12 ` [PATCH (urgent)] Bluetooth: don't try to cancel uninitialized works at mgmt_index_removed() Tetsuo Handa
  2022-08-05  8:02   ` [(urgent)] " bluez.test.bot
@ 2022-08-05 22:20   ` patchwork-bot+bluetooth
  1 sibling, 0 replies; 4+ messages in thread
From: patchwork-bot+bluetooth @ 2022-08-05 22:20 UTC (permalink / raw)
  To: Tetsuo Handa
  Cc: brian.gix, luiz.von.dentz, marcel, johan.hedberg, davem,
	edumazet, kuba, pabeni, linux-bluetooth

Hello:

This patch was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Fri, 5 Aug 2022 16:12:18 +0900 you wrote:
> syzbot is reporting attempt to cancel uninitialized work at
> mgmt_index_removed() [1], for calling cancel_delayed_work_sync() without
> INIT_DELAYED_WORK() is not permitted.
> 
> INIT_DELAYED_WORK() is called from mgmt_init_hdev() via chan->hdev_init()
>  from hci_mgmt_cmd(), but cancel_delayed_work_sync() is unconditionally
> called from mgmt_index_removed().
> 
> [...]

Here is the summary with links:
  - [(urgent)] Bluetooth: don't try to cancel uninitialized works at mgmt_index_removed()
    https://git.kernel.org/bluetooth/bluetooth-next/c/0659969095f6

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

end of thread, other threads:[~2022-08-05 22:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-04  9:42 [syzbot] upstream test error: WARNING: ODEBUG bug in mgmt_index_removed syzbot
2022-08-05  7:12 ` [PATCH (urgent)] Bluetooth: don't try to cancel uninitialized works at mgmt_index_removed() Tetsuo Handa
2022-08-05  8:02   ` [(urgent)] " bluez.test.bot
2022-08-05 22:20   ` [PATCH (urgent)] " patchwork-bot+bluetooth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.