diff options
Diffstat (limited to 'fs/coda/upcall.c')
| -rw-r--r-- | fs/coda/upcall.c | 30 | 
1 files changed, 14 insertions, 16 deletions
diff --git a/fs/coda/upcall.c b/fs/coda/upcall.c index c3563cab975..21fcf8dcb9c 100644 --- a/fs/coda/upcall.c +++ b/fs/coda/upcall.c @@ -14,7 +14,6 @@   * improvements to the Coda project. Contact Peter Braam <coda@cs.cmu.edu>.   */ -#include <asm/system.h>  #include <linux/signal.h>  #include <linux/sched.h>  #include <linux/types.h> @@ -33,10 +32,9 @@  #include <linux/vfs.h>  #include <linux/coda.h> -#include <linux/coda_linux.h>  #include <linux/coda_psdev.h> -#include <linux/coda_fs_i.h> -#include <linux/coda_cache.h> +#include "coda_linux.h" +#include "coda_cache.h"  #include "coda_int.h" @@ -52,9 +50,9 @@ static void *alloc_upcall(int opcode, int size)  		return ERR_PTR(-ENOMEM);          inp->ih.opcode = opcode; -	inp->ih.pid = current->pid; -	inp->ih.pgid = task_pgrp_nr(current); -	inp->ih.uid = current_fsuid(); +	inp->ih.pid = task_pid_nr_ns(current, &init_pid_ns); +	inp->ih.pgid = task_pgrp_nr_ns(current, &init_pid_ns); +	inp->ih.uid = from_kuid(&init_user_ns, current_fsuid());  	return (void*)inp;  } @@ -159,7 +157,7 @@ int venus_lookup(struct super_block *sb, struct CodaFid *fid,  }  int venus_close(struct super_block *sb, struct CodaFid *fid, int flags, -		vuid_t uid) +		kuid_t uid)  {  	union inputArgs *inp;  	union outputArgs *outp; @@ -168,7 +166,7 @@ int venus_close(struct super_block *sb, struct CodaFid *fid, int flags,  	insize = SIZE(release);  	UPARG(CODA_CLOSE); -	inp->ih.uid = uid; +	inp->ih.uid = from_kuid(&init_user_ns, uid);          inp->coda_close.VFid = *fid;          inp->coda_close.flags = flags; @@ -510,8 +508,8 @@ int venus_pioctl(struct super_block *sb, struct CodaFid *fid,          inp->coda_ioctl.data = (char *)(INSIZE(ioctl));          /* get the data out of user space */ -        if ( copy_from_user((char*)inp + (long)inp->coda_ioctl.data, -			    data->vi.in, data->vi.in_size) ) { +	if (copy_from_user((char *)inp + (long)inp->coda_ioctl.data, +			   data->vi.in, data->vi.in_size)) {  		error = -EINVAL;  	        goto exit;  	} @@ -520,8 +518,8 @@ int venus_pioctl(struct super_block *sb, struct CodaFid *fid,  			    &outsize, inp);          if (error) { -	        printk("coda_pioctl: Venus returns: %d for %s\n",  -		       error, coda_f2s(fid)); +		pr_warn("%s: Venus returns: %d for %s\n", +			__func__, error, coda_f2s(fid));  		goto exit;   	} @@ -677,7 +675,7 @@ static int coda_upcall(struct venus_comm *vcp,  	mutex_lock(&vcp->vc_mutex);  	if (!vcp->vc_inuse) { -		printk(KERN_NOTICE "coda: Venus dead, not sending upcall\n"); +		pr_notice("Venus dead, not sending upcall\n");  		error = -ENXIO;  		goto exit;  	} @@ -727,7 +725,7 @@ static int coda_upcall(struct venus_comm *vcp,  	error = -EINTR;  	if ((req->uc_flags & CODA_REQ_ABORT) || !signal_pending(current)) { -		printk(KERN_WARNING "coda: Unexpected interruption.\n"); +		pr_warn("Unexpected interruption.\n");  		goto exit;  	} @@ -737,7 +735,7 @@ static int coda_upcall(struct venus_comm *vcp,  	/* Venus saw the upcall, make sure we can send interrupt signal */  	if (!vcp->vc_inuse) { -		printk(KERN_INFO "coda: Venus dead, not sending signal.\n"); +		pr_info("Venus dead, not sending signal.\n");  		goto exit;  	}  | 
