https://bugs.kde.org/show_bug.cgi?id=468575

la...@foxmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |la...@foxmail.com

--- Comment #12 from la...@foxmail.com ---
> > memcheck/tests/pointer-trace             (stderr)
> The second mmap() call in the test unexpectedly fails with -EINVAL.
The second mmap() is called with PROT_WRITE only. I'm pretty sure the result is
'resonable' because it is KERNEL relevant.

From
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8aeb7b17f04ef40f620c763502e2b644c5c73efd
, it shows that kernel would return EINVAL for mmap(PROT_WRITE only) if without
this commit, or the call would be treated as with an implied PROT_READ like
other architectures.

I tested on openEuler 22.03 with/without this commit and got expected
success/failure result.

>> with the commit
> # perl tests/vg_regtest memcheck/tests/pointer-trace.vgtest
> pointer-trace:   valgrind   -q --leak-check=yes ./pointer-trace
> 
> == 1 test, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 
> stdoutB failures, 0 post failures ==

>> without the commit
> # perl tests/vg_regtest memcheck/tests/pointer-trace.vgtest
> pointer-trace:   valgrind   -q --leak-check=yes ./pointer-trace
> *** pointer-trace failed (stderr) ***
> 
> == 1 test, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB 
> failures, 0 post failures ==
> memcheck/tests/pointer-trace             (stderr)
> 
> # cat memcheck/tests/pointer-trace.stderr.out
> trap 2 failed: Invalid argument
> 1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
>    at 0x........: malloc (vg_replace_malloc.c:...)
>    by 0x........: main (pointer-trace.c:86)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to