<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/fs/cifs, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/fs/cifs?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/fs/cifs?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-11-05T04:36:54Z</updated>
<entry>
<title>cifs: fix use-after-free on the link name</title>
<updated>2022-11-05T04:36:54Z</updated>
<author>
<name>ChenXiaoSong</name>
<email>chenxiaosong2@huawei.com</email>
</author>
<published>2022-11-04T07:44:41Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=542228db2f28fdf775b301f2843e1fe486e7c797'/>
<id>urn:sha1:542228db2f28fdf775b301f2843e1fe486e7c797</id>
<content type='text'>
xfstests generic/011 reported use-after-free bug as follows:

  BUG: KASAN: use-after-free in __d_alloc+0x269/0x859
  Read of size 15 at addr ffff8880078933a0 by task dirstress/952

  CPU: 1 PID: 952 Comm: dirstress Not tainted 6.1.0-rc3+ #77
  Call Trace:
   __dump_stack+0x23/0x29
   dump_stack_lvl+0x51/0x73
   print_address_description+0x67/0x27f
   print_report+0x3e/0x5c
   kasan_report+0x7b/0xa8
   kasan_check_range+0x1b2/0x1c1
   memcpy+0x22/0x5d
   __d_alloc+0x269/0x859
   d_alloc+0x45/0x20c
   d_alloc_parallel+0xb2/0x8b2
   lookup_open+0x3b8/0x9f9
   open_last_lookups+0x63d/0xc26
   path_openat+0x11a/0x261
   do_filp_open+0xcc/0x168
   do_sys_openat2+0x13b/0x3f7
   do_sys_open+0x10f/0x146
   __se_sys_creat+0x27/0x2e
   __x64_sys_creat+0x55/0x6a
   do_syscall_64+0x40/0x96
   entry_SYSCALL_64_after_hwframe+0x63/0xcd

  Allocated by task 952:
   kasan_save_stack+0x1f/0x42
   kasan_set_track+0x21/0x2a
   kasan_save_alloc_info+0x17/0x1d
   __kasan_kmalloc+0x7e/0x87
   __kmalloc_node_track_caller+0x59/0x155
   kstrndup+0x60/0xe6
   parse_mf_symlink+0x215/0x30b
   check_mf_symlink+0x260/0x36a
   cifs_get_inode_info+0x14e1/0x1690
   cifs_revalidate_dentry_attr+0x70d/0x964
   cifs_revalidate_dentry+0x36/0x62
   cifs_d_revalidate+0x162/0x446
   lookup_open+0x36f/0x9f9
   open_last_lookups+0x63d/0xc26
   path_openat+0x11a/0x261
   do_filp_open+0xcc/0x168
   do_sys_openat2+0x13b/0x3f7
   do_sys_open+0x10f/0x146
   __se_sys_creat+0x27/0x2e
   __x64_sys_creat+0x55/0x6a
   do_syscall_64+0x40/0x96
   entry_SYSCALL_64_after_hwframe+0x63/0xcd

  Freed by task 950:
   kasan_save_stack+0x1f/0x42
   kasan_set_track+0x21/0x2a
   kasan_save_free_info+0x1c/0x34
   ____kasan_slab_free+0x1c1/0x1d5
   __kasan_slab_free+0xe/0x13
   __kmem_cache_free+0x29a/0x387
   kfree+0xd3/0x10e
   cifs_fattr_to_inode+0xb6a/0xc8c
   cifs_get_inode_info+0x3cb/0x1690
   cifs_revalidate_dentry_attr+0x70d/0x964
   cifs_revalidate_dentry+0x36/0x62
   cifs_d_revalidate+0x162/0x446
   lookup_open+0x36f/0x9f9
   open_last_lookups+0x63d/0xc26
   path_openat+0x11a/0x261
   do_filp_open+0xcc/0x168
   do_sys_openat2+0x13b/0x3f7
   do_sys_open+0x10f/0x146
   __se_sys_creat+0x27/0x2e
   __x64_sys_creat+0x55/0x6a
   do_syscall_64+0x40/0x96
   entry_SYSCALL_64_after_hwframe+0x63/0xcd

When opened a symlink, link name is from 'inode-&gt;i_link', but it may be
reset to a new value when revalidate the dentry. If some processes get the
link name on the race scenario, then UAF will happen on link name.

Fix this by implementing 'get_link' interface to duplicate the link name.

