Re: [PATCH] net: xen-netback: hash.c: Use built-in RCU list checking

From: Wei Liu
Date: Wed Jan 15 2020 - 10:05:51 EST


On Wed, Jan 15, 2020 at 07:48:40PM +0530, madhuparnabhowmik04@xxxxxxxxx wrote:
> From: Madhuparna Bhowmik <madhuparnabhowmik04@xxxxxxxxx>
>
> list_for_each_entry_rcu has built-in RCU and lock checking.
> Pass cond argument to list_for_each_entry_rcu.
>
> Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik04@xxxxxxxxx>

You seem to have dropped the second hunk which modified
xenvif_flush_hash, is that a mistake?

Wei.

> ---
> drivers/net/xen-netback/hash.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/xen-netback/hash.c b/drivers/net/xen-netback/hash.c
> index 10d580c3dea3..3f9783f70a75 100644
> --- a/drivers/net/xen-netback/hash.c
> +++ b/drivers/net/xen-netback/hash.c
> @@ -51,7 +51,8 @@ static void xenvif_add_hash(struct xenvif *vif, const u8 *tag,
>
> found = false;
> oldest = NULL;
> - list_for_each_entry_rcu(entry, &vif->hash.cache.list, link) {
> + list_for_each_entry_rcu(entry, &vif->hash.cache.list, link,
> + lockdep_is_held(&vif->hash.cache.lock)) {
> /* Make sure we don't add duplicate entries */
> if (entry->len == len &&
> memcmp(entry->tag, tag, len) == 0)
> --
> 2.17.1
>