Pārlūkot izejas kodu

lockd: handle lockowner allocation failure in nlmclnt_proc()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 13 gadi atpakaļ
vecāks
revīzija
bf8848918d
1 mainītis faili ar 5 papildinājumiem un 0 dzēšanām
  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;
 		return -ENOMEM;
 
 
 	nlmclnt_locks_init_private(fl, host);
 	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 */
 	/* Set up the argument struct */
 	nlmclnt_setlockargs(call, fl);
 	nlmclnt_setlockargs(call, fl);