Fixes: 76894f3e2f71 ("cifs: improve symlink handling for smb2+")
Signed-off-by: ChenXiaoSong &lt;chenxiaosong2@huawei.com&gt;
Reviewed-by: Paulo Alcantara (SUSE) &lt;pc@cjr.nz&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>cifs: avoid unnecessary iteration of tcp sessions</title>
<updated>2022-11-05T04:34:40Z</updated>
<author>
<name>Shyam Prasad N</name>
<email>sprasad@microsoft.com</email>
</author>
<published>2022-10-28T10:01:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=23d9b9b757e8007204d8f71448ab55d5ef2ae8e5'/>
<id>urn:sha1:23d9b9b757e8007204d8f71448ab55d5ef2ae8e5</id>
<content type='text'>
In a few places, we do unnecessary iterations of
tcp sessions, even when the server struct is provided.

The change avoids it and uses the server struct provided.

Signed-off-by: Shyam Prasad N &lt;sprasad@microsoft.com&gt;
Reviewed-by: Paulo Alcantara (SUSE) &lt;pc@cjr.nz&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>cifs: always iterate smb sessions using primary channel</title>
<updated>2022-11-05T04:34:02Z</updated>
<author>
<name>Shyam Prasad N</name>
<email>sprasad@microsoft.com</email>
</author>
<published>2022-10-28T09:52:26Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=8abcaeaed38109e5ccaf40218e0e9e387f07bfe6'/>
<id>urn:sha1:8abcaeaed38109e5ccaf40218e0e9e387f07bfe6</id>
<content type='text'>
smb sessions and tcons currently hang off primary channel only.
Secondary channels have the lists as empty. Whenever there's a
need to iterate sessions or tcons, we should use the list in the
corresponding primary channel.

Signed-off-by: Shyam Prasad N &lt;sprasad@microsoft.com&gt;
Reviewed-by: Paulo Alcantara (SUSE) &lt;pc@cjr.nz&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>cifs: fix use-after-free caused by invalid pointer `hostname`</title>
<updated>2022-10-28T04:59:13Z</updated>
<author>
<name>Zeng Heng</name>
<email>zengheng4@huawei.com</email>
</author>
<published>2022-10-27T12:45:28Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=153695d36ead0ccc4d0256953c751cabf673e621'/>
<id>urn:sha1:153695d36ead0ccc4d0256953c751cabf673e621</id>
<content type='text'>
`hostname` needs to be set as null-pointer after free in
`cifs_put_tcp_session` function, or when `cifsd` thread attempts
to resolve hostname and reconnect the host, the thread would deref
the invalid pointer.

Here is one of practical backtrace examples as reference:

Task 477
---------------------------
 do_mount
  path_mount
   do_new_mount
    vfs_get_tree
     smb3_get_tree
      smb3_get_tree_common
       cifs_smb3_do_mount
        cifs_mount
         mount_put_conns
          cifs_put_tcp_session
          --&gt; kfree(server-&gt;hostname)

cifsd
---------------------------
 kthread
  cifs_demultiplex_thread
   cifs_reconnect
    reconn_set_ipaddr_from_hostname
    --&gt; if (!server-&gt;hostname)
    --&gt; if (server-&gt;hostname[0] == '\0')  // !! UAF fault here

CIFS: VFS: cifs_mount failed w/return code = -112
mount error(112): Host is down
BUG: KASAN: use-after-free in reconn_set_ipaddr_from_hostname+0x2ba/0x310
Read of size 1 at addr ffff888108f35380 by task cifsd/480
CPU: 2 PID: 480 Comm: cifsd Not tainted 6.1.0-rc2-00106-gf705792f89dd-dirty #25
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014
Call Trace:
 &lt;TASK&gt;
 dump_stack_lvl+0x68/0x85
 print_report+0x16c/0x4a3
 kasan_report+0x95/0x190
 reconn_set_ipaddr_from_hostname+0x2ba/0x310
 __cifs_reconnect.part.0+0x241/0x800
 cifs_reconnect+0x65f/0xb60
 cifs_demultiplex_thread+0x1570/0x2570
 kthread+0x2c5/0x380
 ret_from_fork+0x22/0x30
 &lt;/TASK&gt;
