• Eric W. Biederman's avatar
    fork: Generalize PF_IO_WORKER handling · 5bd2e97c
    Eric W. Biederman authored
    Add fn and fn_arg members into struct kernel_clone_args and test for
    them in copy_thread (instead of testing for PF_KTHREAD | PF_IO_WORKER).
    This allows any task that wants to be a user space task that only runs
    in kernel mode to use this functionality.
    
    The code on x86 is an exception and still retains a PF_KTHREAD test
    because x86 unlikely everything else handles kthreads slightly
    differently than user space tasks that start with a function.
    
    The functions that created tasks that start with a function
    have been updated to set ".fn" and ".fn_arg" instead of
    ".stack" and ".stack_size".  These functions are fork_idle(),
    create_io_thread(), kernel_thread(), and user_mode_thread().
    
    Link: https://lkml.kernel.org/r/20220506141512.516114-4-ebiederm@xmission.comSigned-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
    5bd2e97c
process.c 9.8 KB