From 68a26265f5d2dd0aa648cb27706d21602a466a03 Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Tue, 26 Nov 2024 13:05:23 +0100 Subject: sys/linux/dev_kvm_arm64.txt: add ITS registers to syzos_api_memwrite Hint syzkaller that it can write to ITS registers. --- sys/linux/dev_kvm_arm64.txt | 12 ++++++++++++ sys/linux/dev_kvm_arm64.txt.const | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+) (limited to 'sys') diff --git a/sys/linux/dev_kvm_arm64.txt b/sys/linux/dev_kvm_arm64.txt index 91100be40..2f55bdf05 100644 --- a/sys/linux/dev_kvm_arm64.txt +++ b/sys/linux/dev_kvm_arm64.txt @@ -5,6 +5,7 @@ meta arches["arm64"] +include include include include @@ -128,6 +129,7 @@ syzos_api_memwrite [ generic syzos_api_memwrite_generic vgic_gicd syzos_api_memwrite_vgic_gicd vgic_gicr syzos_api_memwrite_vgic_gicr + vgic_gits syzos_api_memwrite_vgic_gits ] syzos_api_memwrite_generic { @@ -255,6 +257,16 @@ syzos_api_memwrite_vgic_gicd { len flags[syzos_memwrite_len, int64] } +kvm_vgic_gits_regs = GITS_CTLR, GITS_IIDR, GITS_TYPER, GITS_MPIDR, GITS_CBASER, GITS_CWRITER, GITS_CREADR, GITS_BASER, GITS_IDREGS_BASE, GITS_PIDR0, GITS_PIDR1, GITS_PIDR2, GITS_PIDR4, GITS_CIDR0, GITS_CIDR1, GITS_CIDR2, GITS_CIDR3, GITS_TRANSLATER, GITS_SGIR + +# 0x08080000 is ARM64_ADDR_GITS_BASE from executor/kvm.h +syzos_api_memwrite_vgic_gits { + base const[0x8080000, int64] + offset flags[kvm_vgic_gits_regs, int64] + value int64 + len flags[syzos_memwrite_len, int64] +} + type syzos_api[NUM, PAYLOAD] { call const[NUM, int64] size bytesize[parent, int64] diff --git a/sys/linux/dev_kvm_arm64.txt.const b/sys/linux/dev_kvm_arm64.txt.const index 4ef652745..54f3c6e34 100644 --- a/sys/linux/dev_kvm_arm64.txt.const +++ b/sys/linux/dev_kvm_arm64.txt.const @@ -78,6 +78,12 @@ GICR_STATUSR = arm64:16 GICR_SYNCR = arm64:192 GICR_TYPER = arm64:8 GICR_WAKER = arm64:20 +GITS_BASER = arm64:256 +GITS_CBASER = arm64:128 +GITS_CIDR0 = arm64:65520 +GITS_CIDR1 = arm64:65524 +GITS_CIDR2 = arm64:65528 +GITS_CIDR3 = arm64:65532 GITS_CMD_CLEAR = arm64:4 GITS_CMD_DISCARD = arm64:15 GITS_CMD_INT = arm64:3 @@ -90,6 +96,19 @@ GITS_CMD_MAPTI = arm64:10 GITS_CMD_MOVALL = arm64:14 GITS_CMD_MOVI = arm64:1 GITS_CMD_SYNC = arm64:5 +GITS_CREADR = arm64:144 +GITS_CTLR = arm64:0 +GITS_CWRITER = arm64:136 +GITS_IDREGS_BASE = arm64:65488 +GITS_IIDR = arm64:4 +GITS_MPIDR = arm64:24 +GITS_PIDR0 = arm64:65504 +GITS_PIDR1 = arm64:65508 +GITS_PIDR2 = arm64:65512 +GITS_PIDR4 = arm64:65488 +GITS_SGIR = arm64:131104 +GITS_TRANSLATER = arm64:65600 +GITS_TYPER = arm64:8 KVM_ARM_PREFERRED_TARGET = arm64:2149625519 KVM_ARM_SET_COUNTER_OFFSET = arm64:1074835125 KVM_ARM_SET_DEVICE_ADDR = arm64:1074835115 -- cgit mrf-deployment