Allocated by task 477:
 kasan_save_stack+0x1e/0x40
 kasan_set_track+0x21/0x30
 __kasan_kmalloc+0x7e/0x90
 __kmalloc_node_track_caller+0x52/0x1b0
 kstrdup+0x3b/0x70
 cifs_get_tcp_session+0xbc/0x19b0
 mount_get_conns+0xa9/0x10c0
 cifs_mount+0xdf/0x1970
 cifs_smb3_do_mount+0x295/0x1660
 smb3_get_tree+0x352/0x5e0
 vfs_get_tree+0x8e/0x2e0
 path_mount+0xf8c/0x1990
 do_mount+0xee/0x110
 __x64_sys_mount+0x14b/0x1f0
 do_syscall_64+0x3b/0x90
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
Freed by task 477:
 kasan_save_stack+0x1e/0x40
 kasan_set_track+0x21/0x30
 kasan_save_free_info+0x2a/0x50
 __kasan_slab_free+0x10a/0x190
 __kmem_cache_free+0xca/0x3f0
 cifs_put_tcp_session+0x30c/0x450
 cifs_mount+0xf95/0x1970
 cifs_smb3_do_mount+0x295/0x1660
 smb3_get_tree+0x352/0x5e0
 vfs_get_tree+0x8e/0x2e0
 path_mount+0xf8c/0x1990
 do_mount+0xee/0x110
 __x64_sys_mount+0x14b/0x1f0
 do_syscall_64+0x3b/0x90
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
The buggy address belongs to the object at ffff888108f35380
 which belongs to the cache kmalloc-16 of size 16
The buggy address is located 0 bytes inside of
 16-byte region [ffff888108f35380, ffff888108f35390)
The buggy address belongs to the physical page:
page:00000000333f8e58 refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888108f350e0 pfn:0x108f35
flags: 0x200000000000200(slab|node=0|zone=2)
raw: 0200000000000200 0000000000000000 dead000000000122 ffff8881000423c0
raw: ffff888108f350e0 000000008080007a 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
Memory state around the buggy address:
 ffff888108f35280: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc
 ffff888108f35300: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc
&gt;ffff888108f35380: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc
                   ^
 ffff888108f35400: fa fb fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff888108f35480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc

Fixes: 7be3248f3139 ("cifs: To match file servers, make sure the server hostname matches")
Signed-off-by: Zeng Heng &lt;zengheng4@huawei.com&gt;
Reviewed-by: Paulo Alcantara (SUSE) &lt;pc@cjr.nz&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>cifs: Fix pages leak when writedata alloc failed in cifs_write_from_iter()</title>
<updated>2022-10-23T22:50:10Z</updated>
<author>
<name>Zhang Xiaoxu</name>
<email>zhangxiaoxu5@huawei.com</email>
</author>
<published>2022-10-22T07:35:20Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=f950c85e782f90702468bba8243cc97a8d0d04b0'/>
<id>urn:sha1:f950c85e782f90702468bba8243cc97a8d0d04b0</id>
<content type='text'>
There is a kmemleak when writedata alloc failed:

  unreferenced object 0xffff888175ae4000 (size 4096):
    comm "dd", pid 19419, jiffies 4296028749 (age 739.396s)
    hex dump (first 32 bytes):
      80 02 b0 04 00 ea ff ff c0 02 b0 04 00 ea ff ff  ................
      80 22 4c 04 00 ea ff ff c0 22 4c 04 00 ea ff ff  ."L......"L.....
    backtrace:
      [&lt;0000000072fdbb86&gt;] __kmalloc_node+0x50/0x150
      [&lt;0000000039faf56f&gt;] __iov_iter_get_pages_alloc+0x605/0xdd0
      [&lt;00000000f862a9d4&gt;] iov_iter_get_pages_alloc2+0x3b/0x80
      [&lt;000000008f226067&gt;] cifs_write_from_iter+0x2ae/0xe40
      [&lt;000000001f78f2f1&gt;] __cifs_writev+0x337/0x5c0
      [&lt;00000000257fcef5&gt;] vfs_write+0x503/0x690
      [&lt;000000008778a238&gt;] ksys_write+0xb9/0x150
      [&lt;00000000ed82047c&gt;] do_syscall_64+0x35/0x80
      [&lt;000000003365551d&gt;] entry_SYSCALL_64_after_hwframe+0x46/0xb0

__iov_iter_get_pages_alloc+0x605/0xdd0 is:
  want_pages_array at lib/iov_iter.c:1304
  (inlined by) __iov_iter_get_pages_alloc at lib/iov_iter.c:1457

If writedata allocate failed, the pages and pagevec should be cleanup.

