From 4ac5ca6558309fb92fa75ae3c338667f2345885b Mon Sep 17 00:00:00 2001 From: Sudheer Mogilappagari Date: Wed, 10 Feb 2021 13:00:13 -0800 Subject: [PATCH] posix: add sock to pending_recv list only if not already added Currently there is possibility of adding a sock to pending_recv list again if sock->pending_recv is true. Check if flag is false before adding to the list. Signed-off-by: Sudheer Mogilappagari Change-Id: Ie23e1e8dbe1aa5594d9ddea30e7f235e3bf8ddad Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6381 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Aleksey Marchuk Reviewed-by: Ziye Yang --- module/sock/posix/posix.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/module/sock/posix/posix.c b/module/sock/posix/posix.c index 2ed5058aa..0533a88a4 100644 --- a/module/sock/posix/posix.c +++ b/module/sock/posix/posix.c @@ -922,8 +922,10 @@ posix_sock_read(struct spdk_posix_sock *sock) * for correctness let's handle it. */ if (!sock->pending_recv && sock->base.group_impl) { group = __posix_group_impl(sock->base.group_impl); - TAILQ_INSERT_TAIL(&group->pending_recv, sock, link); - sock->pending_recv = true; + if (!sock->pending_recv) { + TAILQ_INSERT_TAIL(&group->pending_recv, sock, link); + sock->pending_recv = true; + } } } }