Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37726495
en ru br
ALT Linux repos
S:3.18.0-alt7

Group :: Emulators
RPM: kvmtool

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: p9-chown-files-and-dirs-upon-creation.patch
Download


From c7734dd626a6d47bb946cfc1611e6c9d1dd67372 Mon Sep 17 00:00:00 2001
From: Graham Whaley <graham.whaley@linux.intel.com>
Date: Thu, 15 Dec 2016 16:24:55 +0000
Subject: [PATCH] kvmtool: p9: chown files and dirs upon creation
The protocol passes in a uid and gid, but we are not chowning
the files to them, just using our default upon creation.
Apply the passed in id's with a chown.
This was found by mounting /tmp over p9 with the S_ISVTX
'sticky' bit set, and finding that files created in /tmp
were not honoring the uid used to create them.
Signed-off-by: Graham Whaley <graham.whaley@intel.com>
---
 virtio/9p.c | 6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/virtio/9p.c b/virtio/9p.c
index 49e7c5c..30100a5 100644
--- a/virtio/9p.c
+++ b/virtio/9p.c
@@ -286,6 +286,9 @@ static void virtio_p9_create(struct p9_dev *p9dev,
 	if (lstat(full_path, &st) < 0)
 		goto err_out;
 
+	if (lchown(full_path, dfid->uid, gid) < 0)
+		goto err_out;
+
 	ret = chmod(full_path, mode & 0777);
 	if (ret < 0)
 		goto err_out;
@@ -326,6 +329,9 @@ static void virtio_p9_mkdir(struct p9_dev *p9dev,
 	if (lstat(full_path, &st) < 0)
 		goto err_out;
 
+	if (lchown(full_path, dfid->uid, gid) < 0)
+		goto err_out;
+
 	ret = chmod(full_path, mode & 0777);
 	if (ret < 0)
 		goto err_out;
-- 
2.7.4
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin