blob: 2c840d3b59d559bfd3b50647344b586789cce8eb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
id = 1950
title = "[AARCH64] GP bit (BTI) lost during two stages translation"
state = "closed"
created_at = "2023-10-18T15:41:11.662Z"
closed_at = "2023-11-03T03:23:37.162Z"
labels = ["target: arm", "workflow::Patch available"]
url = "https://gitlab.com/qemu-project/qemu/-/issues/1950"
host-os = "Ubuntu 20.04.6 LTS"
host-arch = "* QEMU flavor: qemu-system-aarch64"
qemu-version = "ec6f9f135d5e5596ab0258da2ddd048f1fd8c359"
guest-os = "Kinibi (SEL1)"
guest-arch = "AARCH64"
description = """I noticed that the BTI faults were not reported.
That's because the GP (guarded page) information is lost during the two stages translation in get_phys_addr_twostage().
The "guarded" information is correctly retrieved by the first call to get_phys_addr_nogpc() but overwritten by the the second call to get_phys_addr_nogpc().
The call to combine_cacheattrs() copies cacheattrs1.guarded but this field is never modified.
The attached patch fixes the issue for me.
[get_phys_addr_twostage_bti_gp_bit_lost_master.patch](/uploads/2fbe8090f92c43a63e39ee66ab2daf47/get_phys_addr_twostage_bti_gp_bit_lost_master.patch)"""
reproduce = "n/a"
additional = "n/a"
|