patch-2.1.110 linux/net/sunrpc/clnt.c
Next file: linux/net/sunrpc/sched.c
Previous file: linux/net/sched/sch_api.c
Back to the patch index
Back to the overall index
- Lines: 21
- Date:
Mon Jul 20 17:22:35 1998
- Orig file:
v2.1.109/linux/net/sunrpc/clnt.c
- Orig date:
Mon Feb 23 18:12:15 1998
diff -u --recursive --new-file v2.1.109/linux/net/sunrpc/clnt.c linux/net/sunrpc/clnt.c
@@ -203,6 +203,10 @@
unsigned long irqflags;
int async, status;
+ /* If this client is slain all further I/O fails */
+ if (clnt->cl_dead)
+ return -EIO;
+
/* Turn off various signals */
if (clnt->cl_intr) {
struct k_sigaction *action = current->sig->action;
@@ -637,7 +641,8 @@
* The following is an NFS-specific hack to cater for setuid
* processes whose uid is mapped to nobody on the server.
*/
- if (task->tk_client->cl_prog == 100003 && ntohl(*p) == NFSERR_PERM) {
+ if (task->tk_client->cl_prog == 100003 &&
+ (ntohl(*p) == NFSERR_ACCES || ntohl(*p) == NFSERR_PERM)) {
if (RPC_IS_SETUID(task) && (task->tk_suid_retry)--) {
dprintk("RPC: %4d retry squashed uid\n", task->tk_pid);
task->tk_flags ^= RPC_CALL_REALUID;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov