All of lore.kernel.org
 help / color / mirror / Atom feed
From: eparis@redhat.com (Eric Paris)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM/audit: use correct arch on audit_syscall_enter
Date: Tue, 21 Feb 2012 11:08:32 -0500	[thread overview]
Message-ID: <1329840512.2337.47.camel@localhost> (raw)
In-Reply-To: <20120221145822.GL19696@mudshark.cambridge.arm.com>

On Tue, 2012-02-21 at 14:58 +0000, Will Deacon wrote:
> Hi Eric,
> 
> On Tue, Feb 21, 2012 at 01:47:39PM +0000, Eric Paris wrote:
> > ARM has both LE and BE versions however the audit code was called as if
> > it was always BE.  If audit userspace were to try to interpret the bits
> > it got from a LE system it would obviously do so incorrectly.  Fix this
> > by using the right arch flag on the right system.
> > 
> > Signed-off-by: Eric Paris <eparis@redhat.com>
> > ---
> >  arch/arm/kernel/ptrace.c |    7 ++++++-
> >  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> It might be worth adding the #include <linux/audit.h> in this patch as well,
> since they're both fixes for problems introduced by the same commit. That
> way we only need to deal with one patch as well.

Doing that fixes two distinct bugs in one patch, which most subsystems
frown upon, but I guess your reason makes sense and we can be sure one
of them doesn't get lost.  I'll resend.

> > diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c
> > index e33870f..8009e84 100644
> > --- a/arch/arm/kernel/ptrace.c
> > +++ b/arch/arm/kernel/ptrace.c
> > @@ -915,10 +915,15 @@ asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno)
> >  	ip = regs->ARM_ip;
> >  	regs->ARM_ip = why;
> >  
> > +#ifdef __ARMEB__
> > +#define AUDIT_ARCH_NR AUDIT_ARCH_ARMEB
> > +#else
> > +#define AUDIT_ARCH_NR AUDIT_ARCH_ARM
> > +#endif
> 
> Pedantry, but I prefer the #defines outside of the function scope (I'd probably
> just stick them before the function given that they're not used anywhere else).

Fair enough.  Will do.

> >  	if (!ip)
> >  		audit_syscall_exit(regs);
> >  	else
> > -		audit_syscall_entry(AUDIT_ARCH_ARMEB, scno, regs->ARM_r0,
> > +		audit_syscall_entry(AUDIT_ARCH_NR, scno, regs->ARM_r0,
> >  				    regs->ARM_r1, regs->ARM_r2, regs->ARM_r3);
> >  
> >  	if (!test_thread_flag(TIF_SYSCALL_TRACE))
> 
> Cheers,
> 
> Will

      reply	other threads:[~2012-02-21 16:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-21 13:47 [PATCH] ARM/audit: use correct arch on audit_syscall_enter Eric Paris
2012-02-21 14:58 ` Will Deacon
2012-02-21 16:08   ` Eric Paris [this message]

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=1329840512.2337.47.camel@localhost \
    --to=eparis@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.