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

Mark Wielaard <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #10 from Mark Wielaard <[email protected]> ---
(In reply to mcermak from comment #9)
> Created attachment 182744 [details]
> proposed patch
> 
> Hello Mark, thank you for your review.  The attached patch tries to address
> your comments.  Is it correct?

Very nice. With the ltp listmount4 we now get:

==317967== Syscall param listmount(req) points to unaddressable byte(s)
==317967==    at 0x4961A8D: syscall (syscall.S:38)
==317967==    by 0x4012FB: run (listmount04.c:130)
==317967==    by 0x402CBC: run_tests (tst_test.c:1566)
==317967==    by 0x402CBC: testrun (tst_test.c:1632)
==317967==    by 0x402CBC: fork_testrun (tst_test.c:1771)
==317967==    by 0x404E9F: tst_run_tcases (tst_test.c:1918)
==317967==    by 0x40117D: main (tst_test.h:725)
==317967==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==317967== 
listmount04.c:130: TPASS: request points to unaccessible memory : EFAULT (14)
==317967== Syscall param listmount(mnt_ids) points to unaddressable byte(s)
==317967==    at 0x4961A8D: syscall (syscall.S:38)
==317967==    by 0x4012FB: run (listmount04.c:130)
==317967==    by 0x402CBC: run_tests (tst_test.c:1566)
==317967==    by 0x402CBC: testrun (tst_test.c:1632)
==317967==    by 0x402CBC: fork_testrun (tst_test.c:1771)
==317967==    by 0x404E9F: tst_run_tcases (tst_test.c:1918)
==317967==    by 0x40117D: main (tst_test.h:725)
==317967==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==317967== 
listmount04.c:130: TPASS: mnt_ids points to unaccessible memory : EFAULT (14)

Pushed as:

commit 57152acfc6a82baa58f0d2fa0409290278bafde7 (HEAD -> master, origin/master,
origin/HEAD)
Author: Martin Cermak <[email protected]>
Date:   Fri Jun 27 22:36:03 2025 +0200

    Wrap linux specific syscalls 457 (listmount) and 458 (statmount)

    The listmount syscall returns a list of mount IDs under the req.mnt_id.
    This is meant to be used in conjunction with statmount(2) in order to
    provide a way to iterate and discover mounted file systems.

    The statmount syscall returns information about a mount, storing it in
    the buffer pointed to by smbuf.  The returned buffer is a struct
    statmount which is of size bufsize.

    Declare a sys_{lis,sta}tmount wrapper in priv_syswrap-linux.h and hook it
    for {amd64,arm,arm64,mips64,nanomips,ppc32,ppc64,riscv64,s390x,x86}-linux
    using LINXY with PRE and POST handler in syswrap-linux.c

    Both syscalls need CAP_SYS_ADMIN, to successfully test.

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

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

Reply via email to