Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3210493pxk; Mon, 28 Sep 2020 11:05:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwYk8wAK51mo2rs2oPCWAKoGnydTw6taCpmF6oiAPIyNoZfufwMSMIjJPgZ+P2XUX40CbLV X-Received: by 2002:a17:907:417c:: with SMTP id oe20mr31121ejb.322.1601316354834; Mon, 28 Sep 2020 11:05:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601316354; cv=none; d=google.com; s=arc-20160816; b=g6Cm6j5CWCXKRIHf5fZJyojPIt2SVI/eIkFRi40N/xQB8hP+Nzh+DTTu0CKC8unTuz izawmdNgjv/FT/V6DADoZCSC4/dBJ9Dfp+sTAm4P+ytswjVaXOVscYXH5Tu6INRKV27l egzmlB6D0XOy+jL1SR+3J/Zk2S0KDWgzt87oWpdnrpWDwgH+WEYA60El3ElvHCe/hqUt jtQ/oT6gyA8+THplLJIjrJyR2lWRbjtAjZi+NKS3gIgJ1IivbvsP7tdGnTbhDNyLlrhg UdpoThWmdZhjxrKrvE3VMAxWtHuidY4jS2bafJsdspO17TGLwmlhdp9zX9kkv2idTTZT sBGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :ironport-sdr:ironport-sdr; bh=c4O416z7baSFsrTI0iTypIvjqf0FSxikPh0j/MuQ7Yo=; b=oIPKwVLBB3gF6kswJessQxYw4nPPaPisK2w8VxjmzFCu8Oc6L+Bfx0OYf+lcECraSX 1tCrfU4xLk0BPMVJAGaY+emIqUVkkUz4v1ZWDoSZDUT3J/XlAC1MH5pmdivehCjEncm3 x1I2OiY00YafOI4h3UtEylxLBiur/jl01pE3vgu1K1EGLyaGzdSKW+BKvdnmvwsykJlB NZUs7Q0tVMHd8/+jfbDDPbaBLbvQhRmwisFFNc73B4f7G4ShP7R21d7LyHAxFbbYAMdM +eVbB+ECmiB9n8siOocWpjmsrbS3wDIXrWzgoAIYpUFW6u9q74GZI6amADjw1N7ZsGGN LTHQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c11si1141983edw.277.2020.09.28.11.05.32; Mon, 28 Sep 2020 11:05:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726614AbgI1SEg (ORCPT + 99 others); Mon, 28 Sep 2020 14:04:36 -0400 Received: from mga14.intel.com ([192.55.52.115]:17839 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726562AbgI1SEg (ORCPT ); Mon, 28 Sep 2020 14:04:36 -0400 IronPort-SDR: mZw0iolsOjcK0PIk8SsVmuXOlg73Sm9i1Twx/fY5oIhqyaJCGyROH6od1o7AD3gQJ8EUOuX4G8 pObk2+AMfknw== X-IronPort-AV: E=McAfee;i="6000,8403,9758"; a="161265931" X-IronPort-AV: E=Sophos;i="5.77,313,1596524400"; d="scan'208";a="161265931" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2020 11:04:35 -0700 IronPort-SDR: tPGu1sWjNahQoAI85wJKtVMgkG/nWazOLlj63NYMTNCGfhPJYBQHsA4D26sML3CMv60sKTLiE7 rlk2KgWYB8uA== X-IronPort-AV: E=Sophos;i="5.77,313,1596524400"; d="scan'208";a="456935981" Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2020 11:04:35 -0700 Date: Mon, 28 Sep 2020 11:04:34 -0700 From: Ira Weiny To: Hui Su Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/vmalloc.c: check the addr first Message-ID: <20200928180434.GD458519@iweiny-DESK2.sc.intel.com> References: <20200927163337.GA5472@rlk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200927163337.GA5472@rlk> User-Agent: Mutt/1.11.1 (2018-12-01) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 28, 2020 at 12:33:37AM +0800, Hui Su wrote: > As the comments said, if @addr is NULL, no operation > is performed, check the addr first in vfree() and > vfree_atomic() maybe a better choice. I don't see how this change helps anything. kmemleak_free() checks addr so no danger there. Also kmemleak_free() contains a pr_debug() which some might find useful. Ira > > Signed-off-by: Hui Su > --- > mm/vmalloc.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index be4724b916b3..1cf50749a209 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -2305,10 +2305,11 @@ void vfree_atomic(const void *addr) > { > BUG_ON(in_nmi()); > > - kmemleak_free(addr); > - > if (!addr) > return; > + > + kmemleak_free(addr); > + > __vfree_deferred(addr); > } > > @@ -2340,13 +2341,13 @@ void vfree(const void *addr) > { > BUG_ON(in_nmi()); > > + if (!addr) > + return; > + > kmemleak_free(addr); > > might_sleep_if(!in_interrupt()); > > - if (!addr) > - return; > - > __vfree(addr); > } > EXPORT_SYMBOL(vfree); > -- > 2.25.1 > > >