Bug 426890
Summary: | ABI incompatibility between glibc 2.7 and RHEL5/RHEL4 (aka O_CLOEXEC vs O_ATOMICLOOKUP aka Unknown error 530) | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Axel Thimm <axel.thimm> |
Component: | kernel | Assignee: | Red Hat Kernel Manager <kernel-mgr> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Martin Jenner <mjenner> |
Severity: | high | Docs Contact: | |
Priority: | low | ||
Version: | 5.3 | CC: | herrold |
Target Milestone: | rc | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | RHEL5.2 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2008-07-18 04:42:46 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Axel Thimm
2007-12-28 01:48:59 UTC
(In reply to comment #0) > RHEL4/5 has the following flag definition > #define O_ATOMICLOOKUP 02000000 /* do atomic file lookup */ That was only half true (e.g. only for RHEL5) - in order to not confuse people reading this here is the full story: RHEL3/RHEL4 had O_ATOMICLOOKUP defined as 01000000 and RHEL5 shifted it a bit higher to make space for O_NOATIME: el3-i386: /usr/include/asm/fcntl.h:#define O_ATOMICLOOKUP 01000000 /* do atomic file lookup */ el3-x86_64: /usr/include/asm-i386/fcntl.h:#define O_ATOMICLOOKUP 01000000 /* do atomic file lookup */ el3-x86_64: /usr/include/asm-x86_64/fcntl.h:#define O_ATOMICLOOKUP 1000000 el4-i386: /usr/include/asm/fcntl.h:#define O_ATOMICLOOKUP 01000000 /* do atomic file lookup */ el4-x86_64: /usr/include/asm-i386/fcntl.h:#define O_ATOMICLOOKUP 01000000 /* do atomic file lookup */ el4-x86_64: /usr/include/asm-x86_64/fcntl.h:#define O_ATOMICLOOKUP 1000000 el5-i386: /usr/include/asm-generic/fcntl.h:#define O_NOATIME 01000000 el5-i386: /usr/include/asm-generic/fcntl.h:#define O_ATOMICLOOKUP 02000000 /* do atomic file lookup */ el5-x86_64: /usr/include/asm-generic/fcntl.h:#define O_NOATIME 01000000 el5-x86_64: /usr/include/asm-generic/fcntl.h:#define O_ATOMICLOOKUP 02000000 /* do atomic file lookup */ Still this shift was not enough as glibc 2.7 now claims this bit for close on exit. How about moving all non-standard open flags to the highest possible location, for example #define O_ATOMICLOOKUP 40000000 That way any future official flag extension will not collide with any RHEL specific patches (unless the bits run out). This is probably a duplicate of bug #358661, but the latter is protected and I can't read it. Jakub Jelinek pointed me to http://people.redhat.com/dzickus/el5/62.el5, and according to the changelog this is fixed since * Thu Dec 20 2007 Don Zickus <dzickus> [2.6.18-62.el5] [...] - [misc] tux: get rid of O_ATOMICLOOKUP (Michal Schmidt ) [358661] [...] So RHEL5.2 seems to have this already fixed, thanks a lot! I'll use the 62 from now on and report back. *** This bug has been marked as a duplicate of 358661 *** Please don't close public bugs as duplicate of private ones:
> You are not authorized to access bug #358661. To see this bug,
> you must first log in to an account with the appropriate permissions.
>
> Access to some bugs is restricted due to embargoed security issues or respect
> for customer and partner information which must remain confidential.
But bug 358661 has been closed, the fix for this issue has been checked into RHEL5.2. Please update to that update release. Can I close this one as CLOSE CURRENTRELEASE? Yes, thanks for the info, it doesn't need to be more than that. |