• Julian Orth's avatar
    audit,io_uring,io-wq: call __audit_uring_exit for dummy contexts · 80a1f356
    Julian Orth authored
    commit 69e9cd66 upstream.
    
    Not calling the function for dummy contexts will cause the context to
    not be reset. During the next syscall, this will cause an error in
    __audit_syscall_entry:
    
    	WARN_ON(context->context != AUDIT_CTX_UNUSED);
    	WARN_ON(context->name_count);
    	if (context->context != AUDIT_CTX_UNUSED || context->name_count) {
    		audit_panic("unrecoverable error in audit_syscall_entry()");
    		return;
    	}
    
    These problematic dummy contexts are created via the following call
    chain:
    
           exit_to_user_mode_prepare
        -> arch_do_signal_or_restart
        -> get_signal
        -> task_work_run
        -> tctx_task_work
        -> io_req_task_submit
        -> io_issue_sqe
        -> audit_uring_entry
    
    Cc: stable@vger.kernel.org
    Fixes: 5bd2182d
    
     ("audit,io_uring,io-wq: add some basic audit support to io_uring")
    Signed-off-by: default avatarJulian Orth <ju.orth@gmail.com>
    [PM: subject line tweaks]
    Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
    S...
    80a1f356
auditsc.c 81.6 KB