Re: i386: selftests: vm: compaction_test: BUG: kernel NULL pointer dereference, address: 00000000

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

 



On Mon, 13 Apr 2020 at 03:12, Peter Xu <peterx@xxxxxxxxxx> wrote:
> And since this one is very easy to reproduce, I finally noticed that
> we have wrongly enabled uffd-wp on x86_32, which is definely not going
> to work... Because we'll use bit 2 of swap entry assuming that's the
> uffd-wp bit, while that's part of swp offset on 32bit systems.
>
> Naresh, could you try whether below change fixes the issue for you?
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 8d078642b4be..7ac524d1316e 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -149,7 +149,7 @@ config X86
>         select HAVE_ARCH_TRACEHOOK
>         select HAVE_ARCH_TRANSPARENT_HUGEPAGE
>         select HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD if X86_64
> -       select HAVE_ARCH_USERFAULTFD_WP         if USERFAULTFD
> +       select HAVE_ARCH_USERFAULTFD_WP         if X86_64 && USERFAULTFD
>         select HAVE_ARCH_VMAP_STACK             if X86_64
>         select HAVE_ARCH_WITHIN_STACK_FRAMES
>         select HAVE_ASM_MODVERSIONS
>

Tested-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>

The above patch tested and did not notice the crash.
+ cd /opt/kselftests/default-in-kernel/vm/
+ ./compaction_test
No of huge pages allocated = 297
+ ./compaction_test
[   46.059785] kauditd_printk_skb: 15 callbacks suppressed
[   46.059786] audit: type=1334 audit(1586776582.927:25): prog-id=17 op=UNLOAD
[   46.071997] audit: type=1334 audit(1586776582.927:26): prog-id=16 op=UNLOAD
No of huge pages allocated = 160

Full test log,
https://lkft.validation.linaro.org/scheduler/job/1362495#L1308

Build artifacts.
https://builds.tuxbuild.com/w0ol7cCsGan0wzPp7bNqkg/

- Naresh




[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