<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/smb/client/misc.c, branch linux-6.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-07-10T14:08:52Z</updated>
<entry>
<title>cifs: all initializations for tcon should happen in tcon_info_alloc</title>
<updated>2025-07-10T14:08:52Z</updated>
<author>
<name>Shyam Prasad N</name>
</author>
<published>2025-06-30T17:39:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=22229bcdbf0132b6e22af8ce9df81f159b51e4e3'/>
<id>urn:sha1:22229bcdbf0132b6e22af8ce9df81f159b51e4e3</id>
<content type='text'>
commit 74ebd02163fde05baa23129e06dde4b8f0f2377a upstream.

Today, a few work structs inside tcon are initialized inside
cifs_get_tcon and not in tcon_info_alloc. As a result, if a tcon
is obtained from tcon_info_alloc, but not called as a part of
cifs_get_tcon, we may trip over.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Shyam Prasad N &lt;sprasad@microsoft.com&gt;
Reviewed-by: Paulo Alcantara (Red Hat) &lt;pc@manguebit.org&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>cifs: Fix cifs_query_path_info() for Windows NT servers</title>
<updated>2025-07-06T09:04:03Z</updated>
<author>
<name>Pali Rohár</name>
</author>
<published>2024-12-31T15:06:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5fae66b29ae530ed5a1dfaddb44a617e3d90fb2c'/>
<id>urn:sha1:5fae66b29ae530ed5a1dfaddb44a617e3d90fb2c</id>
<content type='text'>
[ Upstream commit a3e771afbb3bce91c8296828304903e7348003fe ]

For TRANS2 QUERY_PATH_INFO request when the path does not exist, the
Windows NT SMB server returns error response STATUS_OBJECT_NAME_NOT_FOUND
or ERRDOS/ERRbadfile without the SMBFLG_RESPONSE flag set. Similarly it
returns STATUS_DELETE_PENDING when the file is being deleted. And looks
like that any error response from TRANS2 QUERY_PATH_INFO does not have
SMBFLG_RESPONSE flag set.

So relax check in check_smb_hdr() for detecting if the packet is response
for this special case.

This change fixes stat() operation against Windows NT SMB servers and also
all operations which depends on -ENOENT result from stat like creat() or
mkdir().

Signed-off-by: Pali Rohár &lt;pali@kernel.org&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>smb:client: smb: client: Add reverse mapping from tcon to superblocks</title>
<updated>2025-04-01T02:12:31Z</updated>
<author>
<name>Wang Zhaolong</name>
</author>
<published>2025-03-31T13:33:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a091d9711bdee46a76fa14fad31cb261a6dad74a'/>
<id>urn:sha1:a091d9711bdee46a76fa14fad31cb261a6dad74a</id>
<content type='text'>
Currently, when a SMB connection is reset and renegotiated with the
server, there's no way to update all related mount points with new
negotiated sizes. This is because while superblocks (cifs_sb_info)
maintain references to tree connections (tcon) through tcon_link
structures, there is no reverse mapping from a tcon back to all the
superblocks using it.

This patch adds a bidirectional relationship between tcon and
cifs_sb_info structures by:

1. Adding a cifs_sb_list to tcon structure with appropriate locking
2. Adding tcon_sb_link to cifs_sb_info to join the list
3. Managing the list entries during mount and umount operations

The bidirectional relationship enables future functionality to locate and
update all superblocks connected to a specific tree connection, such as:

- Updating negotiated parameters after reconnection
- Efficiently notifying all affected mounts of capability changes

This is the first part of a series to improve connection resilience
by keeping all mount parameters in sync with server capabilities
after reconnection.

Signed-off-by: Wang Zhaolong &lt;wangzhaolong1@huawei.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>smb: client: fix return value of parse_dfs_referrals()</title>
<updated>2025-01-20T01:34:00Z</updated>
<author>
<name>Paulo Alcantara</name>
</author>
<published>2025-01-10T19:45:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bfc1155030151912e7c5426449c7703dad45a890'/>
<id>urn:sha1:bfc1155030151912e7c5426449c7703dad45a890</id>
<content type='text'>
Return -ENOENT in parse_dfs_referrals() when server returns no targets
for a referral request as specified in

  MS-DFSC 3.1.5.4.3 Receiving a Root Referral Response or Link
  Referral Response:

    &gt; If the referral request is successful, but the NumberOfReferrals
    &gt; field in the referral header (as specified in section 2.2.4) is
    &gt; 0, the DFS server could not find suitable targets to return to
    &gt; the client.  In this case, the client MUST fail the original I/O
    &gt; operation with STATUS_OBJECT_PATH_NOT_FOUND.

Signed-off-by: Paulo Alcantara (Red Hat) &lt;pc@manguebit.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>smb: client: provide dns_resolve_{unc,name} helpers</title>
<updated>2025-01-20T01:34:00Z</updated>
<author>
<name>Paulo Alcantara</name>
</author>
<published>2025-01-07T15:22:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4b1b4c8be9dee9aa1a751cfa3954b2fcfdfe9c3d'/>
<id>urn:sha1:4b1b4c8be9dee9aa1a751cfa3954b2fcfdfe9c3d</id>
<content type='text'>
Some places pass hostnames rather than UNC paths to resolve them to ip
addresses, so provide helpers to handle both cases and then stop
converting hostnames to UNC paths by inserting path delimiters into
them.  Also kill @expiry parameter as it's not used anywhere.

Signed-off-by: Paulo Alcantara (Red Hat) &lt;pc@manguebit.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>smb: client: fix DFS mount against old servers with NTLMSSP</title>
<updated>2025-01-20T01:34:00Z</updated>
<author>
<name>Paulo Alcantara</name>
</author>
<published>2025-01-03T19:58:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ad46faff1afcc8db72f9954a6ea2296d31259217'/>
<id>urn:sha1:ad46faff1afcc8db72f9954a6ea2296d31259217</id>
<content type='text'>
Old Windows servers will return not fully qualified DFS targets by
default as specified in

  MS-DFSC 3.2.5.5 Receiving a Root Referral Request or Link Referral
  Request

    | Servers SHOULD&lt;30&gt; return fully qualified DNS host names of
    | targets in responses to root referral requests and link referral
    | requests.
    | ...
    | &lt;30&gt; Section 3.2.5.5: By default, Windows Server 2003, Windows
    | Server 2008, Windows Server 2008 R2, Windows Server 2012, and
    | Windows Server 2012 R2 return DNS host names that are not fully
    | qualified for targets.

Fix this by converting all NetBIOS host names from DFS targets to
FQDNs and try resolving them first if DNS domain name was provided in
NTLMSSP CHALLENGE_MESSAGE message from previous SMB2_SESSION_SETUP.
This also prevents the client from translating the DFS target
hostnames to another domain depending on the network domain search
order.

Signed-off-by: Paulo Alcantara (Red Hat) &lt;pc@manguebit.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>smb: client: parse av pair type 4 in CHALLENGE_MESSAGE</title>
<updated>2025-01-20T01:33:59Z</updated>
<author>
<name>Paulo Alcantara</name>
</author>
<published>2025-01-03T19:52:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0e8ae9b953bc2c12aebd21e1e552e5deb1a0ff1e'/>
<id>urn:sha1:0e8ae9b953bc2c12aebd21e1e552e5deb1a0ff1e</id>
<content type='text'>
Parse FQDN of the domain in CHALLENGE_MESSAGE message as it's gonna be
useful when mounting DFS shares against old Windows Servers (2012 R2
or earlier) that return not fully qualified hostnames for DFS targets
by default.

Signed-off-by: Paulo Alcantara (Red Hat) &lt;pc@manguebit.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>smb: client: Correct typos in multiple comments across various files</title>
<updated>2024-10-02T22:52:24Z</updated>
<author>
<name>Shen Lichuan</name>
</author>
<published>2024-09-25T06:55:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e9f49feefb4b13b36441aae51649a67a8389bd40'/>
<id>urn:sha1:e9f49feefb4b13b36441aae51649a67a8389bd40</id>
<content type='text'>
Fixed some confusing typos that were currently identified witch codespell,
the details are as follows:

-in the code comments:
fs/smb/client/cifsacl.h:58: inheritence ==&gt; inheritance
fs/smb/client/cifsencrypt.c:242: origiginal ==&gt; original
fs/smb/client/cifsfs.c:164: referece ==&gt; reference
fs/smb/client/cifsfs.c:292: ned ==&gt; need
fs/smb/client/cifsglob.h:779: initital ==&gt; initial
fs/smb/client/cifspdu.h:784: altetnative ==&gt; alternative
fs/smb/client/cifspdu.h:2409: conrol ==&gt; control
fs/smb/client/cifssmb.c:1218: Expirement ==&gt; Experiment
fs/smb/client/cifssmb.c:3021: conver ==&gt; convert
fs/smb/client/cifssmb.c:3998: asterik ==&gt; asterisk
fs/smb/client/file.c:2505: useable ==&gt; usable
fs/smb/client/fs_context.h:263: timemout ==&gt; timeout
fs/smb/client/misc.c:257: responsbility ==&gt; responsibility
fs/smb/client/netmisc.c:1006: divisable ==&gt; divisible
fs/smb/client/readdir.c:556: endianess ==&gt; endianness
fs/smb/client/readdir.c:818: bu ==&gt; by
fs/smb/client/smb2ops.c:2180: snaphots ==&gt; snapshots
fs/smb/client/smb2ops.c:3586: otions ==&gt; options
fs/smb/client/smb2pdu.c:2979: timestaps ==&gt; timestamps
fs/smb/client/smb2pdu.c:4574: memmory ==&gt; memory
fs/smb/client/smb2transport.c:699: origiginal ==&gt; original
fs/smb/client/smbdirect.c:222: happenes ==&gt; happens
fs/smb/client/smbdirect.c:1347: registartions ==&gt; registrations
fs/smb/client/smbdirect.h:114: accoutning ==&gt; accounting

Signed-off-by: Shen Lichuan &lt;shenlichuan@vivo.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>smb: client: fix DFS failover in multiuser mounts</title>
<updated>2024-09-25T02:51:48Z</updated>
<author>
<name>Paulo Alcantara</name>
</author>
<published>2024-09-18T05:04:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0826b134c0b039db4850fb762e79766a45d847c5'/>
<id>urn:sha1:0826b134c0b039db4850fb762e79766a45d847c5</id>
<content type='text'>
For sessions and tcons created on behalf of new users accessing a
multiuser mount, matching their sessions in tcon_super_cb() with
master tcon will always lead to false as every new user will have its
own session and tcon.

All multiuser sessions, however, will inherit -&gt;dfs_root_ses from
master tcon, so match it instead.

Signed-off-by: Paulo Alcantara (Red Hat) &lt;pc@manguebit.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
<entry>
<title>smb: client: fix DFS interlink failover</title>
<updated>2024-09-25T02:51:48Z</updated>
<author>
<name>Paulo Alcantara</name>
</author>
<published>2024-09-18T05:03:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f42a8b54b5c6e36519aef3cb1f6210e54abd451'/>
<id>urn:sha1:4f42a8b54b5c6e36519aef3cb1f6210e54abd451</id>
<content type='text'>
The DFS interlinks point to different DFS namespaces so make sure to
use the correct DFS root server to chase any DFS links under it by
storing the SMB session in dfs_ref_walk structure and then using it on
every referral walk.

Signed-off-by: Paulo Alcantara (Red Hat) &lt;pc@manguebit.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
</content>
</entry>
</feed>
