From: 黄涛 Date: Tue, 13 Dec 2011 04:05:20 +0000 (+0800) Subject: pmem: fix pass miscdevice pointer via file private data X-Git-Tag: firefly_0821_release~9712^2~7 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=e438d11cd2637cd5c8da0915b3eb625b0f77b6bf;p=firefly-linux-kernel-4.4.55.git pmem: fix pass miscdevice pointer via file private data --- diff --git a/drivers/misc/pmem.c b/drivers/misc/pmem.c index b47acd333f35..5b8b6bdbc87d 100644 --- a/drivers/misc/pmem.c +++ b/drivers/misc/pmem.c @@ -337,7 +337,7 @@ static int pmem_open(struct inode *inode, struct file *file) DLOG("current %u file %p(%d)\n", current->pid, file, file_count(file)); /* setup file->private_data to indicate its unmapped */ /* you can only open a pmem device one time */ - if (file->private_data != NULL) + if (file->private_data != NULL && file->private_data != &pmem[id].dev) return -1; data = kmalloc(sizeof(struct pmem_data), GFP_KERNEL); if (!data) {