From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk0-f174.google.com ([209.85.220.174]:35869 "EHLO mail-qk0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752378AbcHQRkA (ORCPT ); Wed, 17 Aug 2016 13:40:00 -0400 Received: by mail-qk0-f174.google.com with SMTP id l2so106720641qkf.3 for ; Wed, 17 Aug 2016 10:39:59 -0700 (PDT) Message-ID: <1471455596.3196.36.camel@redhat.com> Subject: Re: [glibc PATCH] fcntl: put F_OFD_* constants under #ifdef __USE_FILE_OFFSET64 From: Jeff Layton To: Florian Weimer , libc-alpha@sourceware.org Cc: linux-fsdevel@vger.kernel.org, Michael Kerrisk , Carlos O'Donell , Yuriy Kolerov Date: Wed, 17 Aug 2016 13:39:56 -0400 In-Reply-To: <024779d0-2800-8e43-b65c-180eca70cc8b@redhat.com> References: <1471445251-2450-1-git-send-email-jlayton@redhat.com> <024779d0-2800-8e43-b65c-180eca70cc8b@redhat.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Wed, 2016-08-17 at 19:34 +0200, Florian Weimer wrote: > On 08/17/2016 04:47 PM, 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. > > Doesn't this affect legacy POSIX-style locks as well, under very similarĀ  > circumstances? > > No. The kernel will decide which type of struct it is based on whether userland passes in F_SETLK or F_SETLK64. Since the older flock struct is considered a legacy interface, I didn't plumb that in when I did these patches originally. With my 20/20 hindsight, I probably should have just done that, but it's a little late now... -- Jeff Layton