From owner-freebsd-current Sun Jul 15 13:51:25 2001 Delivered-To: freebsd-current@freebsd.org Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by hub.freebsd.org (Postfix) with ESMTP id F390E37B403; Sun, 15 Jul 2001 13:51:16 -0700 (PDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.11.4/8.11.4) id f6FKoae21142; Sun, 15 Jul 2001 16:50:36 -0400 (EDT) (envelope-from wollman) Date: Sun, 15 Jul 2001 16:50:36 -0400 (EDT) From: Garrett Wollman Message-Id: <200107152050.f6FKoae21142@khavrinen.lcs.mit.edu> To: Hajimu UMEMOTO Cc: net@FreeBSD.ORG, current@FreeBSD.ORG Subject: Use of M_WAITOK in if_addmulti(). In-Reply-To: <20010716.001314.59549708.ume@mahoroba.org> References: <20010715120317.A99869@fump.kawo2.rwth-aachen.de> <20010716.001314.59549708.ume@mahoroba.org> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG < said: > Current if_addmulti() calls MALLOC() with M_WAITOK. However, > if_addmulti() can be called from in[6]_addmulti() with splnet(). It > may lead kernel panic. This is not a problem (or should not be). It is permissible to sleep while some interrupts are blocked; it is just not (in 4-stable) permissible to sleep in interrupt context. The PR that I sent a few days ago was an example of one such circumstance. Is it really the case that in6_addmulti() can be invoked in interrupt context, and if so, why? -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message