[LTP] [PATCH] prot_hsymlinks: Fix failure on read-only machine
Hoang Nguyen
the_hoang0709@yahoo.com
Wed Apr 5 03:14:20 CEST 2017
Hello,
Could you help to check if the patch is ok or not ?
Thanks and regards.
Hoang
From: Hoang Nguyen <the_hoang0709@yahoo.com>
To: "the_hoang0709@yahoo.com" <the_hoang0709@yahoo.com>; "ltp@lists.linux.it" <ltp@lists.linux.it>
Sent: Wednesday, 22 March 2017, 10:06
Subject: Re: [LTP] [PATCH] prot_hsymlinks: Fix failure on read-only machine
Hi,
Could you help to check, so that we can close the Issue ?
Thanks and regards
Hoang
Sent from Yahoo Mail on Android
On Fri, Mar 10, 2017 at 7:55, the_hoang0709@yahoo.com<the_hoang0709@yahoo.com> wrote: From: Hoang Nguyen <the_hoang0709@yahoo.com>
Return 32 if /etc/passwd is read-only.
Also move tst_tmpdir before useradd in setup, to avoid "TESTDIR was
NULL" in tst_rmdir in cleanup.
Fixes #88
Signed-off-by: Hoang Nguyen <the_hoang0709@yahoo.com>
---
testcases/kernel/security/prot_hsymlinks/prot_hsymlinks.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/testcases/kernel/security/prot_hsymlinks/prot_hsymlinks.c b/testcases/kernel/security/prot_hsymlinks/prot_hsymlinks.c
index b23064a..31ddefa 100644
--- a/testcases/kernel/security/prot_hsymlinks/prot_hsymlinks.c
+++ b/testcases/kernel/security/prot_hsymlinks/prot_hsymlinks.c
@@ -206,6 +206,8 @@ static void setup(int argc, char *argv[])
tst_sig(FORK, DEF_HANDLER, cleanup);
+ tst_tmpdir();
+
test_user_cmd("useradd");
/*
* enable hardlinks and symlinks restrictions,
@@ -220,8 +222,6 @@ static void setup(int argc, char *argv[])
disable_protected_slinks = 1;
}
- tst_tmpdir();
-
init_base_dirs();
init_files_dirs();
@@ -273,7 +273,8 @@ static void cleanup(void)
if (skip_cleanup)
return;
- test_user_cmd("userdel -r");
+ if (!eaccess("/etc/passwd", W_OK))
+ test_user_cmd("userdel -r");
if (disable_protected_hlinks) {
tst_resm(TINFO, "Disable protected hardlinks mode back");
@@ -316,8 +317,13 @@ static void test_user_cmd(const char *user_cmd)
char cmd[MAX_CMD_LEN];
snprintf(cmd, MAX_CMD_LEN, "%s %s", user_cmd, users[TEST_USER].name);
if (system(cmd) != 0) {
- tst_brkm(TBROK, cleanup, "Failed to run cmd: %s %s",
+ if (eaccess("/etc/passwd", W_OK)) {
+ tst_brkm(TCONF, cleanup,
+ "/etc/passwd is not accessible");
+ } else {
+ tst_brkm(TBROK, cleanup, "Failed to run cmd: %s %s",
user_cmd, users[TEST_USER].name);
+ }
}
}
--
2.7.4
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux.it/pipermail/ltp/attachments/20170405/1007f06e/attachment.html>
More information about the ltp
mailing list