From: Yann Droneaud <ydroneaud@opteya.com> To: David Howells <dhowells@redhat.com>, linux-api@vger.kernel.org, linux-kbuild@vger.kernel.org Cc: Jan Harkes <jaharkes@cs.cmu.edu>, coda@cs.cmu.edu, codalist@coda.cs.cmu.edu, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 05/11] UAPI: coda: Don't use internal kernel structs in UAPI Date: Wed, 05 Sep 2018 19:12:37 +0200 [thread overview] Message-ID: <1c57005277ac723ebb670a1dc847a205f0529d53.camel@opteya.com> (raw) In-Reply-To: <153616291029.23468.16421004714304578585.stgit@warthog.procyon.org.uk> Le mercredi 05 septembre 2018 à 16:55 +0100, David Howells a écrit : > The size and layout of internal kernel structures may not be relied > upon outside of the kernel and may even change in a containerised > environment if a container image is frozen and shifted to another > machine. > > Excise these from Coda's upc_req struct. > > Signed-off-by: David Howells <dhowells@redhat.com> > cc: Jan Harkes <jaharkes@cs.cmu.edu> > cc: coda@cs.cmu.edu > cc: codalist@coda.cs.cmu.edu > cc: linux-fsdevel@vger.kernel.org > --- > > include/uapi/linux/coda_psdev.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/uapi/linux/coda_psdev.h b/include/uapi/linux/coda_psdev.h > index aa6623efd2dd..9c3acde393cd 100644 > --- a/include/uapi/linux/coda_psdev.h > +++ b/include/uapi/linux/coda_psdev.h > @@ -10,14 +10,18 @@ > > /* messages between coda filesystem in kernel and Venus */ > struct upc_req { > +#ifdef __KERNEL__ > struct list_head uc_chain; > +#endif > caddr_t uc_data; > u_short uc_flags; > u_short uc_inSize; /* Size is at most 5000 bytes */ > u_short uc_outSize; > u_short uc_opcode; /* copied from data to save lookup */ > int uc_unique; > +#ifdef __KERNEL__ > wait_queue_head_t uc_sleep; /* process' wait queue */ > +#endif > }; > This structure should not have been exposed to userspace in the first place: it's unusable by userspace as it is. It was incorrect to have it outside of #ifdef __KERNEL__ before commit 607ca46e97a1b ... ... and it's not exchanged between kernel and userspace, see coda_psdev_write(): struct upc_req *req = NULL; ... if (copy_from_user(req->uc_data, buf, nbytes)) { req->uc_flags |= CODA_REQ_ABORT; wake_up(&req->uc_sleep); retval = -EFAULT; goto out; } Only data, a caddr_t, is read from userspace. So the structure can be moved back to <linux/coda_psdev.h>. > #define CODA_REQ_ASYNC 0x1 > All CODA_REQ_* defines internals to kernel side and not exchanged with userspace. Please move them back to <linux/coda_psdev.h> Regards. -- Yann Droneaud OPTEYA
next prev parent reply other threads:[~2018-09-05 17:43 UTC|newest] Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-09-05 15:54 [RFC] UAPI: Check headers by compiling all together as C++ David Howells 2018-09-05 15:54 ` David Howells 2018-09-05 15:54 ` David Howells 2018-09-05 15:54 ` David Howells 2018-09-05 15:54 ` David Howells 2018-09-05 15:54 ` [PATCH 01/11] UAPI: drm: Fix use of C++ keywords as structural members David Howells 2018-09-05 15:54 ` David Howells 2018-09-05 15:54 ` [PATCH 02/11] UAPI: keys: " David Howells 2018-09-05 15:54 ` David Howells 2018-09-05 15:54 ` [PATCH 03/11] UAPI: virtio_net: " David Howells 2018-09-05 16:54 ` Greg KH 2018-09-05 16:54 ` Greg KH 2018-09-05 17:15 ` David Howells 2018-09-05 17:15 ` David Howells 2018-09-05 17:35 ` Michael S. Tsirkin 2018-09-05 17:35 ` Michael S. Tsirkin 2018-09-06 7:09 ` David Howells 2018-09-06 7:09 ` David Howells 2018-09-06 14:36 ` Michael S. Tsirkin 2018-09-06 14:36 ` Michael S. Tsirkin 2018-09-05 15:54 ` David Howells 2018-09-05 15:55 ` [PATCH 04/11] UAPI: bcache: Fix use of embedded flexible array David Howells 2018-10-02 14:52 ` Jan Engelhardt 2018-10-09 15:41 ` David Howells 2018-10-09 16:54 ` Jan Engelhardt 2018-09-05 15:55 ` [PATCH 05/11] UAPI: coda: Don't use internal kernel structs in UAPI David Howells 2018-09-05 16:54 ` Jan Harkes 2018-09-05 17:12 ` Yann Droneaud [this message] 2018-09-05 17:28 ` Jan Harkes 2018-09-05 17:28 ` Jan Harkes 2018-09-05 17:24 ` David Howells 2018-09-06 7:13 ` David Howells 2018-09-06 11:52 ` Yann Droneaud 2018-09-06 12:16 ` Jan Harkes 2018-09-06 12:16 ` Jan Harkes 2018-09-06 14:53 ` David Howells 2018-09-05 15:55 ` [PATCH 06/11] UAPI: netfilter: Fix symbol collision issues David Howells 2018-09-05 15:55 ` [PATCH 07/11] UAPI: nilfs2: Fix use of undefined byteswapping functions David Howells 2018-09-05 22:20 ` Al Viro 2018-09-05 15:55 ` [PATCH 08/11] UAPI: sound: Fix use of u32 and co. in UAPI headers David Howells 2018-09-05 15:55 ` David Howells 2018-09-06 5:59 ` Takashi Sakamoto 2018-09-06 5:59 ` Takashi Sakamoto 2018-09-06 8:17 ` David Howells 2018-09-05 15:55 ` [PATCH 09/11] UAPI: ndctl: Fix g++-unsupported initialisation in headers David Howells 2018-09-05 15:55 ` David Howells 2018-09-05 15:55 ` David Howells 2018-09-05 15:55 ` [PATCH 10/11] UAPI: ndctl: Remove use of PAGE_SIZE David Howells 2018-09-05 15:55 ` David Howells 2018-09-05 15:55 ` [PATCH 11/11] UAPI: Check headers build for C++ David Howells 2018-09-05 16:55 ` [RFC] UAPI: Check headers by compiling all together as C++ Greg KH 2018-09-05 16:55 ` Greg KH 2018-09-05 16:55 ` Greg KH 2018-09-05 16:55 ` Greg KH 2018-09-05 16:55 ` Greg KH 2018-09-05 17:33 ` Yann Droneaud 2018-09-05 17:33 ` Yann Droneaud 2018-09-05 17:33 ` Yann Droneaud 2018-09-05 17:33 ` Yann Droneaud 2018-09-05 17:42 ` Michael S. Tsirkin 2018-09-05 17:42 ` Michael S. Tsirkin 2018-09-05 17:42 ` Michael S. Tsirkin 2018-09-05 17:42 ` Michael S. Tsirkin 2018-09-05 17:42 ` Michael S. Tsirkin 2018-09-05 17:42 ` Michael S. Tsirkin 2018-09-05 17:42 ` Michael S. Tsirkin 2018-09-06 7:12 ` Yann Droneaud 2018-09-06 7:12 ` Yann Droneaud 2018-09-06 7:12 ` Yann Droneaud 2018-09-06 7:12 ` Yann Droneaud 2018-09-05 19:22 ` Jan Engelhardt 2018-09-05 19:22 ` Jan Engelhardt 2018-09-05 19:22 ` Jan Engelhardt 2018-09-05 19:22 ` Jan Engelhardt 2018-09-05 19:22 ` Jan Engelhardt 2018-09-05 17:50 ` David Howells 2018-09-05 17:50 ` David Howells 2018-09-05 17:50 ` David Howells 2018-09-06 9:18 David Howells 2018-09-06 9:18 ` David Howells 2018-09-06 9:18 ` David Howells 2018-09-06 9:18 ` David Howells 2018-09-06 9:18 ` David Howells [not found] ` <153622549721.14298.8116794954073122489.stgit-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org> 2018-09-06 9:18 ` [PATCH 01/11] UAPI: drm: Fix use of C++ keywords as structural members [ver #2] David Howells 2018-09-06 9:18 ` David Howells 2018-09-06 9:18 ` [PATCH 02/11] UAPI: keys: " David Howells 2018-09-06 9:18 ` David Howells 2018-09-06 9:18 ` [PATCH 03/11] UAPI: virtio_net: " David Howells 2018-09-06 15:02 ` Michael S. Tsirkin 2018-09-06 15:02 ` Michael S. Tsirkin 2018-09-06 9:18 ` David Howells 2018-09-06 9:18 ` [PATCH 04/11] UAPI: bcache: Fix use of embedded flexible array " David Howells 2018-09-06 9:18 ` [PATCH 05/11] UAPI: coda: Move kernel internals out of public view " David Howells 2018-09-06 9:18 ` David Howells 2018-09-06 9:19 ` [PATCH 06/11] coda: Move internal defs out of include/linux/ " David Howells 2018-09-06 9:19 ` [PATCH 07/11] UAPI: netfilter: Fix symbol collision issues " David Howells 2018-09-10 17:32 ` kbuild test robot 2018-09-10 17:32 ` kbuild test robot 2018-09-10 17:32 ` kbuild test robot 2018-09-28 13:07 ` [netfilter-core] " Pablo Neira Ayuso 2018-10-09 15:35 ` David Howells 2018-09-06 9:19 ` [PATCH 08/11] UAPI: nilfs2: Fix use of undefined byteswapping functions " David Howells 2018-09-06 9:19 ` [PATCH 09/11] UAPI: ndctl: Fix g++-unsupported initialisation in headers " David Howells 2018-09-06 9:19 ` David Howells 2018-09-06 9:19 ` David Howells 2018-09-25 20:22 ` Dan Williams 2018-09-25 20:22 ` Dan Williams 2018-09-25 20:22 ` Dan Williams 2018-09-06 9:19 ` [PATCH 10/11] UAPI: ndctl: Remove use of PAGE_SIZE " David Howells 2018-09-06 9:19 ` David Howells 2018-09-06 9:19 ` David Howells 2018-09-25 20:17 ` Dan Williams 2018-09-25 20:17 ` Dan Williams 2018-09-25 20:17 ` Dan Williams 2018-10-09 15:36 ` David Howells 2018-10-09 15:36 ` David Howells 2018-09-06 9:19 ` [PATCH 11/11] UAPI: Check headers build for C++ " David Howells 2018-09-10 16:26 ` kbuild test robot 2018-09-10 16:26 ` kbuild test robot 2018-09-10 16:26 ` kbuild test robot 2018-09-10 17:02 ` kbuild test robot 2018-09-10 17:02 ` kbuild test robot 2018-09-10 17:02 ` kbuild test robot 2018-09-14 9:10 ` Arnd Bergmann
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=1c57005277ac723ebb670a1dc847a205f0529d53.camel@opteya.com \ --to=ydroneaud@opteya.com \ --cc=coda@cs.cmu.edu \ --cc=codalist@coda.cs.cmu.edu \ --cc=dhowells@redhat.com \ --cc=jaharkes@cs.cmu.edu \ --cc=linux-api@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kbuild@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --subject='Re: [PATCH 05/11] UAPI: coda: Don'\''t use internal kernel structs in UAPI' \ /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
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.