mbox series

[6.1,00/14] Backport of maple tree fixes for 6.1/6.2

Message ID 20230411151055.2910579-1-Liam.Howlett@oracle.com (mailing list archive)
Headers show
Series Backport of maple tree fixes for 6.1/6.2 | expand

Message

Liam R. Howlett April 11, 2023, 3:10 p.m. UTC
Greg,

Here are the backports of the patches for the maple tree fixes from
6.3-rc6 for 6.1 and 6.2.

The patches differ with a few extra patches for the maple tree, and
changes to the mm code patch to work without the vma iterator change.

Liam R. Howlett (14):
  maple_tree: remove GFP_ZERO from kmem_cache_alloc() and
    kmem_cache_alloc_bulk()
  maple_tree: fix potential rcu issue
  maple_tree: reduce user error potential
  maple_tree: fix handle of invalidated state in mas_wr_store_setup()
  maple_tree: fix mas_prev() and mas_find() state handling
  maple_tree: fix mas_skip_node() end slot detection
  maple_tree: be more cautious about dead nodes
  maple_tree: refine ma_state init from mas_start()
  maple_tree: detect dead nodes in mas_start()
  maple_tree: fix freeing of nodes in rcu mode
  maple_tree: remove extra smp_wmb() from mas_dead_leaves()
  maple_tree: add smp_rmb() to dead node detection
  maple_tree: add RCU lock checking to rcu callback functions
  mm: enable maple tree RCU mode by default.

 include/linux/mm_types.h         |   3 +-
 kernel/fork.c                    |   3 +
 lib/maple_tree.c                 | 389 ++++++++++++++++++++-----------
 mm/mmap.c                        |   3 +-
 tools/testing/radix-tree/maple.c |  18 +-
 5 files changed, 263 insertions(+), 153 deletions(-)

Comments

Greg Kroah-Hartman April 12, 2023, 8:12 a.m. UTC | #1
On Tue, Apr 11, 2023 at 11:10:41AM -0400, Liam R. Howlett wrote:
> Greg,
> 
> Here are the backports of the patches for the maple tree fixes from
> 6.3-rc6 for 6.1 and 6.2.
> 
> The patches differ with a few extra patches for the maple tree, and
> changes to the mm code patch to work without the vma iterator change.
> 
> Liam R. Howlett (14):
>   maple_tree: remove GFP_ZERO from kmem_cache_alloc() and
>     kmem_cache_alloc_bulk()
>   maple_tree: fix potential rcu issue
>   maple_tree: reduce user error potential
>   maple_tree: fix handle of invalidated state in mas_wr_store_setup()
>   maple_tree: fix mas_prev() and mas_find() state handling
>   maple_tree: fix mas_skip_node() end slot detection
>   maple_tree: be more cautious about dead nodes
>   maple_tree: refine ma_state init from mas_start()
>   maple_tree: detect dead nodes in mas_start()
>   maple_tree: fix freeing of nodes in rcu mode
>   maple_tree: remove extra smp_wmb() from mas_dead_leaves()
>   maple_tree: add smp_rmb() to dead node detection
>   maple_tree: add RCU lock checking to rcu callback functions
>   mm: enable maple tree RCU mode by default.
> 
>  include/linux/mm_types.h         |   3 +-
>  kernel/fork.c                    |   3 +
>  lib/maple_tree.c                 | 389 ++++++++++++++++++++-----------
>  mm/mmap.c                        |   3 +-
>  tools/testing/radix-tree/maple.c |  18 +-
>  5 files changed, 263 insertions(+), 153 deletions(-)
> 
> -- 
> 2.39.2
> 

Thanks for these.  One of them was already in the 6.2.y and 6.1.y
releases, so I just skipped it.

greg k-h