All of lore.kernel.org
 help / color / mirror / Atom feed
From: syzbot <syzbot+d4e8dc385d9258220c31@syzkaller.appspotmail.com>
To: davem@davemloft.net, edumazet@google.com, kernel@pengutronix.de,
	 kuba@kernel.org, leitao@debian.org, linux-can@vger.kernel.org,
	 linux-kernel@vger.kernel.org, mkl@pengutronix.de,
	netdev@vger.kernel.org,  o.rempel@pengutronix.de,
	pabeni@redhat.com, robin@protonic.nl,  socketcan@hartkopp.net,
	syzkaller-bugs@googlegroups.com
Subject: [syzbot] [can?] WARNING: refcount bug in sk_skb_reason_drop
Date: Thu, 03 Oct 2024 09:14:26 -0700	[thread overview]
Message-ID: <66fec2e2.050a0220.9ec68.0046.GAE@google.com> (raw)

Hello,

syzbot found the following issue on:

HEAD commit:    a430d95c5efa Merge tag 'lsm-pr-20240911' of git://git.kern..
git tree:       upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=11260ca9980000
kernel config:  https://syzkaller.appspot.com/x/.config?x=d85e1e571a820894
dashboard link: https://syzkaller.appspot.com/bug?extid=d4e8dc385d9258220c31
compiler:       gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=11903177980000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=15b9a607980000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/4faaa939b3a4/disk-a430d95c.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/83c722076440/vmlinux-a430d95c.xz
kernel image: https://storage.googleapis.com/syzbot-assets/24c938d49c40/bzImage-a430d95c.xz

The issue was bisected to:

commit c9c0ee5f20c593faf289fa8850c3ed84031dd12a
Author: Breno Leitao <leitao@debian.org>
Date:   Mon Jul 29 10:47:40 2024 +0000

    net: skbuff: Skip early return in skb_unref when debugging

bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=15e6f69f980000
final oops:     https://syzkaller.appspot.com/x/report.txt?x=17e6f69f980000
console output: https://syzkaller.appspot.com/x/log.txt?x=13e6f69f980000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d4e8dc385d9258220c31@syzkaller.appspotmail.com
Fixes: c9c0ee5f20c5 ("net: skbuff: Skip early return in skb_unref when debugging")

vxcan1: j1939_tp_rxtimer: 0xffff8880326cb400: rx timeout, send abort
vxcan1: j1939_xtp_rx_abort_one: 0xffff8880326cb400: 0x00000: (3) A timeout occurred and this is the connection abort to close the session.
------------[ cut here ]------------
refcount_t: underflow; use-after-free.
WARNING: CPU: 0 PID: 16 at lib/refcount.c:28 refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28
Modules linked in:
CPU: 0 UID: 0 PID: 16 Comm: ksoftirqd/0 Not tainted 6.11.0-syzkaller-02574-ga430d95c5efa #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
RIP: 0010:refcount_warn_saturate+0x14a/0x210 lib/refcount.c:28
Code: ff 89 de e8 58 80 04 fd 84 db 0f 85 66 ff ff ff e8 6b 7e 04 fd c6 05 59 3d 7f 0b 01 90 48 c7 c7 00 ba b0 8b e8 67 d1 c6 fc 90 <0f> 0b 90 90 e9 43 ff ff ff e8 48 7e 04 fd 0f b6 1d 34 3d 7f 0b 31
RSP: 0018:ffffc900001577c8 EFLAGS: 00010286
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff814e2c79
RDX: ffff88801cadda00 RSI: ffffffff814e2c86 RDI: 0000000000000001
RBP: ffff88802e405224 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002
R13: 0000000000000000 R14: ffff88802e405224 R15: 0000000000000001
FS:  0000000000000000(0000) GS:ffff8880b8800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055772d12ee40 CR3: 000000002853a000 CR4: 0000000000350ef0
Call Trace:
 <TASK>
 __refcount_sub_and_test include/linux/refcount.h:275 [inline]
 __refcount_dec_and_test include/linux/refcount.h:307 [inline]
 refcount_dec_and_test include/linux/refcount.h:325 [inline]
 skb_unref include/linux/skbuff.h:1232 [inline]
 __sk_skb_reason_drop net/core/skbuff.c:1213 [inline]
 sk_skb_reason_drop+0x183/0x1a0 net/core/skbuff.c:1241
 kfree_skb_reason include/linux/skbuff.h:1262 [inline]
 kfree_skb include/linux/skbuff.h:1271 [inline]
 j1939_session_destroy+0x163/0x460 net/can/j1939/transport.c:282
 __j1939_session_release net/can/j1939/transport.c:294 [inline]
 kref_put include/linux/kref.h:65 [inline]
 j1939_session_put net/can/j1939/transport.c:299 [inline]
 j1939_xtp_rx_abort_one+0x3f9/0x560 net/can/j1939/transport.c:1354
 j1939_xtp_rx_abort net/can/j1939/transport.c:1362 [inline]
 j1939_tp_cmd_recv net/can/j1939/transport.c:2128 [inline]
 j1939_tp_recv+0xcf8/0xf50 net/can/j1939/transport.c:2161
 j1939_can_recv+0x78f/0xa50 net/can/j1939/main.c:108
 deliver net/can/af_can.c:572 [inline]
 can_rcv_filter+0x2ab/0x900 net/can/af_can.c:606
 can_receive+0x320/0x5c0 net/can/af_can.c:663
 can_rcv+0x1e2/0x280 net/can/af_can.c:687
 __netif_receive_skb_one_core+0x1b4/0x1e0 net/core/dev.c:5662
 __netif_receive_skb+0x1d/0x160 net/core/dev.c:5775
 process_backlog+0x443/0x15f0 net/core/dev.c:6107
 __napi_poll.constprop.0+0xba/0x550 net/core/dev.c:6771
 napi_poll net/core/dev.c:6840 [inline]
 net_rx_action+0xa92/0x1010 net/core/dev.c:6962
 handle_softirqs+0x219/0x8f0 kernel/softirq.c:554
 run_ksoftirqd kernel/softirq.c:928 [inline]
 run_ksoftirqd+0x3a/0x60 kernel/softirq.c:920
 smpboot_thread_fn+0x664/0xa10 kernel/smpboot.c:164
 kthread+0x2c4/0x3a0 kernel/kthread.c:389
 ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
 </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.
For information about bisection process see: https://goo.gl/tpsmEJ#bisection

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

             reply	other threads:[~2024-10-03 16:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-03 16:14 syzbot [this message]
2024-10-03 17:39 ` [syzbot] Re: [syzbot] [can?] WARNING: refcount bug in sk_skb_reason_drop syzbot
2024-10-03 23:34 ` Hillf Danton
2024-10-04  0:41   ` syzbot
     [not found] <20241003173925.127880-1-dmantipov@yandex.ru>
2024-10-03 18:09 ` syzbot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=66fec2e2.050a0220.9ec68.0046.GAE@google.com \
    --to=syzbot+d4e8dc385d9258220c31@syzkaller.appspotmail.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kernel@pengutronix.de \
    --cc=kuba@kernel.org \
    --cc=leitao@debian.org \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mkl@pengutronix.de \
    --cc=netdev@vger.kernel.org \
    --cc=o.rempel@pengutronix.de \
    --cc=pabeni@redhat.com \
    --cc=robin@protonic.nl \
    --cc=socketcan@hartkopp.net \
    --cc=syzkaller-bugs@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.