]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/sh/kernel/entry-common.S
sh: syscall audit support.
[karo-tx-linux.git] / arch / sh / kernel / entry-common.S
index e0317ed080c3402d870ab51c75dd34853f73b797..397ac71d97f1ada251c6c030ad39b4e795f3f480 100644 (file)
@@ -224,7 +224,7 @@ work_resched:
 syscall_exit_work:
        ! r0: current_thread_info->flags
        ! r8: current_thread_info
-       tst     #_TIF_SYSCALL_TRACE | _TIF_SINGLESTEP, r0
+       tst     #_TIF_SYSCALL_TRACE | _TIF_SINGLESTEP | _TIF_SYSCALL_AUDIT, r0
        bt/s    work_pending
         tst    #_TIF_NEED_RESCHED, r0
 #ifdef CONFIG_TRACE_IRQFLAGS
@@ -234,6 +234,8 @@ syscall_exit_work:
 #endif
        sti
        ! XXX setup arguments...
+       mov     r15, r4
+       mov     #1, r5
        mov.l   4f, r0                  ! do_syscall_trace
        jsr     @r0
         nop
@@ -244,6 +246,8 @@ syscall_exit_work:
 syscall_trace_entry:
        !                       Yes it is traced.
        ! XXX setup arguments...
+       mov     r15, r4
+       mov     #0, r5
        mov.l   4f, r11         ! Call do_syscall_trace which notifies
        jsr     @r11            ! superior (will chomp R[0-7])
         nop
@@ -366,7 +370,7 @@ ENTRY(system_call)
        !
        get_current_thread_info r8, r10
        mov.l   @(TI_FLAGS,r8), r8
-       mov     #_TIF_SYSCALL_TRACE, r10
+       mov     #(_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT), r10
        tst     r10, r8
        bf      syscall_trace_entry
        !