Messages in this thread Patch in this message | | | Date | Thu, 04 May 2017 14:00:15 -0500 | From | "Gustavo A. R. Silva" <> | Subject | Re: [net-ipv4] question about arguments position |
| |
Hi Joe,
Quoting Joe Perches <joe@perches.com>:
> On Thu, 2017-05-04 at 12:46 -0400, David Miller wrote: >> From: "Gustavo A. R. Silva" <garsilva@embeddedor.com> >> Date: Thu, 04 May 2017 11:07:54 -0500 >> >> > While looking into Coverity ID 1357474 I ran into the following piece >> > of code at net/ipv4/inet_diag.c:392: >> >> Because it's been this way since at least 2005, it doesn't matter if >> the order is correct or not. What's there is the locked in behavior >> exposed to userspace and changing it will break things for people. > > Adding a few comments around the code about why > it is this way will help avoid future questions.
In the case of Coverity, I already triaged and documented this issue. So people can ignore it in the future.
Regarding the code comments, what about the following patch:
diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index 3828b3a..7a56641 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c @@ -389,6 +389,12 @@ static int sk_diag_fill(struct sock *sk, struct sk_buff *skb, nlmsg_flags, unlh, net_admin); }
+/* + * Ignore the position of the arguments req->id.idiag_dport and + * req->id.idiag_sport in both calls to inet_lookup() and inet6_lookup() + * functions, once this is a locked in behavior exposed to user space. + * Changing this will break things for people. + */ struct sock *inet_diag_find_one_icsk(struct net *net, struct inet_hashinfo *hashinfo, const struct inet_diag_req_v2 *req) Thanks -- Gustavo A. R. Silva
| |