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

Stephen Rothwell
2019-12-12T02:45:20Z

[-- Attachment #1: Type: text/plain, Size: 1574 bytes --]

Hi all,

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

drivers/misc/watch_queue.c: In function 'watch_queue_set_filter':
drivers/misc/watch_queue.c:526:2: error: implicit declaration of function 'rcu_swap_protected' [-Werror=implicit-function-declaration]
526 | rcu_swap_protected(wqueue->filter, wfilter,
| ^~~~~~~~~~~~~~~~~~

Caused by commit

af8c9224182e ("rcu: Remove rcu_swap_protected()")

interacting with commit

fe78d401ca6b ("General notification queue with user mmap()'able ring buffer")

from the keys tree.

I have added the following merge fix patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 12 Dec 2019 13:37:52 +1100
Subject: [PATCH] rcu: fix up for "Remove rcu_swap_protected()"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/misc/watch_queue.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/watch_queue.c b/drivers/misc/watch_queue.c
index b3fc59b4ef6c..a4a77ec977ac 100644
--- a/drivers/misc/watch_queue.c
+++ b/drivers/misc/watch_queue.c
@@ -523,8 +523,8 @@ static long watch_queue_set_filter(struct inode *inode,
kfree(tf);
set:
inode_lock(inode);
- rcu_swap_protected(wqueue->filter, wfilter,
- lockdep_is_held(&inode->i_rwsem));
+ wfilter = rcu_replace_pointer(wqueue->filter, wfilter,
+ lockdep_is_held(&inode->i_rwsem));
inode_unlock(inode);
if (wfilter)
kfree_rcu(wfilter, rcu);
--
2.24.0

--
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]