lkml.org 
[lkml]   [2012]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 3/3] ipc: compat: use signed size_t types for msgsnd and msgrcv
    On 7/11/2012 11:32 AM, Will Deacon wrote:
    > The msgsnd and msgrcv system calls use size_t to represent the size of
    > the message being transferred. POSIX states that values of msgsz greater
    > than SSIZE_MAX cause the result to be implementation-defined. On Linux,
    > this equates to returning -EINVAL if (long) msgsz < 0.
    >
    > For compat tasks where !CONFIG_ARCH_WANT_OLD_COMPAT_IPC and
    > compat_size_t is smaller than size_t, negative size values passed from
    > userspace will be interpreted as positive values by do_msg{rcv,snd} and
    > will fail to exit early with -EINVAL.
    >
    > This patch changes the compat prototypes for msg{rcv,snd} so that the
    > message size is represented as a compat_ssize_t, which we cast to the
    > native ssize_t type for the core IPC code.
    >
    > Cc: Arnd Bergmann <arnd@arndb.de>
    > Acked-by: Catalin Marinas <catalin.marinas@arm.com>
    > Signed-off-by: Will Deacon <will.deacon@arm.com>
    > ---
    > include/linux/compat.h | 4 ++--
    > ipc/compat.c | 8 ++++----
    > 2 files changed, 6 insertions(+), 6 deletions(-)

    Acked-by: Chris Metcalf <cmetcalf@tilera.com>

    --
    Chris Metcalf, Tilera Corp.
    http://www.tilera.com





    \
     
     \ /
      Last update: 2012-07-11 18:41    [W:3.017 / U:0.284 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site