/* /proc/pid/fd needs a special permission handler so that a process can still access /proc/self/fd after it has executed a setuid().  */
static int proc_fd_permission(struct inode *inode, int mask)
/* /proc/pid/fd needs a special permission handler so that a process can still access /proc/self/fd after it has executed a setuid().  */
static int proc_fd_permission(struct inode *inode, int mask)
{
	int rv;
	rv = generic_permission(inode, mask, NULL);
	if (rv == 0)
		return 0;
	if (task_pid(current) == proc_pid(inode))
		rv = 0;
	return rv;
}