Fixes: 8c5f9c1ab7cb ("CIFS: Add support for direct I/O write")
Reviewed-by: Paulo Alcantara (SUSE) &lt;pc@cjr.nz&gt;
Signed-off-by: Zhang Xiaoxu &lt;zhangxiaoxu5@huawei.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>cifs: Fix pages array leak when writedata alloc failed in cifs_writedata_alloc()</title>
<updated>2022-10-23T22:50:10Z</updated>
<author>
<name>Zhang Xiaoxu</name>
<email>zhangxiaoxu5@huawei.com</email>
</author>
<published>2022-10-22T07:35:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=4153d789e299b29cbc57276d687c92f3a098e59b'/>
<id>urn:sha1:4153d789e299b29cbc57276d687c92f3a098e59b</id>
<content type='text'>
There is a memory leak when writedata alloc failed:

  unreferenced object 0xffff888192364000 (size 8192):
    comm "sync", pid 22839, jiffies 4297313967 (age 60.230s)
    hex dump (first 32 bytes):
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    backtrace:
      [&lt;0000000027de0814&gt;] __kmalloc+0x4d/0x150
      [&lt;00000000b21e81ab&gt;] cifs_writepages+0x35f/0x14a0
      [&lt;0000000076f7d20e&gt;] do_writepages+0x10a/0x360
      [&lt;00000000d6a36edc&gt;] filemap_fdatawrite_wbc+0x95/0xc0
      [&lt;000000005751a323&gt;] __filemap_fdatawrite_range+0xa7/0xe0
      [&lt;0000000088afb0ca&gt;] file_write_and_wait_range+0x66/0xb0
      [&lt;0000000063dbc443&gt;] cifs_strict_fsync+0x80/0x5f0
      [&lt;00000000c4624754&gt;] __x64_sys_fsync+0x40/0x70
      [&lt;000000002c0dc744&gt;] do_syscall_64+0x35/0x80
      [&lt;0000000052f46bee&gt;] entry_SYSCALL_64_after_hwframe+0x46/0xb0

cifs_writepages+0x35f/0x14a0 is:
  kmalloc_array at include/linux/slab.h:628
  (inlined by) kcalloc at include/linux/slab.h:659
  (inlined by) cifs_writedata_alloc at fs/cifs/file.c:2438
  (inlined by) wdata_alloc_and_fillpages at fs/cifs/file.c:2527
  (inlined by) cifs_writepages at fs/cifs/file.c:2705

If writedata alloc failed in cifs_writedata_alloc(), the pages array
should be freed.

Fixes: 8e7360f67e75 ("CIFS: Add support for direct pages in wdata")
Signed-off-by: Zhang Xiaoxu &lt;zhangxiaoxu5@huawei.com&gt;
Reviewed-by: Paulo Alcantara (SUSE) &lt;pc@cjr.nz&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>cifs: update internal module number</title>
<updated>2022-10-19T22:57:51Z</updated>
<author>
<name>Steve French</name>
<email>stfrench@microsoft.com</email>
</author>
<published>2022-10-19T05:30:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=73b1b8d25e39a1478b3792a7075f43e053ee62c2'/>
<id>urn:sha1:73b1b8d25e39a1478b3792a7075f43e053ee62c2</id>
<content type='text'>
To 2.40

Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>cifs: fix memory leaks in session setup</title>
<updated>2022-10-19T22:57:51Z</updated>
<author>
<name>Paulo Alcantara</name>
<email>pc@cjr.nz</email>
</author>
<published>2022-10-19T14:25:37Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=01f2ee7e325611524078009d70392a5d5eca0945'/>
<id>urn:sha1:01f2ee7e325611524078009d70392a5d5eca0945</id>
<content type='text'>
We were only zeroing out the ntlmssp blob but forgot to free the
allocated buffer in the end of SMB2_sess_auth_rawntlmssp_negotiate()
and SMB2_sess_auth_rawntlmssp_authenticate() functions.

This fixes below kmemleak reports:

unreferenced object 0xffff88800ddcfc60 (size 96):
  comm "mount.cifs", pid 758, jiffies 4294696066 (age 42.967s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;00000000d0beeb29&gt;] __kmalloc+0x39/0xa0
    [&lt;00000000e3834047&gt;] build_ntlmssp_smb3_negotiate_blob+0x2c/0x110 [cifs]
    [&lt;00000000e85f5ab2&gt;] SMB2_sess_auth_rawntlmssp_negotiate+0xd3/0x230 [cifs]
    [&lt;0000000080fdb897&gt;] SMB2_sess_setup+0x16c/0x2a0 [cifs]
    [&lt;000000009af320a8&gt;] cifs_setup_session+0x13b/0x370 [cifs]
    [&lt;00000000f15d5982&gt;] cifs_get_smb_ses+0x643/0xb90 [cifs]
    [&lt;00000000fe15eb90&gt;] mount_get_conns+0x63/0x3e0 [cifs]
    [&lt;00000000768aba03&gt;] mount_get_dfs_conns+0x16/0xa0 [cifs]
    [&lt;00000000cf1cf146&gt;] cifs_mount+0x1c2/0x9a0 [cifs]
    [&lt;000000000d66b51e&gt;] cifs_smb3_do_mount+0x10e/0x710 [cifs]
    [&lt;0000000077a996c5&gt;] smb3_get_tree+0xf4/0x200 [cifs]
    [&lt;0000000094dbd041&gt;] vfs_get_tree+0x23/0xc0
    [&lt;000000003a8561de&gt;] path_mount+0x2d3/0xb50
    [&lt;00000000ed5c86d6&gt;] __x64_sys_mount+0x102/0x140
    [&lt;00000000142142f3&gt;] do_syscall_64+0x3b/0x90
    [&lt;00000000e2b89731&gt;] entry_SYSCALL_64_after_hwframe+0x63/0xcd
