You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Call fasync() functions without the BKL
lock_kernel() calls have been pushed down into code which needs it, so there is no need to take the BKL at this level anymore. This work inspired and aided by Andi Kleen's unlocked_fasync() patches. Acked-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
@@ -12,7 +12,6 @@
|
||||
#include <linux/fdtable.h>
|
||||
#include <linux/capability.h>
|
||||
#include <linux/dnotify.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/security.h>
|
||||
@@ -227,7 +226,6 @@ static int setfl(int fd, struct file * filp, unsigned long arg)
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
lock_kernel();
|
||||
if ((arg ^ filp->f_flags) & FASYNC) {
|
||||
if (filp->f_op && filp->f_op->fasync) {
|
||||
error = filp->f_op->fasync(fd, filp, (arg & FASYNC) != 0);
|
||||
@@ -238,7 +236,6 @@ static int setfl(int fd, struct file * filp, unsigned long arg)
|
||||
|
||||
filp->f_flags = (arg & SETFL_MASK) | (filp->f_flags & ~SETFL_MASK);
|
||||
out:
|
||||
unlock_kernel();
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user