[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a0ZXuGWO+n2ghxhXmxntZAk_HPDmsk3cigdh2FBMQcKYA@mail.gmail.com>
Date: Mon, 28 Feb 2022 13:51:03 +0100
From: Arnd Bergmann <arnd@...db.de>
To: Guo Ren <guoren@...nel.org>
Cc: David Laight <David.Laight@...lab.com>,
"palmer@...belt.com" <palmer@...belt.com>,
"arnd@...db.de" <arnd@...db.de>,
"anup@...infault.org" <anup@...infault.org>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"liush@...winnertech.com" <liush@...winnertech.com>,
"wefu@...hat.com" <wefu@...hat.com>,
"drew@...gleboard.org" <drew@...gleboard.org>,
"wangjunqiang@...as.ac.cn" <wangjunqiang@...as.ac.cn>,
"hch@....de" <hch@....de>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-riscv@...ts.infradead.org" <linux-riscv@...ts.infradead.org>,
"linux-csky@...r.kernel.org" <linux-csky@...r.kernel.org>,
"linux-s390@...r.kernel.org" <linux-s390@...r.kernel.org>,
"sparclinux@...r.kernel.org" <sparclinux@...r.kernel.org>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-parisc@...r.kernel.org" <linux-parisc@...r.kernel.org>,
"linux-mips@...r.kernel.org" <linux-mips@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"x86@...nel.org" <x86@...nel.org>
Subject: Re: [PATCH V7 03/20] compat: consolidate the compat_flock{,64} definition
On Mon, Feb 28, 2022 at 1:13 PM Guo Ren <guoren@...nel.org> wrote:
> On Mon, Feb 28, 2022 at 8:02 PM David Laight <David.Laight@...lab.com> wrote:
> > From: Guo Ren Sent: 28 February 2022 11:52
> > > On Mon, Feb 28, 2022 at 2:40 PM David Laight <David.Laight@...lab.com> wrote:
> > > > ...
> > > > > +struct compat_flock64 {
> > > > > + short l_type;
> > > > > + short l_whence;
> > > > > + compat_loff_t l_start;
> > > > > + compat_loff_t l_len;
> > > > > + compat_pid_t l_pid;
> > > > > +#ifdef __ARCH_COMPAT_FLOCK64_PAD
> > > > > + __ARCH_COMPAT_FLOCK64_PAD
> > > > > +#endif
> > > > > +} __ARCH_COMPAT_FLOCK64_PACK;
> > > > > +
> > > >
> > > > Provided compat_loff_t are correctly defined with __aligned__(4)
> > > See include/asm-generic/compat.h
> > >
> > > typedef s64 compat_loff_t;
> > >
> > > Only:
> > > #ifdef CONFIG_COMPAT_FOR_U64_ALIGNMENT
> > > typedef s64 __attribute__((aligned(4))) compat_s64;
> > >
> > > So how do you think compat_loff_t could be defined with __aligned__(4)?
> >
> > compat_loff_t should be compat_s64 not s64.
> >
> > The same should be done for all 64bit 'compat' types.
> Changing
> typedef s64 compat_loff_t;
> to
> typedef compat_s64 compat_loff_t;
>
> should be another patch and it affects all architectures, I don't
> think we should involve it in this series.
Agreed, your patch (originally from Christoph) looks fine, it correctly
transforms the seven copies of the structure into a shared version.
There is always more that can be improved, but for this series,
I think you have already done enough.
> look at kernel/power/user.c:
> struct compat_resume_swap_area {
> compat_loff_t offset;
> u32 dev;
> } __packed;
>
> I thnk keep "typedef s64 compat_loff_t;" is a sensible choice for
> COMPAT support patchset series.
The only references to compat_loff_t that we have in the kernel
could all be simplified by defining compat_loff_t as compat_s64
instead of s64, but it has no impact on correctness here.
Let's make sure you get your series into 5.18, and then David can
follow-up with any further cleanups after that.
Arnd
Powered by blists - more mailing lists