Commit 141731d1 authored by Benjamin Coddington's avatar Benjamin Coddington Committed by J. Bruce Fields

Revert "lockd: Show pid of lockd for remote locks"

This reverts most of commit b8eee0e9 ("lockd: Show pid of lockd for
remote locks"), which caused remote locks to not be differentiated between
remote processes for NLM.

We retain the fixup for setting the client's fl_pid to a negative value.

Fixes: b8eee0e9 ("lockd: Show pid of lockd for remote locks")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarBenjamin Coddington <bcodding@redhat.com>
Reviewed-by: default avatarXueWei Zhang <xueweiz@google.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent cd6c84d8
...@@ -127,7 +127,7 @@ nlm_decode_lock(__be32 *p, struct nlm_lock *lock) ...@@ -127,7 +127,7 @@ nlm_decode_lock(__be32 *p, struct nlm_lock *lock)
locks_init_lock(fl); locks_init_lock(fl);
fl->fl_owner = current->files; fl->fl_owner = current->files;
fl->fl_pid = current->tgid; fl->fl_pid = (pid_t)lock->svid;
fl->fl_flags = FL_POSIX; fl->fl_flags = FL_POSIX;
fl->fl_type = F_RDLCK; /* as good as anything else */ fl->fl_type = F_RDLCK; /* as good as anything else */
start = ntohl(*p++); start = ntohl(*p++);
...@@ -269,7 +269,7 @@ nlmsvc_decode_shareargs(struct svc_rqst *rqstp, __be32 *p) ...@@ -269,7 +269,7 @@ nlmsvc_decode_shareargs(struct svc_rqst *rqstp, __be32 *p)
memset(lock, 0, sizeof(*lock)); memset(lock, 0, sizeof(*lock));
locks_init_lock(&lock->fl); locks_init_lock(&lock->fl);
lock->svid = ~(u32) 0; lock->svid = ~(u32) 0;
lock->fl.fl_pid = current->tgid; lock->fl.fl_pid = (pid_t)lock->svid;
if (!(p = nlm_decode_cookie(p, &argp->cookie)) if (!(p = nlm_decode_cookie(p, &argp->cookie))
|| !(p = xdr_decode_string_inplace(p, &lock->caller, || !(p = xdr_decode_string_inplace(p, &lock->caller,
......
...@@ -119,7 +119,7 @@ nlm4_decode_lock(__be32 *p, struct nlm_lock *lock) ...@@ -119,7 +119,7 @@ nlm4_decode_lock(__be32 *p, struct nlm_lock *lock)
locks_init_lock(fl); locks_init_lock(fl);
fl->fl_owner = current->files; fl->fl_owner = current->files;
fl->fl_pid = current->tgid; fl->fl_pid = (pid_t)lock->svid;
fl->fl_flags = FL_POSIX; fl->fl_flags = FL_POSIX;
fl->fl_type = F_RDLCK; /* as good as anything else */ fl->fl_type = F_RDLCK; /* as good as anything else */
p = xdr_decode_hyper(p, &start); p = xdr_decode_hyper(p, &start);
...@@ -266,7 +266,7 @@ nlm4svc_decode_shareargs(struct svc_rqst *rqstp, __be32 *p) ...@@ -266,7 +266,7 @@ nlm4svc_decode_shareargs(struct svc_rqst *rqstp, __be32 *p)
memset(lock, 0, sizeof(*lock)); memset(lock, 0, sizeof(*lock));
locks_init_lock(&lock->fl); locks_init_lock(&lock->fl);
lock->svid = ~(u32) 0; lock->svid = ~(u32) 0;
lock->fl.fl_pid = current->tgid; lock->fl.fl_pid = (pid_t)lock->svid;
if (!(p = nlm4_decode_cookie(p, &argp->cookie)) if (!(p = nlm4_decode_cookie(p, &argp->cookie))
|| !(p = xdr_decode_string_inplace(p, &lock->caller, || !(p = xdr_decode_string_inplace(p, &lock->caller,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment