fs: dlm: fix mismatch of plock results from userspace
authorAlexander Aring <aahringo@redhat.com>
Wed, 24 May 2023 16:02:04 +0000 (12:02 -0400)
committerDavid Teigland <teigland@redhat.com>
Wed, 24 May 2023 19:27:07 +0000 (14:27 -0500)
commit57e2c2f2d94cfd551af91cedfa1af6d972487197
tree553f8f97089c50cc558659b44427888cad5b1b0b
parent0f2b1cb89ccdbdcedf7143f4153a4da700a05f48
fs: dlm: fix mismatch of plock results from userspace

When a waiting plock request (F_SETLKW) is sent to userspace
for processing (dlm_controld), the result is returned at a
later time. That result could be incorrectly matched to a
different waiting request in cases where the owner field is
the same (e.g. different threads in a process.) This is fixed
by comparing all the properties in the request and reply.

The results for non-waiting plock requests are now matched
based on list order because the results are returned in the
same order they were sent.

Cc: stable@vger.kernel.org
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
fs/dlm/plock.c