mbox series

[GIT,PULL] orangefs: posix open

Message ID CAOg9mSS6daFQWvxUeFpGzC6U9D5ddH-iazskoOgGLML781p5xg@mail.gmail.com (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] orangefs: posix open | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux.git

Message

Mike Marshall Dec. 6, 2019, 7:43 p.m. UTC
The following changes since commit a99d8080aaf358d5d23581244e5da23b35e340b9:

  Linux 5.4-rc6 (2019-11-03 14:07:26 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux.git
tags/for-linus-5.5-ofs1

for you to fetch changes up to f9bbb68233aa5bd5ef238bd3532fddf92fa1b53c:

  orangefs: posix open permission checking... (2019-12-04 08:52:55 -0500)

----------------------------------------------------------------
orangefs: posix open permission checking...

Orangefs has no open, and orangefs checks file permissions
on each file access. Posix requires that file permissions
be checked on open and nowhere else. Orangefs-through-the-kernel
needs to seem posix compliant.

The VFS opens files, even if the filesystem provides no
method. We can see if a file was successfully opened for
read and or for write by looking at file->f_mode.

When writes are flowing from the page cache, file is no
longer available. We can trust the VFS to have checked
file->f_mode before writing to the page cache.

The mode of a file might change between when it is opened
and IO commences, or it might be created with an arbitrary mode.

We'll make sure we don't hit EACCES during the IO stage by
using UID 0.

----------------------------------------------------------------
Mike Marshall (1):
      orangefs: posix open permission checking...

 fs/orangefs/file.c            | 39 +++++++++++++++++++++++++++++++++++++--
 fs/orangefs/inode.c           |  8 ++++----
 fs/orangefs/orangefs-kernel.h |  3 ++-
 3 files changed, 43 insertions(+), 7 deletions(-)