* [LTP] [PATCH v2 0/2] LTP: adjust socket xattr tests for kernel 7.1.0+ @ 2026-03-14 15:13 Jan Polensky 2026-03-14 15:13 ` [LTP] [PATCH v2 1/2] fsetxattr02: Adapt test for kernel 7.1.0+ socket xattr support Jan Polensky 2026-03-14 15:13 ` [LTP] [PATCH v2 2/2] setxattr02: " Jan Polensky 0 siblings, 2 replies; 5+ messages in thread From: Jan Polensky @ 2026-03-14 15:13 UTC (permalink / raw) To: chrubis, pvorel; +Cc: Linux Test Project Linux 7.1.0 allows user.* xattrs on sockets (dc0876b9846d). Update fsetxattr02/setxattr02 to expect success on 7.1.0+ (instead of -EPERM). Jan Polensky (2): fsetxattr02: Adapt test for kernel 7.1.0+ socket xattr support setxattr02: Adapt test for kernel 7.1.0+ socket xattr support testcases/kernel/syscalls/fsetxattr/fsetxattr02.c | 7 ++++++- testcases/kernel/syscalls/setxattr/setxattr02.c | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) -- 2.53.0 -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply [flat|nested] 5+ messages in thread
* [LTP] [PATCH v2 1/2] fsetxattr02: Adapt test for kernel 7.1.0+ socket xattr support 2026-03-14 15:13 [LTP] [PATCH v2 0/2] LTP: adjust socket xattr tests for kernel 7.1.0+ Jan Polensky @ 2026-03-14 15:13 ` Jan Polensky 2026-03-14 15:13 ` [LTP] [PATCH v2 2/2] setxattr02: " Jan Polensky 1 sibling, 0 replies; 5+ messages in thread From: Jan Polensky @ 2026-03-14 15:13 UTC (permalink / raw) To: chrubis, pvorel; +Cc: Linux Test Project Starting with kernel 7.1.0, sockets support extended attributes in the user.* namespace. This behavior was enabled by dc0876b9846d ("xattr: support extended attributes on sockets"), which permits user.* xattrs on S_IFSOCK inodes (previously rejected with -EPERM). Adapts the test to expect success (exp_err = 0) instead of EPERM when testing fsetxattr(2) on sockets with kernel 7.1.0+. Signed-off-by: Jan Polensky <japo@linux.ibm.com> --- testcases/kernel/syscalls/fsetxattr/fsetxattr02.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/testcases/kernel/syscalls/fsetxattr/fsetxattr02.c b/testcases/kernel/syscalls/fsetxattr/fsetxattr02.c index 18490a865871..335a8868ac73 100644 --- a/testcases/kernel/syscalls/fsetxattr/fsetxattr02.c +++ b/testcases/kernel/syscalls/fsetxattr/fsetxattr02.c @@ -19,7 +19,8 @@ * - Set attribute to a block special file, fsetxattr(2) should * return -1 and set errno to EPERM. * - Set attribute to a UNIX domain socket, fsetxattr(2) should - * return -1 and set errno to EPERM. + * return -1 and set errno to EPERM. Will SUCCEED on kernel + * with commit dc0876b9846d. */ /* @@ -158,6 +159,10 @@ static void verify_fsetxattr(unsigned int i) if (TST_RET == -1 && TST_ERR == EOPNOTSUPP) tst_brk(TCONF, "fsetxattr(2) not supported"); + /* consider kernels with commit dc0876b9846d */ + if ((tst_kvercmp(7, 1, 0) >= 0) && (strncmp(tc[i].fname, SOCK, strlen(SOCK)) == 0)) + tc[i].exp_err = 0; + /* success */ if (!tc[i].exp_err) { -- 2.53.0 -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [LTP] [PATCH v2 2/2] setxattr02: Adapt test for kernel 7.1.0+ socket xattr support 2026-03-14 15:13 [LTP] [PATCH v2 0/2] LTP: adjust socket xattr tests for kernel 7.1.0+ Jan Polensky 2026-03-14 15:13 ` [LTP] [PATCH v2 1/2] fsetxattr02: Adapt test for kernel 7.1.0+ socket xattr support Jan Polensky @ 2026-03-14 15:13 ` Jan Polensky 2026-03-16 7:56 ` Petr Vorel 1 sibling, 1 reply; 5+ messages in thread From: Jan Polensky @ 2026-03-14 15:13 UTC (permalink / raw) To: chrubis, pvorel; +Cc: Linux Test Project Starting with kernel 7.1.0, sockets support extended attributes in the user.* namespace. This behavior was enabled by dc0876b9846d ("xattr: support extended attributes on sockets"), which permits user.* xattrs on S_IFSOCK inodes (previously rejected with -EPERM). Adapts the test to expect success (exp_err = 0) instead of EPERM when testing setxattr(2) on sockets with kernel 7.1.0+. Signed-off-by: Jan Polensky <japo@linux.ibm.com> --- testcases/kernel/syscalls/setxattr/setxattr02.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/testcases/kernel/syscalls/setxattr/setxattr02.c b/testcases/kernel/syscalls/setxattr/setxattr02.c index 9f5f998da9ba..c905f42dbb9e 100644 --- a/testcases/kernel/syscalls/setxattr/setxattr02.c +++ b/testcases/kernel/syscalls/setxattr/setxattr02.c @@ -15,7 +15,7 @@ * - EPERM - set attribute to a FIFO * - EPERM - set attribute to a char special file * - EPERM - set attribute to a block special file - * - EPERM - set attribute to a UNIX domain socket + * - EPERM/SUCCEED - set attribute to a UNIX domain socket (commit dc0876b9846d) */ #include "config.h" @@ -132,6 +132,10 @@ static void verify_setxattr(unsigned int i) if (TST_RET == -1 && TST_ERR == EOPNOTSUPP) tst_brk(TCONF, "setxattr(2) not supported"); + /* consider kernels with commit dc0876b9846d */ + if ((tst_kvercmp(7, 1, 0) >= 0) && (strncmp(tc[i].fname, SOCK, strlen(SOCK)) == 0)) + tc[i].exp_err = 0; + /* success */ if (!tc[i].exp_err) { -- 2.53.0 -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [LTP] [PATCH v2 2/2] setxattr02: Adapt test for kernel 7.1.0+ socket xattr support 2026-03-14 15:13 ` [LTP] [PATCH v2 2/2] setxattr02: " Jan Polensky @ 2026-03-16 7:56 ` Petr Vorel 2026-03-16 9:07 ` Jan Polensky 0 siblings, 1 reply; 5+ messages in thread From: Petr Vorel @ 2026-03-16 7:56 UTC (permalink / raw) To: Jan Polensky; +Cc: Linux Test Project Hi Jan, > Starting with kernel 7.1.0, sockets support extended attributes in the > user.* namespace. This behavior was enabled by dc0876b9846d ("xattr: > support extended attributes on sockets"), which permits user.* xattrs on > S_IFSOCK inodes (previously rejected with -EPERM). > Adapts the test to expect success (exp_err = 0) instead of EPERM when > testing setxattr(2) on sockets with kernel 7.1.0+. > Signed-off-by: Jan Polensky <japo@linux.ibm.com> > --- > testcases/kernel/syscalls/setxattr/setxattr02.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > diff --git a/testcases/kernel/syscalls/setxattr/setxattr02.c b/testcases/kernel/syscalls/setxattr/setxattr02.c > index 9f5f998da9ba..c905f42dbb9e 100644 > --- a/testcases/kernel/syscalls/setxattr/setxattr02.c > +++ b/testcases/kernel/syscalls/setxattr/setxattr02.c > @@ -15,7 +15,7 @@ > * - EPERM - set attribute to a FIFO > * - EPERM - set attribute to a char special file > * - EPERM - set attribute to a block special file > - * - EPERM - set attribute to a UNIX domain socket > + * - EPERM/SUCCEED - set attribute to a UNIX domain socket (commit dc0876b9846d) > */ > #include "config.h" > @@ -132,6 +132,10 @@ static void verify_setxattr(unsigned int i) > if (TST_RET == -1 && TST_ERR == EOPNOTSUPP) > tst_brk(TCONF, "setxattr(2) not supported"); > + /* consider kernels with commit dc0876b9846d */ > + if ((tst_kvercmp(7, 1, 0) >= 0) && (strncmp(tc[i].fname, SOCK, strlen(SOCK)) == 0)) > + tc[i].exp_err = 0; I'm sorry I haven't pointed out it on v1. 1) Kernel detection should be in the setup function (otherwise kernel detection is done 7x, but needed only 1x, and when run more times with -i1000 it's even more time wasted), result stored into static variable, see: testcases/kernel/syscalls/userfaultfd/userfaultfd01.c 2) While checking file name works, we usually try to somehow move the check into struct test_case. testcases/kernel/syscalls/finit_module/finit_module02.c function pointer to in the test struct, function fixes the errno, code run in the setup. In this case when a single case requires it, I would combine these 2 approaches: 1) detect kver in the setup #define BEFORE_7_1 1 #define AFTER_7_1 2 static int kver; static void setup(void) { ... if (tst_kvercmp(7, 1, 0) >= 0) kver = AFTER_7_1; else kver = BEFORE_7_1; } 2) custom function struct test_case { ... void (*fix_errno)(struct test_case *tc); }; static void fix_sock(struct tcase *tc) { /* dc0876b9846d ("xattr: support extended attributes on sockets") */ if (kver == AFTER_7_1) tc[i].exp_err = 0; } static void verify_setxattr(unsigned int i) { if (tc[i].fix_errno) tc[i].fix_errno(&tc[i]); ... } Also, it helps reviewing when your cover letter contains changelog. On single patch it can be added under --- (so that it's not part of the commit message. Kind regards, Petr > + > /* success */ > if (!tc[i].exp_err) { -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [LTP] [PATCH v2 2/2] setxattr02: Adapt test for kernel 7.1.0+ socket xattr support 2026-03-16 7:56 ` Petr Vorel @ 2026-03-16 9:07 ` Jan Polensky 0 siblings, 0 replies; 5+ messages in thread From: Jan Polensky @ 2026-03-16 9:07 UTC (permalink / raw) To: Petr Vorel; +Cc: Linux Test Project On Mon, Mar 16, 2026 at 08:56:37AM +0100, Petr Vorel wrote: Hi Petr, > Hi Jan, > > > tst_brk(TCONF, "setxattr(2) not supported"); > > > + /* consider kernels with commit dc0876b9846d */ > > + if ((tst_kvercmp(7, 1, 0) >= 0) && (strncmp(tc[i].fname, SOCK, strlen(SOCK)) == 0)) > > + tc[i].exp_err = 0; > I'm sorry I haven't pointed out it on v1. > > 1) Kernel detection should be in the setup function (otherwise kernel detection > is done 7x, but needed only 1x, and when run more times with -i1000 it's even > more time wasted), result stored into static variable, see: > testcases/kernel/syscalls/userfaultfd/userfaultfd01.c > > 2) While checking file name works, we usually try to somehow move the check into > struct test_case. > > testcases/kernel/syscalls/finit_module/finit_module02.c > function pointer to in the test struct, function fixes the errno, code run in > the setup. > > In this case when a single case requires it, I would combine these 2 approaches: > > 1) detect kver in the setup > > #define BEFORE_7_1 1 > #define AFTER_7_1 2 > static int kver; > > static void setup(void) > { > ... > if (tst_kvercmp(7, 1, 0) >= 0) > kver = AFTER_7_1; > else > kver = BEFORE_7_1; > } > > 2) custom function > struct test_case { > ... > void (*fix_errno)(struct test_case *tc); > }; > > static void fix_sock(struct tcase *tc) > { > /* dc0876b9846d ("xattr: support extended attributes on sockets") */ > if (kver == AFTER_7_1) > tc[i].exp_err = 0; > } > > static void verify_setxattr(unsigned int i) > { > if (tc[i].fix_errno) > tc[i].fix_errno(&tc[i]); > ... > } > > Also, it helps reviewing when your cover letter contains changelog. > On single patch it can be added under --- (so that it's not part of the commit > message. > > Kind regards, > Petr > > + > > /* success */ > > > if (!tc[i].exp_err) { Thank you for the suggestions, I appreciate them and will take them into account. I’ll send an updated version soon. Kind regards, Jan -- Mailing list info: https://lists.linux.it/listinfo/ltp ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-03-16 9:07 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-03-14 15:13 [LTP] [PATCH v2 0/2] LTP: adjust socket xattr tests for kernel 7.1.0+ Jan Polensky 2026-03-14 15:13 ` [LTP] [PATCH v2 1/2] fsetxattr02: Adapt test for kernel 7.1.0+ socket xattr support Jan Polensky 2026-03-14 15:13 ` [LTP] [PATCH v2 2/2] setxattr02: " Jan Polensky 2026-03-16 7:56 ` Petr Vorel 2026-03-16 9:07 ` Jan Polensky
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox