Re: [PATCH v2 2/2] lib/lpm:fix an initialization issue of valid_group in the delete_depth_small()
From: Richardson, Bruce <hidden>
Date: 2015-10-30 14:56:16
-----Original Message----- From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] 2015-10-30 14:24, Bruce Richardson:quoted
On Fri, Oct 30, 2015 at 02:22:27PM +0000, Bruce Richardson wrote:quoted
On Fri, Oct 30, 2015 at 09:14:39PM +0800, Jijiang Liu wrote: Title can be shortened to: "lpm: fix initialization of valid_groupfield"quoted
quoted
quoted
Fixes an initialization issue of 'valid_group' in thedelete_depth_small function.quoted
quoted
quoted
In this function, use new rte_lpm_tbl8_entry we call A to replace the old rte_lpm_tbl8_entry. But the valid_group do not set VALID, soit will be INVALID.quoted
quoted
quoted
Then when adding a new route which depth is > 24,the tbl8_alloc() function will search the rte_lpm_tbl8_entrys to find INVALIDvalid_group, and it will return the A to the add_depth_big function, so A's data is overridden.quoted
quoted
quoted
Not sure this message is entirely clear. How about: When adding an entry to a tbl8, the .valid_group field should alwaysbe set,quoted
quoted
so that future adds do not accidently find and use this table,thinking it isquoted
quoted
currently invalid, i.e. unused, and thereby overwrite existingentries.quoted
quoted
quoted
Signed-off-by: NaNa <redacted>Assuming we get a little cleanup on commit title and log message (Thomas, perhaps just a rewrite on commit?):Giving the name of a field in the title is not really useful for the overview. It's better to talk about the use case which is fixed.
"lpm: fix incorrect reuse of already allocated tbl8" ??