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] [day] [month] [year] [list]
Date:	Wed, 29 Apr 2015 11:05:31 -0700
From:	Tyler Baker <tyler.baker@...aro.org>
To:	imre.deak@...el.com
Cc:	damien.lespiau@...el.com, daniel.vetter@...ll.ch,
	sivakumar.thulasimani@...el.com,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Kevin Hilman <khilman@...aro.org>,
	Darren Hart <dvhart@...radead.org>,
	Jani Nikula <jani.nikula@...el.com>
Subject: Re: "drm/i915: Iterate through the initialized DDIs to prepare their
 buffers" causes x86 boot regressions in next-20150429

On 29 April 2015 at 10:47, Imre Deak <imre.deak@...el.com> wrote:
> The two patches that fix this issue is already reviewed and waiting to
> be merged:
> http://lists.freedesktop.org/archives/intel-gfx/2015-April/064993.html

Thanks for the pointer, happy to see there is a fix in the works.
Apologies for the noise.

>
> On Wed, 2015-04-29 at 10:31 -0700, Tyler Baker wrote:
>> Hi,
>>
>> Today's linux-next (next-20150429) fails to boot to a minimal
>> buildroot based ramdisk on my x86 i5 haswell machine with the
>> following splat.
>>
>> [    3.300154] vgaarb: device changed decodes:
>> PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
>> [    3.314165] BUG: unable to handle kernel paging request at ffff88022c0f81a3
>> [    3.321151] IP: [] intel_prepare_ddi+0x72/0x350
>> [    3.327248] PGD 210a067 PUD 210d067 PMD 0
>> [    3.331389] Oops: 0000 [#1] SMP
>> [    3.334644] Modules linked in:
>> [    3.337712] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W I
>> 4.1.0-rc1-next-20150429 #1
>> [    3.346304] Hardware name: MSI MS-7850/Z87-G41 PC Mate(MS-7850),
>> BIOS V1.1 04/26/2013
>> [    3.354116] task: ffff880216168000 ti: ffff880216154000 task.ti:
>> ffff880216154000
>> [    3.361581] RIP: 0010:[]  [] intel_prepare_ddi+0x72/0x350
>> [    3.370104] RSP: 0000:ffff880216157958  EFLAGS: 00010212
>> [    3.375406] RAX: ffff880215ab0308 RBX: ffff880217016800 RCX: 0000000015fa0800
>> [    3.382526] RDX: ffff880217016b40 RSI: 0000000000000282 RDI: ffff880217016800
>> [    3.389647] RBP: ffff8802161579d8 R08: 0000000000000000 R09: 0000000000000000
>> [    3.396766] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880215ab0300
>> [    3.403886] R13: 0000000015fa0800 R14: ffff880217016800 R15: ffff880215960000
>> [    3.411006] FS:  0000000000000000(0000) GS:ffff88021fa00000(0000)
>> knlGS:0000000000000000
>> [    3.419077] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>> [    3.424812] CR2: ffff88022c0f81a3 CR3: 0000000001e0b000 CR4: 00000000001406f0
>> [    3.431933] Stack:
>> [    3.433940]  ffff8802159666d8 0000000000000082 ffff8802159654a0
>> 0000000000000000
>> [    3.441389]  ffff880215960000 0000000000000001 ffff880217016800
>> ffff880217016b40
>> [    3.448838]  ffff8802161579d8 000000000047ce1a ffff8802161579d8
>> ffff880217016800
>> [    3.456286] Call Trace:
>> [    3.458732]  [] intel_modeset_init_hw+0x11/0x40
>> [    3.464813]  [] intel_modeset_gem_init+0x5f/0x1a0
>> [    3.471073]  [] i915_driver_load+0xc9e/0x13b0
>> [    3.476983]  [] ? call_usermodehelper_exec+0xa8/0x150
>> [    3.483589]  [] ? SYSC_kill+0x1a0/0x1b0
>> [    3.488978]  [] ? kobject_uevent_env+0x10b/0x510
>> [    3.495147]  [] ? devtmpfs_create_node+0xfe/0x130
>> [    3.501407]  [] ? get_device+0x14/0x20
>> [    3.506707]  [] ? klist_class_dev_get+0x10/0x20
>> [    3.512789]  [] ? klist_node_init+0x41/0x60
>> [    3.518521]  [] ? put_device+0x12/0x20
>> [    3.523823]  [] ? device_add+0x1f8/0x5b0
>> [    3.529299]  [] drm_dev_register+0xb5/0x110
>> [    3.535041]  [] drm_get_pci_dev+0xe1/0x200
>> [    3.540697]  [] i915_pci_probe+0x38/0x50
>> [    3.546170]  [] local_pci_probe+0x49/0xa0
>> [    3.551730]  [] ? get_device+0x14/0x20
>> [    3.557030]  [] pci_device_probe+0xd9/0x120
>> [    3.562767]  [] driver_probe_device+0x149/0x2b0
>> [    3.568846]  [] __driver_attach+0x9b/0xa0
>> [    3.574406]  [] ? driver_probe_device+0x2b0/0x2b0
>> [    3.580659]  [] bus_for_each_dev+0x5e/0x90
>> [    3.586309]  [] driver_attach+0x19/0x20
>> [    3.591696]  [] bus_add_driver+0x114/0x230
>> [    3.597343]  [] driver_register+0x5f/0xf0
>> [    3.602904]  [] ? mipi_dsi_bus_init+0x12/0x12
>> [    3.608811]  [] __pci_register_driver+0x46/0x50
>> [    3.614892]  [] drm_pci_init+0xf5/0x120
>> [    3.620288]  [] ? mipi_dsi_bus_init+0x12/0x12
>> [    3.626196]  [] i915_init+0xa0/0xa8
>> [    3.631237]  [] ? mipi_dsi_bus_init+0x12/0x12
>> [    3.637141]  [] do_one_initcall+0x89/0x1b0
>> [    3.642790]  [] kernel_init_freeable+0x138/0x1d1
>> [    3.648956]  [] ? do_early_param+0x86/0x86
>> [    3.654604]  [] ? rest_init+0x80/0x80
>> [    3.659820]  [] kernel_init+0x9/0xf0
>> [    3.664945]  [] ret_from_fork+0x42/0x70
>> [    3.670334]  [] ? rest_init+0x80/0x80
>> [    3.675548] Code: 8d 60 f8 75 1b e9 8f 00 00 00 0f 1f 80 00 00 00
>> 00 49 8b 44 24 08 48 39 45 b8 4c 8d 60 f8 74 79 45 8b ac 24 d8 00 00
>> 00 44 89 e9 <80> 7c 0d cb 00 75 df 48 8b 45 b0 48 8b 58 28 49 63 c5 0f
>> b6 84
>> [    3.695485] RIP  [] intel_prepare_ddi+0x72/0x350
>> [    3.701671]  RSP
>> [    3.705162] CR2: ffff88022c0f81a3
>> [    3.708471] ---[ end trace 48c03f18592033e1 ]---
>> [    3.713089] Kernel panic - not syncing: Attempted to kill init!
>> exitcode=0x00000009
>> [    3.713089]
>> [    3.722222] Kernel Offset: disabled
>> [    3.725708] ---[ end Kernel panic - not syncing: Attempted to kill
>> init! exitcode=0x00000009
>>
>> I've gone ahead an bisected this failure.
>>
>> git bisect start
>> # bad: [6b1330a4f1b25f474aa2b9bcaf941e26abfe30af] Add linux-next
>> specific files for 20150429
>> git bisect bad 6b1330a4f1b25f474aa2b9bcaf941e26abfe30af
>> # good: [b787f68c36d49bb1d9236f403813641efa74a031] Linux 4.1-rc1
>> git bisect good b787f68c36d49bb1d9236f403813641efa74a031
>> # good: [9412b0387c805ef5f172b40ad731a9f84326c3c4] Merge
>> remote-tracking branch 'bluetooth/master'
>> git bisect good 9412b0387c805ef5f172b40ad731a9f84326c3c4
>> # bad: [4d906c61f6283061b2226e26dd33555017253fcd] Merge
>> remote-tracking branch 'sound/for-next'
>> git bisect bad 4d906c61f6283061b2226e26dd33555017253fcd
>> # good: [3760b59cba7d592e0ed70cb64291f0403b12f805] drm/i915/bxt:
>> Determine PLL attached to pipe
>> git bisect good 3760b59cba7d592e0ed70cb64291f0403b12f805
>> # bad: [19d0dc4f55f0d4b43b09f8acc89f867013dd349e] Merge
>> remote-tracking branch 'drm-intel/for-linux-next'
>> git bisect bad 19d0dc4f55f0d4b43b09f8acc89f867013dd349e
>> # good: [1c41b88249f623a3c92e53aa7cc221b2245bd044] crypto: testmgr -
>> Include linux/fips.h for fips_enabled
>> git bisect good 1c41b88249f623a3c92e53aa7cc221b2245bd044
>> # bad: [9258811c961879450502f767773227f5c0d79120] drm/i915: Don't use
>> atomics for pg_dirty_rings
>> git bisect bad 9258811c961879450502f767773227f5c0d79120
>> # bad: [097f8261ddda4b1896dd335dec95dedeecfeaa1b] drm/i915/audio:
>> remove duplicated include from intel_audio.c
>> git bisect bad 097f8261ddda4b1896dd335dec95dedeecfeaa1b
>> # bad: [9314726b9f7329e223dd279819b42842ab7d413f] drm/i915/bxt: Update
>> max level of vswing
>> git bisect bad 9314726b9f7329e223dd279819b42842ab7d413f
>> # bad: [b403745c84592b26a0713e6944c2b109f6df5c82] drm/i915: Iterate
>> through the initialized DDIs to prepare their buffers
>> git bisect bad b403745c84592b26a0713e6944c2b109f6df5c82
>> # good: [503604038b739b244781904113a377385a341937] drm/i915: suppress
>> false PLL state warnings on non-GMCH platforms
>> git bisect good 503604038b739b244781904113a377385a341937
>> # first bad commit: [b403745c84592b26a0713e6944c2b109f6df5c82]
>> drm/i915: Iterate through the initialized DDIs to prepare their
>> buffers
>>
>> b403745c84592b26a0713e6944c2b109f6df5c82 is the first bad commit
>> commit b403745c84592b26a0713e6944c2b109f6df5c82
>> Author: Damien Lespiau <damien.lespiau@...el.com>
>> Date:   Mon Aug 4 22:01:33 2014 +0100
>>
>>     drm/i915: Iterate through the initialized DDIs to prepare their buffers
>>
>>     Not every DDIs is necessarily connected can be strapped off and, in the
>>     future, we'll have platforms with a different number of default DDI
>>     ports. So, let's only call intel_prepare_ddi_buffers() on DDI ports that
>>     are actually detected.
>>
>>     We also use the opportunity to give a struct intel_digital_port to
>>     intel_prepare_ddi_buffers() as we'll need it in a following patch to
>>     query if the port supports HMDI or not.
>>
>>     On my HSW machine this removes the initialization of a couple of
>>     (unused) DDIs.
>>
>>     Signed-off-by: Damien Lespiau <damien.lespiau@...el.com>
>>     Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@...el.com>
>>     Signed-off-by: Daniel Vetter <daniel.vetter@...ll.ch>
>>
>> :040000 040000 0694baac82a4535f6bd1d4fde14f6d8461077744
>> 7e42d2942053f475ca427d9632af69b05e1428e6 M drivers
>>
>> This commit reverts cleanly, however creates build errors so I have
>> not been able to test if a revert fixes the issue mention above. You
>> can find the full logs and a summary here[1][2][3][4].
>>
>> Cheers,
>>
>> Tyler
>>
>> [1] http://storage.kernelci.org/next/next-20150429/x86-x86_64_defconfig/lab-tbaker/boot-x86.html
>> [2] http://storage.kernelci.org/next/next-20150429/x86-defconfig+tiny/lab-tbaker/boot-x86.html
>> [3] http://storage.kernelci.org/next/next-20150429/x86-defconfig+kvm_guest/lab-tbaker/boot-x86.html
>> [4] http://kernelci.org/boot/all/job/next/kernel/next-20150429/
>
>



-- 
Tyler Baker
Tech Lead, LAVA
Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro
http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog
--
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