[Bug libc/17259] New: sysdeps/x86_64/cacheinfo.c:intel_check_word corrupts rbx and another register
pageexec at gmail dot com
sourceware-bugzilla@sourceware.org
Mon Aug 11 23:29:00 GMT 2014
https://sourceware.org/bugzilla/show_bug.cgi?id=17259
Bug ID: 17259
Summary: sysdeps/x86_64/cacheinfo.c:intel_check_word corrupts
rbx and another register
Product: glibc
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: libc
Assignee: unassigned at sourceware dot org
Reporter: pageexec at gmail dot com
CC: drepper.fsp at gmail dot com
the inline asm invoking cpuid tries to save/restore rbx itself but unlike its
i386 version, this one will actually corrupt (zero out) the top 32 bits of both
rbx and whatever register gets assigned to %1 due to the "xchg ebx,%1". this
code was probably simply copy-pasted from the i386 version. note that the same
file actually contains a proper implementation of cpuid as the __cpuid_count
macro that had been there some 2 years before this new and buggy 'invention'.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list