linux-xiaomi-chiron/include
Marco Elver a7cb5d23ea kfence: fix is_kfence_address() for addresses below KFENCE_POOL_SIZE
Originally the addr != NULL check was meant to take care of the case
where __kfence_pool == NULL (KFENCE is disabled).  However, this does
not work for addresses where addr > 0 && addr < KFENCE_POOL_SIZE.

This can be the case on NULL-deref where addr > 0 && addr < PAGE_SIZE or
any other faulting access with addr < KFENCE_POOL_SIZE.  While the
kernel would likely crash, the stack traces and report might be
confusing due to double faults upon KFENCE's attempt to unprotect such
an address.

Fix it by just checking that __kfence_pool != NULL instead.

Link: https://lkml.kernel.org/r/20210818130300.2482437-1-elver@google.com
Fixes: 0ce20dd840 ("mm: add Kernel Electric-Fence infrastructure")
Signed-off-by: Marco Elver <elver@google.com>
Reported-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
Acked-by: Alexander Potapenko <glider@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: <stable@vger.kernel.org>    [5.12+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-08-20 11:31:42 -07:00
..
acpi ACPI: fix NULL pointer dereference 2021-07-24 15:25:54 -07:00
asm-generic vmlinux.lds.h: Handle clang's module.{c,d}tor sections 2021-08-11 12:19:58 -07:00
clocksource clocksource/drivers/timer-ti-dm: Save and restore timer TIOCP_CFG 2021-06-15 14:14:14 +02:00
crypto crypto: scatterwalk - Remove obsolete PageSlab check 2021-06-28 11:28:08 +08:00
drm drm: Return -ENOTTY for non-drm ioctls 2021-07-20 15:57:43 +02:00
dt-bindings dt-bindings: clock: r9a07g044-cpg: Update clock/reset definitions 2021-07-12 10:52:03 +02:00
keys
kunit linux-kselftest-kunit-fixes-5.14-rc1 2021-07-02 12:58:26 -07:00
kvm KVM: arm64: vgic: Implement SW-driven deactivation 2021-06-01 10:46:00 +01:00
linux kfence: fix is_kfence_address() for addresses below KFENCE_POOL_SIZE 2021-08-20 11:31:42 -07:00
math-emu math-emu: Fix fall-through warning 2021-07-13 13:57:44 -05:00
media media: Fix Media Controller API config checks 2021-06-24 14:26:00 +02:00
memory memory: renesas-rpc-if: correct whitespace 2021-06-03 13:12:37 +02:00
misc
net psample: Add a fwd declaration for skbuff 2021-08-09 15:34:21 -07:00
pcmcia
ras
rdma IB/core: Shuffle locks in ib_port_data to save memory 2021-06-21 20:49:32 -03:00
scsi SCSI misc on 20210702 2021-07-02 15:14:36 -07:00
soc Memory controller drivers for v5.14 - Tegra SoC, late fixes 2021-07-16 22:51:01 +02:00
sound ASoC: Fixes for v5.14 2021-07-21 19:48:09 +02:00
target scsi: target: core: Add configurable IEEE Company ID attribute 2021-05-15 14:14:28 -04:00
trace mmflags.h: add missing __GFP_ZEROTAGS and __GFP_SKIP_KASAN_POISON names 2021-08-20 11:31:42 -07:00
uapi net: bridge: fix flags interpretation for extern learn fdb entries 2021-08-10 11:29:39 -07:00
vdso
video gpu: ipu-v3: Add Rec.709 limited range support to DP 2021-05-10 17:20:29 +02:00
xen xen: sync include/xen/interface/io/ring.h with Xen's newest version 2021-07-05 09:49:45 +02:00