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_for_v6.13_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fixes from Borislav Petkov:

- Disable the secure programming interface of the GIC500 chip in the
RK3399 SoC to fix interrupt priority assignment and even make a dead
machine boot again when the gic-v3 driver enables pseudo NMIs

- Correct the declaration of a percpu variable to fix several sparse
warnings

* tag 'irq_urgent_for_v6.13_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
irqchip/gic-v3: Work around insecure GIC integrations
irqchip/gic: Correct declaration of *percpu_base pointer in union gic_base

+17 -2
+16 -1
drivers/irqchip/irq-gic-v3.c
··· 161 161 162 162 static void __init gic_prio_init(void) 163 163 { 164 - cpus_have_security_disabled = gic_dist_security_disabled(); 164 + bool ds; 165 + 166 + ds = gic_dist_security_disabled(); 167 + if (!ds) { 168 + u32 val; 169 + 170 + val = readl_relaxed(gic_data.dist_base + GICD_CTLR); 171 + val |= GICD_CTLR_DS; 172 + writel_relaxed(val, gic_data.dist_base + GICD_CTLR); 173 + 174 + ds = gic_dist_security_disabled(); 175 + if (ds) 176 + pr_warn("Broken GIC integration, security disabled"); 177 + } 178 + 179 + cpus_have_security_disabled = ds; 165 180 cpus_have_group0 = gic_has_group0(); 166 181 167 182 /*
+1 -1
drivers/irqchip/irq-gic.c
··· 64 64 65 65 union gic_base { 66 66 void __iomem *common_base; 67 - void __percpu * __iomem *percpu_base; 67 + void __iomem * __percpu *percpu_base; 68 68 }; 69 69 70 70 struct gic_chip_data {