[GIT PULL] slab updates for 6.5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

please pull the latest slab updates from:

  git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git tags/slab-for-6.5

the changes are summarized below. There will be a (not completely trivial) conflict
with the mm tree. Stephen's resolution [1] is ok; I would personally move the flags
SLAB_NO_MERGE modification hunk above the minalign hunk for better logical separation,
but correctness wise there's no difference.

[1] https://lore.kernel.org/all/20230619140330.28437ac3@xxxxxxxxxxxxxxxx/T/#u

======================================

* SLAB deprecation

  Following the discussion at LSF/MM 2023 [1] and no objections, the SLAB
  allocator is deprecated by renaming the config option (to make its users
  notice) to CONFIG_SLAB_DEPRECATED with updated help text. SLUB should be
  used instead. Existing defconfigs with CONFIG_SLAB are also updated.

* SLAB_NO_MERGE kmem_cache flag, by Jesper Dangaard Brouer

  There are (very limited) cases where kmem_cache merging is undesirable, and
  existing ways to prevent it are hacky. Introduce a new flag to do that
  cleanly and convert the existing hacky users. Btrfs plans to use this for
  debug kernel builds (that use case is always fine), networking for
  performance reasons (that should be very rare).

* Replace the usage of weak PRNGs, by David Keisar Schmidt

  In addition to using stronger RNGs for the security related features, the
  code is a bit cleaner.

* Misc code cleanups, by SeongJae Parki, Xiongwei Song, Zhen Lei, and
  zhaoxinchao.

[1] https://lwn.net/Articles/932201/

----------------------------------------------------------------
David Keisar Schmidt (2):
      mm/slab: Replace invocation of weak PRNG
      mm/slab_common: Replace invocation of weak PRNG

Jesper Dangaard Brouer (1):
      mm/slab: introduce kmem_cache flag SLAB_NO_MERGE

SeongJae Park (2):
      mm/slab: add a missing semicolon on SLAB_TYPESAFE_BY_RCU example code
      mm/slab: break up RCU readers on SLAB_TYPESAFE_BY_RCU example code

Vlastimil Babka (4):
      mm/slab: remove HAVE_HARDENED_USERCOPY_ALLOCATOR
      mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED
      mm/slab_common: use SLAB_NO_MERGE instead of negative refcount
      Merge branches 'slab/for-6.5/prandom', 'slab/for-6.5/slab_no_merge' and 'slab/for-6.5/slab-deprecate' into slab/for-next

Xiongwei Song (5):
      slub: Correct the error code when slab_kset is NULL
      slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block
      slub: Remove CONFIG_SMP defined check
      slub: Remove slabs_node() function
      slub: Don't read nr_slabs and total_objects directly

Zhen Lei (1):
      mm/slab_common: reduce an if statement in create_cache()

