[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [Qemu-devel] [PATCH v2 04/28] s390x/tcg: MVCL: Process
From: |
David Hildenbrand |
Subject: |
Re: [qemu-s390x] [Qemu-devel] [PATCH v2 04/28] s390x/tcg: MVCL: Process max 2k bytes at a time |
Date: |
Wed, 11 Sep 2019 18:12:34 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 11.09.19 17:07, Richard Henderson wrote:
> On 9/11/19 10:52 AM, Richard Henderson wrote:
>> The code within Hercules breaks the action at every 2k address boundary --
>> for
>> both src and dest. That's the only way that actually makes sense to me, as
>> otherwise we end up allowing userspace to read/write into a page without
>> permission. Which is a security hole.
>
> Also, doesn't "2k" come from the old esa/360 page size?
I have no idea, I was very confused with that.
>
> Which means that we could break at 4k pages instead of 2k now
> and the program wouldn't really be able to tell the difference.
What I had in a previous iteration was to simply process until the end
of the page(s), to not cross pages (there is one special case with 2k
vs. 4k when crossing pages when wrapping and running into a
low-address-protection). So essentially what you suggest. I can add that.
--
Thanks,
David / dhildenb
- [qemu-s390x] [PATCH v2 01/28] s390x/tcg: Reset exception_index to -1 instead of 0, (continued)
- [qemu-s390x] [PATCH v2 05/28] s390x/tcg: MVC: Increment the length once, David Hildenbrand, 2019/09/06
- [qemu-s390x] [PATCH v2 06/28] s390x/tcg: MVC: Use is_destructive_overlap(), David Hildenbrand, 2019/09/06
- [qemu-s390x] [PATCH v2 07/28] s390x/tcg: MVPG: Check for specification exceptions, David Hildenbrand, 2019/09/06
- [qemu-s390x] [PATCH v2 08/28] s390x/tcg: MVPG: Properly wrap the addresses, David Hildenbrand, 2019/09/06
- [qemu-s390x] [PATCH v2 09/28] s390x/tcg: MVCLU/MVCLE: Process max 4k bytes at a time, David Hildenbrand, 2019/09/06