From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Richardson Subject: Re: [PATCH] lpm: fix overflow issue Date: Sun, 22 Feb 2015 20:29:00 +0000 Message-ID: <20150222202859.GA6840@bricha3-MOBL3> References: <1424438206-29526-1-git-send-email-iryzhov@nfware.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev-VfR2kkLFssw@public.gmane.org To: Igor Ryzhov Return-path: Content-Disposition: inline In-Reply-To: <1424438206-29526-1-git-send-email-iryzhov-KFClsOz4rnbQT0dZR+AlfA@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" On Fri, Feb 20, 2015 at 04:16:46PM +0300, Igor Ryzhov wrote: > LPM table overflow may occur if table is full and added rule has the biggest depth that already have some rules. > > Signed-off-by: Igor Ryzhov Acked-by: Bruce Richardson > --- > lib/librte_lpm/rte_lpm.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c > index 983e04b..cc51210 100644 > --- a/lib/librte_lpm/rte_lpm.c > +++ b/lib/librte_lpm/rte_lpm.c > @@ -298,6 +298,9 @@ rule_add(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth, > return rule_index; > } > } > + > + if (rule_index == lpm->max_rules) > + return -ENOSPC; > } else { > /* Calculate the position in which the rule will be stored. */ > rule_index = 0; > -- > 1.9.3 (Apple Git-50) >