4.9-stable review patch. If anyone has any objections, please let me know.
------------------
From: Matthias Kaehlcke mka@chromium.org
commit 0c3a8f8b8fabff4f3ad2dd7b95ae0e90cdd1aebb upstream.
Apparently netpoll_setup() assumes that netpoll.dev_name is a pointer when checking if the device name is set:
if (np->dev_name) { ...
However the field is a character array, therefore the condition always yields true. Check instead whether the first byte of the array has a non-zero value.
Signed-off-by: Matthias Kaehlcke mka@chromium.org Signed-off-by: David S. Miller davem@davemloft.net Signed-off-by: Nathan Chancellor natechancellor@gmail.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- net/core/netpoll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -666,7 +666,7 @@ int netpoll_setup(struct netpoll *np) int err;
rtnl_lock(); - if (np->dev_name) { + if (np->dev_name[0]) { struct net *net = current->nsproxy->net_ns; ndev = __dev_get_by_name(net, np->dev_name); }