Re: [PATCH 2/8] 32-bit userspace ABI: introduce ARCH_32BIT_OFF_T config option

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

 



On Tue, Feb 19, 2019 at 9:56 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
>
> Hi Arnd, Yuri,
>
> On Tue, Feb 19, 2019 at 3:35 AM Arnd Bergmann <arnd@xxxxxxxx> wrote:
> > From: Yury Norov <ynorov@xxxxxxxxxxxxxxxxxx>
> >
> > All new 32-bit architectures should have 64-bit userspace off_t type, but
> > existing architectures has 32-bit ones.
> >
> > To enforce the rule, new config option is added to arch/Kconfig that defaults
> > ARCH_32BIT_OFF_T to be disabled for new 32-bit architectures. All existing
> > 32-bit architectures enable it explicitly.
> >
> > New option affects force_o_largefile() behaviour. Namely, if userspace
> > off_t is 64-bits long, we have no reason to reject user to open big files.
> >
> > Note that even if architectures has only 64-bit off_t in the kernel
> > (arc, c6x, h8300, hexagon, nios2, openrisc, and unicore32),
> > a libc may use 32-bit off_t, and therefore want to limit the file size
> > to 4GB unless specified differently in the open flags.
> >
> > Signed-off-by: Yury Norov <ynorov@xxxxxxxxxxxxxxxxxx>
> > Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
> > Signed-off-by: Yury Norov <ynorov@xxxxxxxxxxx>
> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> >  arch/m68k/Kconfig       |  1 +
>
> For m68k:
> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

Thanks!

> > --- a/arch/Kconfig
> > +++ b/arch/Kconfig
> > @@ -276,6 +276,21 @@ config ARCH_THREAD_STACK_ALLOCATOR
> >  config ARCH_WANTS_DYNAMIC_TASK_STRUCT
> >         bool
> >
> > +config ARCH_32BIT_OFF_T
> > +       bool
> > +       depends on !64BIT
> > +       help
> > +         All new 32-bit architectures should have 64-bit off_t type on
> > +         userspace side which corresponds to the loff_t kernel type. This
> > +         is the requirement for modern ABIs. Some existing architectures
> > +         already have 32-bit off_t. This option is enabled for all such
>
> s/already/still/
>
> > +         architectures explicitly. Namely: arc, arm, blackfin, cris, frv,
> > +         h8300, hexagon, m32r, m68k, metag, microblaze, mips32, mn10300,
> > +         nios2, openrisc, parisc32, powerpc32, score, sh, sparc, tile32,
> > +         unicore32, x86_32 and xtensa. This is the complete list. Any
>
> Do we really need this list here?  It's intended to shrink only.
> It includes removed architectures (blackfin, cris, frv, m32r, metag,
> mn10300, score, tile32), but lacks several new ones affected by this
> patch (c6x, csky, nds32, riscv).

Right, I (finally)  took Yury's patch that was already several years old
without checking this text (I did make sure all architectures are changed
correctly).

I'll just remove the list here.

      Arnd



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux