[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