Message ID | 20200701175205.342650-1-jlayton@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | generic/377: filter out xattrs that don't start with 'user.' | expand |
On Wed, Jul 01, 2020 at 01:52:05PM -0400, Jeff Layton wrote: > Most hosts that I've been testing on seem to display security.selinux in > listxattr. 377.out doesn't account for that so it routinely fails for me > in testing. > > When testing the output of listxattr in generic/377, filter out any xattr > names that don't start with 'user.'. That should help ensure consistent > output on SELinux-enabled hosts. > > Signed-off-by: Jeff Layton <jlayton@kernel.org> > --- Yeah, I hit this error[1] too. This patch looks good to me. One more question, do you hit similar failure on generic/062, likes [2]? Thanks, Zorro [1] --- /dev/fd/63 2020-07-02 12:07:42.948327419 -0400 +++ results/generic/377.out.bad 2020-07-02 12:07:41.990305624 -0400 @@ -1,4 +1,5 @@ QA output created by 377 +xattr: security.selinux xattr: user.foo xattr: user.hello xattr: user.ping ... [2] --- /dev/fd/63 2020-07-02 07:15:09.072853920 -0400 +++ results/generic/062.out.bad 2020-07-02 07:15:08.156833194 -0400 @@ -52,6 +52,7 @@ SCRATCH_MNT/reg: user.name2: No such attribute or operation not permitted *** final list (strings, type=reg, nsp=user) # file: SCRATCH_MNT/reg +security.selinux=0x73797374656d5f753a6f626a6563745f723a6e66735f743a733000 user.name=0xbabe user.name3=0xdeface ... > tests/generic/377 | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > I'm not sure why this doesn't fail for most people, unless most are > turning off SELinux. Is this the right approach? > > diff --git a/tests/generic/377 b/tests/generic/377 > index f7835ee8ff9e..f08abdca60a6 100755 > --- a/tests/generic/377 > +++ b/tests/generic/377 > @@ -48,7 +48,7 @@ $SETFATTR_PROG -n user.ping -v pong $testfile > $SETFATTR_PROG -n user.hello -v there $testfile > > # 1. Call listxattr without buffer length argument. This should succeed. > -$listxattr $testfile | sort > +$listxattr $testfile | grep '^xattr: user\.' | sort > > # 2. Calling listxattr on nonexistant file should fail with -ENOENT. > $listxattr "" > @@ -66,7 +66,7 @@ $listxattr $testfile 9 > $listxattr $testfile 11 > > # 6. Calling listxattr with buffersize bigger than needed should succeed. > -$listxattr $testfile 500 | sort > +$listxattr $testfile 500 | grep '^xattr: user\.' | sort > > status=0 > exit > -- > 2.26.2 >
On Sun, 2020-07-05 at 19:41 +0800, Zorro Lang wrote: > On Wed, Jul 01, 2020 at 01:52:05PM -0400, Jeff Layton wrote: > > Most hosts that I've been testing on seem to display security.selinux in > > listxattr. 377.out doesn't account for that so it routinely fails for me > > in testing. > > > > When testing the output of listxattr in generic/377, filter out any xattr > > names that don't start with 'user.'. That should help ensure consistent > > output on SELinux-enabled hosts. > > > > Signed-off-by: Jeff Layton <jlayton@kernel.org> > > --- > > Yeah, I hit this error[1] too. This patch looks good to me. > > One more question, do you hit similar failure on generic/062, likes [2]? > > Thanks, > Zorro > > [1] > --- /dev/fd/63 2020-07-02 12:07:42.948327419 -0400 > +++ results/generic/377.out.bad 2020-07-02 12:07:41.990305624 -0400 > @@ -1,4 +1,5 @@ > QA output created by 377 > +xattr: security.selinux > xattr: user.foo > xattr: user.hello > xattr: user.ping > ... > > [2] > --- /dev/fd/63 2020-07-02 07:15:09.072853920 -0400 > +++ results/generic/062.out.bad 2020-07-02 07:15:08.156833194 -0400 > @@ -52,6 +52,7 @@ > SCRATCH_MNT/reg: user.name2: No such attribute or operation not permitted > *** final list (strings, type=reg, nsp=user) > # file: SCRATCH_MNT/reg > +security.selinux=0x73797374656d5f753a6f626a6563745f723a6e66735f743a733000 > user.name=0xbabe > user.name3=0xdeface > ... > Thanks. Yes, I generally hit this too. We can do a similar fix for that one. I just figured I'd float this smaller patch before I went to the effort. I'll plan to spin up a second patch that similarly fixes generic/062. > > tests/generic/377 | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > I'm not sure why this doesn't fail for most people, unless most are > > turning off SELinux. Is this the right approach? > > > > diff --git a/tests/generic/377 b/tests/generic/377 > > index f7835ee8ff9e..f08abdca60a6 100755 > > --- a/tests/generic/377 > > +++ b/tests/generic/377 > > @@ -48,7 +48,7 @@ $SETFATTR_PROG -n user.ping -v pong $testfile > > $SETFATTR_PROG -n user.hello -v there $testfile > > > > # 1. Call listxattr without buffer length argument. This should succeed. > > -$listxattr $testfile | sort > > +$listxattr $testfile | grep '^xattr: user\.' | sort > > > > # 2. Calling listxattr on nonexistant file should fail with -ENOENT. > > $listxattr "" > > @@ -66,7 +66,7 @@ $listxattr $testfile 9 > > $listxattr $testfile 11 > > > > # 6. Calling listxattr with buffersize bigger than needed should succeed. > > -$listxattr $testfile 500 | sort > > +$listxattr $testfile 500 | grep '^xattr: user\.' | sort > > > > status=0 > > exit > > -- > > 2.26.2 > >
diff --git a/tests/generic/377 b/tests/generic/377 index f7835ee8ff9e..f08abdca60a6 100755 --- a/tests/generic/377 +++ b/tests/generic/377 @@ -48,7 +48,7 @@ $SETFATTR_PROG -n user.ping -v pong $testfile $SETFATTR_PROG -n user.hello -v there $testfile # 1. Call listxattr without buffer length argument. This should succeed. -$listxattr $testfile | sort +$listxattr $testfile | grep '^xattr: user\.' | sort # 2. Calling listxattr on nonexistant file should fail with -ENOENT. $listxattr "" @@ -66,7 +66,7 @@ $listxattr $testfile 9 $listxattr $testfile 11 # 6. Calling listxattr with buffersize bigger than needed should succeed. -$listxattr $testfile 500 | sort +$listxattr $testfile 500 | grep '^xattr: user\.' | sort status=0 exit
Most hosts that I've been testing on seem to display security.selinux in listxattr. 377.out doesn't account for that so it routinely fails for me in testing. When testing the output of listxattr in generic/377, filter out any xattr names that don't start with 'user.'. That should help ensure consistent output on SELinux-enabled hosts. Signed-off-by: Jeff Layton <jlayton@kernel.org> --- tests/generic/377 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) I'm not sure why this doesn't fail for most people, unless most are turning off SELinux. Is this the right approach?