|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v5 2/3] x86/mm: add API for marking only part of a MMIO page read only
On Mon, Jul 22, 2024 at 03:01:45PM +0200, Jan Beulich wrote:
> On 22.07.2024 14:36, Marek Marczykowski-Górecki wrote:
> > On Mon, Jul 22, 2024 at 02:09:15PM +0200, Jan Beulich wrote:
> >> On 19.07.2024 04:33, Marek Marczykowski-Górecki wrote:
> >>> +int __init subpage_mmio_ro_add(
> >>> + paddr_t start,
> >>> + size_t size)
> >>> +{
> >>> + mfn_t mfn_start = maddr_to_mfn(start);
> >>> + paddr_t end = start + size - 1;
> >>> + mfn_t mfn_end = maddr_to_mfn(end);
> >>> + unsigned int offset_end = 0;
> >>> + int rc;
> >>> + bool subpage_start, subpage_end;
> >>> +
> >>> + ASSERT(IS_ALIGNED(start, MMIO_RO_SUBPAGE_GRAN));
> >>> + ASSERT(IS_ALIGNED(size, MMIO_RO_SUBPAGE_GRAN));
> >>> + if ( !IS_ALIGNED(size, MMIO_RO_SUBPAGE_GRAN) )
> >>> + return -EINVAL;
> >>
> >> I think I had asked before: Why is misaligned size something that wants a
> >> release build fallback to the assertion, but not misaligned start?
> >
> > Misaligned start will lead to protecting larger area, not smaller, so it
> > is not unsafe thing to do. But I can also make it return an error, it
> > shouldn't happen after all.
>
> Well, I wouldn't mind if you kept what you have, just with a (brief) comment
> making clear why there is a difference in treatment. After all you could
> treat mis-aligned size similarly, making the protected area larger, too.
Ok.
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
Attachment:
signature.asc
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |