All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger-m1MBpc4rdrD3fQ9qLvQP4Q@public.gmane.org>
To: Andreas Gruenbacher <agruenba-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: Alexander Viro
	<viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org>,
	Theodore Ts'o <tytso-3s7WtUTddSA@public.gmane.org>,
	Andreas Dilger
	<adilger.kernel-m1MBpc4rdrD3fQ9qLvQP4Q@public.gmane.org>,
	"J. Bruce Fields"
	<bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>,
	Jeff Layton <jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org>,
	Trond Myklebust
	<trond.myklebust-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>,
	Anna Schumaker
	<anna.schumaker-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org>,
	Dave Chinner <david-FqsqvQoI3Ljby3iVrkZq2A@public.gmane.org>,
	linux-ext4-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	xfs-VZNHf3L845pBDgjK7y7TUQ@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v14 04/22] vfs: Make the inode passed to inode_change_ok non-const
Date: Fri, 6 Nov 2015 14:04:07 -0700	[thread overview]
Message-ID: <A1B39E8C-4904-48D8-9CE6-2A464A5D476D@dilger.ca> (raw)
In-Reply-To: <1446723580-3747-5-git-send-email-agruenba-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 1827 bytes --]


> On Nov 5, 2015, at 4:39 AM, Andreas Gruenbacher <agruenba-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> 
> We will need to call iop->permission and iop->get_acl from
> inode_change_ok() for additional permission checks, and both take a
> non-const inode.

Seems unfortunate that those functions cannot themselves be changed to
take a const struct inode, but it doesn't look possible.

Reviewed-by: Andreas Dilger <adilger-m1MBpc4rdrD3fQ9qLvQP4Q@public.gmane.org>

