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

Krishna <muppakrish...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |muppakrish...@gmail.com

--- Comment #3 from Krishna <muppakrish...@gmail.com> ---
Created attachment 125712
  --> https://bugs.kde.org/attachment.cgi?id=125712&action=edit
simple mmap testapp execution log

In further investigation, found the issue is with invalid offset under
valgrind.

And in high-level, During normal run mmap2 is getting executed where as mmap is
getting executed under valgrind.

Attached strace bootup logs for reference.

Normal Run:

open("/tmp/1.txt", O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 017754017774) = 3
mmap2(NULL, 157286400, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0xc0200000) =
0x6e196000

Valgrind Run:

open("/tmp/1.txt", O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 017662266754) = 3
mmap(0x4980000, 157286400, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, 3,
0xc0200000) = 0x4980000

And it looks based on mapping for syscalls. if so where this can be configured
for mips_mmap2 in valgrind code.

SYSCALL_DEFINE6(mips_mmap, unsigned long, addr, unsigned long, len,
        unsigned long, prot, unsigned long, flags, unsigned long,
        fd, off_t, offset)
{
        unsigned long result;

        result = -EINVAL;
        if (offset & ~PAGE_MASK)
                goto out;

        result = sys_mmap_pgoff(addr, len, prot, flags, fd, offset >>
PAGE_SHIFT);

out:
        return result;
}

SYSCALL_DEFINE6(mips_mmap2, unsigned long, addr, unsigned long, len,
        unsigned long, prot, unsigned long, flags, unsigned long, fd,
        unsigned long, pgoff)
{
        if (pgoff & (~PAGE_MASK >> 12))
                return -EINVAL;

        return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff >>
(PAGE_SHIFT-12));
}

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

Reply via email to