Skip to content
  • Al Viro's avatar
    switch fput to task_work_add · 4a9d4b02
    Al Viro authored
    
    
    ... and schedule_work() for interrupt/kernel_thread callers
    (and yes, now it *is* OK to call from interrupt).
    
    We are guaranteed that __fput() will be done before we return
    to userland (or exit).  Note that for fput() from a kernel
    thread we get an async behaviour; it's almost always OK, but
    sometimes you might need to have __fput() completed before
    you do anything else.  There are two mechanisms for that -
    a general barrier (flush_delayed_fput()) and explicit
    __fput_sync().  Both should be used with care (as was the
    case for fput() from kernel threads all along).  See comments
    in fs/file_table.c for details.
    
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    4a9d4b02