We don't allow to seek in the debugfs socket and log files. Thus we
should mark the file descriptor as nonseekable.

Signed-off-by: Sven Eckelmann <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
---
 drivers/staging/batman-adv/bat_debugfs.c |    2 ++
 drivers/staging/batman-adv/icmp_socket.c |    3 +++
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/batman-adv/bat_debugfs.c 
b/drivers/staging/batman-adv/bat_debugfs.c
index 507da68..57f84a9 100644
--- a/drivers/staging/batman-adv/bat_debugfs.c
+++ b/drivers/staging/batman-adv/bat_debugfs.c
@@ -90,6 +90,7 @@ int debug_log(struct bat_priv *bat_priv, char *fmt, ...)
 
 static int log_open(struct inode *inode, struct file *file)
 {
+       nonseekable_open(inode, file);
        file->private_data = inode->i_private;
        inc_module_count();
        return 0;
@@ -174,6 +175,7 @@ static const struct file_operations log_fops = {
        .release        = log_release,
        .read           = log_read,
        .poll           = log_poll,
+       .llseek         = no_llseek,
 };
 
 static int debug_log_setup(struct bat_priv *bat_priv)
diff --git a/drivers/staging/batman-adv/icmp_socket.c 
b/drivers/staging/batman-adv/icmp_socket.c
index 24627be..48856ca 100644
--- a/drivers/staging/batman-adv/icmp_socket.c
+++ b/drivers/staging/batman-adv/icmp_socket.c
@@ -45,6 +45,8 @@ static int bat_socket_open(struct inode *inode, struct file 
*file)
        unsigned int i;
        struct socket_client *socket_client;
 
+       nonseekable_open(inode, file);
+
        socket_client = kmalloc(sizeof(struct socket_client), GFP_KERNEL);
 
        if (!socket_client)
@@ -283,6 +285,7 @@ static const struct file_operations fops = {
        .read = bat_socket_read,
        .write = bat_socket_write,
        .poll = bat_socket_poll,
+       .llseek = no_llseek,
 };
 
 int bat_socket_setup(struct bat_priv *bat_priv)
-- 
1.7.2.3

Reply via email to