All of lore.kernel.org
 help / color / mirror / Atom feed
From: syzbot <syzbot+0bace015a67c7862c2cb@syzkaller.appspotmail.com>
To: davem@davemloft.net, kuznet@ms2.inr.ac.ru,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	syzkaller-bugs@googlegroups.com, yoshfuji@linux-ipv6.org
Subject: KASAN: use-after-free Read in finish_wait (2)
Date: Mon, 30 Jul 2018 07:28:03 -0700	[thread overview]
Message-ID: <000000000000edfb4b057238448c@google.com> (raw)

Hello,

syzbot found the following crash on:

HEAD commit:    19725496da56 Merge ra.kernel.org:/pub/scm/linux/kernel/git..
git tree:       net-next
console output: https://syzkaller.appspot.com/x/log.txt?x=16ac69a4400000
kernel config:  https://syzkaller.appspot.com/x/.config?x=ee7720ff122639ee
dashboard link: https://syzkaller.appspot.com/bug?extid=0bace015a67c7862c2cb
compiler:       gcc (GCC) 8.0.1 20180413 (experimental)

Unfortunately, I don't have any reproducer for this crash yet.

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

==================================================================
BUG: KASAN: use-after-free in __list_del_entry_valid+0xf1/0xf3  
lib/list_debug.c:51
Read of size 8 at addr ffff8801d025f278 by task kworker/0:1/25

CPU: 0 PID: 25 Comm: kworker/0:1 Not tainted 4.18.0-rc6+ #140
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS  
Google 01/01/2011
Workqueue: events smc_tcp_listen_work
Call Trace:
  __dump_stack lib/dump_stack.c:77 [inline]
  dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113
  print_address_description+0x6c/0x20b mm/kasan/report.c:256
  kasan_report_error mm/kasan/report.c:354 [inline]
  kasan_report.cold.7+0x242/0x2fe mm/kasan/report.c:412
  __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433
  __list_del_entry_valid+0xf1/0xf3 lib/list_debug.c:51
  __list_del_entry include/linux/list.h:117 [inline]
  list_del_init include/linux/list.h:159 [inline]
  finish_wait+0x128/0x430 kernel/sched/wait.c:365
  inet_csk_wait_for_connect net/ipv4/inet_connection_sock.c:418 [inline]
  inet_csk_accept+0x6d0/0xe70 net/ipv4/inet_connection_sock.c:451
  inet_accept+0x138/0xa00 net/ipv4/af_inet.c:735
  kernel_accept+0x136/0x310 net/socket.c:3251
  smc_clcsock_accept net/smc/af_smc.c:832 [inline]
  smc_tcp_listen_work+0x222/0xef0 net/smc/af_smc.c:1296
  process_one_work+0xc73/0x1ba0 kernel/workqueue.c:2153
  worker_thread+0x189/0x13c0 kernel/workqueue.c:2296
  kthread+0x345/0x410 kernel/kthread.c:246
  ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412

Allocated by task 19352:
  save_stack+0x43/0xd0 mm/kasan/kasan.c:448
  set_track mm/kasan/kasan.c:460 [inline]
  kasan_kmalloc+0xc4/0xe0 mm/kasan/kasan.c:553
  kmem_cache_alloc_trace+0x152/0x780 mm/slab.c:3620
  kmalloc include/linux/slab.h:513 [inline]
  sock_alloc_inode+0xbc/0x320 net/socket.c:246
  alloc_inode+0x63/0x190 fs/inode.c:210
  new_inode_pseudo+0x71/0x1a0 fs/inode.c:895
  sock_alloc+0x41/0x270 net/socket.c:567
  __sock_create+0x175/0x940 net/socket.c:1250
  sock_create_kern+0x3b/0x50 net/socket.c:1332
  smc_create+0x141/0x360 net/smc/af_smc.c:1892
  __sock_create+0x53c/0x940 net/socket.c:1286
  sock_create net/socket.c:1326 [inline]
  __sys_socket+0x106/0x260 net/socket.c:1356
  __do_sys_socket net/socket.c:1365 [inline]
  __se_sys_socket net/socket.c:1363 [inline]
  __x64_sys_socket+0x73/0xb0 net/socket.c:1363
  do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
  entry_SYSCALL_64_after_hwframe+0x49/0xbe

Freed by task 19352:
  save_stack+0x43/0xd0 mm/kasan/kasan.c:448
  set_track mm/kasan/kasan.c:460 [inline]
  __kasan_slab_free+0x11a/0x170 mm/kasan/kasan.c:521
  kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:528
  __cache_free mm/slab.c:3498 [inline]
  kfree+0xd9/0x260 mm/slab.c:3813
  __rcu_reclaim kernel/rcu/rcu.h:173 [inline]
  rcu_do_batch kernel/rcu/tree.c:2558 [inline]
  invoke_rcu_callbacks kernel/rcu/tree.c:2818 [inline]
  __rcu_process_callbacks kernel/rcu/tree.c:2785 [inline]
  rcu_process_callbacks+0x1004/0x1850 kernel/rcu/tree.c:2802
  __do_softirq+0x2e8/0xb17 kernel/softirq.c:292

The buggy address belongs to the object at ffff8801d025f240
  which belongs to the cache kmalloc-128 of size 128
The buggy address is located 56 bytes inside of
  128-byte region [ffff8801d025f240, ffff8801d025f2c0)
The buggy address belongs to the page:
page:ffffea00074097c0 count:1 mapcount:0 mapping:ffff8801dac00640 index:0x0
flags: 0x2fffc0000000100(slab)
raw: 02fffc0000000100 ffffea0006c2a188 ffffea00072ca2c8 ffff8801dac00640
raw: 0000000000000000 ffff8801d025f000 0000000100000015 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
  ffff8801d025f100: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
  ffff8801d025f180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> ffff8801d025f200: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb
                                                                 ^
  ffff8801d025f280: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
  ffff8801d025f300: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================


---
This bug 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 bug report. See:
https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with  
syzbot.

                 reply	other threads:[~2018-07-30 14:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=000000000000edfb4b057238448c@google.com \
    --to=syzbot+0bace015a67c7862c2cb@syzkaller.appspotmail.com \
    --cc=davem@davemloft.net \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=syzkaller-bugs@googlegroups.com \
    --cc=yoshfuji@linux-ipv6.org \
    /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.