Re: [glibc PATCH] fcntl: put F_OFD_* constants under #ifdef __USE_FILE_OFFSET64

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

 



On 17 Aug 2016 10:47, Jeff Layton wrote:
> The Linux kernel expects a flock64 structure whenever you use OFD locks
> with fcntl64. Unfortunately, you can currently build a 32-bit program
> that passes in a struct flock when it calls fcntl64.
> 
> Only define the F_OFD_* constants when __USE_FILE_OFFSET64 is also
> defined, so that the build fails in this situation rather than
> producing a broken binary.

what about ILP32 targets like x32 ?  sizeof(flock) == sizeof(flock64)
is the same there.

> --- a/manual/examples/ofdlocks.c
> +++ b/manual/examples/ofdlocks.c
> @@ -15,6 +15,7 @@
>     along with this program; if not, see <http://www.gnu.org/licenses/>.
>  */
>  
> +/* Note that this must be built with -D_FILE_OFFSET_BITS=64 on 32-bit arch */

GNU style says comments are complete sentences (so ends with a period),
and there's two spaces after the period.

> --- a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
> +++ b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
> @@ -127,11 +127,18 @@
>     This means that they are inherited across fork or clone with CLONE_FILES
>     like BSD (flock) locks, and they are only released automatically when the
>     last reference to the the file description against which they were acquired
> -   is put. */
> +   is put.
> +
> +   Note that the kernel does not support the legacy struct flock on 32-bit
> +   arches with OFD locks. On those arches you need define both _GNU_SOURCE
> +   and _FILE_OFFSET_BITS=64.
> +   */

comment style says the */ has to be on the previous line -- look at how
the code looked before your change.  also, two spaces after periods.
-mike

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux