[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200117140909.3406a796@canb.auug.org.au>
Date: Fri, 17 Jan 2020 14:09:09 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: "Paul E. McKenney" <paulmck@...nel.org>,
David Howells <dhowells@...hat.com>
Cc: Linux Next Mailing List <linux-next@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: linux-next: build failure after merge of the rcu tree
Hi all,
On Thu, 12 Dec 2019 13:45:16 +1100 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> 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@...b.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@...b.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);
This has bee replaced with this patch:
From: Stephen Rothwell <sfr@...b.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@...b.auug.org.au>
---
kernel/watch_queue.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/watch_queue.c b/kernel/watch_queue.c
index d48f422f391a..f195cbbbb3d3 100644
--- a/kernel/watch_queue.c
+++ b/kernel/watch_queue.c
@@ -354,8 +354,8 @@ long watch_queue_set_filter(struct pipe_inode_info *pipe,
kfree(tf);
set:
pipe_lock(pipe);
- rcu_swap_protected(wqueue->filter, wfilter,
- lockdep_is_held(&pipe->mutex));
+ wfilter = rcu_replace_pointer(wqueue->filter, wfilter,
+ lockdep_is_held(&pipe->mutex));
pipe_unlock(pipe);
if (wfilter)
kfree_rcu(wfilter, rcu);
--
Cheers,
Stephen Rothwell
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists