Răsfoiți Sursa

lockd: handle lockowner allocation failure in nlmclnt_proc()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 13 ani în urmă
părinte
comite
bf8848918d
1 a modificat fișierele cu 5 adăugiri și 0 ștergeri
  1. 5 0
      fs/lockd/clntproc.c

+ 5 - 0
fs/lockd/clntproc.c

@@ -161,6 +161,11 @@ int nlmclnt_proc(struct nlm_host *host, int cmd, struct file_lock *fl)
 		return -ENOMEM;
 
 	nlmclnt_locks_init_private(fl, host);
+	if (!fl->fl_u.nfs_fl.owner) {
+		/* lockowner allocation has failed */
+		nlmclnt_release_call(call);
+		return -ENOMEM;
+	}
 	/* Set up the argument struct */
 	nlmclnt_setlockargs(call, fl);