Re: [PATCH 4/6] drivers/net/fs_enet: remove null pointer dereference

From: Scott Wood
Date: Mon May 12 2008 - 13:29:41 EST


Francois Romieu wrote:
Julia Lawall <julia@xxxxxxx> :
[...]
diff -u -p a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c
--- a/drivers/net/fs_enet/fs_enet-main.c 2008-04-27 11:41:11.000000000 +0200
+++ b/drivers/net/fs_enet/fs_enet-main.c 2008-05-12 09:41:52.000000000 +0200
@@ -1093,7 +1093,7 @@ err:
if (registered)
unregister_netdev(ndev);
- if (fep != NULL) {
+ if (fep && fep->ops) {
(*fep->ops->free_bd)(ndev);
(*fep->ops->cleanup_data)(ndev);
}

Extra cookies for the nice soul who:
- removes the 'if (registered)' test (it can not happen)
- uses different error lablels and unrolls the error path. I can not claim
that the current error path is wrong but it would not hurt if it was more
trivially balanced.


Please note that this code is going away very soon, when arch/ppc dies.

-Scott
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/