<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/cifs/dir.c, branch linux-4.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-02-10T08:21:07Z</updated>
<entry>
<title>cifs: report error instead of invalid when revalidating a dentry fails</title>
<updated>2021-02-10T08:21:07Z</updated>
<author>
<name>Aurelien Aptel</name>
</author>
<published>2021-02-05T14:42:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=613fa1fb62c82e6b9c170b7de6f8c8c850624f5a'/>
<id>urn:sha1:613fa1fb62c82e6b9c170b7de6f8c8c850624f5a</id>
<content type='text'>
commit 21b200d091826a83aafc95d847139b2b0582f6d1 upstream.

Assuming
- //HOST/a is mounted on /mnt
- //HOST/b is mounted on /mnt/b

On a slow connection, running 'df' and killing it while it's
processing /mnt/b can make cifs_get_inode_info() returns -ERESTARTSYS.

This triggers the following chain of events:
=&gt; the dentry revalidation fail
=&gt; dentry is put and released
=&gt; superblock associated with the dentry is put
=&gt; /mnt/b is unmounted

This patch makes cifs_d_revalidate() return the error instead of 0
(invalid) when cifs_revalidate_dentry() fails, except for ENOENT (file
deleted) and ESTALE (file recreated).

Signed-off-by: Aurelien Aptel &lt;aaptel@suse.com&gt;
Suggested-by: Shyam Prasad N &lt;nspmangalore@gmail.com&gt;
Reviewed-by: Shyam Prasad N &lt;nspmangalore@gmail.com&gt;
CC: stable@vger.kernel.org
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_atomic_open(): fix double-put on late allocation failure</title>
<updated>2020-03-18T06:14:21Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2020-03-12T22:25:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a8ab0b70979059773f34171c8f05f340f60d47d9'/>
<id>urn:sha1:a8ab0b70979059773f34171c8f05f340f60d47d9</id>
<content type='text'>
commit d9a9f4849fe0c9d560851ab22a85a666cddfdd24 upstream.

several iterations of -&gt;atomic_open() calling conventions ago, we
used to need fput() if -&gt;atomic_open() failed at some point after
successful finish_open().  Now (since 2016) it's not needed -
struct file carries enough state to make fput() work regardless
of the point in struct file lifecycle and discarding it on
failure exits in open() got unified.  Unfortunately, I'd missed
the fact that we had an instance of -&gt;atomic_open() (cifs one)
that used to need that fput(), as well as the stale comment in
finish_open() demanding such late failure handling.  Trivially
fixed...

Fixes: fe9ec8291fca "do_last(): take fput() on error after opening to out:"
Cc: stable@kernel.org # v4.7+
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>CIFS: Force reval dentry if LOOKUP_REVAL flag is set</title>
<updated>2019-10-17T20:45:17Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2019-09-30T17:06:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=230b339a7c75712147f0ab0268414900a223d72a'/>
<id>urn:sha1:230b339a7c75712147f0ab0268414900a223d72a</id>
<content type='text'>
commit 0b3d0ef9840f7be202393ca9116b857f6f793715 upstream.

Mark inode for force revalidation if LOOKUP_REVAL flag is set.
This tells the client to actually send a QueryInfo request to
the server to obtain the latest metadata in case a directory
or a file were changed remotely. Only do that if the client
doesn't have a lease for the file to avoid unneeded round
trips to the server.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Pavel Shilovsky &lt;pshilov@microsoft.com&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 separator when building path from dentry</title>
<updated>2018-12-13T08:16:20Z</updated>
<author>
<name>Paulo Alcantara</name>
</author>
<published>2018-11-15T14:20:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=99c694081ba212599388955792a37d2a4560ed4e'/>
<id>urn:sha1:99c694081ba212599388955792a37d2a4560ed4e</id>
<content type='text'>
commit c988de29ca161823db6a7125e803d597ef75b49c upstream.

Make sure to use the CIFS_DIR_SEP(cifs_sb) as path separator for
prefixpath too. Fixes a bug with smb1 UNIX extensions.

Fixes: a6b5058fafdf ("fs/cifs: make share unaccessible at root level mountable")
Signed-off-by: Paulo Alcantara &lt;palcantara@suse.com&gt;
Reviewed-by: Aurelien Aptel &lt;aaptel@suse.com&gt;
Signed-off-by: Steve French &lt;stfrench@microsoft.com&gt;
CC: Stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>get rid of 'opened' argument of -&gt;atomic_open() - part 3</title>
<updated>2018-07-12T14:04:20Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2018-06-08T17:32:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=44907d79002466049fdbb8ef15730d185e0808b4'/>
<id>urn:sha1:44907d79002466049fdbb8ef15730d185e0808b4</id>
<content type='text'>
now it can be done...

Acked-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>getting rid of 'opened' argument of -&gt;atomic_open() - part 1</title>
<updated>2018-07-12T14:04:19Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2018-06-08T15:44:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=be12af3ef5e61ebc44d065e121424ac605d7bb8e'/>
<id>urn:sha1:be12af3ef5e61ebc44d065e121424ac605d7bb8e</id>
<content type='text'>
'opened' argument of finish_open() is unused.  Kill it.

