linux/Documentation
Vlastimil Babka 060807f841 mm, slub: make remaining slub_debug related attributes read-only
SLUB_DEBUG creates several files under /sys/kernel/slab/<cache>/ that can
be read to check if the respective debugging options are enabled for given
cache.  Some options, namely sanity_checks, trace, and failslab can be
also enabled and disabled at runtime by writing into the files.

The runtime toggling is racy.  Some options disable __CMPXCHG_DOUBLE when
enabled, which means that in case of concurrent allocations, some can
still use __CMPXCHG_DOUBLE and some not, leading to potential corruption.
The s->flags field is also not updated or checked atomically.  The
simplest solution is to remove the runtime toggling.  The extended
slub_debug boot parameter syntax introduced by earlier patch should allow
to fine-tune the debugging configuration during boot with same
granularity.

Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Roman Gushchin <guro@fb.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Jann Horn <jannh@google.com>
Cc: Vijayanand Jitta <vjitta@codeaurora.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Pekka Enberg <penberg@kernel.org>
Link: http://lkml.kernel.org/r/20200610163135.17364-5-vbabka@suse.cz
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-08-07 11:33:22 -07:00
..
ABI Staging/IIO driver patches for 5.9-rc1 2020-08-06 14:36:13 -07:00
PCI Documentation: PCI: pci.rst: drop doubled words 2020-07-05 14:39:44 -06:00
RCU These are the latest RCU bits for v5.9: 2020-08-03 14:31:33 -07:00
accounting
admin-guide mm, slub: extend slub_debug syntax for multiple blocks 2020-08-07 11:33:22 -07:00
arm ARM development for 5.9-rc1: 2020-08-06 10:17:00 -07:00
arm64 It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
block for-5.9/drivers-20200803 2020-08-05 10:51:40 -07:00
bpf Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-08-05 20:13:21 -07:00
cdrom cdrom: remove the unused cdrom_media_changed function 2020-07-08 16:20:01 -06:00
core-api It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
cpu-freq
crypto It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
dev-tools linux-kselftest-kunit-5.9-rc1 2020-08-05 10:07:39 -07:00
devicetree TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
doc-guide A handful of late-arriving docs fixes, along with a patch changing a lot of 2020-06-10 14:12:15 -07:00
driver-api TTY/Serial patches for 5.9-rc1 2020-08-06 14:56:11 -07:00
fault-injection block: rename generic_make_request to submit_bio_noacct 2020-07-01 07:27:24 -06:00
fb drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
features Xtensa updates for v5.9: 2020-08-06 10:07:40 -07:00
filesystems ocfs2: replace HTTP links with HTTPS ones 2020-08-07 11:33:22 -07:00
firmware-guide ACPI: Replace HTTP links with HTTPS ones 2020-07-27 14:47:08 +02:00
firmware_class
fpga Char/Misc driver patches for 5.9-rc1 2020-08-05 11:43:47 -07:00
gpu drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
hid docs: hid: Convert link to https 2020-07-13 11:26:37 -06:00
hwmon hwmon updates for v5.9 2020-08-05 13:13:57 -07:00
i2c It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
ia64 docs: ia64: correct typo 2020-07-31 11:09:09 -06:00
ide
iio
infiniband RDMA/core: Remove FMR device ops 2020-06-02 20:32:54 -03:00
input
isdn
kbuild It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
kernel-hacking
leds LEDs changes for 5.9-rc1. 2020-08-05 19:24:27 -07:00
litmus-tests Documentation/litmus-tests: Add note on herd7 7.56 in atomic litmus test 2020-06-29 12:05:18 -07:00
livepatch
locking It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
m68k
maintainer Documentation: maintainer-entry-profile: eliminate duplicated word 2020-07-13 09:44:07 -06:00
mhi
mips It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
misc-devices Documentation: misc/xilinx_sdfec: eliminate duplicated word 2020-07-13 09:44:07 -06:00
netlabel
networking wireless-drivers-next patches for v5.9 2020-08-04 12:57:02 -07:00
nios2
nvdimm
openrisc docs: openrisc: Replace HTTP links with HTTPS ones 2020-07-13 11:34:09 -06:00
parisc
pcmcia
power Merge branches 'pm-sleep', 'pm-domains', 'powercap' and 'pm-tools' 2020-08-03 13:12:44 +02:00
powerpc It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
process It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
riscv
s390 It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
scheduler sched/doc: Factorize bits between sched-energy.rst & sched-capacity.rst 2020-08-01 09:19:43 +02:00
scsi
security Documentation: security/keys: eliminate duplicated word 2020-07-13 09:45:03 -06:00
sh docs: sh: convert register-banks.txt to ReST 2020-06-19 14:10:13 -06:00
sound ASoC: Updates for v5.9 2020-08-03 14:41:43 +02:00
sparc
sphinx Replace HTTP links with HTTPS ones: Documentation/sphinx/parse-headers.pl 2020-06-26 10:57:33 -06:00
sphinx-static
spi SPI SUBSYSTEM: Replace HTTP links with HTTPS ones 2020-07-09 22:41:11 +01:00
staging docs: staging/tee.rst: convert into definition list 2020-07-23 14:25:12 -06:00
target doc: don't use deprecated "---help---" markers in target docs 2020-06-13 13:32:40 -07:00
timers docs: timers: drop documentation about LB_BIAS 2020-07-23 14:32:44 -06:00
trace It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
translations It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
usb USB: Replace HTTP links with HTTPS ones 2020-07-21 13:41:57 +02:00
userspace-api Documentation: media: convert to use i2c_new_client_device() 2020-06-19 09:20:25 +02:00
virt s390: implement diag318 2020-08-06 12:59:31 -07:00
vm mm, slub: make remaining slub_debug related attributes read-only 2020-08-07 11:33:22 -07:00
w1
watchdog
x86 It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
xtensa
.gitignore
COPYING-logo Replace HTTP links with HTTPS ones: documentation 2020-06-08 09:30:19 -06:00
Changes
CodingStyle
Kconfig
Makefile media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
SubmittingPatches
asm-annotations.rst
atomic_bitops.txt
atomic_t.txt Documentation/litmus-tests/atomic: Add a test for smp_mb__after_atomic() 2020-06-29 12:05:18 -07:00
conf.py Replace HTTP links with HTTPS ones: documentation 2020-06-08 09:30:19 -06:00
docutils.conf
dontdiff Documentation: dontdiff: Add zstd compressed files 2020-07-31 11:51:10 +02:00
index.rst docs: index.rst: Add watch_queue 2020-07-23 14:13:23 -06:00
logo.gif
memory-barriers.txt Documentation/barriers: Remove references to [smp_]read_barrier_depends() 2020-07-21 10:50:36 +01:00
watch_queue.rst