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