From: "Michal Suchánek" <msuchanek@suse.de>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Michael Neuling <mikey@neuling.org>,
Allison Randal <allison@lohutok.net>,
Nicolai Stange <nstange@suse.de>,
David Hildenbrand <david@redhat.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Christian Brauner <christian@brauner.io>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Nicholas Piggin <npiggin@gmail.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
David Howells <dhowells@redhat.com>,
Paul Mackerras <paulus@samba.org>, Joel Stanley <joel@jms.id.au>,
Andrew Donnellan <andrew.donnellan@au1.ibm.com>,
Breno Leitao <leitao@debian.org>,
Firoz Khan <firoz.khan@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
Hari Bathini <hbathini@linux.ibm.com>,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [PATCH v4 1/4] powerpc: make llseek 32bit-only.
Date: Thu, 29 Aug 2019 21:43:19 +0200 [thread overview]
Message-ID: <20190829214319.498c7de2@naga> (raw)
In-Reply-To: <CAK8P3a3DHqhbVToqRYqTmfCcSdT5sXb=1SO5jY9jDONDa6ORkA@mail.gmail.com>
On Thu, 29 Aug 2019 16:32:50 +0200
Arnd Bergmann <arnd@arndb.de> wrote:
> On Thu, Aug 29, 2019 at 4:19 PM Michal Suchánek <msuchanek@suse.de> wrote:
> > On Thu, 29 Aug 2019 14:57:39 +0200 Arnd Bergmann <arnd@arndb.de> wrote:
> > > On Thu, Aug 29, 2019 at 2:37 PM Michal Suchánek <msuchanek@suse.de> wrote:
> > > > On Thu, 29 Aug 2019 14:19:46 +0200 Arnd Bergmann <arnd@arndb.de> wrote:
> > > > > On Thu, Aug 29, 2019 at 12:23 PM Michal Suchanek <msuchanek@suse.de> wrote:
> > > > > In particular, I don't see why you single out llseek here, but leave other
> > > > > syscalls that are not needed on 64-bit machines such as pread64().
> > > >
> > > > Because llseek is not built in fs/ when building 64bit only causing a
> > > > link error.
> > > >
> > > > I initially posted patch to build it always but it was pointed out it
> > > > is not needed, and the interface does not make sense on 64bit, and
> > > > that platforms that don't have it on 64bit now don't want that useless
> > > > code.
> > >
> > > Ok, please put that into the changeset description then.
> > >
> > > I looked at uses of __NR__llseek in debian code search and
> > > found this one:
> > >
> > > https://codesearch.debian.net/show?file=umview_0.8.2-1.2%2Fxmview%2Fum_mmap.c&line=328
> > >
> > > It looks like this application will try to use llseek instead of lseek
> > > when built against kernel headers that define __NR_llseek.
> > >
> >
> > The available documentation says this syscall is for 32bit only so
> > using it on 64bit is undefined. The interface is not well-defined in
> > that case either.
>
> That's generally not how it works. If there is an existing application
> that relies on the behavior of the system call interface, we should not
> change it in a way that breaks the application, regardless of what the
> documentation says. Presumably nobody cares about umview on
> powerpc64, but there might be other applications doing the same
> thing.
Actually the umview headers go out of their way to define the llseek
syscall as invalid on x86_64 so that the non-llseek path is taken.
mview-os/xmview/defs_x86_64_um.h:#define __NR__llseek __NR_doesnotexist
It is probably an oversight that this is not done on non-x86. I am not
even sure this builds on non-x86 out of the box.
> It looks like sparc64 and parisc64 do the same thing as powerpc64,
> and provide llseek() calls that may or may not be used by
> applications.
And if they are supposed to build with !compat it should be removed
there as well.
>
> I think your original approach of always building sys_llseek on
> powerpc64 is the safe choice here.
That's safe but adds junk to the kernel as pointed out in the reply to
that patch.
Thanks
Michal
next prev parent reply other threads:[~2019-08-29 19:43 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-29 10:23 [PATCH v4 0/4] Disable compat cruft on ppc64le v4 Michal Suchanek
2019-08-29 10:23 ` [PATCH v4 1/4] powerpc: make llseek 32bit-only Michal Suchanek
2019-08-29 12:19 ` Arnd Bergmann
2019-08-29 12:37 ` Michal Suchánek
2019-08-29 12:57 ` Arnd Bergmann
2019-08-29 14:19 ` Michal Suchánek
2019-08-29 14:32 ` Arnd Bergmann
2019-08-29 19:43 ` Michal Suchánek [this message]
2019-08-29 10:23 ` [PATCH v4 2/4] powerpc: move common register copy functions from signal_32.c to signal.c Michal Suchanek
2019-08-29 10:23 ` [PATCH v4 3/4] powerpc/64: make buildable without CONFIG_COMPAT Michal Suchanek
2019-08-29 10:36 ` Michal Suchánek
2019-08-29 17:40 ` Christophe Leroy
2019-08-29 18:56 ` Michal Suchánek
2019-08-29 10:23 ` [PATCH v4 4/4] powerpc/64: Make COMPAT user-selectable disabled on littleendian by default Michal Suchanek
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=20190829214319.498c7de2@naga \
--to=msuchanek@suse.de \
--cc=allison@lohutok.net \
--cc=andrew.donnellan@au1.ibm.com \
--cc=arnd@arndb.de \
--cc=christian@brauner.io \
--cc=david@redhat.com \
--cc=dhowells@redhat.com \
--cc=ebiederm@xmission.com \
--cc=firoz.khan@linaro.org \
--cc=geert@linux-m68k.org \
--cc=gregkh@linuxfoundation.org \
--cc=hbathini@linux.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=joel@jms.id.au \
--cc=leitao@debian.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mikey@neuling.org \
--cc=npiggin@gmail.com \
--cc=nstange@suse.de \
--cc=paulus@samba.org \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).