Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'irq-urgent-2024-04-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fix from Ingo Molnar:
"Fix a bug in the GIC irqchip driver"

* tag 'irq-urgent-2024-04-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
irqchip/gic-v3-its: Fix VSYNC referencing an unmapped VPE on GIC v4.1

+7 -1
+7 -1
drivers/irqchip/irq-gic-v3-its.c
··· 786 786 struct its_cmd_block *cmd, 787 787 struct its_cmd_desc *desc) 788 788 { 789 + struct its_vpe *vpe = valid_vpe(its, desc->its_vmapp_cmd.vpe); 789 790 unsigned long vpt_addr, vconf_addr; 790 791 u64 target; 791 792 bool alloc; ··· 799 798 if (is_v4_1(its)) { 800 799 alloc = !atomic_dec_return(&desc->its_vmapp_cmd.vpe->vmapp_count); 801 800 its_encode_alloc(cmd, alloc); 801 + /* 802 + * Unmapping a VPE is self-synchronizing on GICv4.1, 803 + * no need to issue a VSYNC. 804 + */ 805 + vpe = NULL; 802 806 } 803 807 804 808 goto out; ··· 838 832 out: 839 833 its_fixup_cmd(cmd); 840 834 841 - return valid_vpe(its, desc->its_vmapp_cmd.vpe); 835 + return vpe; 842 836 } 843 837 844 838 static struct its_vpe *its_build_vmapti_cmd(struct its_node *its,