From: Christian Brauner <brauner@kernel.org>
To: Steve French <stfrench@microsoft.com>,
Christoph Hellwig <hch@infradead.org>,
Namjae Jeon <namjae.jeon@samsung.com>,
linux-cifs@vger.kernel.org
Cc: Hyunchul Lee <hyc.lee@gmail.com>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Christian Brauner <christian.brauner@ubuntu.com>
Subject: [PATCH 00/11] ksmbd: various fixes
Date: Mon, 23 Aug 2021 17:13:46 +0200 [thread overview]
Message-ID: <20210823151357.471691-1-brauner@kernel.org> (raw)
In-Reply-To: <20210823025816.7496-1-namjae.jeon@samsung.com>
From: Christian Brauner <christian.brauner@ubuntu.com>
Hey everyone,
I took the time to look at ksmbd last week and today. I performed
various tests, read a bunch of code and discovered a few bugs that I
addressed in this series. Most of them simply deal with the translation
of ownership between samba ids and unix ids.
The server client model makes it a bit harder to reason about things but
in essence ksmbd behaves like a very simple shim sitting on top of the
underlying filesystem and thus bares some _vague_ resemblance to
overlayfs and other overlay-style filesystems. The crucial thing is that
ksmbd calls into the lower filesystem to create and manage filesystem
objects. This is inherently a tricky thing to get right as it
essentially involves two-level thinking all of the time. The easiest
conceptual model I came up with for me is that ksmbd is similar to a
userspace process that calls into the filesystem. With this model in
mind it becomes a lot clearer how ownership needs to be managed. I tried
to reflect that thinking in the commit message explaining why what
happens.
Thanks!
Christian
Christian Brauner (11):
ksmbd: fix lookup on idmapped mounts
ksmbd: fix translation in smb2_populate_readdir_entry()
ksmbd: fix translation in create_posix_rsp_buf()
smb2pdu: fix translation in ksmbd_acls_fattr()
ksmbd: fix translation in acl entries
ksmbd: fix subauth 0 handling in sid_to_id()
ksmbd: fix translation in sid_to_id()
ndr: fix translation in ndr_encode_posix_acl()
ksmbd: ensure error is surfaced in set_file_basic_info()
ksmbd: remove setattr preparations in set_file_basic_info()
ksmbd: defer notify_change() call
fs/ksmbd/ndr.c | 4 +--
fs/ksmbd/oplock.c | 6 ++--
fs/ksmbd/smb2pdu.c | 43 +++++++++++++--------------
fs/ksmbd/smb_common.c | 4 +--
fs/ksmbd/smb_common.h | 1 -
fs/ksmbd/smbacl.c | 69 +++++++++++++++++++++++++++----------------
fs/ksmbd/smbacl.h | 25 ++++++++++++++++
fs/ksmbd/vfs.c | 47 ++++++++++++++++-------------
fs/ksmbd/vfs.h | 3 +-
9 files changed, 125 insertions(+), 77 deletions(-)
base-commit: 0bffa153a2f46dcbced4a48167e91522d8aabe58
--
2.30.2
next prev parent reply other threads:[~2021-08-23 15:14 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20210823030840epcas1p24b226d445a683012925efd81a72ecb6d@epcas1p2.samsung.com>
2021-08-23 2:58 ` [PATCH v8 00/13] ksmbd: introduce new SMB3 kernel server Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 01/13] ksmbd: add document Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 02/13] ksmbd: add server handler Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 03/13] ksmbd: add tcp transport layer Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 04/13] ksmbd: add ipc " Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 05/13] ksmbd: add rdma " Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 06/13] ksmbd: add a utility code that tracks (and caches) sessions data Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 07/13] ksmbd: add authentication Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 08/13] ksmbd: add smb3 engine part 1 Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 09/13] ksmbd: add smb3 engine part 2 Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 10/13] ksmbd: add oplock/lease cache mechanism Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 11/13] ksmbd: add file operations Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 12/13] ksmbd: add Kconfig and Makefile Namjae Jeon
2021-08-23 2:58 ` [PATCH v8 13/13] MAINTAINERS: add ksmbd kernel server Namjae Jeon
2021-08-23 15:13 ` Christian Brauner [this message]
2021-08-23 15:13 ` [PATCH 01/11] ksmbd: fix lookup on idmapped mounts Christian Brauner
2021-08-23 15:13 ` [PATCH 02/11] ksmbd: fix translation in smb2_populate_readdir_entry() Christian Brauner
2021-08-23 15:13 ` [PATCH 03/11] ksmbd: fix translation in create_posix_rsp_buf() Christian Brauner
2021-08-23 15:13 ` [PATCH 04/11] smb2pdu: fix translation in ksmbd_acls_fattr() Christian Brauner
2021-08-23 15:13 ` [PATCH 05/11] ksmbd: fix translation in acl entries Christian Brauner
2021-08-23 15:13 ` [PATCH 06/11] ksmbd: fix subauth 0 handling in sid_to_id() Christian Brauner
2021-08-24 8:13 ` Namjae Jeon
2021-08-24 11:37 ` Christian Brauner
2021-08-23 15:13 ` [PATCH 07/11] ksmbd: fix translation " Christian Brauner
2021-08-23 15:13 ` [PATCH 08/11] ndr: fix translation in ndr_encode_posix_acl() Christian Brauner
2021-08-23 15:13 ` [PATCH 09/11] ksmbd: ensure error is surfaced in set_file_basic_info() Christian Brauner
2021-08-23 15:13 ` [PATCH 10/11] ksmbd: remove setattr preparations " Christian Brauner
2021-09-01 12:47 ` Namjae Jeon
2021-09-02 13:43 ` Christian Brauner
2021-10-01 18:51 ` Marios Makassikis
2021-10-02 0:41 ` Namjae Jeon
2021-10-02 19:29 ` Marios Makassikis
2021-10-03 0:12 ` Namjae Jeon
2021-08-23 15:13 ` [PATCH 11/11] ksmbd: defer notify_change() call Christian Brauner
2021-08-24 8:20 ` Namjae Jeon
2021-08-24 11:36 ` Christian Brauner
2021-09-01 12:53 ` Namjae Jeon
2021-09-02 13:42 ` Christian Brauner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210823151357.471691-1-brauner@kernel.org \
--to=brauner@kernel.org \
--cc=christian.brauner@ubuntu.com \
--cc=hch@infradead.org \
--cc=hyc.lee@gmail.com \
--cc=linux-cifs@vger.kernel.org \
--cc=namjae.jeon@samsung.com \
--cc=senozhatsky@chromium.org \
--cc=stfrench@microsoft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.