From 0e170303e6d5ffcd7c03eb1a4269ef181ce7cc2a Mon Sep 17 00:00:00 2001 From: "John L. Hammond" Date: Fri, 28 Aug 2015 13:03:52 -0500 Subject: [PATCH] LU-7057 utils: use stronger flags when opening volatile files Existing files with volatile-ish names may be accidentally opened by llapi_create_volatile(). This is not the intent so disallow this behavior by adding O_EXCL and O_NOFOLLOW to the flags to open(). Signed-off-by: John L. Hammond Change-Id: I4246ec7660b154ea2aeca6c28a4704ddd9d429f8 Reviewed-on: http://review.whamcloud.com/16126 Tested-by: Jenkins Reviewed-by: Andreas Dilger Tested-by: Maloo Reviewed-by: Jinshan Xiong --- lustre/utils/liblustreapi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lustre/utils/liblustreapi.c b/lustre/utils/liblustreapi.c index ea68c7e..5cab621 100644 --- a/lustre/utils/liblustreapi.c +++ b/lustre/utils/liblustreapi.c @@ -4645,7 +4645,9 @@ int llapi_create_volatile_idx(char *directory, int idx, int open_flags) if (rc >= sizeof(file_path)) return -E2BIG; - fd = open(file_path, O_RDWR | O_CREAT | open_flags, S_IRUSR | S_IWUSR); + fd = open(file_path, + O_RDWR | O_CREAT | O_EXCL | O_NOFOLLOW | open_flags, + S_IRUSR | S_IWUSR); if (fd < 0) { llapi_error(LLAPI_MSG_ERROR, errno, "Cannot create volatile file '%s' in '%s'", -- 1.8.3.1