Hi,
dev_get_by_index() may return NULL if nothing is found. In
net/netlabel/netlabel_unlabeled.c::netlbl_unlabel_staticlist_gen() the
function is called, but the return value is never checked. If it returns
NULL then we'll deref a NULL pointer on the very next line.
I checked the callers, and I don't think this can actually happen today,
but code changes over time and in the future it might happen and it does
no harm to be defensive and check for the failure, so that if/when it
happens we'll fail gracefully instead of crashing.
Please consider the patch below for inclusion.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
---
netlabel_unlabeled.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/netlabel/netlabel_unlabeled.c b/net/netlabel/netlabel_unlabeled.c
index 4478f2f..6af9457 100644
--- a/net/netlabel/netlabel_unlabeled.c
+++ b/net/netlabel/netlabel_unlabeled.c
@@ -1339,6 +1339,10 @@ static int netlbl_unlabel_staticlist_gen(u32 cmd,
if (iface->ifindex > 0) {
dev = dev_get_by_index(&init_net, iface->ifindex);
+ if (!dev) {
+ ret_val = -ENODEV;
+ goto list_cb_failure;
+ }
ret_val = nla_put_string(cb_arg->skb,
NLBL_UNLABEL_A_IFACE, dev->name);
dev_put(dev);
--
| Peter Zijlstra | [PATCH 6/6] sched: disabled rt-bandwidth by default |
| Tejun Heo | [PATCHSET] CUSE: implement CUSE |
| Nigel Cunningham | Re: Back to the future. |
| FUJITA Tomonori | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| Junio C Hamano | [PATCH] combine-diff: reuse diff from the same blob. |
| Ken Pratt | pack operation is thrashing my server |
| Bill Lear | Question on git-filter-branch |
| Shawn O. Pearce | Re: [PATCH resend] make "git push" update origin and mirrors, "git push --mirror" ... |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Linden Varley | Load balancing with DSR |
| Parvinder Bhasin | BIND and CNAME-ing |
| Rogier Krieger | Re: Network Time Synchronization using timed or ntpd or a Combination? |
| kamal kc | using get_system_info() - obtaining system load averages |
| Tim Kientzle | Re: [PATCH] adding two new options to 'cp' |
| Kailas Ramasamy | Bridging console port to a telnet session |
| Vitaliy Skakun | Comtrol Rocketport UNIVERSAL PCI 32-port |
