• Zhang Xiaoxu's avatar
    cifs: Fix UAF in cifs_demultiplex_thread() · d527f513
    Zhang Xiaoxu authored
    There is a UAF when xfstests on cifs:
    
      BUG: KASAN: use-after-free in smb2_is_network_name_deleted+0x27/0x160
      Read of size 4 at addr ffff88810103fc08 by task cifsd/923
    
      CPU: 1 PID: 923 Comm: cifsd Not tainted 6.1.0-rc4+ #45
      ...
      Call Trace:
       <TASK>
       dump_stack_lvl+0x34/0x44
       print_report+0x171/0x472
       kasan_report+0xad/0x130
       kasan_check_range+0x145/0x1a0
       smb2_is_network_name_deleted+0x27/0x160
       cifs_demultiplex_thread.cold+0x172/0x5a4
       kthread+0x165/0x1a0
       ret_from_fork+0x1f/0x30
       </TASK>
    
      Allocated by task 923:
       kasan_save_stack+0x1e/0x40
       kasan_set_track+0x21/0x30
       __kasan_slab_alloc+0x54/0x60
       kmem_cache_alloc+0x147/0x320
       mempool_alloc+0xe1/0x260
       cifs_small_buf_get+0x24/0x60
       allocate_buffers+0xa1/0x1c0
       cifs_demultiplex_thread+0x199/0x10d0
       kthread+0x165/0x1a0
       ret_from_fork+0x1f/0x30
    
      Freed by task 921:
       kasan_save_stack+0x1e/0x40
       kasan_set_track+0x21/0x30
       kasan_save_free_info+0x2a/0x40
       ____ka...
    d527f513
cifsglob.h 74.6 KB