[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f25be6663bcc4608adf630509f045a76@h3c.com>
Date: Tue, 16 Jan 2024 03:15:15 +0000
From: Huyadi <hu.yadi@....com>
To: 'Günther Noack' <gnoack@...gle.com>
CC: "jmorris@...ei.org" <jmorris@...ei.org>,
"serge@...lyn.com"
<serge@...lyn.com>,
"shuah@...nel.org" <shuah@...nel.org>,
"mathieu.desnoyers@...icios.com" <mathieu.desnoyers@...icios.com>,
"mic@...ikod.net" <mic@...ikod.net>,
"amir73il@...il.com"
<amir73il@...il.com>,
"brauner@...nel.org" <brauner@...nel.org>,
"avagin@...gle.com" <avagin@...gle.com>,
"linux-api@...r.kernel.org"
<linux-api@...r.kernel.org>,
"linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>,
"linux-security-module@...r.kernel.org"
<linux-security-module@...r.kernel.org>,
"linux-kselftest@...r.kernel.org"
<linux-kselftest@...r.kernel.org>,
"514118380@...com" <514118380@...com>
Subject: 回复: [PATCH] selftests/filesystems:fix build error in overlayfs
>On Fri, Jan 12, 2024 at 03:40:59PM +0800, Hu Yadi wrote:
>> One build issue comes up due to both mount.h included dev_in_maps.c
>>
>> In file included from dev_in_maps.c:10:
>> /usr/include/sys/mount.h:35:3: error: expected identifier before numeric constant
>> 35 | MS_RDONLY = 1, /* Mount read-only. */
>> | ^~~~~~~~~
>> In file included from dev_in_maps.c:13:
>>
>> Remove one of them to solve conflict, another error comes up:
>>
>> dev_in_maps.c:170:6: error: implicit declaration of function ‘mount’ [-Werror=implicit-function-declaration]
>> 170 | if (mount(NULL, "/", NULL, MS_SLAVE | MS_REC, NULL) == -1) {
>> | ^~~~~
>> cc1: all warnings being treated as errors
>>
>> and then , add sys_mount definition to solve it After both above,
>> dev_in_maps.c can be built correctly on my mache(gcc
>> 10.2,glibc-2.32,kernel-5.10)
>
>This is apparently the same error as in
>https://lore.kernel.org/all/11cdac1e-e96c-405f-63e8-35b0e2926337@arm.com/
>
>I'm getting the impression that we are fixing the issue at the wrong layer here?
>After all, the mount() syscall is supposed to be used with <sys/mount.h> according to the mount(2) man page? It feels a bit like cheating to resort to
>sys_mount() instead...?
Headers conflict is known issue due to https://sourceware.org/glibc/wiki/Synchronizing_Headers
<linux/mount.h> and <sys/mount.h> (Note: no workaround)
So, it is incorrect to use both them.
>
>Do you have any deeper thoughts on what could be the underlying issue here?
>With my newer GCC toolchains, I have been unable to reproduce this.
>
gcc version 10.2.1 20200825 (Alibaba 10.2.1-3.5 2.32) (GCC)
ldd (GNU libc) 2.32
kernel 5.10.134-16.1.al8.x86_64
"Alibaba Cloud Linux 3(the most biggest public cloud provider's OS)
>Thanks,
Powered by blists - more mailing lists