From: "Pali Rohár" <pali@kernel.org>
To: Steve French <sfrench@samba.org>,
Paulo Alcantara <pc@manguebit.com>,
Ronnie Sahlberg <ronniesahlberg@gmail.com>
Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 0/8] cifs: Fix support for NFS-style reparse points
Date: Sat, 28 Sep 2024 23:59:40 +0200 [thread overview]
Message-ID: <20240928215948.4494-1-pali@kernel.org> (raw)
For NFS-style reparse points in the current Linux SMB client I found few
buffer overflows and then incompatibility issues related to char/block
devices and symlinks. In this patch series I'm addressing these issues.
I also located commits which introduced these issues, I put them into
Fixes lines of commit messages.
Test cases against Windows server which exports one directory over both
SMB and NFS protocols. On Linux is mounted that directory to /mnt/nfs
and /mnt/smb via different protocols.
mknod /mnt/nfs/char c 1 3
stat /mnt/smb/char
mknod /mnt/nfs/block b 8 0
stat /mnt/smb/block
ln -s abc\\abc /mnt/nfs/symlink
stat /mnt/smb/symlink
ls -l /mnt/smb
ls -l or stat over SMB should show the same information about char, block
and symlink as over NFS. And vice-versa.
Please look and check the buffer overflow issue as these buffer lengths
are always nightmares to handle correctly.
Pali Rohár (8):
smb: Update comments about some reparse point tags
cifs: Remove intermediate object of failed create reparse call
cifs: Fix parsing NFS-style char/block devices
cifs: Fix creating NFS-style char/block devices
cifs: Fix buffer overflow when parsing NFS reparse points
cifs: Do not convert delimiter when parsing NFS-style symlinks
cifs: Validate content of NFS reparse point buffer
cifs: Rename posix to nfs in parse_reparse_posix() and
reparse_posix_data
fs/smb/client/cifsglob.h | 2 +-
fs/smb/client/cifspdu.h | 2 +-
fs/smb/client/reparse.c | 53 +++++++++++++++++++++++++++++++--------
fs/smb/client/reparse.h | 12 ++++++---
fs/smb/client/smb2inode.c | 21 ++++++++++++++--
fs/smb/common/smb2pdu.h | 2 +-
fs/smb/common/smbfsctl.h | 7 +++---
7 files changed, 77 insertions(+), 22 deletions(-)
--
2.20.1
next reply other threads:[~2024-09-28 22:00 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-28 21:59 Pali Rohár [this message]
2024-09-28 21:59 ` [PATCH 1/8] smb: Update comments about some reparse point tags Pali Rohár
2024-09-28 21:59 ` [PATCH 2/8] cifs: Remove intermediate object of failed create reparse call Pali Rohár
2024-09-29 12:53 ` Pali Rohár
2024-09-29 14:03 ` [PATCH v2] " Pali Rohár
2024-09-29 16:01 ` Steve French
2024-09-30 15:25 ` [PATCH 2/8] " Paulo Alcantara
2024-09-30 17:20 ` Pali Rohár
2024-09-30 21:33 ` Paulo Alcantara
2024-09-30 20:25 ` [PATCH v3] " Pali Rohár
2024-09-30 21:33 ` Steve French
2024-09-28 21:59 ` [PATCH 3/8] cifs: Fix parsing NFS-style char/block devices Pali Rohár
2024-09-28 21:59 ` [PATCH 4/8] cifs: Fix creating " Pali Rohár
2024-09-29 0:18 ` Steve French
2024-09-29 0:44 ` Pali Rohár
[not found] ` <CAH2r5mvbUhcW_c46oUiHzfPg97n5qiRg9kzpCkmzG9uHygOF3g@mail.gmail.com>
2024-09-29 0:51 ` Pali Rohár
2024-09-28 21:59 ` [PATCH 5/8] cifs: Fix buffer overflow when parsing NFS reparse points Pali Rohár
2024-09-29 10:22 ` [PATCH v2] " Pali Rohár
2024-09-28 21:59 ` [PATCH 6/8] cifs: Do not convert delimiter when parsing NFS-style symlinks Pali Rohár
2024-09-28 21:59 ` [PATCH 7/8] cifs: Validate content of NFS reparse point buffer Pali Rohár
2024-09-28 21:59 ` [PATCH 8/8] cifs: Rename posix to nfs in parse_reparse_posix() and reparse_posix_data Pali Rohár
2024-09-29 4:57 ` Steve French
2024-09-29 9:09 ` Ralph Boehme
2024-09-29 9:26 ` Pali Rohár
2024-09-29 12:52 ` Ralph Boehme
2024-09-29 15:43 ` Steve French
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=20240928215948.4494-1-pali@kernel.org \
--to=pali@kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pc@manguebit.com \
--cc=ronniesahlberg@gmail.com \
--cc=sfrench@samba.org \
/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.