.. | .. |
---|
1103 | 1103 | void *page_addr = hv_cpu->synic_event_page; |
---|
1104 | 1104 | struct hv_message *msg; |
---|
1105 | 1105 | union hv_synic_event_flags *event; |
---|
| 1106 | + struct pt_regs *regs = get_irq_regs(); |
---|
| 1107 | + u64 ip = regs ? instruction_pointer(regs) : 0; |
---|
1106 | 1108 | bool handled = false; |
---|
1107 | 1109 | |
---|
1108 | 1110 | if (unlikely(page_addr == NULL)) |
---|
.. | .. |
---|
1146 | 1148 | tasklet_schedule(&hv_cpu->msg_dpc); |
---|
1147 | 1149 | } |
---|
1148 | 1150 | |
---|
1149 | | - add_interrupt_randomness(HYPERVISOR_CALLBACK_VECTOR, 0); |
---|
| 1151 | + add_interrupt_randomness(HYPERVISOR_CALLBACK_VECTOR, 0, ip); |
---|
1150 | 1152 | } |
---|
1151 | 1153 | |
---|
1152 | 1154 | /* |
---|