Lines Matching refs:filp
48 #define F_DENTRY(filp) ((filp)->f_path.dentry) argument
268 struct file *filp, in debugfs_locked_down() argument
272 !(filp->f_mode & FMODE_WRITE) && in debugfs_locked_down()
285 static int open_proxy_open(struct inode *inode, struct file *filp) in open_proxy_open() argument
287 struct dentry *dentry = F_DENTRY(filp); in open_proxy_open()
295 r = debugfs_locked_down(inode, filp, real_fops); in open_proxy_open()
314 replace_fops(filp, real_fops); in open_proxy_open()
317 r = real_fops->open(inode, filp); in open_proxy_open()
331 #define FULL_PROXY_FUNC(name, ret_type, filp, proto, args, bit, ret) \ argument
334 struct dentry *dentry = F_DENTRY(filp); \
348 #define SHORT_PROXY_FUNC(name, ret_type, filp, proto, args, bit, ret) \ argument
351 struct dentry *dentry = F_DENTRY(filp); \
365 SHORT_PROXY_FUNC(llseek, loff_t, filp,
366 PROTO(struct file *filp, loff_t offset, int whence),
367 ARGS(filp, offset, whence), HAS_LSEEK, -ESPIPE);
369 FULL_PROXY_FUNC(llseek, loff_t, filp,
370 PROTO(struct file *filp, loff_t offset, int whence),
371 ARGS(filp, offset, whence), HAS_LSEEK, -ESPIPE);
373 SHORT_PROXY_FUNC(read, ssize_t, filp,
374 PROTO(struct file *filp, char __user *buf, size_t size,
376 ARGS(filp, buf, size, ppos), HAS_READ, -EINVAL);
378 FULL_PROXY_FUNC(read, ssize_t, filp,
379 PROTO(struct file *filp, char __user *buf, size_t size,
381 ARGS(filp, buf, size, ppos), HAS_READ, -EINVAL);
383 SHORT_PROXY_FUNC(write, ssize_t, filp,
384 PROTO(struct file *filp, const char __user *buf,
386 ARGS(filp, buf, size, ppos), HAS_WRITE, -EINVAL);
388 FULL_PROXY_FUNC(write, ssize_t, filp,
389 PROTO(struct file *filp, const char __user *buf,
391 ARGS(filp, buf, size, ppos), HAS_WRITE, -EINVAL);
393 FULL_PROXY_FUNC(unlocked_ioctl, long, filp,
394 PROTO(struct file *filp, unsigned int cmd, unsigned long arg),
395 ARGS(filp, cmd, arg), HAS_IOCTL, -ENOTTY);
397 static __poll_t full_proxy_poll(struct file *filp, in full_proxy_poll() argument
400 struct dentry *dentry = F_DENTRY(filp); in full_proxy_poll()
409 r = fsd->real_fops->poll(filp, wait); in full_proxy_poll()
433 static int full_proxy_open_regular(struct inode *inode, struct file *filp) in full_proxy_open_regular() argument
435 struct dentry *dentry = F_DENTRY(filp); in full_proxy_open_regular()
446 r = debugfs_locked_down(inode, filp, real_fops); in full_proxy_open_regular()
467 r = real_fops->open(inode, filp); in full_proxy_open_regular()
470 } else if (filp->f_op != &debugfs_full_proxy_file_operations) { in full_proxy_open_regular()
492 static int full_proxy_open_short(struct inode *inode, struct file *filp) in full_proxy_open_short() argument
494 struct dentry *dentry = F_DENTRY(filp); in full_proxy_open_short()
500 r = debugfs_locked_down(inode, filp, NULL); in full_proxy_open_short()
502 r = simple_open(inode, filp); in full_proxy_open_short()