[PATCH v3 0/2] arm/ptw: fix missing sctlr.{u}wxn handling in get_phys_addr_v6

Pavel Skripkin posted 2 patches 5 days ago
target/arm/ptw.c | 69 ++++++++++++++++++++++--------------------------
1 file changed, 31 insertions(+), 38 deletions(-)
[PATCH v3 0/2] arm/ptw: fix missing sctlr.{u}wxn handling in get_phys_addr_v6
Posted by Pavel Skripkin 5 days ago
We observed failing WXN tests in our OS which we tracked down to missing
WXN handling in qemu.

The problem was in that short descriptor format walker did not respect WXN
bit. To fix it, make it possible to call get_S1prot() from
get_phys_addr_v6().

Tested localy that all permission-related tests in our OS passed on
following platforms:

- arm64-virt
- arm-vexpress (v7)
- arm-virt     (v7)

Changes from v2:
  - Fix naming
  - Fix too early ap decoding in get_phys_addr_lpae
  - Refactor a bit security-space related code in get_phys_addr_v6()

Changes from v1:
  - Fix style errors
  - Add cover letter
  - Use get_S1prot() instead of open-coded checks

v2: https://lore.kernel.org/qemu-devel/20241117134931.37249-1-paskripkin@gmail.com/
v1: https://lore.kernel.org/qemu-devel/20241114165900.6399-1-paskripkin@gmail.com/

Pavel Skripkin (2):
  arm/ptw: make get_S1prot accept decoded AP
  arm/ptw: use get_S1prot in get_phys_addr_v6

 target/arm/ptw.c | 69 ++++++++++++++++++++++--------------------------
 1 file changed, 31 insertions(+), 38 deletions(-)

-- 
2.47.0
Re: [PATCH v3 0/2] arm/ptw: fix missing sctlr.{u}wxn handling in get_phys_addr_v6
Posted by Peter Maydell 4 days, 21 hours ago
On Mon, 18 Nov 2024 at 15:25, Pavel Skripkin <paskripkin@gmail.com> wrote:
>
> We observed failing WXN tests in our OS which we tracked down to missing
> WXN handling in qemu.
>
> The problem was in that short descriptor format walker did not respect WXN
> bit. To fix it, make it possible to call get_S1prot() from
> get_phys_addr_v6().
>
> Tested localy that all permission-related tests in our OS passed on
> following platforms:
>
> - arm64-virt
> - arm-vexpress (v7)
> - arm-virt     (v7)
>
> Changes from v2:
>   - Fix naming
>   - Fix too early ap decoding in get_phys_addr_lpae
>   - Refactor a bit security-space related code in get_phys_addr_v6()
>
> Changes from v1:
>   - Fix style errors
>   - Add cover letter
>   - Use get_S1prot() instead of open-coded checks
>
> v2: https://lore.kernel.org/qemu-devel/20241117134931.37249-1-paskripkin@gmail.com/
> v1: https://lore.kernel.org/qemu-devel/20241114165900.6399-1-paskripkin@gmail.com/
>
> Pavel Skripkin (2):
>   arm/ptw: make get_S1prot accept decoded AP
>   arm/ptw: use get_S1prot in get_phys_addr_v6

Applied to target-arm.next, thanks.

-- PMM