<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/cifs/dir.c, branch linux-4.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-09-07T06:37:15Z</updated>
<entry>
<title>CIFS: remove endian related sparse warning</title>
<updated>2017-09-07T06:37:15Z</updated>
<author>
<name>Steve French</name>
</author>
<published>2017-08-27T21:56:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=77ab9e7fb4312d3b377690660f757d900fa9e171'/>
<id>urn:sha1:77ab9e7fb4312d3b377690660f757d900fa9e171</id>
<content type='text'>
commit 6e3c1529c39e92ed64ca41d53abadabbaa1d5393 upstream.

Recent patch had an endian warning ie
cifs: return ENAMETOOLONG for overlong names in cifs_open()/cifs_lookup()

Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
CC: Ronnie Sahlberg &lt;lsahlber@redhat.com&gt;
Acked-by: Pavel Shilovsky &lt;pshilov@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>cifs: return ENAMETOOLONG for overlong names in cifs_open()/cifs_lookup()</title>
<updated>2017-08-30T08:26:38Z</updated>
<author>
<name>Ronnie Sahlberg</name>
</author>
<published>2017-08-23T04:48:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea5745a5117fd1e1cbd4497ea51367b10e3881f0'/>
<id>urn:sha1:ea5745a5117fd1e1cbd4497ea51367b10e3881f0</id>
<content type='text'>
commit d3edede29f74d335f81d95a4588f5f136a9f7dcf upstream.

Add checking for the path component length and verify it is &lt;= the maximum
that the server advertizes via FileFsAttributeInformation.

With this patch cifs.ko will now return ENAMETOOLONG instead of ENOENT
when users to access an overlong path.

To test this, try to cd into a (non-existing) directory on a CIFS share
that has a too long name:
cd /mnt/aaaaaaaaaaaaaaa...

and it now should show a good error message from the shell:
bash: cd: /mnt/aaaaaaaaaaaaaaaa...aaaaaa: File name too long

rh bz 1153996

Signed-off-by: Ronnie Sahlberg &lt;lsahlber@redhat.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>CIFS: add build_path_from_dentry_optional_prefix()</title>
<updated>2017-03-02T04:26:10Z</updated>
<author>
<name>Aurelien Aptel</name>
</author>
<published>2017-02-13T15:14:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=268a635d414df45a4a8da699d431da8f8ffcf014'/>
<id>urn:sha1:268a635d414df45a4a8da699d431da8f8ffcf014</id>
<content type='text'>
this function does the same thing as add build_path_from_dentry() but
takes a boolean parameter to decide whether or not to prefix the path
with the tree name.

we cannot rely on tcon-&gt;Flags &amp; SMB_SHARE_IS_IN_DFS for SMB2 as smb2
code never sets tcon-&gt;Flags but it sets tcon-&gt;share_flags and it seems
the SMB_SHARE_IS_IN_DFS has different semantics in SMB2: the prefix
shouldn't be added everytime it was in SMB1.

Signed-off-by: Aurelien Aptel &lt;aaptel@suse.com&gt;
Acked-by: Pavel Shilovsky &lt;pshilov@microsoft.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
<entry>
<title>cifs_get_root shouldn't use path with tree name</title>
<updated>2016-12-15T07:42:54Z</updated>
<author>
<name>Sachin Prabhu</name>
</author>
<published>2016-12-15T07:01:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=374402a2a1dfbbee8ab1a5a32ec4887bf8c15d52'/>
<id>urn:sha1:374402a2a1dfbbee8ab1a5a32ec4887bf8c15d52</id>
<content type='text'>
When a server returns the optional flag SMB_SHARE_IS_IN_DFS in response
to a tree connect, cifs_build_path_to_root() will return a pathname
which includes the hostname. This causes problems with cifs_get_root()
which separates each component and does a lookup for each component of
the path which in this case will incorrectly include looking up the
hostname component as a path component.

We encountered a problem with dfs shares hosted by a Netapp. When
connecting to nodes pointed to by the DFS share. The tree connect for
these nodes return SMB_SHARE_IS_IN_DFS resulting failures in lookup
in cifs_get_root().

RH bz: 1373153
The patch was tested against a Netapp simulator and by a user using an
actual Netapp server.

