• Jens Axboe's avatar
    io_uring/io-wq: don't use static creds/mm assignments · cccf0ee8
    Jens Axboe authored
    We currently setup the io_wq with a static set of mm and creds. Even for
    a single-use io-wq per io_uring, this is suboptimal as we have may have
    multiple enters of the ring. For sharing the io-wq backend, it doesn't
    work at all.
    
    Switch to passing in the creds and mm when the work item is setup. This
    means that async work is no longer deferred to the io_uring mm and creds,
    it is done with the current mm and creds.
    
    Flag this behavior with IORING_FEAT_CUR_PERSONALITY, so applications know
    they can rely on the current personality (mm and creds) being the same
    for direct issue and async issue.
    Reviewed-by: default avatarStefan Metzmacher <metze@samba.org>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    cccf0ee8
io_uring.c 158 KB