Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp4104532imm; Wed, 5 Sep 2018 10:45:35 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZOXVVSZNJZBui53RQJDVGuDOuuJN2QetADPxW6RmFsCpfj7H1ImcOMjth3OwLSqKX23Abf X-Received: by 2002:a62:f208:: with SMTP id m8-v6mr41638155pfh.222.1536169535149; Wed, 05 Sep 2018 10:45:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536169535; cv=none; d=google.com; s=arc-20160816; b=DnFXOhZEQCd+abAMX6InR4r4fvDPlBEgxJzUuHbpbIDjMvLgfIDWNnom1f6A4oPJBK HE7ltPEKHizS9vx/MhTbB7BWrepIyFDlbQnG/atu0pYoM8pS4caIHVoM3e/A5VdZLQno pxiBIJJUyq5T4LfYvu+anzoMnqMj24HZANcGvRgLRYnbcMvG1kDvLyqxZ3EI29mde5SC hxkRy57gqu1HZBY9JPQoYU+SRfMcOCh5zwJt01Wi3FEVvsvhS4RbabCpU7vB5wrQYX4H j6exYS//GxoI11d++SSxJZ8YcM5tVHIe81DCt6Hgcv3f2vPevBQeGVomFOLk2AQsGcdg 2UZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:subject:content-transfer-encoding :mime-version:organization:references:in-reply-to:date:cc:to:from :message-id; bh=9tdiYmOitYD5F74QRAEbuU4FFSKdrHJfR0TlFFPwQWI=; b=DYny97e3OGHZI73o95zi8f74xdqYQ7kyyhsBPXkUxWaZTo60b8/zExNFXOBLO2Z9Do Co8bkvL5woV1D5PxNkDH6A9/hvZXDB30bS2GcpSJjTiQ+LYu7onsbzvzvCoh5FcFL3jZ 2bahhMcNo52dADVW6u65CG8JCx6LPylG9fXvO8oy6WAESeGTK3kmjHOyYeiCoijR/g/b CZ2/Lok9HJ3JgZXnnBYYedlptSDmG+TXDMMrH2w5Z6fdZu05ojPApnXbGAzFyj5WpXnd KB0FAilxavUiBPi6GN4g1sfnYww/jyZSF7N9TcZatloM6kSH7TBHYhHiDwQSDfDdDghr lHqQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g4-v6si2285552pll.384.2018.09.05.10.45.19; Wed, 05 Sep 2018 10:45:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727740AbeIEWOr (ORCPT + 99 others); Wed, 5 Sep 2018 18:14:47 -0400 Received: from ou.quest-ce.net ([195.154.187.82]:42241 "EHLO ou.quest-ce.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726497AbeIEWOr (ORCPT ); Wed, 5 Sep 2018 18:14:47 -0400 Received: from [37.169.125.128] (helo=test.quest-ce.net) by ou.quest-ce.net with esmtpsa (TLS1.1:RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1fxbMB-000DEW-Cb; Wed, 05 Sep 2018 19:12:43 +0200 Message-ID: <1c57005277ac723ebb670a1dc847a205f0529d53.camel@opteya.com> From: Yann Droneaud To: David Howells , linux-api@vger.kernel.org, linux-kbuild@vger.kernel.org Cc: Jan Harkes , coda@cs.cmu.edu, codalist@coda.cs.cmu.edu, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Date: Wed, 05 Sep 2018 19:12:37 +0200 In-Reply-To: <153616291029.23468.16421004714304578585.stgit@warthog.procyon.org.uk> References: <153616286704.23468.584491117180383924.stgit@warthog.procyon.org.uk> <153616291029.23468.16421004714304578585.stgit@warthog.procyon.org.uk> Organization: OPTEYA Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5 (3.28.5-1.fc28) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 37.169.125.128 X-SA-Exim-Mail-From: ydroneaud@opteya.com X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on ou.quest-ce.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, URIBL_BLOCKED autolearn=ham version=3.3.2 Subject: Re: [PATCH 05/11] UAPI: coda: Don't use internal kernel structs in UAPI X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000) X-SA-Exim-Scanned: Yes (on ou.quest-ce.net) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > cc: Jan Harkes > 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 . > #define CODA_REQ_ASYNC 0x1 > All CODA_REQ_* defines internals to kernel side and not exchanged with userspace. Please move them back to Regards. -- Yann Droneaud OPTEYA