Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP3:Update
xen.36362
63a03e28-x86-high-freq-TSC-overflow.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 63a03e28-x86-high-freq-TSC-overflow.patch of Package xen.36362
# Commit ad15a0a8ca2515d8ac58edfc0bc1d3719219cb77 # Date 2022-12-19 11:34:16 +0100 # Author Neowutran <xen@neowutran.ovh> # Committer Jan Beulich <jbeulich@suse.com> x86/time: prevent overflow with high frequency TSCs Make sure tsc_khz is promoted to a 64-bit type before multiplying by 1000 to avoid an 'overflow before widen' bug. Otherwise just above 4.294GHz the value will overflow. Processors with clocks this high are now in production and require this to work correctly. Signed-off-by: Neowutran <xen@neowutran.ovh> Reviewed-by: Jan Beulich <jbeulich@suse.com> --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -2407,7 +2407,7 @@ int tsc_set_info(struct domain *d, case TSC_MODE_ALWAYS_EMULATE: d->arch.vtsc_offset = get_s_time() - elapsed_nsec; d->arch.tsc_khz = gtsc_khz ?: cpu_khz; - set_time_scale(&d->arch.vtsc_to_ns, d->arch.tsc_khz * 1000); + set_time_scale(&d->arch.vtsc_to_ns, d->arch.tsc_khz * 1000UL); /* * In default mode use native TSC if the host has safe TSC and
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor