[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <54430160.6020503@posteo.de>
Date: Sun, 19 Oct 2014 02:10:08 +0200
From: Martin Kepplinger <martink@...teo.de>
To: rusty@...tcorp.com.au
CC: lguest@...ts.ozlabs.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: lguest: lguest_user.c is open() called by the user?
hi
Just a question for understanding: open() is not implemented in
lguest_user.c's miscdevice. The miscdevice core, in this case, does
_not_ set file->private_data on a user's open() call. Is open() called
by the user here? and do you here _depend_ on file->private_data being
NULL after open()? (could you even?)
Would the following force to NULL be necessary if the miscdevice core
_would_ set private_data?
diff --git a/drivers/lguest/lguest_user.c b/drivers/lguest/lguest_user.c
index 4263f4c..3d472ea 100644
--- a/drivers/lguest/lguest_user.c
+++ b/drivers/lguest/lguest_user.c
@@ -497,6 +497,12 @@ static int close(struct inode *inode, struct file
*file)
return 0;
}
+static int open(struct inode *inode, struct file *file)
+{
+ /* assuming the miscdevice core sets private_data on open() */
+ file->private_data = NULL;
+}
+
/*L:000
* Welcome to our journey through the Launcher!
*
@@ -514,6 +520,7 @@ static int close(struct inode *inode, struct file *file)
*/
static const struct file_operations lguest_fops = {
.owner = THIS_MODULE,
+ .open = open,
.release = close,
.write = write,
.read = read,
--
thanks
martin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists