Re: [PATCH][net-next] ipv6: fix incorrect bitwise operator used on rt6i_flags
On 10/10/17 19:23, Wei Wang wrote: > On Tue, Oct 10, 2017 at 11:10 AM, Martin KaFai Lauwrote: >> On Tue, Oct 10, 2017 at 05:55:27PM +, Colin King wrote: >>> From: Colin Ian King >>> >>> The use of the | operator always leads to true on the expression >>> (rt->rt6i_flags | RTF_CACHE) which looks rather suspect to me. I >>> believe this is fixed by using & instead to just check the >>> RTF_CACHE entry bit. >> Good catch. LGTM. If rt does not have RTF_CACHE set, it should not be in the >> exception table. >> >> Acked-by: Martin KaFai Lau >> > > Thanks a lot for catching this. Yes. It should have been '&' instead of '|'. > > Acked-by: Wei Wang Sorry, can you look at V2 of this patch; there is one more occurrence that needed fixing. > >>> >>> Detected by CoverityScan, CID#1457747 ("Wrong operator used") >>> >>> Fixes: 35732d01fe31 ("ipv6: introduce a hash table to store dst cache") >>> Signed-off-by: Colin Ian King >>> --- >>> net/ipv6/route.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/net/ipv6/route.c b/net/ipv6/route.c >>> index 6db1541eaa7b..0556d1ee189c 100644 >>> --- a/net/ipv6/route.c >>> +++ b/net/ipv6/route.c >>> @@ -1425,7 +1425,7 @@ int rt6_remove_exception_rt(struct rt6_info *rt) >>> int err; >>> >>> if (!from || >>> - !(rt->rt6i_flags | RTF_CACHE)) >>> + !(rt->rt6i_flags & RTF_CACHE)) >>> return -EINVAL; >>> >>> if (!rcu_access_pointer(from->rt6i_exception_bucket)) >>> -- >>> 2.14.1 >>>
Re: [PATCH][net-next] ipv6: fix incorrect bitwise operator used on rt6i_flags
On 10/10/17 19:23, Wei Wang wrote: > On Tue, Oct 10, 2017 at 11:10 AM, Martin KaFai Lau wrote: >> On Tue, Oct 10, 2017 at 05:55:27PM +, Colin King wrote: >>> From: Colin Ian King >>> >>> The use of the | operator always leads to true on the expression >>> (rt->rt6i_flags | RTF_CACHE) which looks rather suspect to me. I >>> believe this is fixed by using & instead to just check the >>> RTF_CACHE entry bit. >> Good catch. LGTM. If rt does not have RTF_CACHE set, it should not be in the >> exception table. >> >> Acked-by: Martin KaFai Lau >> > > Thanks a lot for catching this. Yes. It should have been '&' instead of '|'. > > Acked-by: Wei Wang Sorry, can you look at V2 of this patch; there is one more occurrence that needed fixing. > >>> >>> Detected by CoverityScan, CID#1457747 ("Wrong operator used") >>> >>> Fixes: 35732d01fe31 ("ipv6: introduce a hash table to store dst cache") >>> Signed-off-by: Colin Ian King >>> --- >>> net/ipv6/route.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/net/ipv6/route.c b/net/ipv6/route.c >>> index 6db1541eaa7b..0556d1ee189c 100644 >>> --- a/net/ipv6/route.c >>> +++ b/net/ipv6/route.c >>> @@ -1425,7 +1425,7 @@ int rt6_remove_exception_rt(struct rt6_info *rt) >>> int err; >>> >>> if (!from || >>> - !(rt->rt6i_flags | RTF_CACHE)) >>> + !(rt->rt6i_flags & RTF_CACHE)) >>> return -EINVAL; >>> >>> if (!rcu_access_pointer(from->rt6i_exception_bucket)) >>> -- >>> 2.14.1 >>>
Re: [PATCH][net-next] ipv6: fix incorrect bitwise operator used on rt6i_flags
On Tue, Oct 10, 2017 at 11:10 AM, Martin KaFai Lauwrote: > On Tue, Oct 10, 2017 at 05:55:27PM +, Colin King wrote: >> From: Colin Ian King >> >> The use of the | operator always leads to true on the expression >> (rt->rt6i_flags | RTF_CACHE) which looks rather suspect to me. I >> believe this is fixed by using & instead to just check the >> RTF_CACHE entry bit. > Good catch. LGTM. If rt does not have RTF_CACHE set, it should not be in the > exception table. > > Acked-by: Martin KaFai Lau > Thanks a lot for catching this. Yes. It should have been '&' instead of '|'. Acked-by: Wei Wang >> >> Detected by CoverityScan, CID#1457747 ("Wrong operator used") >> >> Fixes: 35732d01fe31 ("ipv6: introduce a hash table to store dst cache") >> Signed-off-by: Colin Ian King >> --- >> net/ipv6/route.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/net/ipv6/route.c b/net/ipv6/route.c >> index 6db1541eaa7b..0556d1ee189c 100644 >> --- a/net/ipv6/route.c >> +++ b/net/ipv6/route.c >> @@ -1425,7 +1425,7 @@ int rt6_remove_exception_rt(struct rt6_info *rt) >> int err; >> >> if (!from || >> - !(rt->rt6i_flags | RTF_CACHE)) >> + !(rt->rt6i_flags & RTF_CACHE)) >> return -EINVAL; >> >> if (!rcu_access_pointer(from->rt6i_exception_bucket)) >> -- >> 2.14.1 >>
Re: [PATCH][net-next] ipv6: fix incorrect bitwise operator used on rt6i_flags
On Tue, Oct 10, 2017 at 11:10 AM, Martin KaFai Lau wrote: > On Tue, Oct 10, 2017 at 05:55:27PM +, Colin King wrote: >> From: Colin Ian King >> >> The use of the | operator always leads to true on the expression >> (rt->rt6i_flags | RTF_CACHE) which looks rather suspect to me. I >> believe this is fixed by using & instead to just check the >> RTF_CACHE entry bit. > Good catch. LGTM. If rt does not have RTF_CACHE set, it should not be in the > exception table. > > Acked-by: Martin KaFai Lau > Thanks a lot for catching this. Yes. It should have been '&' instead of '|'. Acked-by: Wei Wang >> >> Detected by CoverityScan, CID#1457747 ("Wrong operator used") >> >> Fixes: 35732d01fe31 ("ipv6: introduce a hash table to store dst cache") >> Signed-off-by: Colin Ian King >> --- >> net/ipv6/route.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/net/ipv6/route.c b/net/ipv6/route.c >> index 6db1541eaa7b..0556d1ee189c 100644 >> --- a/net/ipv6/route.c >> +++ b/net/ipv6/route.c >> @@ -1425,7 +1425,7 @@ int rt6_remove_exception_rt(struct rt6_info *rt) >> int err; >> >> if (!from || >> - !(rt->rt6i_flags | RTF_CACHE)) >> + !(rt->rt6i_flags & RTF_CACHE)) >> return -EINVAL; >> >> if (!rcu_access_pointer(from->rt6i_exception_bucket)) >> -- >> 2.14.1 >>
Re: [PATCH][net-next] ipv6: fix incorrect bitwise operator used on rt6i_flags
On Tue, Oct 10, 2017 at 05:55:27PM +, Colin King wrote: > From: Colin Ian King> > The use of the | operator always leads to true on the expression > (rt->rt6i_flags | RTF_CACHE) which looks rather suspect to me. I > believe this is fixed by using & instead to just check the > RTF_CACHE entry bit. Good catch. LGTM. If rt does not have RTF_CACHE set, it should not be in the exception table. Acked-by: Martin KaFai Lau > > Detected by CoverityScan, CID#1457747 ("Wrong operator used") > > Fixes: 35732d01fe31 ("ipv6: introduce a hash table to store dst cache") > Signed-off-by: Colin Ian King > --- > net/ipv6/route.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/ipv6/route.c b/net/ipv6/route.c > index 6db1541eaa7b..0556d1ee189c 100644 > --- a/net/ipv6/route.c > +++ b/net/ipv6/route.c > @@ -1425,7 +1425,7 @@ int rt6_remove_exception_rt(struct rt6_info *rt) > int err; > > if (!from || > - !(rt->rt6i_flags | RTF_CACHE)) > + !(rt->rt6i_flags & RTF_CACHE)) > return -EINVAL; > > if (!rcu_access_pointer(from->rt6i_exception_bucket)) > -- > 2.14.1 >
Re: [PATCH][net-next] ipv6: fix incorrect bitwise operator used on rt6i_flags
On Tue, Oct 10, 2017 at 05:55:27PM +, Colin King wrote: > From: Colin Ian King > > The use of the | operator always leads to true on the expression > (rt->rt6i_flags | RTF_CACHE) which looks rather suspect to me. I > believe this is fixed by using & instead to just check the > RTF_CACHE entry bit. Good catch. LGTM. If rt does not have RTF_CACHE set, it should not be in the exception table. Acked-by: Martin KaFai Lau > > Detected by CoverityScan, CID#1457747 ("Wrong operator used") > > Fixes: 35732d01fe31 ("ipv6: introduce a hash table to store dst cache") > Signed-off-by: Colin Ian King > --- > net/ipv6/route.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/ipv6/route.c b/net/ipv6/route.c > index 6db1541eaa7b..0556d1ee189c 100644 > --- a/net/ipv6/route.c > +++ b/net/ipv6/route.c > @@ -1425,7 +1425,7 @@ int rt6_remove_exception_rt(struct rt6_info *rt) > int err; > > if (!from || > - !(rt->rt6i_flags | RTF_CACHE)) > + !(rt->rt6i_flags & RTF_CACHE)) > return -EINVAL; > > if (!rcu_access_pointer(from->rt6i_exception_bucket)) > -- > 2.14.1 >
NACK: [PATCH][net-next] ipv6: fix incorrect bitwise operator used on rt6i_flags
On 10/10/17 18:55, Colin King wrote: > From: Colin Ian King> > The use of the | operator always leads to true on the expression > (rt->rt6i_flags | RTF_CACHE) which looks rather suspect to me. I > believe this is fixed by using & instead to just check the > RTF_CACHE entry bit. > > Detected by CoverityScan, CID#1457747 ("Wrong operator used") > > Fixes: 35732d01fe31 ("ipv6: introduce a hash table to store dst cache") > Signed-off-by: Colin Ian King > --- > net/ipv6/route.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/ipv6/route.c b/net/ipv6/route.c > index 6db1541eaa7b..0556d1ee189c 100644 > --- a/net/ipv6/route.c > +++ b/net/ipv6/route.c > @@ -1425,7 +1425,7 @@ int rt6_remove_exception_rt(struct rt6_info *rt) > int err; > > if (!from || > - !(rt->rt6i_flags | RTF_CACHE)) > + !(rt->rt6i_flags & RTF_CACHE)) > return -EINVAL; > > if (!rcu_access_pointer(from->rt6i_exception_bucket)) > Nack that, seems like this occurs more than once and I failed to spot the others.
NACK: [PATCH][net-next] ipv6: fix incorrect bitwise operator used on rt6i_flags
On 10/10/17 18:55, Colin King wrote: > From: Colin Ian King > > The use of the | operator always leads to true on the expression > (rt->rt6i_flags | RTF_CACHE) which looks rather suspect to me. I > believe this is fixed by using & instead to just check the > RTF_CACHE entry bit. > > Detected by CoverityScan, CID#1457747 ("Wrong operator used") > > Fixes: 35732d01fe31 ("ipv6: introduce a hash table to store dst cache") > Signed-off-by: Colin Ian King > --- > net/ipv6/route.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/ipv6/route.c b/net/ipv6/route.c > index 6db1541eaa7b..0556d1ee189c 100644 > --- a/net/ipv6/route.c > +++ b/net/ipv6/route.c > @@ -1425,7 +1425,7 @@ int rt6_remove_exception_rt(struct rt6_info *rt) > int err; > > if (!from || > - !(rt->rt6i_flags | RTF_CACHE)) > + !(rt->rt6i_flags & RTF_CACHE)) > return -EINVAL; > > if (!rcu_access_pointer(from->rt6i_exception_bucket)) > Nack that, seems like this occurs more than once and I failed to spot the others.
[PATCH][net-next] ipv6: fix incorrect bitwise operator used on rt6i_flags
From: Colin Ian KingThe use of the | operator always leads to true on the expression (rt->rt6i_flags | RTF_CACHE) which looks rather suspect to me. I believe this is fixed by using & instead to just check the RTF_CACHE entry bit. Detected by CoverityScan, CID#1457747 ("Wrong operator used") Fixes: 35732d01fe31 ("ipv6: introduce a hash table to store dst cache") Signed-off-by: Colin Ian King --- net/ipv6/route.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 6db1541eaa7b..0556d1ee189c 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -1425,7 +1425,7 @@ int rt6_remove_exception_rt(struct rt6_info *rt) int err; if (!from || - !(rt->rt6i_flags | RTF_CACHE)) + !(rt->rt6i_flags & RTF_CACHE)) return -EINVAL; if (!rcu_access_pointer(from->rt6i_exception_bucket)) -- 2.14.1
[PATCH][net-next] ipv6: fix incorrect bitwise operator used on rt6i_flags
From: Colin Ian King The use of the | operator always leads to true on the expression (rt->rt6i_flags | RTF_CACHE) which looks rather suspect to me. I believe this is fixed by using & instead to just check the RTF_CACHE entry bit. Detected by CoverityScan, CID#1457747 ("Wrong operator used") Fixes: 35732d01fe31 ("ipv6: introduce a hash table to store dst cache") Signed-off-by: Colin Ian King --- net/ipv6/route.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 6db1541eaa7b..0556d1ee189c 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -1425,7 +1425,7 @@ int rt6_remove_exception_rt(struct rt6_info *rt) int err; if (!from || - !(rt->rt6i_flags | RTF_CACHE)) + !(rt->rt6i_flags & RTF_CACHE)) return -EINVAL; if (!rcu_access_pointer(from->rt6i_exception_bucket)) -- 2.14.1