All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ardb@kernel.org>
To: Florian Fainelli <f.fainelli@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Abbott Liu <liuwenliang@huawei.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Russell King <linux@armlinux.org.uk>,
	Mike Rapoport <rppt@linux.ibm.com>,
	Andrey Ryabinin <aryabinin@virtuozzo.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 0/6 v14] KASan for Arm
Date: Sun, 4 Oct 2020 11:09:27 +0200	[thread overview]
Message-ID: <CAMj1kXFWOnFcpKKVyDos4zLXkogPacrgtScVX=5uRYLXc+hxzA@mail.gmail.com> (raw)
In-Reply-To: <CAMj1kXGZ3ACYSs-Py8TM+odWkDkG-5GGZqCvnmjZNwjs759ybw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 6078 bytes --]

On Sun, 4 Oct 2020 at 10:41, Ard Biesheuvel <ardb@kernel.org> wrote:
>
> On Sun, 4 Oct 2020 at 10:06, Ard Biesheuvel <ardb@kernel.org> wrote:
> >
> > On Sat, 3 Oct 2020 at 17:50, Ard Biesheuvel <ardb@kernel.org> wrote:
> > >
> > > On Thu, 1 Oct 2020 at 21:19, Florian Fainelli <f.fainelli@gmail.com> wrote:
> > > >
> > > >
> > > >
> > > > On 10/1/2020 8:22 AM, Linus Walleij wrote:
> > > > > This is the 14th iteration of KASan for ARM/Aarch32.
> > > > >
> > > > > I have added one patch in the beginning of the series to
> > > > > fix the issue when the DTB (often attached DTB) ends up
> > > > > in lowmem. It also amends ARM to copy the device tree
> > > > > instead of just unflattening it and using it from where
> > > > > it is.
> > > > >
> > > > > This fixes my particular issue on the Qualcomm APQ8060
> > > > > and I hope it may also solve Florian's issue and what
> > > > > Ard has been seeing. If you inspect patch 1/6 you can
> > > > > see what has been going on for me. My hypothesis about
> > > > > what was going on was mostly right.
> > > > >
> > > > > You are encouraged to test this patch set to find memory out
> > > > > of bounds bugs with ARM32 platforms and drivers.
> > > > >
> > > > > There is a git branch you can pull in:
> > > > > https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator.git/log/?h=kasan
> > > >
> > > > It does appear to be slight better, although all platforms that I have
> > > > where memory starts at physical address 0 cannot boot, attached logs
> > > > which are all more or less the same.
> > > >
> > > > The physical memory map looks like this:
> > > >
> > > > 0..3GB -> DRAM
> > > > 3GB..4GB -> Registers, Boot ROM, Boot SRAM
> > > > 4GB..12GB -> DRAM extension
> > > >
> > > > Do any of the platforms you use for testing have a similar memory map?
> > > > Could you try to contrive a QEMU machine to have something similar in
> > > > case that helps reproducing these failures?
> > > >
> > >
> > > I am getting very similar failures on a Raspberry Pi4 booting in
> > > 32-bit mode from U-boot+EFI
> > >
> > > Full log attached.
> > >
> > > I will try to dig a bit deeper.
> >
> > OK, one obvious issue with the code as-is is that the following routine
> >
> > static __init void *kasan_alloc_block(size_t size)
> > {
> >   return memblock_alloc_try_nid(size, size, __pa(MAX_DMA_ADDRESS),
> >                                 MEMBLOCK_ALLOC_KASAN, NUMA_NO_NODE);
> > }
> >
> > is called after the early shadow is unmapped, but before the permanent
> > shadow is in place. memblock_alloc_try_nid() clears the newly
> > allocated memory using memset(), which checks the associated shadow,
> > which is unmapped -> BOOM.
> >
> > With the following implementation, I can avoid the crash similar to
> > the one Florian is reporting:
> >
> > static __init void *kasan_alloc_block(size_t size)
> > {
> >   void *p = memblock_alloc_try_nid_raw(size, size,
> >     __pa(MAX_DMA_ADDRESS), MEMBLOCK_ALLOC_KASAN,
> >     NUMA_NO_NODE);
> >
> >   if (p)
> >     __memset(p, 0, size);
> >   return p;
> > }
> >
> > However, I still get a hang a bit later, and I haven't tracked that down yet.
>
> The above issue appears to be related to TLB maintenance. So keeping
> kasan_alloc_block() as is, and doing
>
> --- a/arch/arm/mm/kasan_init.c
> +++ b/arch/arm/mm/kasan_init.c
> @@ -223,6 +223,8 @@ void __init kasan_init(void)
>                 __pgd(__pa(tmp_pmd_table) | PMD_TYPE_TABLE | L_PGD_SWAPPER));
>  #endif
>         cpu_switch_mm(tmp_pgd_table, &init_mm);
> +       local_flush_tlb_all();
> +
>         clear_pgds(KASAN_SHADOW_START, KASAN_SHADOW_END);
>
>         kasan_populate_early_shadow(kasan_mem_to_shadow((void *)VMALLOC_START),
>
> instead fixes the crash as well.
>
> Still have the hang right after though ..

OK, booting now - turns out the switch back to swapper_pg_dir needs a
proper TLB flush as well.

Full patch below - with that applied, I can boot the RPi4 to the point
where it wants to mount the rootfs (but I don't have a 32-bit rootfs
at hand)


The first change avoids reallocating KASAN blocks when a range gets
mapped twice - this occurs when mapping the DTB space explicitly
(although I am not sure that that is still needed now that you move
the DTB)

diff --git a/arch/arm/mm/kasan_init.c b/arch/arm/mm/kasan_init.c
index 6fd9bc70970f..6877212a370d 100644
--- a/arch/arm/mm/kasan_init.c
+++ b/arch/arm/mm/kasan_init.c
@@ -45,11 +45,15 @@

        do {
                pte_t entry;
+               void *p;

                next = addr + PAGE_SIZE;

                if (!early) {
-                       void *p = kasan_alloc_block(PAGE_SIZE);
+                       if (!pte_none(READ_ONCE(*ptep)))
+                               continue;
+
+                       p = kasan_alloc_block(PAGE_SIZE);
                        if (!p) {
                                panic("%s failed to alloc pte for
address 0x%lx\n",
                                      __func__, addr);
@@ -223,11 +227,15 @@
                __pgd(__pa(tmp_pmd_table) | PMD_TYPE_TABLE | L_PGD_SWAPPER));
 #endif
        cpu_switch_mm(tmp_pgd_table, &init_mm);
+       local_flush_tlb_all();
+
        clear_pgds(KASAN_SHADOW_START, KASAN_SHADOW_END);

        kasan_populate_early_shadow(kasan_mem_to_shadow((void *)VMALLOC_START),
                                    kasan_mem_to_shadow((void *)-1UL) + 1);

+       __memblock_dump_all();
+
        for_each_memblock(memory, reg) {
                void *start = __va(reg->base);
                void *end = __va(reg->base + reg->size);
@@ -277,10 +285,11 @@
                           pfn_pte(virt_to_pfn(kasan_early_shadow_page),
                                __pgprot(pgprot_val(PAGE_KERNEL)
                                         | L_PTE_RDONLY)));
+
+       cpu_switch_mm(swapper_pg_dir, &init_mm);
        local_flush_tlb_all();

        memset(kasan_early_shadow_page, 0, PAGE_SIZE);
-       cpu_switch_mm(swapper_pg_dir, &init_mm);
        pr_info("Kernel address sanitizer initialized\n");
        init_task.kasan_depth = 0;
 }

Full boot log attached.

[-- Attachment #2: screen-exchange --]
[-- Type: application/octet-stream, Size: 23457 bytes --]

Initialising SDRAM 'Micron' 16Gb x2 total-size: 32 Gbit 3200
Loading recovery.elf hnd: 0x00000000
Failed to read recovery.elf error: 6
Loading start4.elf hnd: 0x00000206
Loading fixup4.dat hnd: 0x00000202
MEM GPU: 76 ARM: 948 TOTAL: 1024
FIXUP src: 128 256 dst: 948 1024
Starting start4.elf @ 0xfec00200

INFO:    BL33 will boot in Non-secure AArch32 Hypervisor mode
NOTICE:  BL31: v2.3(debug):v2.3-140-g967a6d162d9d
NOTICE:  BL31: Built : 17:26:28, Jun 11 2020
INFO:    Changed device tree to advertise PSCI.
INFO:    ARM GICv2 driver initialized
INFO:    BL31: Initializing runtime services
INFO:    BL31: cortex_a72: CPU workaround for 859971 was applied
INFO:    BL31: cortex_a72: CPU workaround for cve_2017_5715 was applied
INFO:    BL31: cortex_a72: CPU workaround for cve_2018_3639 was applied
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x20000
INFO:    SPSR = 0x1da


U-Boot 2020.07-rc4-00027-g7f3689f236cd (Jun 11 2020 - 18:07:34 +0200)

DRAM:  3.9 GiB
RPI 4 Model B (0xc03111)
MMC:   mmcnr@7e300000: 1, emmc2@7e340000: 0
Loading Environment from FAT... OK
In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@7d580000
Hit any key to stop autoboot:  0
ERROR: reserving fdt memory region failed (addr=0 size=80000)
15188480 bytes read in 842 ms (17.2 MiB/s)
Card did not respond to voltage select!
Scanning disk mmcnr@7e300000.blk...
Disk mmcnr@7e300000.blk not ready
Scanning disk emmc2@7e340000.blk...
Found 2 disks
EFI stub: Entering in HYP mode with MMU enabled
EFI stub: Booting Linux Kernel...
EFI stub: ERROR: Could not determine UEFI Secure Boot status.
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.9.0-rc7+ (ard@gambale) (arm-linux-gnueabihf-gcc (Debian 8.3.0-2) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #201 SMP PREEMPT Sun Oct 4 11:00:50 CEST 2020
[    0.000000] CPU: ARMv7 Processor [410fd083] revision 3 (ARMv7), cr=70c5383d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: Raspberry Pi 4 Model B Rev 1.1
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] efi: EFI v2.80 by Das U-Boot
[    0.000000] efi: RTPROP=0x39f52040 SMBIOS=0x39f4c000 MEMRESERVE=0x390c6040
[    0.000000] Reserved memory: created CMA memory pool at 0x000000002c000000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] ATAGs/DTB found in lowmem, skip clearing PMD @0xc7c00000
[    0.000000] ATAGs/DTB found in lowmem, skip clearing PMD @0xc7e00000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000080000-0x000000002fffffff]
[    0.000000]   Normal   empty
[    0.000000]   HighMem  [mem 0x0000000030000000-0x00000000fbffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000080000-0x00000000001fffff]
[    0.000000]   node   0: [mem 0x0000000000200000-0x0000000039f46fff]
[    0.000000]   node   0: [mem 0x0000000039f47000-0x0000000039f4afff]
[    0.000000]   node   0: [mem 0x0000000039f4b000-0x0000000039f4bfff]
[    0.000000]   node   0: [mem 0x0000000039f4c000-0x0000000039f4cfff]
[    0.000000]   node   0: [mem 0x0000000039f4d000-0x0000000039f4efff]
[    0.000000]   node   0: [mem 0x0000000039f4f000-0x0000000039f4ffff]
[    0.000000]   node   0: [mem 0x0000000039f50000-0x0000000039f51fff]
[    0.000000]   node   0: [mem 0x0000000039f52000-0x0000000039f54fff]
[    0.000000]   node   0: [mem 0x0000000039f55000-0x0000000039f56fff]
[    0.000000]   node   0: [mem 0x0000000039f57000-0x0000000039f5afff]
[    0.000000]   node   0: [mem 0x0000000039f5b000-0x000000003b36bfff]
[    0.000000]   node   0: [mem 0x000000003b36c000-0x000000003b36cfff]
[    0.000000]   node   0: [mem 0x000000003b36d000-0x000000003b3fffff]
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000fbffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000080000-0x00000000fbffffff]
[    0.000000] MEMBLOCK configuration:
[    0.000000]  memory size = 0x00000000f7380000 reserved size = 0x00000000094ec04b
[    0.000000]  memory.cnt  = 0xf
[    0.000000]  memory[0x0]     [0x0000000000080000-0x00000000001fffff], 0x0000000000180000 bytes flags: 0x4
[    0.000000]  memory[0x1]     [0x0000000000200000-0x0000000039f46fff], 0x0000000039d47000 bytes flags: 0x0
[    0.000000]  memory[0x2]     [0x0000000039f47000-0x0000000039f4afff], 0x0000000000004000 bytes flags: 0x4
[    0.000000]  memory[0x3]     [0x0000000039f4b000-0x0000000039f4bfff], 0x0000000000001000 bytes flags: 0x0
[    0.000000]  memory[0x4]     [0x0000000039f4c000-0x0000000039f4cfff], 0x0000000000001000 bytes flags: 0x4
[    0.000000]  memory[0x5]     [0x0000000039f4d000-0x0000000039f4efff], 0x0000000000002000 bytes flags: 0x0
[    0.000000]  memory[0x6]     [0x0000000039f4f000-0x0000000039f4ffff], 0x0000000000001000 bytes flags: 0x4
[    0.000000]  memory[0x7]     [0x0000000039f50000-0x0000000039f51fff], 0x0000000000002000 bytes flags: 0x0
[    0.000000]  memory[0x8]     [0x0000000039f52000-0x0000000039f54fff], 0x0000000000003000 bytes flags: 0x4
[    0.000000]  memory[0x9]     [0x0000000039f55000-0x0000000039f56fff], 0x0000000000002000 bytes flags: 0x0
[    0.000000]  memory[0xa]     [0x0000000039f57000-0x0000000039f5afff], 0x0000000000004000 bytes flags: 0x4
[    0.000000]  memory[0xb]     [0x0000000039f5b000-0x000000003b36bfff], 0x0000000001411000 bytes flags: 0x0
[    0.000000]  memory[0xc]     [0x000000003b36c000-0x000000003b36cfff], 0x0000000000001000 bytes flags: 0x4
[    0.000000]  memory[0xd]     [0x000000003b36d000-0x000000003b3fffff], 0x0000000000093000 bytes flags: 0x0
[    0.000000]  memory[0xe]     [0x0000000040000000-0x00000000fbffffff], 0x00000000bc000000 bytes flags: 0x0
[    0.000000]  reserved.cnt  = 0xa
[    0.000000]  reserved[0x0]   [0x0000000000203000-0x0000000000207fff], 0x0000000000005000 bytes flags: 0x0
[    0.000000]  reserved[0x1]   [0x0000000000400000-0x000000000314453f], 0x0000000002d44540 bytes flags: 0x0
[    0.000000]  reserved[0x2]   [0x0000000007d00000-0x0000000007d0b99e], 0x000000000000b99f bytes flags: 0x0
[    0.000000]  reserved[0x3]   [0x0000000007f00000-0x0000000007f0efff], 0x000000000000f000 bytes flags: 0x0
[    0.000000]  reserved[0x4]   [0x0000000029878000-0x000000002bffefff], 0x0000000002787000 bytes flags: 0x0
[    0.000000]  reserved[0x5]   [0x000000002bfffe40-0x000000002bffff0b], 0x00000000000000cc bytes flags: 0x0
[    0.000000]  reserved[0x6]   [0x000000002bffff40-0x000000002bffff6f], 0x0000000000000030 bytes flags: 0x0
[    0.000000]  reserved[0x7]   [0x000000002bffffa0-0x000000002fffffff], 0x0000000004000060 bytes flags: 0x0
[    0.000000]  reserved[0x8]   [0x00000000390c3000-0x00000000390c3fff], 0x0000000000001000 bytes flags: 0x0
[    0.000000]  reserved[0x9]   [0x00000000390c6040-0x00000000390c604f], 0x0000000000000010 bytes flags: 0x0
[    0.000000] kasan: Mapping kernel virtual memory block: c0080000-c0200000 at shadow: b7010000-b7040000
[    0.000000] kasan: Truncate memory block c0200000-f9f47000
[    0.000000]  to c0200000-f0000000
[    0.000000] kasan: Mapping kernel virtual memory block: c0200000-f0000000 at shadow: b7040000-bd000000
[    0.000000] kasan: Skip highmem block f9f47000-f9f4b000
[    0.000000] kasan: Skip highmem block f9f4b000-f9f4c000
[    0.000000] kasan: Skip highmem block f9f4c000-f9f4d000
[    0.000000] kasan: Skip highmem block f9f4d000-f9f4f000
[    0.000000] kasan: Skip highmem block f9f4f000-f9f50000
[    0.000000] kasan: Skip highmem block f9f50000-f9f52000
[    0.000000] kasan: Skip highmem block f9f52000-f9f55000
[    0.000000] kasan: Skip highmem block f9f55000-f9f57000
[    0.000000] kasan: Skip highmem block f9f57000-f9f5b000
[    0.000000] kasan: Skip highmem block f9f5b000-fb36c000
[    0.000000] kasan: Skip highmem block fb36c000-fb36d000
[    0.000000] kasan: Skip highmem block fb36d000-fb400000
[    0.000000] kasan: Skip highmem block 00000000-bc000000
[    0.000000] kasan: Mapping kernel virtual memory block: bf800000-c0000000 at shadow: b6f00000-b7000000
[    0.000000] kasan: Mapping kernel virtual memory block: c7c00000-c7e00000 at shadow: b7f80000-b7fc0000
[    0.000000] kasan: Kernel address sanitizer initialized
[    0.000000] DTB @07d00000 (physical) copied to @e374b640 (virtual)
[    0.000000] Clear ATAGs/DTB PMD @0xc7c00000
[    0.000000] Clear ATAGs/DTB PMD @0xc7e00000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 20 pages/cpu s50060 r8192 d23668 u81920
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1010689
[    0.000000] Kernel command line: rootwait
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x1f61b000-0x2361b000] (64MB)
[    0.000000] Memory: 3730416K/4050432K available (16384K kernel code, 8829K rwdata, 13344K rodata, 2048K init, 4755K bss, 254480K reserved, 65536K cma-reserved, 3264448K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=16 to nr_cpu_ids=4.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from start_kernel+0x19d/0x2fe with crng_init=0
[    0.000013] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483647500ns
[    0.000083] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275 ns
[    0.000296] bcm2835: system timer (irq = 17)
[    0.009824] arch_timer: cp15 timer(s) running at 54.00MHz (phys).
[    0.009851] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[    0.009879] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[    0.009900] Switching to timer-based delay loop, resolution 18ns
[    0.013241] Console: colour dummy device 80x30
[    0.017363] printk: console [tty0] enabled
[    0.017442] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=540000)
[    0.017514] pid_max: default: 32768 minimum: 301
[    0.018442] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.018507] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.024460] CPU: Testing write buffer coherency: ok
[    0.024692] CPU0: Spectre v2: using firmware workaround
[    0.025381] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.027838] Setting up static identity map for 0x400000 - 0x400160
[    0.031116] rcu: Hierarchical SRCU implementation.
[    0.039325] Remapping and enabling EFI services.
[    0.040439] smp: Bringing up secondary CPUs ...
[    0.043207] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.043225] CPU1: Spectre v2: using firmware workaround
[    0.046186] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.046203] CPU2: Spectre v2: using firmware workaround
[    0.049125] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.049142] CPU3: Spectre v2: using firmware workaround
[    0.049394] smp: Brought up 1 node, 4 CPUs
[    0.049435] SMP: Total of 4 processors activated (432.00 BogoMIPS).
[    0.049473] CPU: All CPU(s) started in HYP mode.
[    0.049506] CPU: Virtualization extensions available.
[    0.053859] devtmpfs: initialized
[    0.272079] VFP support v0.3: implementor 41 architecture 3 part 40 variant 8 rev 0
[    0.274711] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.274794] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.284793] pinctrl core: initialized pinctrl subsystem
[    0.301167] SMBIOS 3.0 present.
[    0.301240] DMI: raspberrypi rpi/rpi, BIOS 2020.07-rc4-00027-g7f3689f236cd 06/11/2020
[    0.305060] NET: Registered protocol family 16
[    0.312134] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.336434] thermal_sys: Registered thermal governor 'step_wise'
[    0.338319] cpuidle: using governor menu
[    0.339480] No ATAGs?
[    0.339688] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.339743] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.360492] Serial: AMBA PL011 UART driver
[    7.960729] AT91: Could not find identification node
[    7.982086] iommu: Default domain type: Translated
[    7.983696] vgaarb: loaded
[    7.997570] SCSI subsystem initialized
[    8.003072] usbcore: registered new interface driver usbfs
[    8.003839] usbcore: registered new interface driver hub
[    8.004362] usbcore: registered new device driver usb
[    8.011460] pps_core: LinuxPPS API ver. 1 registered
[    8.011504] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    8.011885] PTP clock support registered
[    8.033370] clocksource: Switched to clocksource arch_sys_counter
[   10.577266] NET: Registered protocol family 2
[   10.582536] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[   10.582705] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[   10.583129] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[   10.583518] TCP: Hash tables configured (established 8192 bind 8192)
[   10.584217] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[   10.584366] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[   10.585623] NET: Registered protocol family 1
[   10.590449] RPC: Registered named UNIX socket transport module.
[   10.590495] RPC: Registered udp transport module.
[   10.590531] RPC: Registered tcp transport module.
[   10.590566] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   10.590613] PCI: CLS 0 bytes, default 64
[   10.597885] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
[   10.611384] Initialise system trusted keyrings
[   10.612156] workingset: timestamp_bits=30 max_order=20 bucket_order=0
[   10.750772] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[   10.763208] NFS: Registering the id_resolver key type
[   10.763402] Key type id_resolver registered
[   10.763440] Key type id_legacy registered
[   10.765087] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[   10.765382] ntfs: driver 2.1.32 [Flags: R/O].
[   10.772851] Key type asymmetric registered
[   10.772892] Asymmetric key parser 'x509' registered
[   10.773149] bounce: pool size: 64 pages
[   10.773895] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[   10.773948] io scheduler mq-deadline registered
[   10.773984] io scheduler kyber registered
[   10.814117] ------------[ cut here ]------------
[   10.814190] WARNING: CPU: 0 PID: 1 at kernel/irq/chip.c:996 irq_set_chained_handler_and_data+0x85/0xa8
[   10.814243] Modules linked in:
[   10.814287] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.9.0-rc7+ #201
[   10.814329] Hardware name: raspberrypi rpi/rpi, BIOS 2020.07-rc4-00027-g7f3689f236cd 06/11/2020
[   10.814404] [<c0412a25>] (unwind_backtrace) from [<c040c0b7>] (show_stack+0xb/0xc)
[   10.814471] [<c040c0b7>] (show_stack) from [<c08af38d>] (dump_stack+0x8d/0xa0)
[   10.814535] [<c08af38d>] (dump_stack) from [<c0447135>] (__warn+0xe5/0xf4)
[   10.814591] [<c0447135>] (__warn) from [<c04474cb>] (warn_slowpath_fmt+0x7f/0xc8)
[   10.814658] [<c04474cb>] (warn_slowpath_fmt) from [<c04af129>] (irq_set_chained_handler_and_data+0x85/0xa8)
[   10.814734] [<c04af129>] (irq_set_chained_handler_and_data) from [<c0948ee9>] (gpiochip_add_data_with_key+0x9b5/0xf2c)
[   10.814811] [<c0948ee9>] (gpiochip_add_data_with_key) from [<c091bb51>] (bcm2835_pinctrl_probe+0x4d1/0x620)
[   10.814887] [<c091bb51>] (bcm2835_pinctrl_probe) from [<c0bd787f>] (platform_drv_probe+0x43/0x80)
[   10.814951] [<c0bd787f>] (platform_drv_probe) from [<c0bd5281>] (really_probe+0x105/0x3e4)
[   10.815013] [<c0bd5281>] (really_probe) from [<c0bd56a9>] (driver_probe_device+0x51/0x90)
[   10.815074] [<c0bd56a9>] (driver_probe_device) from [<c0bd587b>] (device_driver_attach+0x5b/0x60)
[   10.815137] [<c0bd587b>] (device_driver_attach) from [<c0bd58c3>] (__driver_attach+0x43/0x9c)
[   10.815202] [<c0bd58c3>] (__driver_attach) from [<c0bd343f>] (bus_for_each_dev+0xab/0xdc)
[   10.815269] [<c0bd343f>] (bus_for_each_dev) from [<c0bd463f>] (bus_add_driver+0x1a3/0x1c8)
[   10.815334] [<c0bd463f>] (bus_add_driver) from [<c0bd64d9>] (driver_register+0x89/0x124)
[   10.815397] [<c0bd64d9>] (driver_register) from [<c0402247>] (do_one_initcall+0x87/0x308)
[   10.815465] [<c0402247>] (do_one_initcall) from [<c2200f61>] (kernel_init_freeable+0x1a1/0x1ec)
[   10.815533] [<c2200f61>] (kernel_init_freeable) from [<c1216a9b>] (kernel_init+0x7/0xd0)
[   10.815595] [<c1216a9b>] (kernel_init) from [<c0400249>] (ret_from_fork+0x11/0x28)
[   10.815645] Exception stack(0xc02c7fb0 to 0xc02c7ff8)
[   10.815689] 7fa0:                                     00000000 00000000 00000000 00000000
[   10.815751] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   10.815809] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[   10.815858] ---[ end trace e18024a7dcc03eb9 ]---
[   11.469484] Serial: 8250/16550 driver, 5 ports, IRQ sharing enabled
[   11.491993] bcm2835-aux-uart fe215040.serial: there is not valid maps for state default
[   11.498593] fe215040.serial: ttyS1 at MMIO 0xfe215040 (irq = 31, base_baud = 62499999) is a 16550
[   11.512391] SuperH (H)SCI(F) driver initialized
[   11.516928] msm_serial: driver initialized
[   11.517876] STMicroelectronics ASC driver initialized
[   11.524198] STM32 USART driver initialized
[   11.533317] iproc-rng200 fe104000.rng: hwrng registered
[   11.661993] brd: module loaded
[   11.767131] loop: module loaded
[   11.779110] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[   11.839111] libphy: Fixed MDIO Bus: probed
[   11.859421] CAN device driver interface
[   11.862792] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded
[   11.866372] e1000e: Intel(R) PRO/1000 Network Driver
[   11.866411] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[   11.867148] igb: Intel(R) Gigabit Ethernet Network Driver
[   11.867187] igb: Copyright (c) 2007-2014 Intel Corporation.
[   11.881956] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
[   11.882474] usbcore: registered new interface driver pegasus
[   11.883180] usbcore: registered new interface driver asix
[   11.883688] usbcore: registered new interface driver ax88179_178a
[   11.884128] usbcore: registered new interface driver cdc_ether
[   11.884809] usbcore: registered new interface driver smsc75xx
[   11.885505] usbcore: registered new interface driver smsc95xx
[   11.885941] usbcore: registered new interface driver net1080
[   11.886377] usbcore: registered new interface driver cdc_subset
[   11.886811] usbcore: registered new interface driver zaurus
[   11.887518] usbcore: registered new interface driver cdc_ncm
[   11.900172] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   11.900221] ehci-pci: EHCI PCI platform driver
[   11.900638] ehci-platform: EHCI generic platform driver
[   11.901293] ehci-orion: EHCI orion driver
[   11.901867] SPEAr-ehci: EHCI SPEAr driver
[   11.902391] ehci-st: EHCI STMicroelectronics driver
[   11.902913] ehci-exynos: EHCI Exynos driver
[   11.903472] ehci-atmel: EHCI Atmel driver
[   11.904003] tegra-ehci: Tegra EHCI driver
[   11.904565] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   11.904699] ohci-pci: OHCI PCI platform driver
[   11.905129] ohci-platform: OHCI generic platform driver
[   11.905788] SPEAr-ohci: OHCI SPEAr driver
[   11.906328] ohci-st: OHCI STMicroelectronics driver
[   11.906852] ohci-atmel: OHCI Atmel driver
[   11.910001] usbcore: registered new interface driver usb-storage
[   11.932956] i2c /dev entries driver
[   11.976053] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[   11.989857] sdhci: Secure Digital Host Controller Interface driver
[   11.989904] sdhci: Copyright(c) Pierre Ossman
[   11.996141] Synopsys Designware Multimedia Card Interface Driver
[   12.000824] sdhci-pltfm: SDHCI platform and OF driver helper
[   12.049618] mmc0: SDHCI controller on fe300000.mmcnr [fe300000.mmcnr] using PIO
[   12.066581] mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
[   12.068466] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[   12.070357] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[   12.073635] mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
[   12.075501] mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
[   12.079504] ledtrig-cpu: registered to indicate activity on CPUs
[   12.081481] SMCCC: SOC_ID: ARCH_SOC_ID(0) returned error: ffffffff
[   12.086306] usbcore: registered new interface driver usbhid
[   12.086450] usbhid: USB HID core driver
[   12.094396] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[   12.111795] drop_monitor: Initializing network drop monitor service
[   12.126160] NET: Registered protocol family 10
[   12.138207] random: fast init done
[   12.145018] mmc0: new high speed SDIO card at address 0001
[   12.152384] Segment Routing with IPv6
[   12.152975] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[   12.161370] NET: Registered protocol family 17
[   12.161453] can: controller area network core (rev 20170425 abi 9)
[   12.163132] NET: Registered protocol family 29
[   12.163172] can: raw protocol (rev 20170425)
[   12.163206] can: broadcast manager protocol (rev 20170425 t)
[   12.163279] can: netlink gateway (rev 20190810) max_hops=1
[   12.166508] Key type dns_resolver registered
[   12.166697] Registering SWP/SWPB emulation handler
[   12.168357] Loading compiled-in X.509 certificates
[   12.235310] uart-pl011 fe201000.serial: there is not valid maps for state default
[   12.237103] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 29, base_baud = 0) is a PL011 rev2
[   14.106799] printk: console [ttyAMA0] enabled
[   14.164933] raspberrypi-firmware soc:firmware: Attached to firmware from 2020-05-01T17:55:30
[   14.322646] mmc1: SDHCI controller on fe340000.emmc2 [fe340000.emmc2] using ADMA
[   14.354019] uart-pl011 fe201000.serial: no DMA platform data
[   14.360192] Waiting for root device ...
[   14.395722] mmc1: new high speed SD card at address 1234
[   14.410071] mmcblk1: mmc1:1234 SA02G 1.84 GiB
[   14.433977]  mmcblk1: p1

