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
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).