hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
kernel/kernel/irq/handle.c
....@@ -185,10 +185,16 @@
185185 {
186186 irqreturn_t retval;
187187 unsigned int flags = 0;
188
+ struct pt_regs *regs = get_irq_regs();
189
+ u64 ip = regs ? instruction_pointer(regs) : 0;
188190
189191 retval = __handle_irq_event_percpu(desc, &flags);
190192
191
- add_interrupt_randomness(desc->irq_data.irq, flags);
193
+#ifdef CONFIG_PREEMPT_RT_FULL
194
+ desc->random_ip = ip;
195
+#else
196
+ add_interrupt_randomness(desc->irq_data.irq, flags, ip);
197
+#endif
192198
193199 if (!noirqdebug)
194200 note_interrupt(desc, retval);