From: Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
To: Pavel Shilovsky <piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
wine-devel-5vRYHf7vrtgdnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH v3 0/7] Add O_DENY* support for VFS and CIFS/NFS
Date: Thu, 28 Feb 2013 13:53:25 -0800 [thread overview]
Message-ID: <512FD1D5.3010106@mit.edu> (raw)
In-Reply-To: <1362065133-9490-1-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
[possible resend -- sorry]
On 02/28/2013 07:25 AM, Pavel Shilovsky wrote:
> This patchset adds support of O_DENY* flags for Linux fs layer. These flags can be used by any application that needs share reservations to organize a file access. VFS already has some sort of this capability - now it's done through flock/LOCK_MAND mechanis, but that approach is non-atomic. This patchset build new capabilities on top of the existing one but doesn't bring any changes into the flock call semantic.
>
> These flags can be used by NFS (built-in-kernel) and CIFS (Samba) servers and Wine applications through VFS (for local filesystems) or CIFS/NFS modules. This will help when e.g. Samba and NFS server share the same directory for Windows and Linux users or Wine applications use Samba/NFS share to access the same data from different clients.
>
> According to the previous discussions the most problematic question is how to prevent situations like DoS attacks where e.g /lib/liba.so file can be open with DENYREAD, or smth like this. That's why one extra flag O_DENYMAND is added. It indicates to underlying layer that an application want to use O_DENY* flags semantic. It allows us not affect native Linux applications (that don't use O_DENYMAND flag) - so, these flags (and the semantic of open syscall that they bring) are used only for those applications that really want it proccessed that way.
>
> So, we have four new flags:
> O_DENYREAD - to prevent other opens with read access,
> O_DENYWRITE - to prevent other opens with write access,
> O_DENYDELETE - to prevent delete operations (this flag is not implemented in VFS and NFS part and only suitable for CIFS module),
> O_DENYMAND - to switch on/off three flags above.
O_DENYMAND doesn't deny anything. Would a name like O_RESPECT_DENY be
better?
Other than that, this seems like a sensible mechanism.
--Andy
WARNING: multiple messages have this Message-ID (diff)
From: Andy Lutomirski <luto@amacapital.net>
To: Pavel Shilovsky <piastry@etersoft.ru>
Cc: linux-kernel@vger.kernel.org, linux-cifs@vger.kernel.org,
linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
wine-devel@winehq.org
Subject: Re: [PATCH v3 0/7] Add O_DENY* support for VFS and CIFS/NFS
Date: Thu, 28 Feb 2013 13:53:25 -0800 [thread overview]
Message-ID: <512FD1D5.3010106@mit.edu> (raw)
In-Reply-To: <1362065133-9490-1-git-send-email-piastry@etersoft.ru>
[possible resend -- sorry]
On 02/28/2013 07:25 AM, Pavel Shilovsky wrote:
> This patchset adds support of O_DENY* flags for Linux fs layer. These flags can be used by any application that needs share reservations to organize a file access. VFS already has some sort of this capability - now it's done through flock/LOCK_MAND mechanis, but that approach is non-atomic. This patchset build new capabilities on top of the existing one but doesn't bring any changes into the flock call semantic.
>
> These flags can be used by NFS (built-in-kernel) and CIFS (Samba) servers and Wine applications through VFS (for local filesystems) or CIFS/NFS modules. This will help when e.g. Samba and NFS server share the same directory for Windows and Linux users or Wine applications use Samba/NFS share to access the same data from different clients.
>
> According to the previous discussions the most problematic question is how to prevent situations like DoS attacks where e.g /lib/liba.so file can be open with DENYREAD, or smth like this. That's why one extra flag O_DENYMAND is added. It indicates to underlying layer that an application want to use O_DENY* flags semantic. It allows us not affect native Linux applications (that don't use O_DENYMAND flag) - so, these flags (and the semantic of open syscall that they bring) are used only for those applications that really want it proccessed that way.
>
> So, we have four new flags:
> O_DENYREAD - to prevent other opens with read access,
> O_DENYWRITE - to prevent other opens with write access,
> O_DENYDELETE - to prevent delete operations (this flag is not implemented in VFS and NFS part and only suitable for CIFS module),
> O_DENYMAND - to switch on/off three flags above.
O_DENYMAND doesn't deny anything. Would a name like O_RESPECT_DENY be
better?
Other than that, this seems like a sensible mechanism.
--Andy
next prev parent reply other threads:[~2013-02-28 21:53 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-28 15:25 [PATCH v3 0/7] Add O_DENY* support for VFS and CIFS/NFS Pavel Shilovsky
2013-02-28 15:25 ` [PATCH v3 1/7] fcntl: Introduce new O_DENY* open flags Pavel Shilovsky
2013-02-28 15:25 ` Pavel Shilovsky
[not found] ` <1362065133-9490-2-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-02-28 15:59 ` Richard Sharpe
[not found] ` <CACyXjPw7eEabP-77YpPz2eOtGWsJNbTEVF968iiWxgamOsbkuA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-02-28 17:56 ` Pavel Shilovsky
2013-02-28 15:25 ` [PATCH v3 5/7] CIFS: Translate SHARING_VIOLATION to -ETXTBSY error code for SMB2 Pavel Shilovsky
[not found] ` <1362065133-9490-6-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-03-11 18:35 ` Jeff Layton
2013-03-11 18:35 ` Jeff Layton
[not found] ` <20130311143507.737f2ab0-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-03-11 18:59 ` Pavel Shilovsky
2013-03-11 18:59 ` Pavel Shilovsky
2013-02-28 15:25 ` [PATCH v3 6/7] NFSv4: Add O_DENY* open flags support Pavel Shilovsky
[not found] ` <1362065133-9490-7-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-03-11 18:54 ` Jeff Layton
2013-03-11 18:54 ` Jeff Layton
[not found] ` <20130311145434.707f5ed1-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-03-12 12:35 ` Jeff Layton
2013-03-12 12:35 ` Jeff Layton
[not found] ` <20130312083517.770a17f6-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2013-04-04 10:30 ` Pavel Shilovsky
2013-04-04 10:30 ` Pavel Shilovsky
[not found] ` <CAKywueRSTipeO8V-oNrM=jM8WUo7Dd0ahj_Xcw8f8ViE3NGEOQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-04 13:02 ` Jeff Layton
2013-04-04 13:02 ` Jeff Layton
[not found] ` <20130404090232.30457b32-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-04-04 17:45 ` Pavel Shilovsky
2013-04-04 17:45 ` Pavel Shilovsky
[not found] ` <1362065133-9490-1-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-02-28 15:25 ` [PATCH v3 2/7] vfs: Add O_DENYREAD/WRITE flags support for open syscall Pavel Shilovsky
2013-02-28 15:25 ` Pavel Shilovsky
[not found] ` <1362065133-9490-3-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-03-11 18:46 ` Jeff Layton
2013-03-11 18:46 ` Jeff Layton
[not found] ` <20130311144609.2ba86964-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-03-11 18:57 ` Pavel Shilovsky
2013-03-11 18:57 ` Pavel Shilovsky
[not found] ` <CAKywueTEXOH3s0z2X7e=QugJaQAZ6JPoaYmYPnFLHMOTC7_y4w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-03-11 19:10 ` Jeff Layton
2013-03-11 19:10 ` Jeff Layton
2013-02-28 15:25 ` [PATCH v3 3/7] CIFS: Add O_DENY* open flags support Pavel Shilovsky
2013-02-28 15:25 ` Pavel Shilovsky
[not found] ` <1362065133-9490-4-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-03-11 18:50 ` Jeff Layton
2013-03-11 18:50 ` Jeff Layton
2013-02-28 15:25 ` [PATCH v3 4/7] CIFS: Use NT_CREATE_ANDX command for forcemand mounts Pavel Shilovsky
2013-02-28 15:25 ` Pavel Shilovsky
2013-03-11 18:52 ` Jeff Layton
2013-02-28 15:25 ` [PATCH v3 7/7] NFSD: Pass share reservations flags to VFS Pavel Shilovsky
2013-02-28 15:25 ` Pavel Shilovsky
[not found] ` <1362065133-9490-8-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-03-11 19:05 ` Jeff Layton
2013-03-11 19:05 ` Jeff Layton
[not found] ` <20130311150540.119abd63-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-03-11 19:36 ` J. Bruce Fields
2013-03-11 19:36 ` J. Bruce Fields
[not found] ` <20130311193638.GB642-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2013-03-11 20:08 ` Jeff Layton
2013-03-11 20:08 ` Jeff Layton
[not found] ` <20130311160844.7dedf15a-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-03-11 20:11 ` J. Bruce Fields
2013-03-11 20:11 ` J. Bruce Fields
2013-03-11 20:25 ` Frank S Filz
[not found] ` <OF1D20435B.D7D7B48E-ON87257B2B.006FB8C9-88257B2B.00702F2E-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2013-03-11 20:31 ` J. Bruce Fields
2013-03-11 20:31 ` J. Bruce Fields
2013-03-11 20:37 ` Frank S Filz
2013-02-28 21:53 ` Andy Lutomirski [this message]
2013-02-28 21:53 ` [PATCH v3 0/7] Add O_DENY* support for VFS and CIFS/NFS Andy Lutomirski
2013-03-01 6:44 ` Pavel Shilovsky
2013-03-01 8:17 ` David Laight
2013-03-01 8:17 ` David Laight
[not found] ` <512FD1D5.3010106-3s7WtUTddSA@public.gmane.org>
2013-03-04 21:19 ` J. Bruce Fields
2013-03-04 21:19 ` J. Bruce Fields
[not found] ` <20130304211923.GI20389-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2013-03-04 22:49 ` Simo
2013-03-04 22:49 ` Simo
[not found] ` <5135250A.30604-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>
2013-03-05 18:13 ` J. Bruce Fields
2013-03-05 18:13 ` J. Bruce Fields
[not found] ` <20130305181306.GA15816-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2013-03-05 19:07 ` Simo
2013-03-05 19:07 ` Simo
[not found] ` <51364285.4040406-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>
2013-03-11 13:59 ` Pavel Shilovsky
2013-03-11 13:59 ` Pavel Shilovsky
2013-03-11 18:18 ` Andy Lutomirski
2013-03-11 18:18 ` Andy Lutomirski
[not found] ` <CALCETrXvyXqx+R2wSROEOb+qrSBpPeCGT_9Z6N+QJOU=1aikPw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-03-11 18:21 ` J. Bruce Fields
2013-03-11 18:21 ` J. Bruce Fields
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=512FD1D5.3010106@mit.edu \
--to=luto-klttt9wpgjjwatoyat5jvq@public.gmane.org \
--cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org \
--cc=wine-devel-5vRYHf7vrtgdnm+yROfE0A@public.gmane.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.