linux-thead/arch/powerpc/platforms
David Hildenbrand cd2eda58ea powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently
commit d6718941a2 upstream.

It's very easy to crash the kernel right now by simply trying to
enable memtrace concurrently, hammering on the "enable" interface

loop.sh:
  #!/bin/bash

  dmesg --console-off

  while true; do
          echo 0x40000000 > /sys/kernel/debug/powerpc/memtrace/enable
  done

[root@localhost ~]# loop.sh &
[root@localhost ~]# loop.sh &

Resulting quickly in a kernel crash. Let's properly protect using a
mutex.

Fixes: 9d5171a8f2 ("powerpc/powernv: Enable removal of memory for in memory tracing")
Cc: stable@vger.kernel.org# v4.14+
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201111145322.15793-3-david@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:54:16 +01:00
..
4xx powerpc/4xx: Don't unmap NULL mbase 2020-05-28 23:24:36 +10:00
8xx powerpc/8xx: Fix early debug when SMC1 is relocated 2020-12-30 11:54:16 +01:00
40x powerpc: Remove IBM405 Erratum #77 2020-05-28 23:24:36 +10:00
44x powerpc: Move flush_instruction_cache() prototype in asm/cacheflush.h 2020-09-02 11:00:21 +10:00
52xx powerpc updates for 5.9 2020-08-07 10:33:50 -07:00
82xx powerpc/82xx: Blacklist pq2_restart() for kprobe 2020-06-02 20:59:09 +10:00
83xx powerpc: Use simple i2c probe function 2020-09-02 11:00:20 +10:00
85xx powerpc/smp: Move ppc_md.cpu_die() to smp_ops.cpu_offline_self() 2020-09-18 19:59:43 +10:00
86xx mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
512x powerpc/512x: Use dma_request_chan() instead dma_request_slave_channel() 2020-01-06 16:25:29 +11:00
amigaone powerpc/32: drop unused ISA_DMA_THRESHOLD 2020-04-01 14:30:50 +11:00
cell powerpc updates for 5.9 2020-08-07 10:33:50 -07:00
chrp mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
embedded6xx powerpc: Drop _nmask_and_or_msr() 2020-09-02 11:00:20 +10:00
maple mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
pasemi powerpc: use for_each_child_of_node() macro 2020-07-29 22:30:33 +10:00
powermac powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK 2020-12-30 11:53:43 +01:00
powernv powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently 2020-12-30 11:54:16 +01:00
ps3 powerpc updates for 5.10 2020-10-16 12:21:15 -07:00
pseries powerpc/pseries/hibernation: remove redundant cacheinfo update 2020-12-30 11:53:43 +01:00
Kconfig powerpc: Remove CONFIG_PPC601_SYNC_FIX 2020-10-08 21:17:13 +11:00
Kconfig.cputype powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK 2020-12-30 11:53:43 +01:00
Makefile powerpc: Add -Werror at arch/powerpc level 2018-10-19 00:56:17 +11:00
fsl_uli1575.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00