aa_xattrs_match() is unfortunately calling vfs_getxattr_alloc() from a
context protected by an rcu_read_lock. This can not be done as
vfs_getxattr_alloc() may sleep regardles of the gfp_t value being
passed to it.
Fix this by breaking the rcu_read_lock on the policy search when the
xattr match feature is requested and restarting the search if a policy
changes occur.
Fixes:
|
||
|---|---|---|
| .. | ||
| include | ||
| .gitignore | ||
| Kconfig | ||
| Makefile | ||
| apparmorfs.c | ||
| audit.c | ||
| capability.c | ||
| crypto.c | ||
| domain.c | ||
| file.c | ||
| ipc.c | ||
| label.c | ||
| lib.c | ||
| lsm.c | ||
| match.c | ||
| mount.c | ||
| net.c | ||
| nulldfa.in | ||
| path.c | ||
| policy.c | ||
| policy_ns.c | ||
| policy_unpack.c | ||
| procattr.c | ||
| resource.c | ||
| secid.c | ||
| stacksplitdfa.in | ||
| task.c | ||