[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191008175916.GA20780@avx2>
Date: Tue, 8 Oct 2019 20:59:16 +0300
From: Alexey Dobriyan <adobriyan@...il.com>
To: Masami Hiramatsu <mhiramat@...nel.org>
Cc: Shuah Khan <shuah@...nel.org>, linux-kselftest@...r.kernel.org,
linux-kernel@...r.kernel.org, jaswinder.singh@...aro.org
Subject: Re: [BUGFIX PATCH 1/5] selftests: proc: Make va_max 3GB on 32bit arch
On Tue, Oct 08, 2019 at 12:10:26AM +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 3GB on 32bit arch like i386 and arm.
IIRC i386 had 1G/3G split, so 3GB would be too much still.
> --- a/tools/testing/selftests/proc/proc-self-map-files-002.c
> +++ b/tools/testing/selftests/proc/proc-self-map-files-002.c
> +#if __BITS_PER_LONG == 32
> +# define VA_MAX (3UL << 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;
This limit doesn't need to be precise, 1GB is "big enough".
Powered by blists - more mailing lists