From 68af46b57f817f84cf12bdacc32a1878e1c0fafa Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Fri, 14 Aug 2015 15:19:53 +0200 Subject: Fake full file access only for faked nodes Otherwise some scripts may try to modify system files just because they find they seem to be able to. * trans/fakeroot.c (netfs_report_access): When FAKE_MODE is not set on `np', call file_check_access on the underlying node instead of returning O_RDWR|O_EXEC. --- trans/fakeroot.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'trans') diff --git a/trans/fakeroot.c b/trans/fakeroot.c index 3c84ce70..76fc9010 100644 --- a/trans/fakeroot.c +++ b/trans/fakeroot.c @@ -780,7 +780,11 @@ netfs_attempt_write (struct iouser *cred, struct node *np, error_t netfs_report_access (struct iouser *cred, struct node *np, int *types) { - *types = O_RDWR|O_EXEC; + struct netnode *nn = netfs_node_netnode (np); + if (!(nn->faked & FAKE_MODE)) + return file_check_access (nn->file, types); + else + *types = O_RDWR|O_EXEC; return 0; } -- cgit v1.2.3