[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160715135733.0a33f8f2bc3ee3fadb62b109@linux-foundation.org>
Date: Fri, 15 Jul 2016 13:57:33 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Ross Zwisler <ross.zwisler@...ux.intel.com>
Cc: Andrey Ryabinin <aryabinin@...tuozzo.com>, Jan Kara <jack@...e.cz>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
linux-mm@...ck.org, Greg Thelen <gthelen@...gle.com>,
Suleiman Souhlal <suleiman@...gle.com>,
syzkaller@...glegroups.com, Kostya Serebryany <kcc@...gle.com>,
Alexander Potapenko <glider@...gle.com>,
Sasha Levin <sasha.levin@...cle.com>,
linux-kernel@...r.kernel.org,
Konstantin Khlebnikov <koct9i@...il.com>,
Matthew Wilcox <willy@...ux.intel.com>,
Hugh Dickins <hughd@...gle.com>, stable@...r.kernel.org
Subject: Re: [PATCH] radix-tree: fix radix_tree_iter_retry() for tagged
iterators.
On Fri, 15 Jul 2016 13:00:40 -0600 Ross Zwisler <ross.zwisler@...ux.intel.com> wrote:
>
> ...
>
> In looking at this more, I agree that your patch fixes this particular bug,
> but I think that ultimately we might want something more general.
>
> ...
>
> --- a/include/linux/radix-tree.h
> +++ b/include/linux/radix-tree.h
> @@ -463,6 +463,9 @@ static inline struct radix_tree_node *entry_to_node(void *ptr)
> static __always_inline void **
> radix_tree_next_slot(void **slot, struct radix_tree_iter *iter, unsigned flags)
> {
> + if (unlikely(!slot))
> + return NULL;
> +
> if (flags & RADIX_TREE_ITER_TAGGED) {
> void *canon = slot;
I'll hang onto Andrey's
radix-tree-fix-radix_tree_iter_retry-for-tagged-iterators.patch for
now, plan to send it in to Linus Wednesdayish. If we can get the above
settled down prior to that then I shall swap over.
Powered by blists - more mailing lists