Procfs open hook bug.

Peter Enderborg (pme@hyglo.com)
Tue, 01 Jul 2003 12:55:04 +0200


I have done this little patch for the procfs_example.c

diff procfs_example.c
kernels/linux-2.4.20/Documentation/DocBook/procfs_example.c
87,91d86
< static int open_qp(struct inode * inode, struct file * file)
< {
< printk("Open my node %p %p \n",inode,file);
< return -EINVAL;
< }
180c175
< foo_file->proc_fops->open=open_qp;

---
 >

And when loading this module. The procfs gets broken. I get EINVAL for open on /proc/meminfo and all other procfs info. Why? Should procfs inodes don't have full filesematics? And it don't help to unload the module.

Strange. And a look in generic.c in fs/proc/

static struct file_operations proc_file_operations = { llseek: proc_file_lseek, read: proc_file_read, write: proc_file_write, };

Is this saying that we can not have the other fops on procfs inodes? No ioctl,open ?

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/