net: Fix VM start with '-net none'
authorAmit Shah <amit.shah@redhat.com>
Tue, 15 Jun 2010 08:00:39 +0000 (13:30 +0530)
committerAurelien Jarno <aurelien@aurel32.net>
Wed, 30 Jun 2010 20:35:57 +0000 (22:35 +0200)
commit3df7ed51b4502d07eda7b0d500a8b908b72769d1
tree9579f3c981073d57a8aacd751da33fb09ca78fe9
parentd011db9f70c93e9bc5401feedafa82677b4a0f8a
net: Fix VM start with '-net none'

Commit 50e32ea8f31035877decc10f1075aa0e619e09cb changed the behaviour
for the return type of net_client_init() when a nic type with no init
method was specified. 'none' is one such nic type. Instead of returning
0, which gets interpreted as an index into the nd_table[] array, we
switched to returning -1, which signifies an error as well.

That broke VM start with '-net none'. Testing was only done with the
monitor command 'pci_add', which doesn't fail.

The correct fix would still be to return 0+ values from
net_client_init() only when the return value can be used as an index to
refer to an entry in nd_table[]. With the current code, callers can
erroneously poke into nd_table[0] when -net nic is used, which can lead
to badness.

However, this commit just returns to the previous behaviour before the
offending commit.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
net.c