From owner-freebsd-bugs@FreeBSD.ORG Thu Oct 23 12:00:08 2008 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 CB19810656B0 for ; Thu, 23 Oct 2008 12:00:08 +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 B45638FC17 for ; Thu, 23 Oct 2008 12:00:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id m9NC081e052022 for ; Thu, 23 Oct 2008 12:00:08 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id m9NC08jB052021; Thu, 23 Oct 2008 12:00:08 GMT (envelope-from gnats) Date: Thu, 23 Oct 2008 12:00:08 GMT Message-Id: <200810231200.m9NC08jB052021@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Mateusz Guzik Cc: Subject: Re: kern/128304: vn_pollrecord() derefs NULL if v_addpollinfo() fails X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Mateusz Guzik List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Oct 2008 12:00:08 -0000 The following reply was made to PR kern/128304; it has been noted by GNATS. From: Mateusz Guzik To: bug-followup@freebsd.org Cc: Subject: Re: kern/128304: vn_pollrecord() derefs NULL if v_addpollinfo() fails Date: Thu, 23 Oct 2008 13:57:43 +0200 Hi. failure of uma_zalloc() would cause null pointer dereference in v_addpollinfo() anyway (due to mtx_init() call). From commit message for rev 1.142 of sys/vm/uma_core.c: Remove uma_zalloc_arg() hack, which coerced M_WAITOK to M_NOWAIT when allocations were made using improper flags in interrupt context. Replace with a simple WITNESS warning call. This restores the invariant that M_WAITOK allocations will always succeed or die horribly trying, which is relied on by many UMA consumers. So it's ok to rely on M_WAITOK (which v_addpollinfo() does) and additional null check in vfs_kqfilter() can be removed as being meaningles. Thanks, -- Mateusz Guzik