Don't allow users to open debugfs files, because it can cause oopses.

When a user opens some file, driver unlinks it and frees the
corresponding structure, we will dereference freed memory.

Signed-off-by: Jiri Slaby <jirisl...@gmail.com>
---
 drivers/net/wireless/ath/ath5k/debug.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath5k/debug.c 
b/drivers/net/wireless/ath/ath5k/debug.c
index 4904a07..747508c 100644
--- a/drivers/net/wireless/ath/ath5k/debug.c
+++ b/drivers/net/wireless/ath/ath5k/debug.c
@@ -380,13 +380,15 @@ ath5k_debug_init_device(struct ath5k_softc *sc)
        sc->debug.debugfs_phydir = debugfs_create_dir(wiphy_name(sc->hw->wiphy),
                                ath5k_global_debugfs);
 
-       sc->debug.debugfs_debug = debugfs_create_file("debug", S_IWUSR | 
S_IRUGO,
+       sc->debug.debugfs_debug = debugfs_create_file("debug",
+                               S_IWUSR | S_IRUSR,
                                sc->debug.debugfs_phydir, sc, &fops_debug);
 
-       sc->debug.debugfs_registers = debugfs_create_file("registers", S_IRUGO,
+       sc->debug.debugfs_registers = debugfs_create_file("registers", S_IRUSR,
                                sc->debug.debugfs_phydir, sc, &fops_registers);
 
-       sc->debug.debugfs_beacon = debugfs_create_file("beacon", S_IWUSR | 
S_IRUGO,
+       sc->debug.debugfs_beacon = debugfs_create_file("beacon",
+                               S_IWUSR | S_IRUSR,
                                sc->debug.debugfs_phydir, sc, &fops_beacon);
 
        sc->debug.debugfs_reset = debugfs_create_file("reset", S_IWUSR,
-- 
1.6.3.2

_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to