From: Patrick McHardy <kaber@trash.net>
To: Amit Choudhary <amit2030@gmail.com>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
akpm@osdl.org, netdev@vger.kernel.org
Subject: Re: [PATCH 2.6.19-rc2] [REVISED] net/ipv4/multipath_wrandom.c: check kmalloc() return value.
Date: Mon, 23 Oct 2006 13:17:54 +0200 [thread overview]
Message-ID: <453CA4E2.4080704@trash.net> (raw)
In-Reply-To: <20061022235958.b31d7529.amit2030@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1510 bytes --]
Amit Choudhary wrote:
> Description: Check the return value of kmalloc() in function wrandom_set_nhinfo(), in file net/ipv4/multipath_wrandom.c.
>
> Signed-off-by: Amit Choudhary <amit2030@gmail.com>
>
> diff --git a/net/ipv4/multipath_wrandom.c b/net/ipv4/multipath_wrandom.c
> index 92b0482..bcdb1f1 100644
> --- a/net/ipv4/multipath_wrandom.c
> +++ b/net/ipv4/multipath_wrandom.c
> @@ -242,6 +242,9 @@ static void wrandom_set_nhinfo(__be32 ne
> target_route = (struct multipath_route *)
> kmalloc(size_rt, GFP_ATOMIC);
>
> + if (!target_route)
> + goto error;
> +
> target_route->gw = nh->nh_gw;
> target_route->oif = nh->nh_oif;
> memset(&target_route->rcu, 0, sizeof(struct rcu_head));
> @@ -263,6 +266,9 @@ static void wrandom_set_nhinfo(__be32 ne
> target_dest = (struct multipath_dest*)
> kmalloc(size_dst, GFP_ATOMIC);
>
> + if (!target_dest)
> + goto error;
> +
>
> target_dest->nh_info = nh;
> target_dest->network = network;
> target_dest->netmask = netmask;
> @@ -275,6 +281,7 @@ static void wrandom_set_nhinfo(__be32 ne
> * we are finished
> */
>
> + error:
> spin_unlock_bh(&state[state_idx].lock);
> }
Thats slightly better than before, but since no errors are propagated
back to the routing code I think it would still crash later on.
A better idea would be to mark this crap BROKEN until it is really
fixed, so people won't accidentally enable it (which is enough
to cause problems).
Signed-off-by: Patrick McHardy <kaber@trash.net>
[-- Attachment #2: x --]
[-- Type: text/plain, Size: 591 bytes --]
diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
index 5572071..9ff5616 100644
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
@@ -124,8 +124,8 @@ config IP_ROUTE_MULTIPATH
if a matching packet arrives.
config IP_ROUTE_MULTIPATH_CACHED
- bool "IP: equal cost multipath with caching support (EXPERIMENTAL)"
- depends on IP_ROUTE_MULTIPATH
+ bool "IP: equal cost multipath with caching support (BROKEN)"
+ depends on IP_ROUTE_MULTIPATH && BROKEN
help
Normally, equal cost multipath routing is not supported by the
routing cache. If you say Y here, alternative routes are cached
prev parent reply other threads:[~2006-10-23 11:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-23 6:59 [PATCH 2.6.19-rc2] [REVISED] net/ipv4/multipath_wrandom.c: check kmalloc() return value Amit Choudhary
2006-10-23 7:46 ` James Morris
2006-10-23 11:17 ` Patrick McHardy [this message]
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=453CA4E2.4080704@trash.net \
--to=kaber@trash.net \
--cc=akpm@osdl.org \
--cc=amit2030@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.