diff options
author | Jan Kara <jack@suse.cz> | 2018-11-12 09:54:56 -0500 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2018-11-12 09:54:56 -0500 |
commit | 8432c70062978d9a57bde6715496d585ec520c3e (patch) | |
tree | a6f597d61fa86444b8b6a8e043d79480906c88de /net/ipv4/tcp_offload.c | |
parent | c22fcde775dcc9f46d73d694061441efdc7bdaad (diff) |
audit: Simplify locking around untag_chunk()
untag_chunk() has to be called with hash_lock, it drops it and
reacquires it when returning. The unlocking of hash_lock is thus hidden
from the callers of untag_chunk() with is rather error prone. Reorganize
the code so that untag_chunk() is called without hash_lock, only with
mark reference preventing the chunk from going away.
Since this requires some more code in the caller of untag_chunk() to
assure forward progress, factor out loop pruning tree from all chunks
into a common helper function.
Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Richard Guy Briggs <rgb@redhat.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'net/ipv4/tcp_offload.c')
0 files changed, 0 insertions, 0 deletions