unreferenced object 0xffff88801437f000 (size 512):
  comm "mount.cifs", pid 758, jiffies 4294696067 (age 42.970s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;00000000d0beeb29&gt;] __kmalloc+0x39/0xa0
    [&lt;00000000004f53d2&gt;] build_ntlmssp_auth_blob+0x4f/0x340 [cifs]
    [&lt;000000005f333084&gt;] SMB2_sess_auth_rawntlmssp_authenticate+0xd4/0x250 [cifs]
    [&lt;0000000080fdb897&gt;] SMB2_sess_setup+0x16c/0x2a0 [cifs]
    [&lt;000000009af320a8&gt;] cifs_setup_session+0x13b/0x370 [cifs]
    [&lt;00000000f15d5982&gt;] cifs_get_smb_ses+0x643/0xb90 [cifs]
    [&lt;00000000fe15eb90&gt;] mount_get_conns+0x63/0x3e0 [cifs]
    [&lt;00000000768aba03&gt;] mount_get_dfs_conns+0x16/0xa0 [cifs]
    [&lt;00000000cf1cf146&gt;] cifs_mount+0x1c2/0x9a0 [cifs]
    [&lt;000000000d66b51e&gt;] cifs_smb3_do_mount+0x10e/0x710 [cifs]
    [&lt;0000000077a996c5&gt;] smb3_get_tree+0xf4/0x200 [cifs]
    [&lt;0000000094dbd041&gt;] vfs_get_tree+0x23/0xc0
    [&lt;000000003a8561de&gt;] path_mount+0x2d3/0xb50
    [&lt;00000000ed5c86d6&gt;] __x64_sys_mount+0x102/0x140
    [&lt;00000000142142f3&gt;] do_syscall_64+0x3b/0x90
    [&lt;00000000e2b89731&gt;] entry_SYSCALL_64_after_hwframe+0x63/0xcd

Fixes: a4e430c8c8ba ("cifs: replace kfree() with kfree_sensitive() for sensitive data")
Signed-off-by: Paulo Alcantara (SUSE) &lt;pc@cjr.nz&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>cifs: drop the lease for cached directories on rmdir or rename</title>
<updated>2022-10-19T22:57:41Z</updated>
<author>
<name>Ronnie Sahlberg</name>
<email>lsahlber@redhat.com</email>
</author>
<published>2022-10-18T07:39:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=8e77860c62b6eac8bb5b567efe6b8cd232d5f72f'/>
<id>urn:sha1:8e77860c62b6eac8bb5b567efe6b8cd232d5f72f</id>
<content type='text'>
When we delete or rename a directory we must also drop any cached lease we have
on the directory.

Fixes: a350d6e73f5e ("cifs: enable caching of directories for which a lease is held")
Reviewed-by: Paulo Alcantara (SUSE) &lt;pc@cjr.nz&gt;
Signed-off-by: Ronnie Sahlberg &lt;lsahlber@redhat.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>smb3: interface count displayed incorrectly</title>
<updated>2022-10-19T15:06:23Z</updated>
<author>
<name>Steve French</name>
<email>stfrench@microsoft.com</email>
</author>
<published>2022-10-15T22:02:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=096bbeec7bd6fb683831a9ca4850a6b6a3f04740'/>
<id>urn:sha1:096bbeec7bd6fb683831a9ca4850a6b6a3f04740</id>
<content type='text'>
The "Server interfaces" count in /proc/fs/cifs/DebugData increases
as the interfaces are requeried, rather than being reset to the new
value.  This could cause a problem if the server disabled
multichannel as the iface_count is checked in try_adding_channels
to see if multichannel still supported.

Also fixes a coverity warning:

Addresses-Coverity: 1526374 ("Concurrent data access violations  (MISSING_LOCK)")
Cc: &lt;stable@vger.kernel.org&gt;
Reviewed-by: Bharath SM &lt;bharathsm@microsoft.com&gt;
Reviewed-by: Shyam Prasad N &lt;sprasad@microsoft.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
</feed>
