From owner-freebsd-net@freebsd.org Fri Aug 12 18:01:27 2016 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B0541BB8A62 for ; Fri, 12 Aug 2016 18:01:27 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-it0-x233.google.com (mail-it0-x233.google.com [IPv6:2607:f8b0:4001:c0b::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7A2A81E7E; Fri, 12 Aug 2016 18:01:27 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-it0-x233.google.com with SMTP id x130so20622165ite.1; Fri, 12 Aug 2016 11:01:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=aGZXh7unQmy0D4TaBf0Q+gXKJ94WlaiUPLOq01Au5ao=; b=p7jleEIL/K8qvtsyFTHj4DikW1i+EL4NLxNlPAjUGuJ2zRXefo/EWPPafHeQOwAWXB q+aCaaI+1cDjORdmTG7YnxJadeVkz1kuS/BhK1i1cZ4gxOpPyRjNgPjguz0FGoxKylLr 2SccOOvvaO9UhpccHn4RFPrMUWMV/dJgAi44CPRlhaaY7D6cvhGtTQAAxrdhMGlanNXI Y7qhQ5hfNd50t0FoyJ0v5IbMecvlSpRxXSTjuI6Hg49DvjCsLRv0KRQUdOfV1KkBTLyh 7BPiaVyUTTUyqDawEexWldGGPL1FRHWvz7QiULxaCfcLL+r+xrtx5YoGw9XRl4odhhje dswg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to; bh=aGZXh7unQmy0D4TaBf0Q+gXKJ94WlaiUPLOq01Au5ao=; b=L1xilZtg9PJRSsfmNZm+u6KumrC9j8eCHmmz6z41dkMKzxNvbONFOj7Chvs5n+H8bq HEskC9nbbioLbxCxut6RPJu5jvrAE3Q9wc+Vy1ajNgxca3l5Y1bz927UscEhk4UfIpmR Y5EphhcMfv8jbBuLOYIaMIJFe+CkVoYL0vzbFMc43j2uaUmOq8Hw6FNumXQexKgyYCvc CgXBeCQAZez9nvBIL1RFVbQb/FjlXH7UIbfDBecAlQG4KdcqN24Axa6Us/x1xutMOCD7 /99Lo8zG3TZbQ5gUM5LjrD+9KK2MADX7Rxult0f2pLF17ZfBOZ8ORjNDoLW9jej2dEE9 Y0aQ== X-Gm-Message-State: AEkoouvQTj6PLLlX1dsYWDyWz4cLZCDqHWgH3sEaUsSirm+H996L+aRLYkfcb6iuAnRXzwdzr9RFHzEFlnh46g== X-Received: by 10.36.150.70 with SMTP id z67mr115589itd.80.1471024886891; Fri, 12 Aug 2016 11:01:26 -0700 (PDT) MIME-Version: 1.0 Sender: adrian.chadd@gmail.com Received: by 10.36.141.129 with HTTP; Fri, 12 Aug 2016 11:01:25 -0700 (PDT) In-Reply-To: References: <20160810165458.GB1112@albert.catwhisker.org> <570bda1e-d4d7-42dc-6037-7c321ba9e97d@FreeBSD.org> <20160811234250.GC1112@albert.catwhisker.org> <20160812023744.GE1112@albert.catwhisker.org> From: Adrian Chadd Date: Fri, 12 Aug 2016 11:01:25 -0700 X-Google-Sender-Auth: QvmQOfmDrzxL7xXwBFksJjdUjT0 Message-ID: Subject: Re: Panic in stable/11 (amd64) @r303903: page fault while in kernel mode To: David Wolfskill , FreeBSD Net , Andriy Voskoboinyk Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Aug 2016 18:01:27 -0000 David, Totally untested; will need manual application as I bet this patch is mangled. Would you mind testing this? I have a feeling we need to add if_addr lock calls in a few places. Thanks, -adrian Index: sys/net80211/ieee80211_ioctl.c =================================================================== --- sys/net80211/ieee80211_ioctl.c (revision 303738) +++ sys/net80211/ieee80211_ioctl.c (working copy) @@ -3389,15 +3389,16 @@ /* Wait for parent ioctl handler if it was queued */ if (wait) { ieee80211_waitfor_parent(ic); - /* * Check if the MAC address was changed * via SIOCSIFLLADDR ioctl. */ + if_addr_rlock(ifp); if ((ifp->if_flags & IFF_UP) == 0 && !IEEE80211_ADDR_EQ(vap->iv_myaddr, IF_LLADDR(ifp))) IEEE80211_ADDR_COPY(vap->iv_myaddr, IF_LLADDR(ifp)); + if_addr_runlock(ifp); } break; case SIOCADDMULTI: