DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Wang, Yipeng1" <yipeng1.wang@intel.com>
To: Dharmik Thakkar <dharmik.thakkar@arm.com>,
	"Gobriel, Sameh" <sameh.gobriel@intel.com>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	"De Lara Guarch, Pablo" <pablo.de.lara.guarch@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"honnappa.nagarahalli@arm.com" <honnappa.nagarahalli@arm.com>,
	"zhongdahulinfan@163.com" <zhongdahulinfan@163.com>,
	"stable@dpdk.org" <stable@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v3 1/3] hash: fix position bug in 'free key with position'
Date: Thu, 9 May 2019 15:48:51 +0000	[thread overview]
Message-ID: <D2C4A16CA39F7F4E8E384D204491D7A673E5E7FB@ORSMSX104.amr.corp.intel.com> (raw)
In-Reply-To: <20190509133924.7153-2-dharmik.thakkar@arm.com>

> -----Original Message-----
> From: Dharmik Thakkar [mailto:dharmik.thakkar@arm.com]
> Sent: Thursday, May 9, 2019 6:39 AM
> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; Gobriel, Sameh
> <sameh.gobriel@intel.com>; Richardson, Bruce <bruce.richardson@intel.com>;
> De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
> Cc: dev@dpdk.org; honnappa.nagarahalli@arm.com;
> zhongdahulinfan@163.com; Dharmik Thakkar <dharmik.thakkar@arm.com>;
> stable@dpdk.org
> Subject: [PATCH v3 1/3] hash: fix position bug in 'free key with position'
> 
> Currently, in rte_hash_free_key_with_position(), the position returned to the
> ring of free_slots leads to an unexpected conflict with a key already in use.
> 
> This patch fixes incorrect position returned to the ring of free_slots.
> 
> Bugzilla ID: 261
> Fixes: 9d033dac7d7c ("hash: support no free on delete")
> Cc: honnappa.nagarahalli@arm.com
> Cc: stable@dpdk.org
> 
> Reported-by: Linfan <zhongdahulinfan@163.com>
> Suggested-by: Linfan <zhongdahulinfan@163.com>
> Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
> ---
>  lib/librte_hash/rte_cuckoo_hash.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/lib/librte_hash/rte_cuckoo_hash.c
> b/lib/librte_hash/rte_cuckoo_hash.c
> index 261267b7fd3d..8646ca52e60b 100644
> --- a/lib/librte_hash/rte_cuckoo_hash.c
> +++ b/lib/librte_hash/rte_cuckoo_hash.c
> @@ -1587,14 +1587,17 @@ int __rte_experimental
> rte_hash_free_key_with_position(const struct rte_hash *h,
>  				const int32_t position)
>  {
> -	RETURN_IF_TRUE(((h == NULL) || (position == EMPTY_SLOT)), -EINVAL);
> +	/*  Key index where key is stored, adding the first dummy index*/
> +	uint32_t key_idx = position + 1;
> +
> +	RETURN_IF_TRUE(((h == NULL) || (key_idx == EMPTY_SLOT)), -EINVAL);
> 
>  	unsigned int lcore_id, n_slots;
>  	struct lcore_cache *cached_free_slots;
>  	const int32_t total_entries = h->num_buckets *
> RTE_HASH_BUCKET_ENTRIES;
> 
>  	/* Out of bounds */
> -	if (position >= total_entries)
> +	if (key_idx >= total_entries)
[Wang, Yipeng] 
Compiling fail after this commit.
/rte_cuckoo_hash.c:1600:14: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
  if (key_idx >= total_entries)
please fix.

Please run the test-build and test-meson-build scripts. I currently have some issue with my meson setup on my new system so I will
rely on other reviewers or you guys to pass the meson test.

Logically these two bug fixes are valid and should be upstreamed otherwise this API breaks. But this is the experimental tag for :)

Thanks
Yipeng

  parent reply	other threads:[~2019-05-09 15:48 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-08 16:51 [dpdk-dev] [PATCH 0/2] hash: fix bugs " Dharmik Thakkar
2019-05-08 16:51 ` Dharmik Thakkar
2019-05-08 16:51 ` [dpdk-dev] [PATCH 1/2] " Dharmik Thakkar
2019-05-08 16:51   ` Dharmik Thakkar
2019-05-08 16:51 ` [dpdk-dev] [PATCH 2/2] test/hash: add test for " Dharmik Thakkar
2019-05-08 16:51   ` Dharmik Thakkar
2019-05-08 20:11   ` Wang, Yipeng1
2019-05-08 20:11     ` Wang, Yipeng1
2019-05-08 22:54     ` Dharmik Thakkar
2019-05-08 22:54       ` Dharmik Thakkar
2019-05-08 22:59 ` [dpdk-dev] [PATCH v2 0/2] hash: fix bugs in " Dharmik Thakkar
2019-05-08 22:59   ` Dharmik Thakkar
2019-05-08 22:59   ` [dpdk-dev] [PATCH v2 1/2] " Dharmik Thakkar
2019-05-08 22:59     ` Dharmik Thakkar
2019-05-09  8:29     ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2019-05-09  8:29       ` Thomas Monjalon
2019-05-09 10:40       ` 胡林帆
2019-05-09 10:40         ` 胡林帆
2019-05-09 11:25         ` Thomas Monjalon
2019-05-09 11:25           ` Thomas Monjalon
2019-05-09 12:38           ` Dharmik Thakkar
2019-05-09 12:38             ` Dharmik Thakkar
2019-05-08 22:59   ` [dpdk-dev] [PATCH v2 2/2] test/hash: add test for " Dharmik Thakkar
2019-05-08 22:59     ` Dharmik Thakkar
2019-05-09 13:39   ` [dpdk-dev] [PATCH v3 0/3] hash: fix bugs in " Dharmik Thakkar
2019-05-09 13:39     ` Dharmik Thakkar
2019-05-09 13:39     ` [dpdk-dev] [PATCH v3 1/3] hash: fix position bug " Dharmik Thakkar
2019-05-09 13:39       ` Dharmik Thakkar
2019-05-09 15:48       ` Wang, Yipeng1 [this message]
2019-05-09 15:48         ` Wang, Yipeng1
2019-05-09 17:25         ` Dharmik Thakkar
2019-05-09 17:25           ` Dharmik Thakkar
2019-05-09 13:39     ` [dpdk-dev] [PATCH v3 2/3] hash: fix total entries in free key with position Dharmik Thakkar
2019-05-09 13:39       ` Dharmik Thakkar
2019-05-09 13:39     ` [dpdk-dev] [PATCH v3 3/3] test/hash: add test for 'free key with position' Dharmik Thakkar
2019-05-09 13:39       ` Dharmik Thakkar
2019-05-09 17:19     ` [dpdk-dev] [PATCH v4 0/3] hash: fix bugs in " Dharmik Thakkar
2019-05-09 17:19       ` Dharmik Thakkar
2019-05-09 17:19       ` [dpdk-dev] [PATCH v4 1/3] hash: fix position bug " Dharmik Thakkar
2019-05-09 17:19         ` Dharmik Thakkar
2019-05-09 19:27         ` Wang, Yipeng1
2019-05-09 19:27           ` Wang, Yipeng1
2019-05-09 20:14           ` Dharmik Thakkar
2019-05-09 20:14             ` Dharmik Thakkar
2019-05-09 20:23             ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2019-05-09 20:23               ` Thomas Monjalon
2019-05-09 20:30               ` Dharmik Thakkar
2019-05-09 20:30                 ` Dharmik Thakkar
2019-05-09 17:19       ` [dpdk-dev] [PATCH v4 2/3] hash: fix total entries in free key with position Dharmik Thakkar
2019-05-09 17:19         ` Dharmik Thakkar
2019-05-09 19:32         ` Wang, Yipeng1
2019-05-09 19:32           ` Wang, Yipeng1
2019-05-09 17:19       ` [dpdk-dev] [PATCH v4 3/3] test/hash: add test for 'free key with position' Dharmik Thakkar
2019-05-09 17:19         ` Dharmik Thakkar
2019-05-09 19:33         ` Wang, Yipeng1
2019-05-09 19:33           ` Wang, Yipeng1
2019-05-09 19:24       ` [dpdk-dev] [PATCH v4 0/3] hash: fix bugs in " Thomas Monjalon
2019-05-09 19:24         ` Thomas Monjalon
2019-05-09 19:36         ` Wang, Yipeng1
2019-05-09 19:36           ` Wang, Yipeng1
2019-05-09 20:36           ` Thomas Monjalon
2019-05-09 20:36             ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D2C4A16CA39F7F4E8E384D204491D7A673E5E7FB@ORSMSX104.amr.corp.intel.com \
    --to=yipeng1.wang@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=dharmik.thakkar@arm.com \
    --cc=honnappa.nagarahalli@arm.com \
    --cc=pablo.de.lara.guarch@intel.com \
    --cc=sameh.gobriel@intel.com \
    --cc=stable@dpdk.org \
    --cc=zhongdahulinfan@163.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).