From owner-p4-projects@FreeBSD.ORG Wed Aug 20 12:42:18 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 92B9C16A4C0; Wed, 20 Aug 2003 12:42:17 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3561A16A4BF for ; Wed, 20 Aug 2003 12:42:17 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F252343F3F for ; Wed, 20 Aug 2003 12:42:15 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h7KJgF0U086978 for ; Wed, 20 Aug 2003 12:42:15 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h7KJgF1k086975 for perforce@freebsd.org; Wed, 20 Aug 2003 12:42:15 -0700 (PDT) Date: Wed, 20 Aug 2003 12:42:15 -0700 (PDT) Message-Id: <200308201942.h7KJgF1k086975@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 36517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Aug 2003 19:42:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=36517 Change 36517 by rwatson@rwatson_tislabs on 2003/08/20 12:41:52 IP fragment reassembly queues now potentially return an allocation failure since they are allocated while holding network mutexes and in interrupt context. As such, we need to use the waitcheck version of the network label allocation code in SEBSD. Otherwise, we use a function that calls MALLOC with M_WAITOK, generating a witness warning, and returns void, which likely causes IPQ allocation to fail in the MAC Framework. This prevented fragment reassembly from working with the SEBSD module loaded, breaking NFS (and no doubt other good stuff). Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/security/sebsd/sebsd.c#14 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/security/sebsd/sebsd.c#14 (text+ko) ==== @@ -1929,7 +1929,7 @@ .mpo_init_devfsdirent_label = sebsd_init_vnode_label, .mpo_init_file_label = sebsd_init_file_label, .mpo_init_ifnet_label = sebsd_init_network_label, - .mpo_init_ipq_label = sebsd_init_network_label, + .mpo_init_ipq_label = sebsd_init_network_label_waitcheck, .mpo_init_mbuf_label = sebsd_init_network_label_waitcheck, .mpo_init_mount_label = sebsd_init_mount_label, .mpo_init_mount_fs_label = sebsd_init_mount_fs_label,