• Davide Libenzi's avatar
    eventfd: remove fput() call from possible IRQ context · 87c3a86e
    Davide Libenzi authored
    Remove a source of fput() call from inside IRQ context.  Myself, like Eric,
    wasn't able to reproduce an fput() call from IRQ context, but Jeff said he was
    able to, with the attached test program.  Independently from this, the bug is
    conceptually there, so we might be better off fixing it.  This patch adds an
    optimization similar to the one we already do on ->ki_filp, on ->ki_eventfd.
    Playing with ->f_count directly is not pretty in general, but the alternative
    here would be to add a brand new delayed fput() infrastructure, that I'm not
    sure is worth it.
    Signed-off-by: default avatarDavide Libenzi <davidel@xmailserver.org>
    Cc: Benjamin LaHaise <bcrl@kvack.org>
    Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
    Cc: Eric Dumazet <dada1@cosmosbay.com>
    Signed-off-by: default avatarJeff Moyer <jmoyer@redhat.com>
    Cc: Zach Brown <zach.brown@oracle.com>
    Cc: <stable@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    87c3a86e
aio.c 46.5 KB