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"