> Signed-off-by: Andreas Gruenbacher <agruenba-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> Reviewed-by: J. Bruce Fields <bfields-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> ---
> fs/attr.c          | 2 +-
> include/linux/fs.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/attr.c b/fs/attr.c
> index 6530ced..328be71 100644
> --- a/fs/attr.c
> +++ b/fs/attr.c
> @@ -28,7 +28,7 @@
>  * Should be called as the first thing in ->setattr implementations,
>  * possibly after taking additional locks.
>  */
> -int inode_change_ok(const struct inode *inode, struct iattr *attr)
> +int inode_change_ok(struct inode *inode, struct iattr *attr)
> {
> 	unsigned int ia_valid = attr->ia_valid;
> 
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index 402acd7..aab32c8 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -2871,7 +2871,7 @@ extern int buffer_migrate_page(struct address_space *,
> #define buffer_migrate_page NULL
> #endif
> 
> -extern int inode_change_ok(const struct inode *, struct iattr *);
> +extern int inode_change_ok(struct inode *, struct iattr *);
> extern int inode_newsize_ok(const struct inode *, loff_t offset);
> extern void setattr_copy(struct inode *inode, const struct iattr *attr);
> 
> --
> 2.5.0
> 


Cheers, Andreas






[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Andreas Dilger <adilger@dilger.ca>
To: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>,
	"Theodore Ts'o" <tytso@mit.edu>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Jeff Layton <jlayton@poochiereds.net>,
	Trond Myklebust <trond.myklebust@primarydata.com>,
	Anna Schumaker <anna.schumaker@netapp.com>,
	Dave Chinner <david@fromorbit.com>,
	linux-ext4@vger.kernel.org, xfs@oss.sgi.com,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org,
	linux-api@vger.kernel.org
Subject: Re: [PATCH v14 04/22] vfs: Make the inode passed to inode_change_ok non-const
Date: Fri, 6 Nov 2015 14:04:07 -0700	[thread overview]
Message-ID: <A1B39E8C-4904-48D8-9CE6-2A464A5D476D@dilger.ca> (raw)
In-Reply-To: <1446723580-3747-5-git-send-email-agruenba@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 1710 bytes --]


> On Nov 5, 2015, at 4:39 AM, Andreas Gruenbacher <agruenba@redhat.com> wrote:
> 
> We will need to call iop->permission and iop->get_acl from
> inode_change_ok() for additional permission checks, and both take a
> non-const inode.

Seems unfortunate that those functions cannot themselves be changed to
take a const struct inode, but it doesn't look possible.

Reviewed-by: Andreas Dilger <adilger@dilger.ca>

> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
> Reviewed-by: J. Bruce Fields <bfields@redhat.com>
> ---
> fs/attr.c          | 2 +-
> include/linux/fs.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/attr.c b/fs/attr.c
> index 6530ced..328be71 100644
> --- a/fs/attr.c
> +++ b/fs/attr.c
> @@ -28,7 +28,7 @@
>  * Should be called as the first thing in ->setattr implementations,
>  * possibly after taking additional locks.
>  */
> -int inode_change_ok(const struct inode *inode, struct iattr *attr)
> +int inode_change_ok(struct inode *inode, struct iattr *attr)
> {
> 	unsigned int ia_valid = attr->ia_valid;
> 
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index 402acd7..aab32c8 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -2871,7 +2871,7 @@ extern int buffer_migrate_page(struct address_space *,
> #define buffer_migrate_page NULL
> #endif
> 
> -extern int inode_change_ok(const struct inode *, struct iattr *);
> +extern int inode_change_ok(struct inode *, struct iattr *);
> extern int inode_newsize_ok(const struct inode *, loff_t offset);
> extern void setattr_copy(struct inode *inode, const struct iattr *attr);
> 
> --
> 2.5.0
> 


Cheers, Andreas






[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Andreas Dilger <adilger@dilger.ca>
To: Andreas Gruenbacher <agruenba@redhat.com>
Cc: linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org,
	Theodore Ts'o <tytso@mit.edu>,
	linux-api@vger.kernel.org,
	Trond Myklebust <trond.myklebust@primarydata.com>,
	linux-kernel@vger.kernel.org, xfs@oss.sgi.com,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-fsdevel@vger.kernel.org,
	Jeff Layton <jlayton@poochiereds.net>,
	linux-ext4@vger.kernel.org,
	Anna Schumaker <anna.schumaker@netapp.com>
Subject: Re: [PATCH v14 04/22] vfs: Make the inode passed to inode_change_ok non-const
Date: Fri, 6 Nov 2015 14:04:07 -0700	[thread overview]
Message-ID: <A1B39E8C-4904-48D8-9CE6-2A464A5D476D@dilger.ca> (raw)
In-Reply-To: <1446723580-3747-5-git-send-email-agruenba@redhat.com>


[-- Attachment #1.1: Type: text/plain, Size: 1710 bytes --]


> On Nov 5, 2015, at 4:39 AM, Andreas Gruenbacher <agruenba@redhat.com> wrote:
> 
> We will need to call iop->permission and iop->get_acl from
> inode_change_ok() for additional permission checks, and both take a
> non-const inode.

Seems unfortunate that those functions cannot themselves be changed to
take a const struct inode, but it doesn't look possible.

Reviewed-by: Andreas Dilger <adilger@dilger.ca>

> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
> Reviewed-by: J. Bruce Fields <bfields@redhat.com>
> ---
> fs/attr.c          | 2 +-
> include/linux/fs.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/attr.c b/fs/attr.c
> index 6530ced..328be71 100644
> --- a/fs/attr.c
> +++ b/fs/attr.c
> @@ -28,7 +28,7 @@
>  * Should be called as the first thing in ->setattr implementations,
>  * possibly after taking additional locks.
>  */
> -int inode_change_ok(const struct inode *inode, struct iattr *attr)
> +int inode_change_ok(struct inode *inode, struct iattr *attr)
> {
> 	unsigned int ia_valid = attr->ia_valid;
> 
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index 402acd7..aab32c8 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -2871,7 +2871,7 @@ extern int buffer_migrate_page(struct address_space *,
> #define buffer_migrate_page NULL
> #endif
> 
> -extern int inode_change_ok(const struct inode *, struct iattr *);
> +extern int inode_change_ok(struct inode *, struct iattr *);
> extern int inode_newsize_ok(const struct inode *, loff_t offset);
> extern void setattr_copy(struct inode *inode, const struct iattr *attr);
> 
> --
> 2.5.0
> 


Cheers, Andreas






[-- Attachment #1.2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 121 bytes --]

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  parent reply	other threads:[~2015-11-06 21:04 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-05 11:39 [PATCH v14 00/22] Richacls (Core and Ext4) Andreas Gruenbacher
2015-11-05 11:39 ` Andreas Gruenbacher
2015-11-05 11:39 ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 01/22] vfs: Add IS_ACL() and IS_RICHACL() tests Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-06 20:40   ` Andreas Dilger
2015-11-06 20:40     ` Andreas Dilger
2015-11-05 11:39 ` [PATCH v14 02/22] vfs: Add MAY_CREATE_FILE and MAY_CREATE_DIR permission flags Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-06 20:58   ` Andreas Dilger
2015-11-06 20:58     ` Andreas Dilger
     [not found]     ` <ABAAFEBD-0C80-41A3-8D29-F2AB9BAF1823-m1MBpc4rdrD3fQ9qLvQP4Q@public.gmane.org>
2015-11-07 17:44       ` Andreas Gruenbacher
2015-11-07 17:44         ` Andreas Gruenbacher
2015-11-07 17:44         ` Andreas Gruenbacher
     [not found]         ` <1446918268-858-1-git-send-email-agruenba-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-11-08  8:18           ` Andreas Dilger
2015-11-08  8:18             ` Andreas Dilger
2015-11-08  8:18             ` Andreas Dilger
2015-11-05 11:39 ` [PATCH v14 03/22] vfs: Add MAY_DELETE_SELF and MAY_DELETE_CHILD " Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-06 21:26   ` Andreas Dilger
2015-11-06 21:26     ` Andreas Dilger
2015-11-07 20:47     ` Andreas Gruenbacher
2015-11-07 20:47       ` Andreas Gruenbacher
2015-11-06 21:26   ` Andreas Dilger
2015-11-06 21:26     ` Andreas Dilger
2015-11-05 11:39 ` [PATCH v14 04/22] vfs: Make the inode passed to inode_change_ok non-const Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
     [not found]   ` <1446723580-3747-5-git-send-email-agruenba-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-11-06 21:04     ` Andreas Dilger [this message]
2015-11-06 21:04       ` Andreas Dilger
2015-11-06 21:04       ` Andreas Dilger
     [not found] ` <1446723580-3747-1-git-send-email-agruenba-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-11-05 11:39   ` [PATCH v14 05/22] vfs: Add permission flags for setting file attributes Andreas Gruenbacher
2015-11-05 11:39     ` Andreas Gruenbacher
2015-11-05 11:39     ` Andreas Gruenbacher
2015-11-05 11:39   ` [PATCH v14 06/22] richacl: In-memory representation and helper functions Andreas Gruenbacher
2015-11-05 11:39     ` Andreas Gruenbacher
2015-11-05 11:39     ` Andreas Gruenbacher
2015-11-05 11:39   ` [PATCH v14 17/22] richacl: Automatic Inheritance Andreas Gruenbacher
2015-11-05 11:39     ` Andreas Gruenbacher
2015-11-05 11:39     ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 07/22] richacl: Permission mapping functions Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 08/22] richacl: Compute maximum file masks from an acl Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 09/22] richacl: Permission check algorithm Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 10/22] posix_acl: Unexport acl_by_type and make it static Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 11/22] vfs: Cache base_acl objects in inodes Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
     [not found]   ` <1446723580-3747-12-git-send-email-agruenba-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-11-08  8:06     ` Andreas Dilger
2015-11-08  8:06       ` Andreas Dilger
2015-11-08  8:06       ` Andreas Dilger
2015-11-05 11:39 ` [PATCH v14 12/22] vfs: Add get_richacl and set_richacl inode operations Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 13/22] vfs: Cache richacl in struct inode Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 14/22] richacl: Update the file masks in chmod() Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 15/22] richacl: Check if an acl is equivalent to a file mode Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 16/22] richacl: Create-time inheritance Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 18/22] richacl: xattr mapping functions Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 19/22] richacl: Add richacl xattr handler Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 20/22] vfs: Add richacl permission checking Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 21/22] ext4: Add richacl support Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-05 11:39 ` [PATCH v14 22/22] ext4: Add richacl feature flag Andreas Gruenbacher
2015-11-05 11:39   ` Andreas Gruenbacher
2015-11-08  8:12   ` Andreas Dilger
2015-11-08  8:12     ` Andreas Dilger

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=A1B39E8C-4904-48D8-9CE6-2A464A5D476D@dilger.ca \
    --to=adilger-m1mbpc4rdrd3fq9qlvqp4q@public.gmane.org \
    --cc=adilger.kernel-m1MBpc4rdrD3fQ9qLvQP4Q@public.gmane.org \
    --cc=agruenba-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=anna.schumaker-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org \
    --cc=bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org \
    --cc=david-FqsqvQoI3Ljby3iVrkZq2A@public.gmane.org \
    --cc=jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-ext4-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=trond.myklebust-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org \
    --cc=tytso-3s7WtUTddSA@public.gmane.org \
    --cc=viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org \
    --cc=xfs-VZNHf3L845pBDgjK7y7TUQ@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.