This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/17259] New: sysdeps/x86_64/cacheinfo.c:intel_check_word corrupts rbx and another register
- From: "pageexec at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Mon, 11 Aug 2014 23:29:45 +0000
- Subject: [Bug libc/17259] New: sysdeps/x86_64/cacheinfo.c:intel_check_word corrupts rbx and another register
- Auto-submitted: auto-generated
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.