linux/fs/ksmbd
Christian Brauner 475d6f9880 ksmbd: fix translation in smb2_populate_readdir_entry()
When transferring ownership information to the
client the k*ids are translated into raw *ids before they are sent over
the wire. The function currently erroneously translates the k*ids
according to the mount's idmapping. Instead, reporting the owning *ids
to userspace the underlying k*ids need to be mapped up in the caller's
user namespace. This is how stat() works.
The caller in this instance is ksmbd itself and ksmbd always runs in the
initial user namespace. Translate according to that.

The idmapping of the mount is already taken into account by the lower
filesystem and so kstat->*id will contain the mapped k*ids.

Switch to from_k*id_munged() which ensures that the overflow*id is
returned instead of the (*id_t)-1 when the k*id can't be translated.

Cc: Steve French <stfrench@microsoft.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Namjae Jeon <namjae.jeon@samsung.com>
Cc: Hyunchul Lee <hyc.lee@gmail.com>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: linux-cifs@vger.kernel.org
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
2021-09-03 23:29:44 -05:00
..
mgmt ksmbd: reorder and document on-disk and netlink structures in headers 2021-06-30 14:47:24 +09:00
asn1.c
asn1.h
auth.c
auth.h
connection.c ksmbd: fix typo in comment 2021-07-15 10:25:30 +09:00
connection.h ksmbd: add support for negotiating signing algorithm 2021-07-22 09:56:02 +09:00
crypto_ctx.c
crypto_ctx.h
glob.h
Kconfig ksmbd: remove select FS_POSIX_ACL in Kconfig 2021-08-13 08:18:10 +09:00
ksmbd_netlink.h ksmbd: reorder and document on-disk and netlink structures in headers 2021-06-30 14:47:24 +09:00
ksmbd_spnego_negtokeninit.asn1
ksmbd_spnego_negtokentarg.asn1
ksmbd_work.c ksmbd: reorder and document on-disk and netlink structures in headers 2021-06-30 14:47:24 +09:00
ksmbd_work.h ksmbd: change data type of volatile/persistent id to u64 2021-07-09 08:23:16 +09:00
Makefile
misc.c
misc.h
ndr.c ksmbd: fix __write_overflow warning in ndr_read_string 2021-08-27 14:03:49 -05:00
ndr.h ksmbd: add user namespace support 2021-07-02 16:27:10 +09:00
nterr.h
ntlmssp.h
oplock.c ksmbd: remove unneeded check_context_err 2021-07-13 10:08:32 +09:00
oplock.h ksmbd: remove SMB1 oplock level macros 2021-06-30 14:43:51 +09:00
server.c ksmbd: set STATUS_INVALID_PARAMETER error status if credit charge is invalid 2021-07-19 16:20:02 +09:00
server.h ksmbd: change server config string index to enumeration 2021-06-30 14:44:01 +09:00
smb2misc.c ksmbd: move credit charge verification over smb2 request size verification 2021-07-19 16:20:04 +09:00
smb2ops.c ksmbd: add support for negotiating signing algorithm 2021-07-22 09:56:02 +09:00
smb2pdu.c ksmbd: fix translation in smb2_populate_readdir_entry() 2021-09-03 23:29:44 -05:00
smb2pdu.h ksmbd: change int data type to boolean 2021-08-13 08:18:03 +09:00
smb_common.c ksmbd: fix translation in smb2_populate_readdir_entry() 2021-09-03 23:29:44 -05:00
smb_common.h ksmbd: fix translation in smb2_populate_readdir_entry() 2021-09-03 23:29:44 -05:00
smbacl.c ksmbd: fix permission check issue on chown and chmod 2021-08-21 23:26:34 +09:00
smbacl.h ksmbd: add user namespace support 2021-07-02 16:27:10 +09:00
smbfsctl.h
smbstatus.h
transport_ipc.c ksmbd: fix kernel oops in ksmbd_rpc_ioctl/rap() 2021-07-03 08:02:18 +09:00
transport_ipc.h
transport_rdma.c ksmbd: smbd: fix kernel oops during server shutdown 2021-08-13 08:18:13 +09:00
transport_rdma.h ksmbd: fix typo of MS-SMBD 2021-07-22 09:55:58 +09:00
transport_tcp.c ksmbd: Fix potential memory leak in tcp_destroy_socket() 2021-07-23 13:10:55 +09:00
transport_tcp.h
unicode.c
unicode.h
uniupr.h
vfs_cache.c ksmbd: free ksmbd_lock when file is closed 2021-07-10 16:23:50 +09:00
vfs_cache.h ksmbd: free ksmbd_lock when file is closed 2021-07-10 16:23:50 +09:00
vfs.c ksmbd: fix lookup on idmapped mounts 2021-09-03 23:29:44 -05:00
vfs.h ksmbd: fix lookup on idmapped mounts 2021-09-03 23:29:44 -05:00
xattr.h ksmbd: reorder and document on-disk and netlink structures in headers 2021-06-30 14:47:24 +09:00