[LTP] [PATCH] vma05.sh: Fix check for core file presence

Petr Vorel pvorel@suse.cz
Tue Nov 28 14:35:33 CET 2023


Hi,

> Hi Yang

> On 2023/11/10 11:56, Yang Xu wrote:
> >   	rm -rf core*
> >   	{ vma05_vdso; } > /dev/null 2>&1
> > -	[ -f core ] || tst_brk TBROK "missing core file"
> > +	[ -f core* ] || tst_brk TBROK "missing core file"
This will not work in case of more files:

$ touch core.foo core.bar; [ -f core* ]
bash: [: core.bar: binary operator expected

> The root cause seems that the name of core file contains the pid number by
> default. I think the better solution is set /proc/sys/kernel/core_uses_pid
> to 0 before running vma05_vdso. Like this:

> diff --git a/testcases/kernel/mem/vma/vma05.sh
> b/testcases/kernel/mem/vma/vma05.sh
> index a09951462..e1ef1014e 100755
> --- a/testcases/kernel/mem/vma/vma05.sh
> +++ b/testcases/kernel/mem/vma/vma05.sh
> @@ -25,11 +25,13 @@ TST_NEEDS_CMDS="gdb"

>  CORE_LIMIT=$(ulimit -c)
>  CORE_PATTERN=$(cat /proc/sys/kernel/core_pattern)
> +CORE_USES_PID=$(cat /proc/sys/kernel/core_uses_pid)

>  setup()
>  {
>         ulimit -c unlimited
>         echo "core" > /proc/sys/kernel/core_pattern
> +       echo 0 > /proc/sys/kernel/core_uses_pid
>         unset DEBUGINFOD_URLS
>  }

> @@ -37,6 +39,7 @@ cleanup()
>  {
>         ulimit -c "$CORE_LIMIT"
>         echo "$CORE_PATTERN" > /proc/sys/kernel/core_pattern
> +       echo $CORE_USES_PID > /proc/sys/kernel/core_uses_pid
>  }

This patch looks better to me. Feel free to merge it with my RBT
Reviewed-by: Petr Vorel <pvorel@suse.cz>

Kind regards,
Petr

> Best Regards,
> Xiao Yang


More information about the ltp mailing list