Signed-off-by Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>introduce FMODE_CREATED and switch to it</title>
<updated>2018-07-12T14:04:18Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2018-06-08T17:22:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=73a09dd94377e4b186b300bd5461920710c7c3d5'/>
<id>urn:sha1:73a09dd94377e4b186b300bd5461920710c7c3d5</id>
<content type='text'>
Parallel to FILE_CREATED, goes into -&gt;f_mode instead of *opened.
NFS is a bit of a wart here - it doesn't have file at the point
where FILE_CREATED used to be set, so we need to propagate it
there (for now).  IMA is another one (here and everywhere)...

Note that this needs do_dentry_open() to leave old bits in -&gt;f_mode
alone - we want it to preserve FMODE_CREATED if it had been already
set (no other bit can be there).

Acked-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge tag '4.18-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6</title>
<updated>2018-06-04T21:42:46Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2018-06-04T21:42:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=325520142b47690018d09060a874327d5e7f0709'/>
<id>urn:sha1:325520142b47690018d09060a874327d5e7f0709</id>
<content type='text'>
Pull cifs updates from Steve French:

 - smb3 fixes for stable

 - addition of ftrace hooks for cifs.ko

 - improvements in compounding and smbdirect (rdma)

* tag '4.18-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6: (38 commits)
  CIFS: Add support for direct pages in wdata
  CIFS: Use offset when reading pages
  CIFS: Add support for direct pages in rdata
  cifs: update multiplex loop to handle compounded responses
  cifs: remove header_preamble_size where it is always 0
  cifs: remove struct smb2_hdr
  CIFS: 511c54a2f69195b28afb9dd119f03787b1625bb4 adds a check for session expiry, status STATUS_NETWORK_SESSION_EXPIRED, however the server can also respond with STATUS_USER_SESSION_DELETED in cases where the session has been idle for some time and the server reaps the session to recover resources.
  cifs: change smb2_get_data_area_len to take a smb2_sync_hdr as argument
  cifs: update smb2_calc_size to use smb2_sync_hdr instead of smb2_hdr
  cifs: remove struct smb2_oplock_break_rsp
  cifs: remove rfc1002 header from all SMB2 response structures
  smb3: on reconnect set PreviousSessionId field
  smb3: Add posix create context for smb3.11 posix mounts
  smb3: add tracepoints for smb2/smb3 open
  cifs: add debug output to show nocase mount option
  smb3: add define for id for posix create context and corresponding struct
  cifs: update smb2_check_message to handle PDUs without a 4 byte length header
  smb3: allow "posix" mount option to enable new SMB311 protocol extensions
  smb3: add support for posix negotiate context
  cifs: allow disabling less secure legacy dialects
  ...
</content>
</entry>
<entry>
<title>Merge branch 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs</title>
<updated>2018-06-04T20:46:22Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2018-06-04T20:46:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b058efc1acfd99027b4c70458e72c3d20a1a5bbc'/>
<id>urn:sha1:b058efc1acfd99027b4c70458e72c3d20a1a5bbc</id>
<content type='text'>
Pull dcache lookup cleanups from Al Viro:
 "Cleaning -&gt;lookup() instances up - mostly d_splice_alias() conversions"

* 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (29 commits)
  switch the rest of procfs lookups to d_splice_alias()
  procfs: switch instantiate_t to d_splice_alias()
  don't bother with tid_fd_revalidate() in lookups
  proc_lookupfd_common(): don't bother with instantiate unless the file is open
  procfs: get rid of ancient BS in pid_revalidate() uses
  cifs_lookup(): switch to d_splice_alias()
  cifs_lookup(): cifs_get_inode_...() never returns 0 with *inode left NULL
  9p: unify paths in v9fs_vfs_lookup()
  ncp_lookup(): use d_splice_alias()
  hfsplus: switch to d_splice_alias()
  hfs: don't allow mounting over .../rsrc
  hfs: use d_splice_alias()
  omfs_lookup(): report IO errors, use d_splice_alias()
  orangefs_lookup: simplify
  openpromfs: switch to d_splice_alias()
  xfs_vn_lookup: simplify a bit
  adfs_lookup: do not fail with ENOENT on negatives, use d_splice_alias()
  adfs_lookup_byname: .. *is* taken care of in fs/namei.c
  romfs_lookup: switch to d_splice_alias()
  qnx6_lookup: switch to d_splice_alias()
  ...
</content>
</entry>
<entry>
<title>smb3: Add posix create context for smb3.11 posix mounts</title>
<updated>2018-06-01T02:23:07Z</updated>
<author>
<name>Steve French</name>
</author>
<published>2018-06-01T00:16:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce558b0e17f8a6d4a57d264479d782c331266f0d'/>
<id>urn:sha1:ce558b0e17f8a6d4a57d264479d782c331266f0d</id>
<content type='text'>
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
</feed>
