• Julian Orth's avatar
    audit,io_uring,io-wq: call __audit_uring_exit for dummy contexts · 69e9cd66
    Julian Orth authored
    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>
    69e9cd66
auditsc.c 81.6 KB