lkml.org 
[lkml]   [2015]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [PATCH v2 1/1] drivers:hv:vmbus drivers:hv:vmbus Allow for more than one MMIO range for children
    Date
    > -----Original Message-----
    > From: Vitaly Kuznetsov [mailto:vkuznets@redhat.com]
    > Sent: Friday, February 6, 2015 7:04 AM
    > To: Jake Oshins
    > Cc: gregkh@linuxfoundation.org; KY Srinivasan; linux-kernel@vger.kernel.org;
    > devel@linuxdriverproject.org; olaf@aepfle.de; apw@canonical.com
    > Subject: Re: [PATCH v2 1/1] drivers:hv:vmbus drivers:hv:vmbus Allow for more
    > than one MMIO range for children
    >
    > Jake Oshins <jakeo@microsoft.com> writes:
    >
    > > This set of changes finds the _CRS object in the ACPI namespace
    > > that contains memory address space descriptors, intended to convey
    > > to VMBus which ranges of memory-mapped I/O space are available for
    > > child devices, and then builds a resource list that contains all
    > > those ranges. Without this change, only some of the memory-mapped
    > > I/O space will be available for child devices, and only in some
    > > virtual BIOS configurations (Generation 2 VMs).
    > >
    > > This patch has been updated with feedback from Vitaly Kuznetsov.
    > > Cleanup is now driven by the acpi remove callback function.
    >
    > Sorry for beeing late with this message but I'm seeing issues with this
    > commit. I added some debug to figure out what's going on and here is
    > what I see:
    >
    > With Gen1 VM we end up doing request_resource for two ranges:
    > f8000000 - fffbffff
    > fe0000000 - fffefffff
    >
    > request_resource() fails (as we already have PCI device at f8000000 I
    > suppose?) but we don't check the return value. release_resource on
    > module unload crashes the kernel:
    > [ 78.314344] BUG: unable to handle kernel NULL pointer dereference at
    > 0000000000000030
    > [ 78.315021] IP: [<ffffffff8107fac5>] release_resource+0x25/0x90
    > [ 78.315021] PGD 78c67067 PUD 78c5a067 PMD 0
    > [ 78.315021] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
    > [ 78.315021] Modules linked in: hv_vmbus(-)
    > ...
    > If I'm not mistaken, before the change we didn't do any
    > request_resource() for Gen1 VMs at all.
    >
    > With Gen2 VM we do request_resource for fe0000000 - fffffffff range
    > only, that means this commit doesn't change anything.
    >
    > Can you please take a look? I'd like to help but I don't completely
    > understand the essense of the change wrt Gen1 VMs with PCI devices.
    >

    I'll take a look immediately.

    Thanks,
    Jake


    \
     
     \ /
      Last update: 2015-02-06 20:01    [W:2.357 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site