Loading fs/nfsd/nfsctl.c +8 −8 Original line number Diff line number Diff line Loading @@ -657,11 +657,10 @@ static ssize_t __write_ports_names(char *buf) * a socket of a supported family/protocol, and we use it as an * nfsd listener. */ static ssize_t __write_ports_addfd(char *buf) static ssize_t __write_ports_addfd(char *buf, struct net *net) { char *mesg = buf; int fd, err; struct net *net = &init_net; err = get_int(&mesg, &fd); if (err != 0 || fd < 0) Loading @@ -686,12 +685,11 @@ static ssize_t __write_ports_addfd(char *buf) * A transport listener is added by writing it's transport name and * a port number. */ static ssize_t __write_ports_addxprt(char *buf) static ssize_t __write_ports_addxprt(char *buf, struct net *net) { char transport[16]; struct svc_xprt *xprt; int port, err; struct net *net = &init_net; if (sscanf(buf, "%15s %5u", transport, &port) != 2) return -EINVAL; Loading Loading @@ -727,16 +725,17 @@ static ssize_t __write_ports_addxprt(char *buf) return err; } static ssize_t __write_ports(struct file *file, char *buf, size_t size) static ssize_t __write_ports(struct file *file, char *buf, size_t size, struct net *net) { if (size == 0) return __write_ports_names(buf); if (isdigit(buf[0])) return __write_ports_addfd(buf); return __write_ports_addfd(buf, net); if (isalpha(buf[0])) return __write_ports_addxprt(buf); return __write_ports_addxprt(buf, net); return -EINVAL; } Loading Loading @@ -787,9 +786,10 @@ static ssize_t __write_ports(struct file *file, char *buf, size_t size) static ssize_t write_ports(struct file *file, char *buf, size_t size) { ssize_t rv; struct net *net = &init_net; mutex_lock(&nfsd_mutex); rv = __write_ports(file, buf, size); rv = __write_ports(file, buf, size, net); mutex_unlock(&nfsd_mutex); return rv; } Loading Loading
fs/nfsd/nfsctl.c +8 −8 Original line number Diff line number Diff line Loading @@ -657,11 +657,10 @@ static ssize_t __write_ports_names(char *buf) * a socket of a supported family/protocol, and we use it as an * nfsd listener. */ static ssize_t __write_ports_addfd(char *buf) static ssize_t __write_ports_addfd(char *buf, struct net *net) { char *mesg = buf; int fd, err; struct net *net = &init_net; err = get_int(&mesg, &fd); if (err != 0 || fd < 0) Loading @@ -686,12 +685,11 @@ static ssize_t __write_ports_addfd(char *buf) * A transport listener is added by writing it's transport name and * a port number. */ static ssize_t __write_ports_addxprt(char *buf) static ssize_t __write_ports_addxprt(char *buf, struct net *net) { char transport[16]; struct svc_xprt *xprt; int port, err; struct net *net = &init_net; if (sscanf(buf, "%15s %5u", transport, &port) != 2) return -EINVAL; Loading Loading @@ -727,16 +725,17 @@ static ssize_t __write_ports_addxprt(char *buf) return err; } static ssize_t __write_ports(struct file *file, char *buf, size_t size) static ssize_t __write_ports(struct file *file, char *buf, size_t size, struct net *net) { if (size == 0) return __write_ports_names(buf); if (isdigit(buf[0])) return __write_ports_addfd(buf); return __write_ports_addfd(buf, net); if (isalpha(buf[0])) return __write_ports_addxprt(buf); return __write_ports_addxprt(buf, net); return -EINVAL; } Loading Loading @@ -787,9 +786,10 @@ static ssize_t __write_ports(struct file *file, char *buf, size_t size) static ssize_t write_ports(struct file *file, char *buf, size_t size) { ssize_t rv; struct net *net = &init_net; mutex_lock(&nfsd_mutex); rv = __write_ports(file, buf, size); rv = __write_ports(file, buf, size, net); mutex_unlock(&nfsd_mutex); return rv; } Loading