From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754788Ab3L0R0h (ORCPT ); Fri, 27 Dec 2013 12:26:37 -0500 Received: from mail-yh0-f53.google.com ([209.85.213.53]:35012 "EHLO mail-yh0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754715Ab3L0RZf (ORCPT ); Fri, 27 Dec 2013 12:25:35 -0500 From: "H.J. Lu" To: "H. Peter Anvin" , LKML Cc: "H.J. Lu" Subject: [PATCH 8/8] Use __kernel_long_t in struct mq_attr Date: Fri, 27 Dec 2013 09:25:12 -0800 Message-Id: <1388165112-6545-9-git-send-email-hjl.tools@gmail.com> X-Mailer: git-send-email 1.8.4.2 In-Reply-To: <1388165112-6545-1-git-send-email-hjl.tools@gmail.com> References: <1388165112-6545-1-git-send-email-hjl.tools@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Both x32 and x86-64 use the same struct mq_attr for system calls. But x32 long is 32-bit. This patch replaces long with __kernel_long_t in struct mq_attr if __BITS_PER_LONG == 64. Signed-off-by: H.J. Lu --- include/uapi/linux/mqueue.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/include/uapi/linux/mqueue.h b/include/uapi/linux/mqueue.h index 8b5a796..03bf30e 100644 --- a/include/uapi/linux/mqueue.h +++ b/include/uapi/linux/mqueue.h @@ -23,11 +23,19 @@ #define MQ_BYTES_MAX 819200 struct mq_attr { - long mq_flags; /* message queue flags */ - long mq_maxmsg; /* maximum number of messages */ - long mq_msgsize; /* maximum message size */ - long mq_curmsgs; /* number of messages currently queued */ - long __reserved[4]; /* ignored for input, zeroed for output */ +#if __BITS_PER_LONG == 64 + __kernel_long_t mq_flags; /* message queue flags */ + __kernel_long_t mq_maxmsg; /* maximum number of messages */ + __kernel_long_t mq_msgsize; /* maximum message size */ + __kernel_long_t mq_curmsgs; /* number of messages currently queued */ + __kernel_long_t __reserved[4]; /* ignored for input, zeroed for output */ +#else + long mq_flags; /* message queue flags */ + long mq_maxmsg; /* maximum number of messages */ + long mq_msgsize; /* maximum message size */ + long mq_curmsgs; /* number of messages currently queued */ + long __reserved[4]; /* ignored for input, zeroed for output */ +#endif }; /* -- 1.8.4.2