Linux: Fix enum fsconfig_command detection in <sys/mount.h>
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
dj/TryBot-32bit |
success
|
Build for i686
|
Commit Message
The #ifdef FSOPEN_CLOEXEC check did not work because the macro
was defined prior to its use. This caused misc/tst-mount to fail
to build with older kernel headers.
Fixes commit 774058d72942249f71d74e7f2b639f77184160a6
("linux: Fix sys/mount.h usage with kernel headers").
Tesed on power64-linux-gnu.
---
sysdeps/unix/sysv/linux/sys/mount.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Comments
On Aug 16 2022, Florian Weimer via Libc-alpha wrote:
> The #ifdef FSOPEN_CLOEXEC check did not work because the macro
> was defined prior to its use.
This is confusing, since generally we want macros to be defined before
their use. What's important here is that the use is about checking for
absence of the macro in the kernel header.
* Andreas Schwab:
> On Aug 16 2022, Florian Weimer via Libc-alpha wrote:
>
>> The #ifdef FSOPEN_CLOEXEC check did not work because the macro
>> was defined prior to its use.
>
> This is confusing, since generally we want macros to be defined before
> their use. What's important here is that the use is about checking for
> absence of the macro in the kernel header.
Do you suggest to reword the commit message? What about this?
“
The #ifdef FSOPEN_CLOEXEC check did not work because the macro
was always defined in this header prior to the check, so that
the <linux/mount.h> contents did not matter.
”
Thanks,
Florian
On Aug 16 2022, Florian Weimer wrote:
> “
> The #ifdef FSOPEN_CLOEXEC check did not work because the macro
> was always defined in this header prior to the check, so that
> the <linux/mount.h> contents did not matter.
> ”
WFM.
@@ -188,9 +188,6 @@ enum
};
-/* fsopen flags. */
-#define FSOPEN_CLOEXEC 0x00000001
-
/* fsmount flags. */
#define FSMOUNT_CLOEXEC 0x00000001
@@ -261,6 +258,9 @@ enum fsconfig_command
};
#endif
+/* fsopen flags. */
+#define FSOPEN_CLOEXEC 0x00000001
+
/* open_tree flags. */
#define OPEN_TREE_CLONE 1 /* Clone the target tree and attach the clone */
#define OPEN_TREE_CLOEXEC O_CLOEXEC /* Close the file on execve() */