linux-next: build failure after merge of the rcu tree

From: Stephen Rothwell
Date: Thu Jan 16 2020 - 22:07:26 EST


Hi all,

After merging the rcu tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

security/keys/permission.c: In function 'key_set_acl':
security/keys/permission.c:273:2: error: implicit declaration of function 'rcu_swap_protected' [-Werror=implicit-function-declaration]
273 | rcu_swap_protected(key->acl, acl, lockdep_is_held(&key->sem));
| ^~~~~~~~~~~~~~~~~~
security/keys/permission.c:273:36: error: implicit declaration of function 'lockdep_is_held'; did you mean 'lockdep_is_held_type'? [-Werror=implicit-function-declaration]
273 | rcu_swap_protected(key->acl, acl, lockdep_is_held(&key->sem));
| ^~~~~~~~~~~~~~~
| lockdep_is_held_type

Caused by commit

4414abf89158 ("rcu: Remove rcu_swap_protected()")

interacting with commit

af94dc1ff4c9 ("keys: Replace uid/gid/perm permissions checking with an ACL")

from the keys tree.

I have added this merge fix patch:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Fri, 17 Jan 2020 14:04:13 +1100
Subject: [PATCH] fixup 2 for removal of rcu_swap_protected

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
security/keys/permission.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/security/keys/permission.c b/security/keys/permission.c
index a651b3fd2007..f42e67b51aea 100644
--- a/security/keys/permission.c
+++ b/security/keys/permission.c
@@ -270,7 +270,7 @@ long key_set_acl(struct key *key, struct key_acl *acl)
}
}

- rcu_swap_protected(key->acl, acl, lockdep_is_held(&key->sem));
+ acl = rcu_replace_pointer(key->acl, acl, lockdep_is_held(&key->sem));
key_put_acl(acl);
notify_key(key, NOTIFY_KEY_SETATTR, 0);
return 0;
--
2.24.0

--
Cheers,
Stephen Rothwell

Attachment: pgpQuw3qO4PCC.pgp
Description: OpenPGP digital signature