[LTP] Patch:V2:creat07():Added new_behavior flag to detect kernel version > 6.11 : Tests that creat() succeeds (write to executed file allowed) Removed the old skip logic that did TCONF on kernel >= 6.11 Added one static variable exp_errno to store expected result: -1 means creat() should succeed ETXTBSY means it should fail with that errno setup() now sets exp_errno from kernel version Simplified verify_creat(): if expected is success, call creat(), close fd, print TPASS if expected is failure, use TST_EXP_FAIL2() for ETXTBSY Removed extra verbose kernel-info messages Removed exec of external child binary and replaced it with an in-process forked child using TST_CHECKPOINT_WAKE() + pause() Removed .resource_files from test

linuxtestproject.agent@gmail.com linuxtestproject.agent@gmail.com
Wed May 13 09:57:14 CEST 2026


Hi Lekshmi,

On Wed, 13 May 2026, lekshmi-cpillai wrote:
> Patch:V2:creat07():Added new_behavior flag to detect kernel version > 6.11...

The commit subject must be a single concise line (<=72 chars) in imperative
form without a "Patch:V2:" prefix. The body must explain WHY the old TCONF
approach was wrong, not just list what was changed.

> -       if (pid == 0) {
> -               SAFE_EXECL(TEST_APP, TEST_APP, NULL);
> -               exit(1);
> +       if (!pid) {
> +               TST_CHECKPOINT_WAKE(0);
> +               pause();
> +               exit(0);
>         }

Removing SAFE_EXECL breaks the ETXTBSY path: creat() only returns ETXTBSY
when the target file is being executed by another process. Since the new
child never exec's creat07_child, creat(TEST_APP, O_WRONLY) will never
return ETXTBSY on kernels < 6.11 — that test branch will always fail.
Restore the exec of the child binary (or find another way to hold the
inode busy during execution).

>  /*\
>   * Check that :manpage:`creat(2)` sets ETXTBSY correctly.
>   */

Update the doc comment to describe both behaviors: ETXTBSY on kernel < 6.11
and success on kernel >= 6.11.

Pre-existing issues noticed in the surrounding code (not introduced by
this patch):

- testcases/kernel/syscalls/creat/creat07_child.c — orphaned: still
  compiled by the wildcard Makefile and listed in .gitignore, but no
  longer exec'd and removed from .resource_files. Either delete it or
  restore the SAFE_EXECL call.

---
Note:

Our agent completed the review of the patch. The full review can be
found at: https://github.com/linux-test-project/ltp-agent/actions/runs/25785799074

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