* [PATCH][SMB3 client] Server interface count incorrectly calculated @ 2022-10-15 22:10 Steve French 2022-10-17 21:03 ` Tom Talpey 0 siblings, 1 reply; 4+ messages in thread From: Steve French @ 2022-10-15 22:10 UTC (permalink / raw) To: CIFS; +Cc: Shyam Prasad N [-- Attachment #1: Type: text/plain, Size: 408 bytes --] smb3: interface count displayed incorrectly 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. Cc: <stable@vger.kernel.org> See attached -- Thanks, Steve [-- Attachment #2: 0001-smb3-interface-count-displayed-incorrectly.patch --] [-- Type: text/x-patch, Size: 1080 bytes --] From 1d2aef099583e39610580d20fb86f6f99b64c782 Mon Sep 17 00:00:00 2001 From: Steve French <stfrench@microsoft.com> Date: Sat, 15 Oct 2022 17:02:30 -0500 Subject: [PATCH] smb3: interface count displayed incorrectly 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. Cc: <stable@vger.kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> --- fs/cifs/smb2ops.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c index 17b25153cb68..7ee1dd635faf 100644 --- a/fs/cifs/smb2ops.c +++ b/fs/cifs/smb2ops.c @@ -530,6 +530,7 @@ parse_server_interfaces(struct network_interface_info_ioctl_rsp *buf, p = buf; spin_lock(&ses->iface_lock); + ses->iface_count = 0; /* * Go through iface_list and do kref_put to remove * any unused ifaces. ifaces in use will be removed -- 2.34.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH][SMB3 client] Server interface count incorrectly calculated 2022-10-15 22:10 [PATCH][SMB3 client] Server interface count incorrectly calculated Steve French @ 2022-10-17 21:03 ` Tom Talpey [not found] ` <CAH2r5muH+n6TYS3_O9pbwREWJ_GYuva_PvOLd88pxG+t9kVeCA@mail.gmail.com> 0 siblings, 1 reply; 4+ messages in thread From: Tom Talpey @ 2022-10-17 21:03 UTC (permalink / raw) To: Steve French, CIFS; +Cc: Shyam Prasad N On 10/15/2022 6:10 PM, Steve French wrote: > smb3: interface count displayed incorrectly > > 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. > > Cc: <stable@vger.kernel.org> > > See attached > This zeroes the ses->iface_count under the lock, but the whole routine is dropping and re-taking the same lock many times, and finally sets the iface_count without holding the lock at all. Isn't this whole sequence broken? Tom. ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <CAH2r5muH+n6TYS3_O9pbwREWJ_GYuva_PvOLd88pxG+t9kVeCA@mail.gmail.com>]
* Re: [PATCH][SMB3 client] Server interface count incorrectly calculated [not found] ` <CAH2r5muH+n6TYS3_O9pbwREWJ_GYuva_PvOLd88pxG+t9kVeCA@mail.gmail.com> @ 2022-10-17 21:28 ` Tom Talpey [not found] ` <CAH2r5mvwy+foxWEznbD4R28=kv4-zdAqGwc7UTgH0WeCAceVEw@mail.gmail.com> 0 siblings, 1 reply; 4+ messages in thread From: Tom Talpey @ 2022-10-17 21:28 UTC (permalink / raw) To: Steve French; +Cc: CIFS, Shyam Prasad N On 10/17/2022 5:26 PM, Steve French wrote: > > > On Mon, Oct 17, 2022, 16:03 Tom Talpey <tom@talpey.com > <mailto:tom@talpey.com>> wrote: > > On 10/15/2022 6:10 PM, Steve French wrote: > > smb3: interface count displayed incorrectly > > > > 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. > > > > Cc: <stable@vger.kernel.org <mailto:stable@vger.kernel.org>> > > > > See attached > > > > This zeroes the ses->iface_count under the lock, but the whole > routine is dropping and re-taking the same lock many times, > and finally sets the iface_count without holding the lock at > all. > > > I updated the patch earlier today to fix that existing issue as well > (served into same patch). If I missed something let me know I was just looking at the patch attached to the message I replied to. I'll look again, but it will have to be tomorrow. Tom. ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <CAH2r5mvwy+foxWEznbD4R28=kv4-zdAqGwc7UTgH0WeCAceVEw@mail.gmail.com>]
* Re: [PATCH][SMB3 client] Server interface count incorrectly calculated [not found] ` <CAH2r5mvwy+foxWEznbD4R28=kv4-zdAqGwc7UTgH0WeCAceVEw@mail.gmail.com> @ 2022-10-20 5:47 ` Shyam Prasad N 0 siblings, 0 replies; 4+ messages in thread From: Shyam Prasad N @ 2022-10-20 5:47 UTC (permalink / raw) To: Steve French; +Cc: Tom Talpey, CIFS On Tue, Oct 18, 2022 at 3:22 AM Steve French <smfrench@gmail.com> wrote: > > Updated one is also at > > https://git.samba.org/?p=sfrench/cifs-2.6.git;a=patch;h=3f825b8fa93bb300e60c932753e8c5274b253a77 > > On Mon, Oct 17, 2022, 16:28 Tom Talpey <tom@talpey.com> wrote: >> >> On 10/17/2022 5:26 PM, Steve French wrote: >> > >> > >> > On Mon, Oct 17, 2022, 16:03 Tom Talpey <tom@talpey.com >> > <mailto:tom@talpey.com>> wrote: >> > >> > On 10/15/2022 6:10 PM, Steve French wrote: >> > > smb3: interface count displayed incorrectly >> > > >> > > 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. >> > > >> > > Cc: <stable@vger.kernel.org <mailto:stable@vger.kernel.org>> >> > > >> > > See attached >> > > >> > >> > This zeroes the ses->iface_count under the lock, but the whole >> > routine is dropping and re-taking the same lock many times, >> > and finally sets the iface_count without holding the lock at >> > all. >> > >> > >> > I updated the patch earlier today to fix that existing issue as well >> > (served into same patch). If I missed something let me know >> >> I was just looking at the patch attached to the message I replied to. >> I'll look again, but it will have to be tomorrow. >> >> Tom. Looks good to me for fixing the issue. One or two more changes needed in this area. You can expect additional patches from me in the coming days. -- Regards, Shyam ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-10-20 5:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-15 22:10 [PATCH][SMB3 client] Server interface count incorrectly calculated Steve French
2022-10-17 21:03 ` Tom Talpey
[not found] ` <CAH2r5muH+n6TYS3_O9pbwREWJ_GYuva_PvOLd88pxG+t9kVeCA@mail.gmail.com>
2022-10-17 21:28 ` Tom Talpey
[not found] ` <CAH2r5mvwy+foxWEznbD4R28=kv4-zdAqGwc7UTgH0WeCAceVEw@mail.gmail.com>
2022-10-20 5:47 ` Shyam Prasad N
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox