Re: [BUGFIX PATCH v2 1/5] selftests: proc: Make va_max 1GB on 32bit arch

From: Masami Hiramatsu
Date: Tue Oct 22 2019 - 21:56:25 EST


On Mon, 21 Oct 2019 20:30:53 +0300
Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:

> On Mon, Oct 21, 2019 at 05:28:09PM +0900, Masami Hiramatsu wrote:
> > Currently proc-self-map-files-002.c sets va_max (max test address
> > of user virtual address) to 4GB, but it is too big for 32bit
> > arch and 1UL << 32 is overflow on 32bit long.
> >
> > Make va_max 1GB on 32bit arch like i386 and arm.
>
> > +#if __BITS_PER_LONG == 32
> > +# define VA_MAX (1UL << 30)
> > +#elif __BITS_PER_LONG == 64
> > +# define VA_MAX (1UL << 32)
> > +#else
> > +# define VA_MAX 0
> > +#endif
> > +
> > int main(void)
> > {
> > const int PAGE_SIZE = sysconf(_SC_PAGESIZE);
> > - const unsigned long va_max = 1UL << 32;
> > + const unsigned long va_max = VA_MAX;
>
> No, just make it like 1MB unconditionally.

Ah, I sse. BTW, would you mean 1GB?

> This is not intended to cover all address space, just large enough part
> (larger than reasonable vm.mmap_min_addr)

Then, should we better to check the /proc/sys/vm/mmap_min_addr?

Thank you,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>