diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-04-04 17:33:37 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-04-08 16:44:43 -0400 |
commit | bebb8a5e2cd30adcc5e9a14c3366a231da728aee (patch) | |
tree | d4965ea266e0415ecea063aa7e54fd41aaa311fe /net/mac80211/debugfs.c | |
parent | a82d992261f79506a0d55b9a179a211f96caf878 (diff) |
mac80211: make debugfs files root-only
Unfortunately, debugfs can be made to access invalid memory by
open()ing a file and then waiting until the corresponding debugfs
file has been removed (and, probably, the underlying object.)
That could be exploited by any user if the user is able to open
debugfs files and can cause networking devices, STA entries or
similar to disappear which is quite easy to do.
Hence, all debugfs files should be root-only.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/debugfs.c')
-rw-r--r-- | net/mac80211/debugfs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/mac80211/debugfs.c b/net/mac80211/debugfs.c index 4736c64937b4..f4bb08b62d1a 100644 --- a/net/mac80211/debugfs.c +++ b/net/mac80211/debugfs.c | |||
@@ -37,7 +37,7 @@ static const struct file_operations name## _ops = { \ | |||
37 | }; | 37 | }; |
38 | 38 | ||
39 | #define DEBUGFS_ADD(name) \ | 39 | #define DEBUGFS_ADD(name) \ |
40 | local->debugfs.name = debugfs_create_file(#name, 0444, phyd, \ | 40 | local->debugfs.name = debugfs_create_file(#name, 0400, phyd, \ |
41 | local, &name## _ops); | 41 | local, &name## _ops); |
42 | 42 | ||
43 | #define DEBUGFS_DEL(name) \ | 43 | #define DEBUGFS_DEL(name) \ |
@@ -130,7 +130,7 @@ static const struct file_operations stats_ ##name## _ops = { \ | |||
130 | }; | 130 | }; |
131 | 131 | ||
132 | #define DEBUGFS_STATS_ADD(name) \ | 132 | #define DEBUGFS_STATS_ADD(name) \ |
133 | local->debugfs.stats.name = debugfs_create_file(#name, 0444, statsd,\ | 133 | local->debugfs.stats.name = debugfs_create_file(#name, 0400, statsd,\ |
134 | local, &stats_ ##name## _ops); | 134 | local, &stats_ ##name## _ops); |
135 | 135 | ||
136 | #define DEBUGFS_STATS_DEL(name) \ | 136 | #define DEBUGFS_STATS_DEL(name) \ |