[-- Attachment #3: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-10-04  9:11 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-01 15:22 [PATCH 0/6 v14] KASan for Arm Linus Walleij
2020-10-01 15:22 ` [PATCH 1/6 v14] ARM: Handle a device tree in lowmem Linus Walleij
2020-10-01 16:45   ` Florian Fainelli
2020-10-01 20:31     ` Linus Walleij
2020-10-02 11:01   ` Ard Biesheuvel
2020-10-04 20:50     ` Linus Walleij
2020-10-05  7:14       ` Ard Biesheuvel
2020-10-05  9:14         ` Ard Biesheuvel
2020-10-05 13:27           ` Linus Walleij
2020-10-05 13:30             ` Linus Walleij
2020-10-05 13:36             ` Ard Biesheuvel
2020-10-05 14:22               ` Ard Biesheuvel
2020-10-06  9:11                 ` Linus Walleij
2020-10-06  9:16                   ` Ard Biesheuvel
2020-10-06  9:19                     ` Linus Walleij
2020-10-06  8:47           ` Linus Walleij
2020-10-06  8:48             ` Ard Biesheuvel
2020-10-05 12:26         ` Linus Walleij
2020-10-01 15:22 ` [PATCH 2/6 v14] ARM: Disable KASan instrumentation for some code Linus Walleij
2020-10-01 15:22 ` [PATCH 3/6 v14] ARM: Replace string mem* functions for KASan Linus Walleij
2020-10-01 15:22 ` [PATCH 4/6 v14] ARM: Define the virtual space of KASan's shadow region Linus Walleij
2020-10-01 15:22 ` [PATCH 5/6 v14] ARM: Initialize the mapping of KASan shadow memory Linus Walleij
2020-10-01 15:22 ` [PATCH 6/6 v14] ARM: Enable KASan for ARM Linus Walleij
2020-10-01 19:19 ` [PATCH 0/6 v14] KASan for Arm Florian Fainelli
2020-10-01 20:34   ` Linus Walleij
2020-10-01 20:38     ` Florian Fainelli
2020-10-01 21:18   ` Linus Walleij
2020-10-01 21:29     ` Arnd Bergmann
2020-10-01 21:35     ` Florian Fainelli
2020-10-03 15:50   ` Ard Biesheuvel
2020-10-04  8:06     ` Ard Biesheuvel
2020-10-04  8:41       ` Ard Biesheuvel
2020-10-04  9:09         ` Ard Biesheuvel [this message]
2020-10-04 20:24           ` Florian Fainelli
2020-10-05  8:40           ` Linus Walleij
2020-10-06 13:21 ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMj1kXFWOnFcpKKVyDos4zLXkogPacrgtScVX=5uRYLXc+hxzA@mail.gmail.com' \
    --to=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=aryabinin@virtuozzo.com \
    --cc=f.fainelli@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=liuwenliang@huawei.com \
    --cc=rppt@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.