aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarshvardhan Jha <[email protected]>2021-07-27 05:37:10 +0530
committerDominique Martinet <[email protected]>2021-07-27 23:01:16 +0900
commit732b33d0dbf17e9483f0b50385bf606f724f50a2 (patch)
treecdccce2108b4572eea0f0d37cc278adff173a009
parentf997ea3b7afc108eb9761f321b57de2d089c7c48 (diff)
9p/xen: Fix end of loop tests for list_for_each_entry
This patch addresses the following problems: - priv can never be NULL, so this part of the check is useless - if the loop ran through the whole list, priv->client is invalid and it is more appropriate and sufficient to check for the end of list_for_each_entry loop condition. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Harshvardhan Jha <[email protected]> Reviewed-by: Stefano Stabellini <[email protected]> Tested-by: Stefano Stabellini <[email protected]> Cc: <[email protected]> Signed-off-by: Dominique Martinet <[email protected]>
-rw-r--r--net/9p/trans_xen.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/9p/trans_xen.c b/net/9p/trans_xen.c
index f4fea28e05da..3ec1a51a6944 100644
--- a/net/9p/trans_xen.c
+++ b/net/9p/trans_xen.c
@@ -138,7 +138,7 @@ static bool p9_xen_write_todo(struct xen_9pfs_dataring *ring, RING_IDX size)
static int p9_xen_request(struct p9_client *client, struct p9_req_t *p9_req)
{
- struct xen_9pfs_front_priv *priv = NULL;
+ struct xen_9pfs_front_priv *priv;
RING_IDX cons, prod, masked_cons, masked_prod;
unsigned long flags;
u32 size = p9_req->tc.size;
@@ -151,7 +151,7 @@ static int p9_xen_request(struct p9_client *client, struct p9_req_t *p9_req)
break;
}
read_unlock(&xen_9pfs_lock);
- if (!priv || priv->client != client)
+ if (list_entry_is_head(priv, &xen_9pfs_devs, list))
return -EINVAL;
num = p9_req->tc.tag % priv->num_rings;