lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54F9C407.5020602@ti.com>
Date:	Fri, 6 Mar 2015 10:13:11 -0500
From:	Murali Karicheri <m-karicheri2@...com>
To:	Fengguang Wu <fengguang.wu@...el.com>
CC:	Bjorn Helgaas <bhelgaas@...gle.com>, LKP <lkp@...org>,
	<linux-pci@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PCI] BUG: unable to handle kernel

On 03/06/2015 01:06 AM, Fengguang Wu wrote:
> Greetings,
>
> 0day kernel testing robot got the below dmesg and the first bad commit is
>
> git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
>
> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
> Author:     Murali Karicheri<m-karicheri2@...com>
> AuthorDate: Tue Mar 3 12:52:13 2015 -0500
> Commit:     Bjorn Helgaas<bhelgaas@...gle.com>
> CommitDate: Tue Mar 3 14:42:58 2015 -0600
>
>      PCI: Update DMA configuration from DT
>
>      If there is a DT node available for the root bridge's parent device, use
>      the DMA configuration from that device node.  For example, Keystone PCI
>      devices would require dma_pfn_offset to be set correctly in the device
>      structure of the PCI device in order to have the correct DMA mask.  The DT
>      node will have dma-ranges defined for this.  Also support using the DT
>      property dma-coherent to allow coherent DMA operation by the PCI device.
>
>      Use the new helper function of_pci_dma_configure() to update the device DMA
>      configuration.  This fixes DMA on systems where DMA addresses are a
>      constant offset from CPU physical addresses.
>
>      Tested-by: Suravee Suthikulpanit<Suravee.Suthikulpanit@....com>  (AMD Seattle)
>      Signed-off-by: Murali Karicheri<m-karicheri2@...com>
>      Signed-off-by: Bjorn Helgaas<bhelgaas@...gle.com>
>      Reviewed-by: Catalin Marinas<catalin.marinas@....com>
>      Acked-by: Will Deacon<will.deacon@....com>
>      CC: Joerg Roedel<joro@...tes.org>
>      CC: Grant Likely<grant.likely@...aro.org>
>      CC: Rob Herring<robh+dt@...nel.org>
>      CC: Russell King<linux@....linux.org.uk>
>      CC: Arnd Bergmann<arnd@...db.de>
>
> +------------------------------------------+------------+------------+-----------------+
> |                                          | bdc567f9c1 | 0b2af17152 | v4.0-rc2_030422 |
> +------------------------------------------+------------+------------+-----------------+
> | boot_successes                           | 47         | 0          | 0               |
> | boot_failures                            | 33         | 20         | 12              |
> | page_allocation_failure:order:#,mode     | 33         |            |                 |
> | backtrace:btrfs_test_extent_io           | 33         |            |                 |
> | backtrace:init_btrfs_fs                  | 33         |            |                 |
> | backtrace:kernel_init_freeable           | 33         | 20         | 12              |
> | BUG:unable_to_handle_kernel              | 0          | 20         | 12              |
> | Oops                                     | 0          | 20         | 12              |
> | EIP_is_at_of_pci_dma_configure           | 0          | 20         | 12              |
> | Kernel_panic-not_syncing:Fatal_exception | 0          | 20         | 12              |
> | backtrace:acpi_bus_scan                  | 0          | 20         | 12              |
> | backtrace:acpi_scan_init                 | 0          | 20         | 12              |
> | backtrace:acpi_init                      | 0          | 20         | 12              |
> +------------------------------------------+------------+------------+-----------------+
>
> [    0.573023] pci_bus 0000:00: root bus resource [mem 0x14000000-0xfebfffff window]
> [    0.573381] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
> [    0.573381] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
> [    0.574397] BUG: unable to handle kernel
> [    0.574397] BUG: unable to handle kernel NULL pointer dereferenceNULL pointer dereference at 000001c4
>   at 000001c4
> [    0.575439] IP:
> [    0.575439] IP: [<79a20c33>] of_pci_dma_configure+0x33/0x70
>   [<79a20c33>] of_pci_dma_configure+0x33/0x70
> [    0.576231] *pde = 00000000
> [    0.576231] *pde = 00000000
>
> [    0.576666] Oops: 0000 [#1]
> [    0.576666] Oops: 0000 [#1] SMP SMP
>
> [    0.576666] Modules linked in:
> [    0.576666] Modules linked in:
>
> [    0.576666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1-00006-g0b2af17 #6
> [    0.576666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1-00006-g0b2af17 #6
> [    0.576666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
> [    0.576666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
> [    0.576666] task: 78060000 ti: 78068000 task.ti: 78068000
> [    0.576666] task: 78060000 ti: 78068000 task.ti: 78068000
> [    0.576666] EIP: 0060:[<79a20c33>] EFLAGS: 00010246 CPU: 0
> [    0.576666] EIP: 0060:[<79a20c33>] EFLAGS: 00010246 CPU: 0
> [    0.576666] EIP is at of_pci_dma_configure+0x33/0x70
> [    0.576666] EIP is at of_pci_dma_configure+0x33/0x70
> [    0.576666] EAX: 00000000 EBX: 78011800 ECX: 00000000 EDX: 00000005
> [    0.576666] EAX: 00000000 EBX: 78011800 ECX: 00000000 EDX: 00000005
> [    0.576666] ESI: 781d8400 EDI: 781d8000 EBP: 78069cd0 ESP: 78069cc8
> [    0.576666] ESI: 781d8400 EDI: 781d8000 EBP: 78069cd0 ESP: 78069cc8
> [    0.576666]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
> [    0.576666]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
> [    0.576666] CR0: 8005003b CR2: 000001c4 CR3: 0229f000 CR4: 000006d0
> [    0.576666] CR0: 8005003b CR2: 000001c4 CR3: 0229f000 CR4: 000006d0
> [    0.576666] Stack:
> [    0.576666] Stack:
> [    0.576666]  78011800
> [    0.576666]  78011800 78011860 78011860 78069d5c 78069d5c 7976c1ac 7976c1ac 00000002 00000002 78069ce8 78069ce8 0000002e 0000002e 00000000 00000000
>
> [    0.576666]  00001100
> [    0.576666]  00001100 78011800 78011800 78011860 78011860 781d8000 781d8000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>
> [    0.576666]  00000000
> [    0.576666]  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>
> [    0.576666] Call Trace:
> [    0.576666] Call Trace:
> [    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
> [    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
> [    0.576666]  [<7976ca54>] pci_scan_single_device+0x144/0x1c0
> [    0.576666]  [<7976ca54>] pci_scan_single_device+0x144/0x1c0
> [    0.576666]  [<7976cb70>] pci_scan_slot+0xa0/0x230
> [    0.576666]  [<7976cb70>] pci_scan_slot+0xa0/0x230
> [    0.576666]  [<7976ea6a>] pci_scan_child_bus+0x5a/0x230
> [    0.576666]  [<7976ea6a>] pci_scan_child_bus+0x5a/0x230
> [    0.576666]  [<79894626>] ? dev_warn+0x36/0x50
> [    0.576666]  [<79894626>] ? dev_warn+0x36/0x50
> [    0.576666]  [<79a48cf5>] pci_acpi_scan_root+0x4c5/0x990
> [    0.576666]  [<79a48cf5>] pci_acpi_scan_root+0x4c5/0x990
> [    0.576666]  [<797c9be8>] acpi_pci_root_add+0x4fb/0x64d
> [    0.576666]  [<797c9be8>] acpi_pci_root_add+0x4fb/0x64d
> [    0.576666]  [<797be464>] ? acpi_scan_match_handler+0x9d/0x10e
> [    0.576666]  [<797be464>] ? acpi_scan_match_handler+0x9d/0x10e
> [    0.576666]  [<797c2a3d>] acpi_bus_attach+0x149/0x381
> [    0.576666]  [<797c2a3d>] acpi_bus_attach+0x149/0x381
> [    0.576666]  [<79bd0946>] ? mutex_unlock+0x16/0x30
> [    0.576666]  [<79bd0946>] ? mutex_unlock+0x16/0x30
> [    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
> [    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
> [    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
> [    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
> [    0.576666]  [<7989b94d>] ? device_attach+0x6d/0x120
> [    0.576666]  [<7989b94d>] ? device_attach+0x6d/0x120
> [    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
> [    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
> [    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
> [    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
> [    0.576666]  [<797c2d06>] acpi_bus_scan+0x91/0xa8
> [    0.576666]  [<797c2d06>] acpi_bus_scan+0x91/0xa8
> [    0.576666]  [<7a217b07>] acpi_scan_init+0x137/0x39d
> [    0.576666]  [<7a217b07>] acpi_scan_init+0x137/0x39d
> [    0.576666]  [<7a217695>] acpi_init+0x496/0x534
> [    0.576666]  [<7a217695>] acpi_init+0x496/0x534
> [    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
> [    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
> [    0.576666]  [<790005ae>] do_one_initcall+0x16e/0x3c0
> [    0.576666]  [<790005ae>] do_one_initcall+0x16e/0x3c0
> [    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
> [    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
> [    0.576666]  [<7a1b8afe>] kernel_init_freeable+0x263/0x3e4
> [    0.576666]  [<7a1b8afe>] kernel_init_freeable+0x263/0x3e4
> [    0.576666]  [<79bb7c49>] kernel_init+0x19/0x200
> [    0.576666]  [<79bb7c49>] kernel_init+0x19/0x200
> [    0.576666]  [<79bd5d01>] ret_from_kernel_thread+0x21/0x30
> [    0.576666]  [<79bd5d01>] ret_from_kernel_thread+0x21/0x30
> [    0.576666]  [<79bb7c30>] ? rest_init+0x180/0x180
> [    0.576666]  [<79bb7c30>] ? rest_init+0x180/0x180
> [    0.576666] Code:
> [    0.576666] Code: 80 80 5c 5c c1 c1 7a 7a 01 01 89 89 5d 5d f8 f8 89 89 c3 c3 89 89 75 75 fc fc 83 83 15 15 84 84 5c 5c c1 c1 7a 7a 00 00 e8 e8 df df ec ec d4 d4 ff ff 83 83 05 05 88 88 5c 5c c1 c1 7a 7a 01 01 83 83 15 15 8c 8c 5c 5c c1 c1 7a 7a 00 00 89 89 c6 c6 8b 8b 00 00<8b>  <8b>  90 90 c4 c4 01 01 00 00 00 00 8d 8d 43 43 60 60 e8 e8 1f 1f 94 94 ff ff ff ff 89 89 f0 f0 83 83 05 05 90 90 5c 5c c1 c1
>
> [    0.576666] EIP: [<79a20c33>]
> [    0.576666] EIP: [<79a20c33>] of_pci_dma_configure+0x33/0x70of_pci_dma_configure+0x33/0x70 SS:ESP 0068:78069cc8
>   SS:ESP 0068:78069cc8
> [    0.576666] CR2: 00000000000001c4
> [    0.576666] CR2: 00000000000001c4
> [    0.576666] ---[ end trace af448c13c817976d ]---
> [    0.576666] ---[ end trace af448c13c817976d ]---
>
> git bisect start f20f4567bfc741f16e0895f4c4e845e7c51e6818 13a7a6ac0a11197edcd0f756a035f472b42cdf8b --
> git bisect good 6a85284cccce49f687a505a7952fa3889b82628d  # 16:02     20+     19  Merge 'kees/yama/tip' into devel-hourly-2015030422
> git bisect  bad e85ea728632a20c9830cbc5c67d64f8a302b452e  # 16:05      0-     20  Merge 'tip/x86/asm' into devel-hourly-2015030422
> git bisect  bad 0516a34d518ed4a1ae4261736d6678094fd46142  # 16:11      0-     20  Merge 'spi/for-next' into devel-hourly-2015030422
> git bisect  bad d8ee2cead70b0d04c58d1a57299fe307f5616b7e  # 16:49      0-     20  Merge 'sound/topic/hda-unbind' into devel-hourly-2015030422
> git bisect  bad ccbd4806f70ac1599934b7c17582f44af02edca8  # 17:09      0-     20  Merge 'perf/tmp.perf/trace_ordered_events' into devel-hourly-2015030422
> git bisect good a8c718ae516eeb6366d899bae02ebb409ced5453  # 17:12     20+      0  Merge 'mripard/sunxi/dt-for-4.1' into devel-hourly-2015030422
> git bisect  bad 941b9d9416bbace6161718d173a526f9dfd10762  # 17:14      0-     20  Merge 'pci/pci/murali-v8' into devel-hourly-2015030422
> git bisect good 6675a601d72be408025e675599702e30a99188aa  # 17:19     20+     16  PCI: Add helper functions pci_get[put]_host_bridge_device()
> git bisect  bad 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6  # 17:21      0-     20  PCI: Update DMA configuration from DT
> git bisect good bdc567f9c1cb6a61100471afc95ee6200f0ba043  # 17:24     20+      7  of/pci: Add of_pci_dma_configure() to update DMA configuration
> # first bad commit: [0b2af171520e5d5e7d5b5f479b90a6a5014d9df6] PCI: Update DMA configuration from DT
> git bisect good bdc567f9c1cb6a61100471afc95ee6200f0ba043  # 17:27     60+     33  of/pci: Add of_pci_dma_configure() to update DMA configuration
> # extra tests with DEBUG_INFO
> git bisect  bad 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6  # 17:40      0-     60  PCI: Update DMA configuration from DT
> # extra tests on HEAD of linux-devel/devel-hourly-2015030422
> git bisect  bad f20f4567bfc741f16e0895f4c4e845e7c51e6818  # 17:41      0-     12  0day head guard for 'devel-hourly-2015030422'
> # extra tests on tree/branch pci/pci/murali-v8
> git bisect  bad da5cc6061aae665cc15835519838861437b9fdc7  # 17:56      0-     60  of: Calculate device DMA masks based on DT dma-range size
> # extra tests with first bad commit reverted
> # extra tests on tree/branch linus/master
> git bisect good 6587457b4b3d663b237a0f95ddf6e67d1828c8ea  # 18:08     60+     60  Merge tag 'dma-buf-for-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf
> # extra tests on tree/branch next/master
>
>
> This script may reproduce the error.
>
> ----------------------------------------------------------------------------
> #!/bin/bash
>
> kernel=$1
>
> kvm=(
> 	qemu-system-x86_64
> 	-cpu kvm64
> 	-enable-kvm
> 	-kernel $kernel
> 	-m 320
> 	-smp 2
> 	-net nic,vlan=1,model=e1000
> 	-net user,vlan=1
> 	-boot order=nc
> 	-no-reboot
> 	-watchdog i6300esb
> 	-rtc base=localtime
> 	-serial stdio
> 	-display none
> 	-monitor null
> )
>
> append=(
> 	hung_task_panic=1
> 	earlyprintk=ttyS0,115200
> 	rd.udev.log-priority=err
> 	systemd.log_target=journal
> 	systemd.log_level=warning
> 	debug
> 	apic=debug
> 	sysrq_always_enabled
> 	rcupdate.rcu_cpu_stall_timeout=100
> 	panic=-1
> 	softlockup_panic=1
> 	nmi_watchdog=panic
> 	oops=panic
> 	load_ramdisk=2
> 	prompt_ramdisk=0
> 	console=ttyS0,115200
> 	console=tty0
> 	vga=normal
> 	root=/dev/ram0
> 	rw
> 	drbd.minor_count=8
> )
>
> "${kvm[@]}" --append "${append[*]}"
> ----------------------------------------------------------------------------
>
> Thanks,
> Fengguang
Fengguang,

Could you or someone point me to the DT file for this platform? I looked 
at the config file and it has CONFIG_OF enabled. Wondering if it has 
dma-ranges defined? This series was tested on ARM platforms that uses 
dma-ranges. If someone can point me to the DT file, this will give me a 
clue on what is going on here.

-- 
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