All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier@gentoo.org>
To: Jeff Layton <jlayton@redhat.com>
Cc: libc-alpha@sourceware.org, linux-fsdevel@vger.kernel.org,
	Michael Kerrisk <mtk.manpages@gmail.com>,
	Carlos O'Donell <carlos@redhat.com>,
	Yuriy Kolerov <Yuriy.Kolerov@synopsys.com>
Subject: Re: [glibc PATCH] fcntl: put F_OFD_* constants under #ifdef __USE_FILE_OFFSET64
Date: Wed, 17 Aug 2016 11:43:33 -0700	[thread overview]
Message-ID: <20160817184333.GC21655@vapier.lan> (raw)
In-Reply-To: <1471445251-2450-1-git-send-email-jlayton@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 1271 bytes --]

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.

this seems to be going against the glibc API/guarantees we've provided
before (or at least tried to promise), and what the fcntl(2) man page
says now.  namely, we haven't documented F_GETLK64 or struct flock64,
with the expectation that the user just calls fcntl() with a struct
flock.  in fact, the man page even goes so far as to discourage people
from using the *64 variants.

it should be possible using our existing LFS framework to make the OFD
cmds available even to 32-bit apps (where sizeof(off_t) == 32).  but
maybe the usage of F_GETLK64/struct flock64/etc... in the real world
has made it hard to put that genie back in the bottle ?  we'd have to
version the current fcntl symbol, create a new fcntl symbol that does
32->64 munging, and add a new fcntl64 symbol that we'd transparently
rewrite to when LFS is turned on.
-mike

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  parent reply	other threads:[~2016-08-17 18:43 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-17 14:47 [glibc PATCH] fcntl: put F_OFD_* constants under #ifdef __USE_FILE_OFFSET64 Jeff Layton
2016-08-17 15:44 ` Joseph Myers
2016-08-17 17:49   ` Jeff Layton
2016-08-17 17:56     ` Joseph Myers
2016-08-17 18:23       ` Jeff Layton
2016-08-17 16:13 ` Mike Frysinger
2016-08-17 17:34 ` Florian Weimer
2016-08-17 17:39   ` Jeff Layton
2016-08-17 18:02     ` Florian Weimer
2016-08-17 18:21       ` Jeff Layton
2016-08-17 18:51         ` Florian Weimer
2016-08-17 19:20           ` Jeff Layton
2016-08-18  8:44             ` Florian Weimer
2016-08-18  8:58               ` Andreas Schwab
2016-08-17 20:52           ` Andreas Schwab
2016-08-18  8:45             ` Florian Weimer
2016-08-17 18:43 ` Mike Frysinger [this message]
2016-08-17 19:15   ` Jeff Layton
2016-08-17 19:59     ` Michael Kerrisk (man-pages)
2016-08-17 20:05       ` Jeff Layton
2016-08-17 20:37         ` Mike Frysinger
2016-08-17 20:57           ` Jeff Layton
2016-08-17 21:35             ` Mike Frysinger
2016-08-17 21:48               ` Jeff Layton
2016-08-18  9:00                 ` Florian Weimer
2016-08-23 11:03                   ` Cyril Hrubis
2016-08-23 11:36                     ` Jeff Layton
2016-08-23 11:38                       ` Cyril Hrubis
2016-08-23 21:10                         ` Michael Kerrisk (man-pages)
2016-11-14 13:45                           ` Cyril Hrubis
2016-11-22 18:41                             ` Florian Weimer
2016-08-18  8:57             ` Florian Weimer
2016-08-17 20:03     ` Mike Frysinger
2016-08-17 21:30       ` Cyril Hrubis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160817184333.GC21655@vapier.lan \
    --to=vapier@gentoo.org \
    --cc=Yuriy.Kolerov@synopsys.com \
    --cc=carlos@redhat.com \
    --cc=jlayton@redhat.com \
    --cc=libc-alpha@sourceware.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=mtk.manpages@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.