xen: branch for v5.6-rc3
-----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRTLbB6QfY48x44uB6AXGG7T9hjvgUCXlAvJgAKCRCAXGG7T9hj voVrAPsEsWQB5qtd+mWJCzE8VeR+mZ5SzQwJ12FhDA+4wUFuHgEAofvP7t8H3Bkr SrSGMB2hHlJW78ZLoSSpnhAWm4nANg8= =skec -----END PGP SIGNATURE----- Merge tag 'for-linus-5.6-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen fixes from Juergen Gross: "Two small fixes for Xen: - a fix to avoid warnings with new gcc - a fix for incorrectly disabled interrupts when calling _cond_resched()" * tag 'for-linus-5.6-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen: Enable interrupts when calling _cond_resched() x86/xen: Distribute switch variables for initialization
This commit is contained in:
commit
54dedb5b57
|
@ -896,14 +896,15 @@ static u64 xen_read_msr_safe(unsigned int msr, int *err)
|
||||||
static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
|
static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
|
unsigned int which;
|
||||||
|
u64 base;
|
||||||
|
#endif
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
switch (msr) {
|
switch (msr) {
|
||||||
#ifdef CONFIG_X86_64
|
#ifdef CONFIG_X86_64
|
||||||
unsigned which;
|
|
||||||
u64 base;
|
|
||||||
|
|
||||||
case MSR_FS_BASE: which = SEGBASE_FS; goto set;
|
case MSR_FS_BASE: which = SEGBASE_FS; goto set;
|
||||||
case MSR_KERNEL_GS_BASE: which = SEGBASE_GS_USER; goto set;
|
case MSR_KERNEL_GS_BASE: which = SEGBASE_GS_USER; goto set;
|
||||||
case MSR_GS_BASE: which = SEGBASE_GS_KERNEL; goto set;
|
case MSR_GS_BASE: which = SEGBASE_GS_KERNEL; goto set;
|
||||||
|
|
|
@ -33,7 +33,9 @@ asmlinkage __visible void xen_maybe_preempt_hcall(void)
|
||||||
* cpu.
|
* cpu.
|
||||||
*/
|
*/
|
||||||
__this_cpu_write(xen_in_preemptible_hcall, false);
|
__this_cpu_write(xen_in_preemptible_hcall, false);
|
||||||
_cond_resched();
|
local_irq_enable();
|
||||||
|
cond_resched();
|
||||||
|
local_irq_disable();
|
||||||
__this_cpu_write(xen_in_preemptible_hcall, true);
|
__this_cpu_write(xen_in_preemptible_hcall, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue