|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Regression with xhci console
On 11.03.2024 03:18, Marek Marczykowski-Górecki wrote:
> On Thu, Feb 01, 2024 at 06:01:56PM +0100, Roger Pau Monne wrote:
>> The current code that parses the IVMD blocks is relaxed with regard to the
>> restriction that such unity regions should always fall into memory ranges
>> marked as reserved in the memory map.
>>
>> However the type checks for the IVMD addresses are inverted, and as a result
>> IVMD ranges falling into RAM areas are accepted. Note that having such
>> ranges
>> in the first place is a firmware bug, as IVMD should always fall into
>> reserved
>> ranges.
>>
>> Fixes: ed6c77ebf0c1 ('AMD/IOMMU: check / convert IVMD ranges for being / to
>> be reserved')
>> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
>
> FYI Xen 4.17.3 with this patch (but not others in the series) causes
> panic on boot on Framework 14 AMD laptop:
>
> (XEN) [0000000044570000, 000000005077efff] (usable)
> ...
> (XEN) AMD-Vi: Warning: IVMD: [4f83f000,4f880000) is not (entirely) in
> reserved memory
> (XEN) AMD-Vi: Error: IVMD: page at 4f83f000 can't be converted
> ...
> (XEN) Xen BUG at drivers/passthrough/amd/iommu_init.c:1386
>
> Full boot log at https://github.com/QubesOS/qubes-issues/issues/9030
> 4.17.2 worked fine.
> I'll try the whole series (and the follow up one), but I don't expect
> any difference.
>
> This looks to be related to XHCI console, which does use the same API to
> allow device to DMA into relevant buffers even when the rest of XHCI is
> used by dom0 (or even other domain if 'share=yes' is used):
> https://gitlab.com/xen-project/xen/-/blob/staging/xen/drivers/char/xhci-dbc.c?ref_type=heads#L1421-1424
Hmm, yes, this is what we get for allowing such (ab)use. I guess we need
to have iommu_add_extra_reserved_device_memory() actually convert the
region in question, to satisfy the later check. Care to make a patch?
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |