From a980e8a690f59542e6e68aa4d84face19ee57a15 Mon Sep 17 00:00:00 2001 From: Fazlul Shahriar Date: Mon, 29 Jun 2020 01:50:50 -0400 Subject: [PATCH] net: handle more interface types without a hardware address on Plan 9 We were handling loopback devices when attempting to read hardware address, but packet interfaces were not being handled. As a general fix, don't attempt to read hardware address of any device that's not inside /net. Fixes #39908 Change-Id: Ifa05e270357e111c60906110db2cc23dc7c1c49c Reviewed-on: https://go-review.googlesource.com/c/go/+/240259 Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot Reviewed-by: David du Colombier <0intro@gmail.com> --- src/net/interface_plan9.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/net/interface_plan9.go b/src/net/interface_plan9.go index 1295017a1b..31bbaca467 100644 --- a/src/net/interface_plan9.go +++ b/src/net/interface_plan9.go @@ -68,8 +68,8 @@ func readInterface(i int) (*Interface, error) { } ifc.MTU = mtu - // Not a loopback device - if device != "/dev/null" { + // Not a loopback device ("/dev/null") or packet interface (e.g. "pkt2") + if stringsHasPrefix(device, netdir+"/") { deviceaddrf, err := open(device + "/addr") if err != nil { return nil, err