zhaoxinchao (1):
      mm/slab: correct return values in comment for _kmem_cache_create()

 arch/arc/configs/axs103_smp_defconfig           |  1 -
 arch/arc/configs/haps_hs_defconfig              |  1 -
 arch/arc/configs/haps_hs_smp_defconfig          |  1 -
 arch/arc/configs/hsdk_defconfig                 |  1 -
 arch/arc/configs/tb10x_defconfig                |  1 -
 arch/arm/configs/am200epdkit_defconfig          |  1 -
 arch/arm/configs/at91_dt_defconfig              |  1 -
 arch/arm/configs/dove_defconfig                 |  1 -
 arch/arm/configs/ep93xx_defconfig               |  1 -
 arch/arm/configs/imx_v4_v5_defconfig            |  1 -
 arch/arm/configs/lpc32xx_defconfig              |  1 -
 arch/arm/configs/mmp2_defconfig                 |  1 -
 arch/arm/configs/mvebu_v7_defconfig             |  1 -
 arch/arm/configs/nhk8815_defconfig              |  1 -
 arch/arm/configs/omap2plus_defconfig            |  1 -
 arch/arm/configs/pxa168_defconfig               |  1 -
 arch/arm/configs/pxa3xx_defconfig               |  1 -
 arch/arm/configs/pxa910_defconfig               |  1 -
 arch/arm/configs/realview_defconfig             |  1 -
 arch/arm/configs/rpc_defconfig                  |  1 -
 arch/arm/configs/sama5_defconfig                |  1 -
 arch/arm/configs/sama7_defconfig                |  1 -
 arch/arm/configs/shmobile_defconfig             |  1 -
 arch/arm/configs/sp7021_defconfig               |  1 -
 arch/arm/configs/tegra_defconfig                |  1 -
 arch/arm/configs/versatile_defconfig            |  1 -
 arch/m68k/configs/amiga_defconfig               |  1 -
 arch/m68k/configs/apollo_defconfig              |  1 -
 arch/m68k/configs/atari_defconfig               |  1 -
 arch/m68k/configs/bvme6000_defconfig            |  1 -
 arch/m68k/configs/hp300_defconfig               |  1 -
 arch/m68k/configs/mac_defconfig                 |  1 -
 arch/m68k/configs/multi_defconfig               |  1 -
 arch/m68k/configs/mvme147_defconfig             |  1 -
 arch/m68k/configs/mvme16x_defconfig             |  1 -
 arch/m68k/configs/q40_defconfig                 |  1 -
 arch/m68k/configs/sun3_defconfig                |  1 -
 arch/m68k/configs/sun3x_defconfig               |  1 -
 arch/microblaze/configs/mmu_defconfig           |  1 -
 arch/mips/configs/ar7_defconfig                 |  1 -
 arch/mips/configs/bcm47xx_defconfig             |  1 -
 arch/mips/configs/bigsur_defconfig              |  1 -
 arch/mips/configs/cavium_octeon_defconfig       |  1 -
 arch/mips/configs/ci20_defconfig                |  1 -
 arch/mips/configs/cu1000-neo_defconfig          |  1 -
 arch/mips/configs/cu1830-neo_defconfig          |  1 -
 arch/mips/configs/db1xxx_defconfig              |  1 -
 arch/mips/configs/decstation_64_defconfig       |  1 -
 arch/mips/configs/decstation_defconfig          |  1 -
 arch/mips/configs/decstation_r4k_defconfig      |  1 -
 arch/mips/configs/fuloong2e_defconfig           |  1 -
 arch/mips/configs/gpr_defconfig                 |  1 -
 arch/mips/configs/ip22_defconfig                |  1 -
 arch/mips/configs/ip27_defconfig                |  1 -
 arch/mips/configs/ip28_defconfig                |  1 -
 arch/mips/configs/ip32_defconfig                |  1 -
 arch/mips/configs/jazz_defconfig                |  1 -
 arch/mips/configs/malta_defconfig               |  1 -
 arch/mips/configs/malta_kvm_defconfig           |  1 -
 arch/mips/configs/malta_qemu_32r6_defconfig     |  1 -
 arch/mips/configs/maltaaprp_defconfig           |  1 -
 arch/mips/configs/maltasmvp_defconfig           |  1 -
 arch/mips/configs/maltasmvp_eva_defconfig       |  1 -
 arch/mips/configs/maltaup_defconfig             |  1 -
 arch/mips/configs/maltaup_xpa_defconfig         |  1 -
 arch/mips/configs/mtx1_defconfig                |  1 -
 arch/mips/configs/pic32mzda_defconfig           |  1 -
 arch/mips/configs/qi_lb60_defconfig             |  1 -
 arch/mips/configs/rb532_defconfig               |  1 -
 arch/mips/configs/rbtx49xx_defconfig            |  1 -
 arch/mips/configs/rm200_defconfig               |  1 -
 arch/mips/configs/rs90_defconfig                |  1 -
 arch/mips/configs/sb1250_swarm_defconfig        |  1 -
 arch/nios2/configs/10m50_defconfig              |  1 -
 arch/nios2/configs/3c120_defconfig              |  1 -
 arch/parisc/configs/generic-32bit_defconfig     |  1 -
 arch/powerpc/configs/40x/klondike_defconfig     |  1 -
 arch/powerpc/configs/52xx/pcm030_defconfig      |  1 -
 arch/powerpc/configs/83xx/kmeter1_defconfig     |  1 -
 arch/powerpc/configs/83xx/mpc837x_rdb_defconfig |  1 -
 arch/powerpc/configs/85xx/ge_imp3a_defconfig    |  1 -
 arch/powerpc/configs/ep8248e_defconfig          |  1 -
 arch/powerpc/configs/gamecube_defconfig         |  1 -
 arch/powerpc/configs/mgcoge_defconfig           |  1 -
 arch/powerpc/configs/mpc512x_defconfig          |  1 -
 arch/powerpc/configs/mpc83xx_defconfig          |  1 -
 arch/powerpc/configs/ps3_defconfig              |  1 -
 arch/powerpc/configs/wii_defconfig              |  1 -
 arch/sh/configs/ap325rxa_defconfig              |  1 -
 arch/sh/configs/apsh4a3a_defconfig              |  1 -
 arch/sh/configs/apsh4ad0a_defconfig             |  1 -
 arch/sh/configs/dreamcast_defconfig             |  1 -
 arch/sh/configs/ecovec24-romimage_defconfig     |  1 -
 arch/sh/configs/ecovec24_defconfig              |  1 -
 arch/sh/configs/espt_defconfig                  |  1 -
 arch/sh/configs/hp6xx_defconfig                 |  1 -
 arch/sh/configs/kfr2r09-romimage_defconfig      |  1 -
 arch/sh/configs/kfr2r09_defconfig               |  1 -
 arch/sh/configs/landisk_defconfig               |  1 -
 arch/sh/configs/lboxre2_defconfig               |  1 -
 arch/sh/configs/magicpanelr2_defconfig          |  1 -
 arch/sh/configs/microdev_defconfig              |  1 -
 arch/sh/configs/migor_defconfig                 |  1 -
 arch/sh/configs/polaris_defconfig               |  1 -
 arch/sh/configs/r7780mp_defconfig               |  1 -
 arch/sh/configs/r7785rp_defconfig               |  1 -
 arch/sh/configs/rsk7264_defconfig               |  1 -
 arch/sh/configs/rsk7269_defconfig               |  1 -
 arch/sh/configs/rts7751r2d1_defconfig           |  1 -
 arch/sh/configs/rts7751r2dplus_defconfig        |  1 -
 arch/sh/configs/sdk7786_defconfig               |  1 -
 arch/sh/configs/se7343_defconfig                |  1 -
 arch/sh/configs/se7619_defconfig                |  1 -
 arch/sh/configs/se7705_defconfig                |  1 -
 arch/sh/configs/se7712_defconfig                |  1 -
 arch/sh/configs/se7721_defconfig                |  1 -
 arch/sh/configs/se7724_defconfig                |  1 -
 arch/sh/configs/se7750_defconfig                |  1 -
 arch/sh/configs/se7751_defconfig                |  1 -
 arch/sh/configs/se7780_defconfig                |  1 -
 arch/sh/configs/secureedge5410_defconfig        |  1 -
 arch/sh/configs/sh03_defconfig                  |  1 -
 arch/sh/configs/sh2007_defconfig                |  1 -
 arch/sh/configs/sh7710voipgw_defconfig          |  1 -
 arch/sh/configs/sh7757lcr_defconfig             |  1 -
 arch/sh/configs/sh7763rdp_defconfig             |  1 -
 arch/sh/configs/sh7785lcr_32bit_defconfig       |  1 -
 arch/sh/configs/sh7785lcr_defconfig             |  1 -
 arch/sh/configs/titan_defconfig                 |  1 -
 arch/sh/configs/urquell_defconfig               |  1 -
 arch/sparc/configs/sparc32_defconfig            |  1 -
 arch/sparc/configs/sparc64_defconfig            |  1 -
 arch/um/configs/i386_defconfig                  |  1 -
 arch/um/configs/x86_64_defconfig                |  1 -
 include/linux/slab.h                            | 22 +++++++++---
 kernel/configs/tiny.config                      |  1 -
 mm/Kconfig                                      | 18 +++++++---
 mm/kfence/kfence_test.c                         |  7 ++--
 mm/slab.c                                       | 37 ++++++-------------
 mm/slab.h                                       | 13 ++-----
 mm/slab_common.c                                | 31 +++++++---------
 mm/slub.c                                       | 47 ++++++++++---------------
 security/Kconfig                                |  8 -----
 143 files changed, 79 insertions(+), 239 deletions(-)




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux