afs: Avoid memory leak on recursive write flock
authorAndrew Deason <adeason@sinenomine.net>
Fri, 1 Apr 2011 21:43:24 +0000 (16:43 -0500)
committerDerrick Brashear <shadow@dementia.org>
Sat, 2 Apr 2011 05:42:22 +0000 (22:42 -0700)
commitba9ae1ed7c269d7c080b5ce99b3b4bb2fe0a2a6f
tree293504015d87959ec58a5e23c8f13961795ad20f
parente0e648919157bb30507401c020ea67b040da6224
afs: Avoid memory leak on recursive write flock

When a process requests an exclusive lock on a file on which it
already holds an exclusive lock, we basically form a no-op. However,
HandleFlock was allocating a new SimpleLocks and attaching it to
avc->slocks, without freeing the old SimpleLocks structure.

Since we don't need to do anything if we already hold an exclusive
lock, just break out of the loop right away when we detect that
scenario. Thus we avoid adding a new structure to avc->slocks, and we
avoid a memory leak.

Change-Id: I27c3df1d7807a0b74cba11d6e4a563df8232932a
Reviewed-on: http://gerrit.openafs.org/4395
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/afs/VNOPS/afs_vnop_flock.c