KASAN use after free warning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I'm seeing this use-after-free in the latest mainline kernel.
But I cannot make much sense out of it.
It complains that the buffer was freed before cifsd could finish. I
cannot see how that can happen.

Worried about this as we've been seeing some possible corruptions
during some internal stress testing in Microsoft. That's the reason I
was running a KASAN enabled kernel.

Any clues?

 ==================================================================
May 24 10:58:11 xrqubcgiz kernel: [ 2976.847655] BUG: KASAN:
slab-use-after-free in smb2_is_network_name_deleted+0x2a/0x180 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2976.859483] Read of size 4 at
addr ffff888111638008 by task cifsd/563833
May 24 10:58:11 xrqubcgiz kernel: [ 2976.865664]
May 24 10:58:11 xrqubcgiz kernel: [ 2976.868354] CPU: 0 PID: 563833
Comm: cifsd Not tainted 6.4.0-rc3-wkasan #5
May 24 10:58:11 xrqubcgiz kernel: [ 2976.877390] Hardware name:
Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090008
12/07/2018
May 24 10:58:11 xrqubcgiz kernel: [ 2976.885226] Call Trace:
May 24 10:58:11 xrqubcgiz kernel: [ 2976.888530]  <TASK>
May 24 10:58:11 xrqubcgiz kernel: [ 2976.896455]  dump_stack_lvl+0x48/0x70
May 24 10:58:11 xrqubcgiz kernel: [ 2976.903888]  print_report+0xcf/0x630
May 24 10:58:11 xrqubcgiz kernel: [ 2976.908427]  ?
kasan_complete_mode_report_info+0x8a/0x220
May 24 10:58:11 xrqubcgiz kernel: [ 2976.915694]  ?
smb2_is_network_name_deleted+0x2a/0x180 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2976.923587]  kasan_report+0xbb/0x100
May 24 10:58:11 xrqubcgiz kernel: [ 2976.927889]  ?
smb2_is_network_name_deleted+0x2a/0x180 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2976.937541]  kasan_check_range+0x3a/0x220
May 24 10:58:11 xrqubcgiz kernel: [ 2976.942920]  __asan_loadN+0xf/0x20
May 24 10:58:11 xrqubcgiz kernel: [ 2976.946734]
smb2_is_network_name_deleted+0x2a/0x180 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2976.956230]
cifs_demultiplex_thread+0xcfc/0x17a0 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2976.963011]  ?
__pfx_cifs_demultiplex_thread+0x10/0x10 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2976.971733]  ? __pfx___schedule+0x10/0x10
May 24 10:58:11 xrqubcgiz kernel: [ 2976.975674]  ? try_to_wake_up+0x370/0xc70
May 24 10:58:11 xrqubcgiz kernel: [ 2976.982190]  ?
_raw_spin_lock_irqsave+0x96/0x110
May 24 10:58:11 xrqubcgiz kernel: [ 2976.990334]  ?
__pfx__raw_spin_lock_irqsave+0x10/0x10
May 24 10:58:11 xrqubcgiz kernel: [ 2976.995407]  ? __kasan_check_read+0x11/0x20
May 24 10:58:11 xrqubcgiz kernel: [ 2977.001204]  ?
__pfx_cifs_demultiplex_thread+0x10/0x10 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.010165]  kthread+0x188/0x1d0
May 24 10:58:11 xrqubcgiz kernel: [ 2977.014228]  ? __pfx_kthread+0x10/0x10
May 24 10:58:11 xrqubcgiz kernel: [ 2977.020605]  ret_from_fork+0x2c/0x50
May 24 10:58:11 xrqubcgiz kernel: [ 2977.024091]  </TASK>
May 24 10:58:11 xrqubcgiz kernel: [ 2977.030697]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.033211] Allocated by task 563833:
May 24 10:58:11 xrqubcgiz kernel: [ 2977.041106]  kasan_save_stack+0x26/0x60
May 24 10:58:11 xrqubcgiz kernel: [ 2977.041120]  kasan_set_track+0x25/0x40
May 24 10:58:11 xrqubcgiz kernel: [ 2977.041126]
kasan_save_alloc_info+0x1e/0x40
May 24 10:58:11 xrqubcgiz kernel: [ 2977.041133]  __kasan_slab_alloc+0x9d/0xa0
May 24 10:58:11 xrqubcgiz kernel: [ 2977.041140]  kmem_cache_alloc+0x176/0x3a0
May 24 10:58:11 xrqubcgiz kernel: [ 2977.041146]  mempool_alloc_slab+0x17/0x30
May 24 10:58:11 xrqubcgiz kernel: [ 2977.041153]  mempool_alloc+0xf0/0x290
May 24 10:58:11 xrqubcgiz kernel: [ 2977.041159]  cifs_buf_get+0x28/0x70 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.041421]
smb3_receive_transform+0x2dc/0xcd0 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.041913]
cifs_demultiplex_thread+0xba7/0x17a0 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.042163]  kthread+0x188/0x1d0
May 24 10:58:11 xrqubcgiz kernel: [ 2977.042171]  ret_from_fork+0x2c/0x50
May 24 10:58:11 xrqubcgiz kernel: [ 2977.042177]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.049147] Freed by task 1300137:
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052171]  kasan_save_stack+0x26/0x60
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052181]  kasan_set_track+0x25/0x40
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052188]  kasan_save_free_info+0x2e/0x60
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052194]
____kasan_slab_free+0x17f/0x200
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052200]  __kasan_slab_free+0x12/0x30
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052207]
slab_free_freelist_hook+0xd0/0x1a0
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052213]  kmem_cache_free+0x1a9/0x340
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052219]  mempool_free_slab+0x17/0x30
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052226]  mempool_free+0x66/0x190
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052231]  free_rsp_buf+0x60/0x90 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052487]
smb2_compound_op+0xbe3/0x2c00 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.052756]
smb2_query_path_info+0x1e8/0x530 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.053024]
cifs_get_inode_info+0x661/0x1170 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.053274]  cifs_lookup+0x2bb/0xbf0 [cifs]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058107]  __lookup_slow+0x116/0x220
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058117]  walk_component+0x193/0x240
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058124]  path_lookupat+0xb2/0x2f0
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058130]  filename_lookup+0x16f/0x340
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058138]  vfs_statx+0xf4/0x260
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058144]  vfs_fstatat+0x59/0x80
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058150]  __do_sys_newlstat+0x86/0xf0
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058156]  __x64_sys_newlstat+0x31/0x40
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058162]  do_syscall_64+0x5c/0x90
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058172]
entry_SYSCALL_64_after_hwframe+0x72/0xdc
May 24 10:58:11 xrqubcgiz kernel: [ 2977.058182]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.060882] The buggy address
belongs to the object at ffff888111638000
May 24 10:58:11 xrqubcgiz kernel: [ 2977.060882]  which belongs to the
cache cifs_request of size 16588
May 24 10:58:11 xrqubcgiz kernel: [ 2977.070701] The buggy address is
located 8 bytes inside of
May 24 10:58:11 xrqubcgiz kernel: [ 2977.070701]  freed 16588-byte
region [ffff888111638000, ffff88811163c0cc)
May 24 10:58:11 xrqubcgiz kernel: [ 2977.087315]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.090437] The buggy address
belongs to the physical page:
May 24 10:58:11 xrqubcgiz kernel: [ 2977.097263] page:000000004133fcae
refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x111638
May 24 10:58:11 xrqubcgiz kernel: [ 2977.097274] head:000000004133fcae
order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0
May 24 10:58:11 xrqubcgiz kernel: [ 2977.097280] anon flags:
0x17ffffc0010200(slab|head|node=0|zone=2|lastcpupid=0x1fffff)
May 24 10:58:11 xrqubcgiz kernel: [ 2977.097288] page_type: 0xffffffff()
May 24 10:58:11 xrqubcgiz kernel: [ 2977.097295] raw: 0017ffffc0010200
ffff88811245d900 ffffea0004ba7a00 dead000000000005
May 24 10:58:11 xrqubcgiz kernel: [ 2977.097301] raw: 0000000000000000
0000000000010001 00000001ffffffff 0000000000000000
May 24 10:58:11 xrqubcgiz kernel: [ 2977.097305] page dumped because:
kasan: bad access detected
May 24 10:58:11 xrqubcgiz kernel: [ 2977.097309]
May 24 10:58:11 xrqubcgiz kernel: [ 2977.099757] Memory state around
the buggy address:
May 24 10:58:11 xrqubcgiz kernel: [ 2977.107368]  ffff888111637f00: fc
fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
May 24 10:58:11 xrqubcgiz kernel: [ 2977.115239]  ffff888111637f80: fc
fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
May 24 10:58:11 xrqubcgiz kernel: [ 2977.122563] >ffff888111638000: fa
fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
May 24 10:58:11 xrqubcgiz kernel: [ 2977.128714]                       ^
May 24 10:58:11 xrqubcgiz kernel: [ 2977.135152]  ffff888111638080: fb
fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
May 24 10:58:11 xrqubcgiz kernel: [ 2977.142552]  ffff888111638100: fb
fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
May 24 10:58:11 xrqubcgiz kernel: [ 2977.148569]
==================================================================


-- 
Regards,
Shyam



[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux