linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Dmitry V. Levin" <ldv@altlinux.org>
To: Mikko Rapeli <mikko.rapeli@iki.fi>
Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org,
	linux-omap@vger.kernel.org,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Aaro Koskinen <aaro.koskinen@iki.fi>
Subject: Re: [PATCH v06 19/36] uapi linux/omapfb.h: use __kernel_size_t instead of size_t
Date: Wed, 9 Aug 2017 02:11:58 +0300	[thread overview]
Message-ID: <20170808231158.GH10552@altlinux.org> (raw)
In-Reply-To: <20170806164428.2273-20-mikko.rapeli@iki.fi>

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

On Sun, Aug 06, 2017 at 06:44:10PM +0200, Mikko Rapeli wrote:
> Fixes userspace compilation error:
> 
> error: unknown type name ‘size_t’
> 
> Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi>
> Cc: linux-omap@vger.kernel.org
> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
> ---
>  include/uapi/linux/omapfb.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/uapi/linux/omapfb.h b/include/uapi/linux/omapfb.h
> index 7c97bc00ac6d..b637a924618f 100644
> --- a/include/uapi/linux/omapfb.h
> +++ b/include/uapi/linux/omapfb.h
> @@ -181,7 +181,7 @@ struct omapfb_memory_read {
>  	__u16 y;
>  	__u16 w;
>  	__u16 h;
> -	size_t buffer_size;
> +	__kernel_size_t buffer_size;
>  	void __user *buffer;
>  };

You generally cannot replace size_t with __kernel_size_t in a header that
affects x32, but this case is really bad one: the kernel treats
struct omapfb_memory_read.buffer_size as __kernel_size_t, while
x32 userspace treats it as size_t.  As result, the offset of
struct omapfb_memory_read.buffer on x32 is different between the kernel
and userspace.

In other words, the whole thing seems to be totally broken on x32 already
and it's not important whether you use __kernel_size_t or
__kernel_uapi_size_t as a type of struct omapfb_memory_read.buffer_size.

This deserves a word in the commit message, though.


-- 
ldv

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

  parent reply	other threads:[~2017-08-08 23:12 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-06 16:43 [PATCH v06 00/36] Userspace compile test and fixes for exported uapi header files Mikko Rapeli
2017-08-06 16:43 ` [PATCH v06 01/36] Add scripts/headers_compile_test.sh: compile test for exported uapi headers Mikko Rapeli
2017-08-06 16:43 ` [PATCH v06 02/36] uapi scsi/scsi_bsg_fc.h: use __u8, __u32 and __u64 from linux/types.h Mikko Rapeli
2017-08-06 16:43 ` [PATCH v06 03/36] uapi scsi/scsi_netlink.h: use __u8, __u16 " Mikko Rapeli
2017-08-06 16:43 ` [PATCH v06 04/36] uapi scsi/scsi_netlink_fc.h: use __u16, __u32 " Mikko Rapeli
2017-08-06 18:22   ` James Bottomley
2017-08-06 20:42     ` Mikko Rapeli
2017-08-06 22:09       ` James Bottomley
2017-08-07  6:08         ` Mikko Rapeli
2017-08-06 16:43 ` [PATCH v06 05/36] uapi linux/sysctl.h: use __kernel_size_t instead of size_t Mikko Rapeli
2017-08-08 22:34   ` Dmitry V. Levin
2017-08-09  7:18     ` Mikko Rapeli
2017-08-06 16:43 ` [PATCH v06 06/36] uapi asm-generic/ipcbuf.h: include linux/posix_types.h Mikko Rapeli
2017-08-06 16:43 ` [PATCH v06 07/36] uapi asm-generic/msgbuf.h: include asm/ipcbuf.h Mikko Rapeli
2017-08-06 16:43 ` [PATCH v06 08/36] uapi asm-generic/shmbuf.h: include fixes Mikko Rapeli
2017-08-08 22:42   ` Dmitry V. Levin
2017-08-06 16:44 ` [PATCH v06 09/36] uapi asm-generic/sembuf.h: include asm/posix_types.h and asm/ipcbuf.h Mikko Rapeli
2017-08-08 22:45   ` Dmitry V. Levin
2017-08-06 16:44 ` [PATCH v06 10/36] uapi asm-generic/signal.h: use __kernel_size_t instead of size_t Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 11/36] uapi asm-generic/ucontext.h: include asm/signal.h and asm/sigcontext.h Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 12/36] x86 uapi asm/signal.h: use __kernel_size_t instead of size_t Mikko Rapeli
2017-08-07 14:30   ` Arnd Bergmann
2017-08-08 22:50   ` Dmitry V. Levin
2017-08-06 16:44 ` [PATCH v06 13/36] x86 uapi asm/sembuf.h: include linux/types.h and linux/ipc.h Mikko Rapeli
2017-08-08 22:54   ` Dmitry V. Levin
2017-08-06 16:44 ` [PATCH v06 14/36] arm uapi asm/signal.h: include <stddef.h> for size_t in userspace Mikko Rapeli
2017-08-08 22:57   ` Dmitry V. Levin
2017-08-09 12:41     ` Arnd Bergmann
2017-08-09 12:52       ` Dmitry V. Levin
2017-08-06 16:44 ` [PATCH v06 15/36] uapi linux/socket.h: include sys/socket.h in user space Mikko Rapeli
2017-08-08 23:00   ` Dmitry V. Levin
2017-08-09 12:32     ` Arnd Bergmann
2017-08-06 16:44 ` [PATCH v06 16/36] uapi linux/dlm_netlink.h: include linux/dlmconstants.h Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 17/36] uapi linux/sctp.h: use __u8, __u16 and __u32 from linux/types.h Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 18/36] uapi linux/errqueue.h: include linux/time.h in user space Mikko Rapeli
2017-08-06 20:23   ` Willem de Bruijn
2017-08-06 20:26     ` Willem de Bruijn
2017-08-06 20:58       ` Mikko Rapeli
2017-08-06 20:56     ` Mikko Rapeli
2017-08-06 21:24       ` Willem de Bruijn
2017-08-06 21:33         ` Mikko Rapeli
2017-08-06 21:42           ` Willem de Bruijn
2017-08-06 21:52             ` Mikko Rapeli
2017-08-06 22:03               ` Willem de Bruijn
2017-08-06 16:44 ` [PATCH v06 19/36] uapi linux/omapfb.h: use __kernel_size_t instead of size_t Mikko Rapeli
2017-08-07 15:00   ` Arnd Bergmann
2017-08-08 23:11   ` Dmitry V. Levin [this message]
2017-08-06 16:44 ` [PATCH v06 20/36] uapi linux/scc.h: include linux/sockios.h Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 21/36] uapi linux/kexec.h: use __kernel_size_t instead of size_t Mikko Rapeli
2017-08-07 15:12   ` Arnd Bergmann
2017-08-08 23:15   ` Dmitry V. Levin
2017-08-06 16:44 ` [PATCH v06 22/36] uapi linux/reiserfs_xattr.h: " Mikko Rapeli
2017-08-08 23:17   ` Dmitry V. Levin
2017-08-06 16:44 ` [PATCH v06 23/36] uapi linux/coda.h: use __kernel_pid_t and add u_short etc definitions for userspace Mikko Rapeli
2017-08-07 15:06   ` Arnd Bergmann
2017-08-06 16:44 ` [PATCH v06 24/36] uapi linux/coda_psdev.h: move upc_req definition from uapi to kernel side headers Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 25/36] uapi linux/android/binder.h: use __kernel_pid_t and __kernel_uid_t Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 26/36] uapi xen/privcmd.h: fix compilation in userspace Mikko Rapeli
2017-08-15 22:58   ` [Xen-devel] " Stefano Stabellini
2017-08-06 16:44 ` [PATCH v06 27/36] uapi xen/gntdev.h: include xen/privcmd.h and define grant_ref_t Mikko Rapeli
2017-08-21 13:33   ` Juergen Gross
2017-08-21 14:31     ` Boris Ostrovsky
2017-08-21 14:46       ` Juergen Gross
2017-08-21 14:59         ` Boris Ostrovsky
2017-08-06 16:44 ` [PATCH v06 28/36] uapi xen/evtchn.h: include xen/privcmd.h Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 29/36] uapi linux/elfcore.h: remove non-compiling userspace parts Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 30/36] uapi rdma/rdma_user_rxe.h: include in.h and in6.h Mikko Rapeli
2017-08-08 23:13   ` Jason Gunthorpe
2017-08-09 13:48     ` Moni Shoua
2017-08-09 15:52       ` Jason Gunthorpe
2017-08-10  2:47         ` Dmitry V. Levin
2017-08-10 16:19           ` Jason Gunthorpe
2017-08-06 16:44 ` [PATCH v06 31/36] uapi linux/patchkey.h: change #error to #warning if file included directly Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 32/36] uapi drm/armada_drm.h: use __u32 and __u64 instead of uint32_t and uint64_t Mikko Rapeli
2017-08-07  9:47   ` Daniel Vetter
2017-08-06 16:44 ` [PATCH v06 33/36] uapi linux/fsmap.h: use __kernel_size_t instead of size_t Mikko Rapeli
2017-08-07 15:54   ` Darrick J. Wong
2017-08-07 16:01     ` Arnd Bergmann
2017-08-07 16:45       ` Darrick J. Wong
2017-08-07 20:20         ` Arnd Bergmann
2017-08-08 23:08           ` Darrick J. Wong
2017-08-09  8:24             ` Arnd Bergmann
2017-08-06 16:44 ` [PATCH v06 34/36] uapi: break dependency loop between <linux/hdlc/ioctl.h> and <linux/if.h> Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 35/36] uapi linux/tls.h: don't include <net/tcp.h> in user space Mikko Rapeli
2017-08-08 23:25   ` Dmitry V. Levin
2017-09-04 16:15     ` Dmitry V. Levin
2017-09-18 12:57       ` Mikko Rapeli
2017-08-06 16:44 ` [PATCH v06 36/36] uapi linux/kfd_ioctl.h: use __u32 and __u64 instead of uint32_t and uint64_t Mikko Rapeli
2017-08-07 15:01   ` Arnd Bergmann
2017-09-02 12:30     ` Oded Gabbay

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=20170808231158.GH10552@altlinux.org \
    --to=ldv@altlinux.org \
    --cc=aaro.koskinen@iki.fi \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mikko.rapeli@iki.fi \
    --cc=tomi.valkeinen@ti.com \
    /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).