[LTP] loongarch.in: add memfd_secret syscall

linuxtestproject.agent@gmail.com linuxtestproject.agent@gmail.com
Tue Jul 14 12:54:28 CEST 2026


Hi Gang,

On Tue Jul 14 18:14:52 2026 +0800, Gang Yan wrote:
> loongarch.in: add memfd_secret syscall

--- [PATCH 1/3] ---

The subject names the wrong file. The changed file is "loongarch64.in",
not "loongarch.in".

> In 209f0c6360da('Update arch(s) syscalls files'), it only removes the
> 'memfd_secret' for loongarch, so that caused a error based on the old
> kernel:

"a error" -> "an error". Also, "based on the old kernel" is unclear: the
EBADF failure occurs because __NR_memfd_secret defaults to -1 when absent
from the syscall table, not because of any particular kernel version.

> +memfd_secret 447
>  landlock_restrict_self 446

memfd_secret (447) is inserted before landlock_restrict_self (446),
breaking the ascending numerical order of the file. Should the insertion
point be after landlock_restrict_self?

  landlock_add_rule       445
  landlock_restrict_self  446
+ memfd_secret            447
  process_mrelease        448

--- [PATCH 2/3] ---

The subject names the wrong file. The script is "generate_syscalls.sh"
(plural), not "generate_syscall.sh".

> +#define tst_syscall_base(NR, ...) ({ \
> +    intptr_t tst_ret; \
> +    if (NR == __LTP__NR_INVALID_SYSCALL) { \
> +        errno = ENOSYS; \
> +        tst_ret = -1; \
> +    } else { \
> +        tst_ret = syscall(NR, ##__VA_ARGS__); \
> +    } \
> +    tst_ret; \
> +})

The macro body uses spaces for indentation. LTP follows Linux kernel coding
style which requires tabs. The same applies to the refactored tst_syscall
body below.

> +#define tst_syscall(NR, ...) ({ \
> +    intptr_t tst_ret = tst_syscall_base(NR, ##__VA_ARGS__); \
> +    if (tst_ret == -1 && errno == ENOSYS) { \
> +        TST_SYSCALL_BRK__(NR, #NR); \
> +    } \
> +    tst_ret; \
> +})

Same indentation issue -- tabs required.

--- [PATCH 3/3] ---

> If some feature is not supported by some arch, like _NR__memfd_secret,

Typo: "_NR__memfd_secret" should be "__NR_memfd_secret".

> This patch use tst_syscall to give a more specific fail reason:

The macro used throughout this patch is tst_syscall_base(), not
tst_syscall(). "use" -> "uses".

Verdict - Needs revision

---
Note:

The agent can sometimes produce false positives although often its
findings are genuine. If you find issues with the review, please
comment this email or ignore the suggestions.

Regards,
LTP AI Reviewer


More information about the ltp mailing list