From owner-freebsd-bugs@FreeBSD.ORG Tue Aug 7 17:40:02 2012 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFE531065673 for ; Tue, 7 Aug 2012 17:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id BC92E8FC12 for ; Tue, 7 Aug 2012 17:40:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q77He1Gb096999 for ; Tue, 7 Aug 2012 17:40:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q77He160096998; Tue, 7 Aug 2012 17:40:01 GMT (envelope-from gnats) Resent-Date: Tue, 7 Aug 2012 17:40:01 GMT Resent-Message-Id: <201208071740.q77He160096998@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Bryan Drewery Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2BC95106564A for ; Tue, 7 Aug 2012 17:31:37 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id B1C908FC14 for ; Tue, 7 Aug 2012 17:31:37 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q77HVbhq095957 for ; Tue, 7 Aug 2012 17:31:37 GMT (envelope-from bdrewery@freefall.freebsd.org) Received: (from bdrewery@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q77HVbsB095956 for FreeBSD-gnats-submit@freebsd.org; Tue, 7 Aug 2012 17:31:37 GMT (envelope-from bdrewery) Received: (qmail 86285 invoked from network); 7 Aug 2012 12:31:33 -0500 Received: from unknown (HELO test8.xzibition.com) (10.10.0.34) by sweb.xzibition.com with SMTP; 7 Aug 2012 12:31:33 -0500 Received: by test8.xzibition.com (sSMTP sendmail emulation); Tue, 07 Aug 2012 12:30:46 -0500 Message-Id: <201208071731.q77HVbsB095956@freefall.freebsd.org> Date: Tue, 07 Aug 2012 12:30:46 -0500 From: Bryan Drewery To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: kern/170460: [kern] uuidgen(2) uses ipfw0 interface for MAC address resulting in zeros X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Bryan Drewery List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Aug 2012 17:40:02 -0000 >Number: 170460 >Category: kern >Synopsis: [kern] uuidgen(2) uses ipfw0 interface for MAC address resulting in zeros >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Tue Aug 07 17:40:01 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Bryan Drewery >Release: FreeBSD 8.3-RELEASE i386 >Organization: >Environment: >Description: uuidgen(2) reads the first MAC address it finds. This can result in the ipfw0 interace address being used, which is 0. # ifconfig ipfw0: flags=8801 metric 0 mtu 65536 nd6 options=23 lo0: flags=8049 metric 0 mtu 16384 options=3 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet 127.0.0.1 netmask 0xff000000 nd6 options=23 xn0: flags=8843 metric 0 mtu 1500 options=503 ether 08:00:27:a2:7d:bf inet6 fe80::a00:27ff:fea2:7dbf%xn0 prefixlen 64 scopeid 0x3 inet 10.10.0.35 netmask 0xffff0000 broadcast 10.10.255.255 inet6 2001:470:1f11:262:a00:27ff:fea2:7dbf prefixlen 64 autoconf nd6 options=23 media: Ethernet manual status: active # uuidgen 102beb5c-e0b5-11e1-9304-000000000000 >How-To-Repeat: Compile with IPFIREWALL. I'm also using XEN domU. Somehow the ipfw0 interface is coming first. >Fix: Ignore interfaces with no link address. With patch, it properly ignores ipfw0: # uuidgen 7ba3705f-e0b5-11e1-9bf7-080027a27dbf # uuidgen 7bf8778f-e0b5-11e1-9bf7-080027a27dbf --- patch-kern_uuid_ipfw0.txt begins here --- Index: sys/kern/kern_uuid.c =================================================================== --- sys/kern/kern_uuid.c (revision 239130) +++ sys/kern/kern_uuid.c (working copy) @@ -102,7 +102,7 @@ TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { sdl = (struct sockaddr_dl*)ifa->ifa_addr; if (sdl != NULL && sdl->sdl_family == AF_LINK && - sdl->sdl_type == IFT_ETHER) { + sdl->sdl_type == IFT_ETHER && sdl->sdl_alen > 0) { /* Got a MAC address. */ bcopy(LLADDR(sdl), node, UUID_NODE_LEN); IF_ADDR_RUNLOCK(ifp); --- patch-kern_uuid_ipfw0.txt ends here --- >Release-Note: >Audit-Trail: >Unformatted: