Hi Alejandro, On Sun, Feb 11, 2024 at 07:49:53PM +0100, Alejandro Colomar wrote: > It seems this page was written when there was still no wrapper in libc. > > But I see that Michael and I did mention there's now a wrapper in glibc: > [...] > Both of those commits forgot to update the SYNOPSIS. So, please add the > following tags to your commit message: > > Fixes: 71a62d6c3c56 ("close_range.2: Glibc added a wrapper recently") > Fixes: c2356ba085ed ("close_range.2: Glibc 2.34 has added a close_range() wrapper") I missed thos, will add the Fixes: to v2. > > .P > > .BI "int close_range(unsigned int " first ", unsigned int " last , > > .BI " unsigned int " flags ); > > And I notice the glibc wrapper is slightly different from the Linux > kernel system call: > > $ grepc close_range /usr/include/ > /usr/include/unistd.h:extern int close_range (unsigned int __fd, unsigned int __max_fd, > int __flags) __THROW; > > > $ grepc -tfl close_range ~/src/linux/linux/master/ > /home/alx/src/linux/linux/master/include/linux/syscalls.h:asmlinkage long sys_close_range(unsigned int fd, unsigned int max_fd, > unsigned int flags); > /home/alx/src/linux/linux/master/fs/open.c:SYSCALL_DEFINE3(close_range, unsigned int, fd, unsigned int, max_fd, > unsigned int, flags) > { > return __close_range(fd, max_fd, flags); > } > > The third parameter is an 'int' in glibc. Please also update that. Will do. I see freebsd also uses int for flags. I also noted just now that the example code still uses syscall(SYS_close_range, 3, ~0U, 0) even though it defines _GNU_SOURCE and includes unistd.h. Will also fix that for v2. Cheers, Mark