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]
Date:	Sun, 8 Sep 2013 02:13:26 +0200
From:	David Herrmann <dh.herrmann@...il.com>
To:	Tom Gundersen <teg@...m.no>
Cc:	"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
	LKML <linux-kernel@...r.kernel.org>,
	Daniel Vetter <daniel.vetter@...ll.ch>
Subject: Re: [REGRESSION] v3.12-rc1: i915_driver_load oopses when sysfb enabled

Hi

On Sun, Sep 8, 2013 at 1:22 AM, Tom Gundersen <teg@...m.no> wrote:
> Hi David,
>
> On Sat, Sep 7, 2013 at 11:57 PM, Tom Gundersen <teg@...m.no> wrote:
>> On Sat, Sep 7, 2013 at 4:30 PM, David Herrmann <dh.herrmann@...il.com> wrote:
>>> Attached are two patches. The first one should fix this issue, the
>>> second one is the rebased ioremap_wc() patch from the other thread.
>>>
>>> Does this fix the issue (and the speed-problems)?
>>
>> Sadly, no. I added a few printk's to verify that the function you
>> added is called (it is), but still the same oops.
>
> A few more datapoints:
>
> Triggers:
> X86_SYSFB=y and FB_SIMPLE=n (so no fbdev until i915 is loaded)
> X86_SYSFB=y and FB_SIMPLE=y
>
> Does not trigger:
> X86_SYSFB=y, FB_EFI=yes, and without the overflow fix (i.e., so we
> fall back to efifb)
> X86_SYSFB=n and FB_EFI=y
> X86_SYSFB=n and FB_EFI=n (so no fbdev until i915 is loaded)
>
> Does this make any sense?

Thanks a lot for these results. I think I got it know. I will write a
patch that marks the resource as busy. See:
  kernel/resource.c iomem_map_sanity_check()
It also contains a hint that we should set this for driver-resources
which not directly map to hardware resources (such as veasfb and,
obviously, simplefb).

Following a diff which hopefully fixes this. The other two patches
should still be required, though. I will try to write a proper patch
tomorrow.

Thanks a lot for these extensive tests, Tom!
David

diff --git a/arch/x86/kernel/sysfb_simplefb.c b/arch/x86/kernel/sysfb_simplefb.c
index 22513e9..b7bb615 100644
--- a/arch/x86/kernel/sysfb_simplefb.c
+++ b/arch/x86/kernel/sysfb_simplefb.c
@@ -79,7 +79,7 @@ __init int create_simplefb(const struct screen_info *si,

        /* setup IORESOURCE_MEM as framebuffer memory */
        memset(&res, 0, sizeof(res));
-       res.flags = IORESOURCE_MEM;
+       res.flags = IORESOURCE_MEM | IORESOURCE_BUSY;
        res.name = simplefb_resname;
        res.start = si->lfb_base;
        res.end = si->lfb_base + len - 1;
--
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