All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] proc: reject "." and ".." as filenames
@ 2018-03-10  0:12 Alexey Dobriyan
  2018-03-10  0:19 ` Florian Westphal
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Alexey Dobriyan @ 2018-03-10  0:12 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, eric.dumazet, xiyou.wangcong, fw

Various subsystems can create files and directories in /proc
with names directly controlled by userspace.

Which means "/", "." and ".." are no-no.

"/" split is already taken care of, do the other 2 prohibited names.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---

 fs/proc/generic.c |    8 ++++++++
 1 file changed, 8 insertions(+)

--- a/fs/proc/generic.c
+++ b/fs/proc/generic.c
@@ -366,6 +366,14 @@ static struct proc_dir_entry *__proc_create(struct proc_dir_entry **parent,
 		WARN(1, "name len %u\n", qstr.len);
 		return NULL;
 	}
+	if (qstr.len == 1 && fn[0] == '.') {
+		WARN(1, "name '.'\n");
+		return NULL;
+	}
+	if (qstr.len == 2 && fn[0] == '.' && fn[1] == '.') {
+		WARN(1, "name '..'\n");
+		return NULL;
+	}
 	if (*parent == &proc_root && name_to_int(&qstr) != ~0U) {
 		WARN(1, "create '/proc/%s' by hand\n", qstr.name);
 		return NULL;

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-03-13  7:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-10  0:12 [PATCH] proc: reject "." and ".." as filenames Alexey Dobriyan
2018-03-10  0:19 ` Florian Westphal
2018-03-11 21:30 ` Pavel Machek
2018-03-11 21:35   ` Alexey Dobriyan
2018-03-11 21:41     ` Pavel Machek
2018-03-12 23:00 ` Andrew Morton
2018-03-13  7:20   ` Alexey Dobriyan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.