lkml.org 
[lkml]   [2014]   [Feb]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.11 126/233] audit: correct a type mismatch in audit_syscall_exit()
    Date
    3.11.10.4 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: AKASHI Takahiro <takahiro.akashi@linaro.org>

    commit 06bdadd7634551cfe8ce071fe44d0311b3033d9e upstream.

    audit_syscall_exit() saves a result of regs_return_value() in intermediate
    "int" variable and passes it to __audit_syscall_exit(), which expects its
    second argument as a "long" value. This will result in truncating the
    value returned by a system call and making a wrong audit record.

    I don't know why gcc compiler doesn't complain about this, but anyway it
    causes a problem at runtime on arm64 (and probably most 64-bit archs).

    Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Eric Paris <eparis@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
    ---
    include/linux/audit.h | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/include/linux/audit.h b/include/linux/audit.h
    index 729a4d1..4fb28b2 100644
    --- a/include/linux/audit.h
    +++ b/include/linux/audit.h
    @@ -135,7 +135,7 @@ static inline void audit_syscall_exit(void *pt_regs)
    {
    if (unlikely(current->audit_context)) {
    int success = is_syscall_success(pt_regs);
    - int return_code = regs_return_value(pt_regs);
    + long return_code = regs_return_value(pt_regs);

    __audit_syscall_exit(success, return_code);
    }
    --
    1.8.3.2


    \
     
     \ /
      Last update: 2014-02-07 13:41    [W:2.420 / U:0.736 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site