Signed-off-by: Sachin Prabhu &lt;sprabhu@redhat.com&gt;
Reported-by: Pierguido Lambri &lt;plambri@redhat.com&gt;
Reviewed-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
<entry>
<title>cifs: don't use -&gt;d_time</title>
<updated>2016-09-16T10:44:21Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2016-09-16T10:44:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a00be0e31f8df453ecbaaa4ba78d2ef935ab252e'/>
<id>urn:sha1:a00be0e31f8df453ecbaaa4ba78d2ef935ab252e</id>
<content type='text'>
Use d_fsdata instead, which is the same size.  Introduce helpers to hide
the typecasts.

Signed-off-by: Miklos Szeredi &lt;mszeredi@redhat.com&gt;
Cc: Steve French &lt;sfrench@samba.org&gt;
</content>
</entry>
<entry>
<title>get rid of 'parent' argument of -&gt;d_compare()</title>
<updated>2016-07-31T20:37:25Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2016-07-31T20:37:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6fa67e707559303e086303aeecc9e8b91ef497d5'/>
<id>urn:sha1:6fa67e707559303e086303aeecc9e8b91ef497d5</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>cifs, msdos, vfat, hfs+: don't bother with parent in -&gt;d_compare()</title>
<updated>2016-07-29T22:27:51Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2016-07-29T22:23:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d3fe19852e96aabe3084c82ec2f3fb4918ab6d1e'/>
<id>urn:sha1:d3fe19852e96aabe3084c82ec2f3fb4918ab6d1e</id>
<content type='text'>
dentry-&gt;d_sb is just as good as parent-&gt;d_sb

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6</title>
<updated>2016-07-29T18:29:13Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2016-07-29T18:29:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b0c4e2acdd6175a07107474f3cd7bdc062cf4d3d'/>
<id>urn:sha1:b0c4e2acdd6175a07107474f3cd7bdc062cf4d3d</id>
<content type='text'>
Pull CIFS/SMB3 fixes from Steve French:
 "Various CIFS/SMB3 fixes, most for stable"

* 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
  CIFS: Fix a possible invalid memory access in smb2_query_symlink()
  fs/cifs: make share unaccessible at root level mountable
  cifs: fix crash due to race in hmac(md5) handling
  cifs: unbreak TCP session reuse
  cifs: Check for existing directory when opening file with O_CREAT
  Add MF-Symlinks support for SMB 2.0
</content>
</entry>
<entry>
<title>Merge branch 'salted-string-hash'</title>
<updated>2016-07-28T19:26:31Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2016-07-28T19:26:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=554828ee0db41618d101d9549db8808af9fd9d65'/>
<id>urn:sha1:554828ee0db41618d101d9549db8808af9fd9d65</id>
<content type='text'>
This changes the vfs dentry hashing to mix in the parent pointer at the
_beginning_ of the hash, rather than at the end.

That actually improves both the hash and the code generation, because we
can move more of the computation to the "static" part of the dcache
setup, and do less at lookup runtime.

It turns out that a lot of other hash users also really wanted to mix in
a base pointer as a 'salt' for the hash, and so the slightly extended
interface ends up working well for other cases too.

Users that want a string hash that is purely about the string pass in a
'salt' pointer of NULL.

* merge branch 'salted-string-hash':
  fs/dcache.c: Save one 32-bit multiply in dcache lookup
  vfs: make the string hashes salt the hash
</content>
</entry>
<entry>
<title>fs/cifs: make share unaccessible at root level mountable</title>
<updated>2016-07-28T03:50:55Z</updated>
<author>
<name>Aurelien Aptel</name>
</author>
<published>2016-05-25T17:59:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a6b5058fafdf508904bbf16c29b24042cef3c496'/>
<id>urn:sha1:a6b5058fafdf508904bbf16c29b24042cef3c496</id>
<content type='text'>
if, when mounting //HOST/share/sub/dir/foo we can query /sub/dir/foo but
not any of the path components above:

- store the /sub/dir/foo prefix in the cifs super_block info
- in the superblock, set root dentry to the subpath dentry (instead of
  the share root)
- set a flag in the superblock to remember it
- use prefixpath when building path from a dentry

fixes bso#8950

Signed-off-by: Aurelien Aptel &lt;aaptel@suse.com&gt;
CC: Stable &lt;stable@vger.kernel.org&gt;
Reviewed-by: Pavel Shilovsky &lt;pshilovsky@samba.org&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
</feed>
