linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Dave Chinner <david@fromorbit.com>,
	linux-xfs@vger.kernel.org,
	Allison Collins <allison.henderson@oracle.com>
Subject: Re: [PATCH 23/31] xfs: properly type the buffer field in struct xfs_fsop_attrlist_handlereq
Date: Tue, 18 Feb 2020 16:58:47 -0800	[thread overview]
Message-ID: <20200219005847.GG9506@magnolia> (raw)
In-Reply-To: <20200218153924.GB21780@lst.de>

On Tue, Feb 18, 2020 at 04:39:24PM +0100, Christoph Hellwig wrote:
> On Tue, Feb 18, 2020 at 10:53:16AM +1100, Dave Chinner wrote:
> > > diff --git a/fs/xfs/libxfs/xfs_fs.h b/fs/xfs/libxfs/xfs_fs.h
> > > index ae77bcd8c05b..21920f613d42 100644
> > > --- a/fs/xfs/libxfs/xfs_fs.h
> > > +++ b/fs/xfs/libxfs/xfs_fs.h
> > > @@ -597,7 +597,7 @@ typedef struct xfs_fsop_attrlist_handlereq {
> > >  	struct xfs_attrlist_cursor	pos; /* opaque cookie, list offset */
> > >  	__u32				flags;	/* which namespace to use */
> > >  	__u32				buflen;	/* length of buffer supplied */
> > > -	void				__user *buffer;	/* returned names */
> > > +	struct xfs_attrlist __user	*buffer;/* returned names */
> > >  } xfs_fsop_attrlist_handlereq_t;
> > 
> > This changes the userspace API, right? So, in theory, it could break
> > compilation of userspace applications that treat it as an attrlist_t
> > and don't specifically cast the assignment because it's currently
> > a void pointer?
> 
> IFF userspace was using this header it would change the API.  But
> userspace uses the libattr definition exclusively.

Assuming most userspace will use libhandle (and not call the ioctl
directly) then this "shouldn't" be a problem because libhandle treats
the attrlist buffer as a void pointer.

