Re: [PATCH v3] uapi/linux/fcntl: remove AT_RENAME* macros

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 9/4/25 11:17 AM, Amir Goldstein wrote:
> On Thu, Sep 4, 2025 at 8:22 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>>
>> Don't define the AT_RENAME_* macros at all since the kernel does not
>> use them nor does the kernel need to provide them for userspace.
>> Leave them as comments in <uapi/linux/fcntl.h> only as an example.
>>
>> The AT_RENAME_* macros have recently been added to glibc's <stdio.h>.
>> For a kernel allmodconfig build, this made the macros be defined
>> differently in 2 places (same values but different macro text),
>> causing build errors/warnings (duplicate definitions) in both
>> samples/watch_queue/watch_test.c and samples/vfs/test-statx.c.
>> (<linux/fcntl.h> is included indirecty in both programs above.)
>>
>> Fixes: b4fef22c2fb9 ("uapi: explain how per-syscall AT_* flags should be allocated")
>> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>> ---
>> Cc: Amir Goldstein <amir73il@xxxxxxxxx>
>> Cc: Jeff Layton <jlayton@xxxxxxxxxx>
>> Cc: Chuck Lever <chuck.lever@xxxxxxxxxx>
>> Cc: Alexander Aring <alex.aring@xxxxxxxxx>
>> Cc: Josef Bacik <josef@xxxxxxxxxxxxxx>
>> Cc: Aleksa Sarai <cyphar@xxxxxxxxxx>
>> Cc: Jan Kara <jack@xxxxxxx>
>> Cc: Christian Brauner <brauner@xxxxxxxxxx>
>> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>
>> Cc: David Howells <dhowells@xxxxxxxxxx>
>> CC: linux-api@xxxxxxxxxxxxxxx
>> To: linux-fsdevel@xxxxxxxxxxxxxxx
>> ---
>>  include/uapi/linux/fcntl.h |    6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> --- linux-next-20250819.orig/include/uapi/linux/fcntl.h
>> +++ linux-next-20250819/include/uapi/linux/fcntl.h
>> @@ -155,10 +155,16 @@
>>   * as possible, so we can use them for generic bits in the future if necessary.
>>   */
>>
>> +/*
>> + * Note: This is an example of how the AT_RENAME_* flags could be defined,
>> + * but the kernel has no need to define them, so leave them as comments.
>> + */
>>  /* Flags for renameat2(2) (must match legacy RENAME_* flags). */
>> +/*
>>  #define AT_RENAME_NOREPLACE    0x0001
>>  #define AT_RENAME_EXCHANGE     0x0002
>>  #define AT_RENAME_WHITEOUT     0x0004
>> +*/
>>
> 
> I find this end result a bit odd, but I don't want to suggest another variant
> I already proposed one in v2 review [1] that maybe you did not like.
> It's fine.

Yes, I replied to that with another problem.

> I'll let Aleksa and Christian chime in to decide on if and how they want this
> comment to look or if we should just delete these definitions and be done with
> this episode.

Sure, I'm ready to just throw my hands up (give up).

> 
> Thanks,
> Amir.
> 
> [1] https://lore.kernel.org/r/CAOQ4uxjXvYBsW1Nb2HKaoUg1qi8Pkq1XKtQEbnAvMUGcp7LrZA@xxxxxxxxxxxxxx/
thanks.
-- 
~Randy





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux