lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181217131929.11727-1-kent.overstreet@gmail.com>
Date:   Mon, 17 Dec 2018 08:19:22 -0500
From:   Kent Overstreet <kent.overstreet@...il.com>
To:     akpm@...ux-foundation.org, linux-kernel@...r.kernel.org
Cc:     Kent Overstreet <kent.overstreet@...il.com>
Subject: [PATCH 0/7] generic radix trees; drop flex arrays

this has been sitting on my todo list for far too long; let's try and get it
merged before flex arrays grow any new users.

The only significant change since the last time I mailed this out is that it's
now safe to use a genradix from multiple threads, including when new nodes are
being allocated.

Since we never _free_ nodes on a genradix while it's in use (only when the
entire tree is being freed), this adds very little code - we just use cmpxchg
for adding pointers to new nodes, there's no need to use rcu_read_lock() or
anything like that. And for the types of things we seem to want to use it for
it's quite useful.

Andrew, would you mind picking up this series, or would someone else be more
suitable? The patch series has been sent out a few times and seen a fair amoun
of review.

Kent Overstreet (7):
  openvswitch: convert to kvmalloc
  md: convert to kvmalloc
  selinux: convert to kvmalloc
  Generic radix trees
  proc: commit to genradix
  sctp: Convert to genradix
  Drop flex_arrays

 Documentation/core-api/flexible-arrays.rst    | 130 ------
 Documentation/core-api/generic-radix-tree.rst |  12 +
 Documentation/core-api/index.rst              |   1 +
 Documentation/flexible-arrays.txt             | 123 ------
 drivers/md/raid5-ppl.c                        |   6 +-
 drivers/md/raid5.c                            |  87 ++--
 drivers/md/raid5.h                            |   9 +-
 fs/proc/base.c                                |  43 +-
 include/linux/flex_array.h                    | 149 -------
 include/linux/generic-radix-tree.h            | 231 ++++++++++
 include/linux/poison.h                        |   3 -
 include/net/sctp/structs.h                    |  15 +-
 lib/Makefile                                  |   5 +-
 lib/flex_array.c                              | 398 ------------------
 lib/generic-radix-tree.c                      | 217 ++++++++++
 net/openvswitch/flow.h                        |   1 -
 net/openvswitch/flow_netlink.h                |   1 -
 net/openvswitch/flow_table.c                  |  51 +--
 net/openvswitch/flow_table.h                  |   3 +-
 net/sctp/stream.c                             | 106 +----
 net/sctp/stream_interleave.c                  |   2 +-
 security/selinux/ss/avtab.c                   |  40 +-
 security/selinux/ss/avtab.h                   |   4 +-
 security/selinux/ss/conditional.c             |   6 +-
 security/selinux/ss/policydb.c                | 122 ++----
 security/selinux/ss/policydb.h                |  12 +-
 security/selinux/ss/services.c                |  22 +-
 tools/include/linux/poison.h                  |   3 -
 28 files changed, 628 insertions(+), 1174 deletions(-)
 delete mode 100644 Documentation/core-api/flexible-arrays.rst
 create mode 100644 Documentation/core-api/generic-radix-tree.rst
 delete mode 100644 Documentation/flexible-arrays.txt
 delete mode 100644 include/linux/flex_array.h
 create mode 100644 include/linux/generic-radix-tree.h
 delete mode 100644 lib/flex_array.c
 create mode 100644 lib/generic-radix-tree.c

-- 
2.20.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