dpif-linux: Avoid segfault on netdev_get_stats() without kernel module.
authorBen Pfaff <blp@nicira.com>
Fri, 8 Apr 2011 23:37:22 +0000 (16:37 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 11 Apr 2011 17:46:32 +0000 (10:46 -0700)
commit42bb6c72b58ba99e59e740f8cca4e201d7efaa02
tree237ce3a560b7da2149c4ca71d4ddfebab839e6fe
parentf23347eaf53961214a384084018e9f7e37cecd49
dpif-linux: Avoid segfault on netdev_get_stats() without kernel module.

netdev_linux_get_stats() calls into netdev_vport_get_stats(), which in
turn attempts a transaction on genl_sock.  If the kernel module isn't
loaded, then genl_sock won't be there, and in any case there's nothing that
guarantees that it's been initialized yet.

This fixes the problem by ensuring that dpif_linux was initialized properly
before attempting a transaction on genl_sock.

Reported-by: Aaron Rosen <arosen@clemson.edu>
lib/dpif-linux.c