[LTP] [PATCH 5/5] syscalls/mmap15: Rewrite test using new LTP API

Richard Palethorpe rpalethorpe@suse.de
Mon Sep 4 11:23:49 CEST 2023


Hello,

Avinesh Kumar <akumar@suse.de> writes:

> Signed-off-by: Avinesh Kumar <akumar@suse.de>
> ---
>  testcases/kernel/syscalls/mmap/mmap15.c | 117 +++++++-----------------
>  1 file changed, 35 insertions(+), 82 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/mmap/mmap15.c b/testcases/kernel/syscalls/mmap/mmap15.c
> index 443a37eb8..643ed3a8b 100644
> --- a/testcases/kernel/syscalls/mmap/mmap15.c
> +++ b/testcases/kernel/syscalls/mmap/mmap15.c
> @@ -1,113 +1,66 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
>  /*
>   * Copyright (c) International Business Machines  Corp., 2004
>   *  Written by Robbie Williamson
> - *
> - * This program is free software;  you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY;  without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
> - * the GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program;  if not, write to the Free Software
> - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> + * Copyright (c) 2023 SUSE LLC Avinesh Kumar <avinesh.kumar@suse.com>
>   */
>  
> -/*
> - * Test Description: Test that a normal page cannot be mapped into a high
> - * memory region.
> +/*\
> + * [Description]
> + *
> + * Verify that, a normal page cannot be mapped into a high memory region,
> + * and mmap() call fails with either ENOMEM or EINVAL errno.
>   */
>  
> -#include <sys/types.h>
> -#include <sys/mman.h>
> -#include <sys/mount.h>
> -#include <sys/stat.h>
> -#include <errno.h>
> -#include <fcntl.h>
> -#include <signal.h>
> -#include <stdint.h>
> -#include <stdio.h>
> -#include <stdlib.h>
> -#include <string.h>
> -#include <unistd.h>
> -#include "test.h"
> -#include "safe_macros.h"
> -#include "lapi/abisize.h"
> -
> -char *TCID = "mmap15";
> -int TST_TOTAL = 1;
> +#include "tst_test.h"
>  
>  #ifdef __ia64__
> -# define HIGH_ADDR (void *)(0xa000000000000000UL)
> +# define HIGH_ADDR ((void *)(0xa000000000000000UL))
>  #else
> -# define HIGH_ADDR (void *)(-page_size)
> +# define HIGH_ADDR ((void *)(-page_size))
>  #endif
>  
> +#define TEMPFILE "mmapfile"
>  static long page_size;
> +static int fd;
>  
> -static void setup(void);
> -static void cleanup(void);
> -
> -int main(int ac, char **av)
> +static void run(void)
>  {
> -	int lc, fd;
> -	void *addr;
> -
>  #ifdef TST_ABI32
> -	tst_brkm(TCONF, NULL, "This test is only for 64bit");
> +	tst_brkm(TCONF, NULL, "Test is not applicable for 32-bit
> systems.");

This is still the old API. I suggest compiling with -m32 set to check
TCONF works as expected.

-- 
Thank you,
Richard.


More information about the ltp mailing list