(I dunno, how difficult /is/ it to say "program to the library, not the
kernel ABI" here?)

--D

  reply	other threads:[~2020-02-19  0:58 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-17 12:59 clean up the attr interface v4 Christoph Hellwig
2020-02-17 12:59 ` [PATCH 01/31] xfs: reject invalid flags combinations in XFS_IOC_ATTRLIST_BY_HANDLE Christoph Hellwig
2020-02-17 21:48   ` Dave Chinner
2020-02-19  0:49     ` Darrick J. Wong
2020-02-17 12:59 ` [PATCH 02/31] xfs: remove the ATTR_INCOMPLETE flag Christoph Hellwig
2020-02-17 21:51   ` Dave Chinner
2020-02-18 15:19     ` Christoph Hellwig
2020-02-17 12:59 ` [PATCH 03/31] xfs: merge xfs_attr_remove into xfs_attr_set Christoph Hellwig
2020-02-17 22:02   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 04/31] xfs: merge xfs_attrmulti_attr_remove into xfs_attrmulti_attr_set Christoph Hellwig
2020-02-17 22:04   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 05/31] xfs: use strndup_user in XFS_IOC_ATTRMULTI_BY_HANDLE Christoph Hellwig
2020-02-17 22:15   ` Dave Chinner
2020-02-18 15:24     ` Christoph Hellwig
2020-02-19  0:38       ` Darrick J. Wong
2020-02-19  4:03         ` Dave Chinner
2020-02-17 12:59 ` [PATCH 06/31] xfs: factor out a helper for a single XFS_IOC_ATTRMULTI_BY_HANDLE op Christoph Hellwig
2020-02-17 22:28   ` Dave Chinner
2020-02-18 15:28     ` Christoph Hellwig
2020-02-17 12:59 ` [PATCH 07/31] xfs: remove the name == NULL check from xfs_attr_args_init Christoph Hellwig
2020-02-17 22:29   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 08/31] xfs: remove the MAXNAMELEN " Christoph Hellwig
2020-02-17 22:29   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 09/31] xfs: move struct xfs_da_args to xfs_types.h Christoph Hellwig
2020-02-17 12:59 ` [PATCH 10/31] xfs: turn xfs_da_args.value into a void pointer Christoph Hellwig
2020-02-17 12:59 ` [PATCH 11/31] xfs: pass an initialized xfs_da_args structure to xfs_attr_set Christoph Hellwig
2020-02-17 12:59 ` [PATCH 12/31] xfs: pass an initialized xfs_da_args to xfs_attr_get Christoph Hellwig
2020-02-17 12:59 ` [PATCH 13/31] xfs: remove the xfs_inode argument to xfs_attr_get_ilocked Christoph Hellwig
2020-02-17 23:06   ` Dave Chinner
2020-02-18 15:30     ` Christoph Hellwig
2020-02-17 12:59 ` [PATCH 14/31] xfs: remove ATTR_KERNOVAL Christoph Hellwig
2020-02-17 23:06   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 15/31] xfs: remove ATTR_ALLOC and XFS_DA_OP_ALLOCVAL Christoph Hellwig
2020-02-17 23:09   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 16/31] xfs: replace ATTR_KERNOTIME with XFS_DA_OP_NOTIME Christoph Hellwig
2020-02-17 23:21   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 17/31] xfs: factor out a xfs_attr_match helper Christoph Hellwig
2020-02-17 23:23   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 18/31] xfs: cleanup struct xfs_attr_list_context Christoph Hellwig
2020-02-17 23:25   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 19/31] xfs: remove the unused ATTR_ENTRY macro Christoph Hellwig
2020-02-17 23:25   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 20/31] xfs: open code ATTR_ENTSIZE Christoph Hellwig
2020-02-17 23:32   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 21/31] xfs: move the legacy xfs_attr_list to xfs_ioctl.c Christoph Hellwig
2020-02-17 23:41   ` Dave Chinner
2020-02-18 15:38     ` Christoph Hellwig
2020-02-17 12:59 ` [PATCH 22/31] xfs: rename xfs_attr_list_int to xfs_attr_list Christoph Hellwig
2020-02-17 23:42   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 23/31] xfs: properly type the buffer field in struct xfs_fsop_attrlist_handlereq Christoph Hellwig
2020-02-17 23:53   ` Dave Chinner
2020-02-18 15:39     ` Christoph Hellwig
2020-02-19  0:58       ` Darrick J. Wong [this message]
2020-02-19  4:10         ` Dave Chinner
2020-02-17 12:59 ` [PATCH 24/31] xfs: lift common checks into xfs_ioc_attr_list Christoph Hellwig
2020-02-17 23:47   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 25/31] xfs: lift buffer allocation " Christoph Hellwig
2020-02-17 23:55   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 26/31] xfs: lift cursor copy in/out " Christoph Hellwig
2020-02-18  0:03   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 27/31] xfs: improve xfs_forget_acl Christoph Hellwig
2020-02-18  1:58   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 28/31] xfs: clean up the ATTR_REPLACE checks Christoph Hellwig
2020-02-18  2:06   ` Dave Chinner
2020-02-18 15:41     ` Christoph Hellwig
2020-02-17 12:59 ` [PATCH 29/31] xfs: clean up the attr flag confusion Christoph Hellwig
2020-02-17 12:59 ` [PATCH 30/31] xfs: remove XFS_DA_OP_INCOMPLETE Christoph Hellwig
2020-02-18  2:23   ` Dave Chinner
2020-02-18 15:48     ` Christoph Hellwig
2020-02-19  0:47       ` Darrick J. Wong
2020-02-19  6:53         ` Dave Chinner
2020-02-17 12:59 ` [PATCH 31/31] xfs: embedded the attrlist cursor into struct xfs_attr_list_context Christoph Hellwig
2020-02-18  2:24   ` Dave Chinner
2020-02-19  0:48 ` clean up the attr interface v4 Darrick J. Wong

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=20200219005847.GG9506@magnolia \
    --to=darrick.wong@oracle.com \
    --cc=allison.henderson@oracle.com \
    --cc=david@fromorbit.com \
    --cc=hch@lst.de \
    --cc=linux-xfs@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).