Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp890300imm; Wed, 4 Jul 2018 07:42:23 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeSp1GP7GWVDuIFPdlKUBANLXffkgx9VXxZxkRuwakM0tckb/WVtx4KtLqaf5SxbCB7WsQC X-Received: by 2002:a17:902:585:: with SMTP id f5-v6mr2428464plf.142.1530715342944; Wed, 04 Jul 2018 07:42:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530715342; cv=none; d=google.com; s=arc-20160816; b=lFi4L6KxBGZVZeEIsN9GGY/jLee+BCxd0+Vudsl2gDNGHDXV2c8dDgF4yq30Kw3dKc ckOnqM05ab6yAJWgb8JZHYW+JWXzfrDth0pzpA0zaisnjU54lkC5QDtk/GgmkvuglUvK rU+IIEfKbqEpsvPdd3tavcq6x2rYDeakFYrQvUdVwEZvzjPe2yf4E95DNYcKn3ILzGNS UsJr5lluyHRQ9fVD9BxeSp8kPIcRHTqZ79bv83GrocWmaSNYR9FIm1GDm5YKDBfQ/3qF J2954SnDmpiko8LG8RbJJPCHnhu0S/QxxFbXx6YNj2PTsgfkVwCqKuRTUEWA5SsuGBJq EA9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=Yjz5ybuHpyDOaOQLRbyCjdv0YGvLk7x4x2M4aNkgI1c=; b=enCZ7v+GBNO8kRDLpppAbXa2DUTZpTp1kMoyNMM9pZfwnzdaeD5aa+dbxehzBYjfrx Y03qLvl8pbUznryFf++/iglDlaSmLtkxY0z4/X0FflqZ5ZMubFAU/vNyQsT0XIc3IrpR aFSFXO8aOA+Iwl4W5Uho6dYrLf9oqvkUge7OAEck0Q8OMeAD6CjYvD9yCWVUQZ3rb4Lw LG+lK7svVPyuyebPT18iCxRNmTVfX3psn6HFoFUcBSYrAk8vWBrlV8xAymuDjl+lmJbg hzeWiTbu5C2K2xxkiy+SX3j2xTZXAERJno4BxjHjZu17GTgOfKKNyTfkKuB6MV6Y4X/o Y9ZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=QRqBOQY3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id h11-v6si3555015pls.399.2018.07.04.07.42.08; Wed, 04 Jul 2018 07:42:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=QRqBOQY3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1753139AbeGDOkZ (ORCPT + 99 others); Wed, 4 Jul 2018 10:40:25 -0400 Received: from mail-oi0-f67.google.com ([209.85.218.67]:36915 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753074AbeGDOkW (ORCPT ); Wed, 4 Jul 2018 10:40:22 -0400 Received: by mail-oi0-f67.google.com with SMTP id k81-v6so11138695oib.4 for ; Wed, 04 Jul 2018 07:40:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Yjz5ybuHpyDOaOQLRbyCjdv0YGvLk7x4x2M4aNkgI1c=; b=QRqBOQY3PYGBh2P1EvjcWHkB6XhOZN58XO+s9sUVGtbR5WfhGS4bCK4GZAT3o5iwOh u90PZdMdUgEHg7Q5E+enqTHOqzUrQoe4xo6CgjOElwv6FjRTXPmS9EU/nx7KxhHDAy5s JqpMj4Yj2PwSathJgqqUMne4A/58SUGWvheXxoA9oiTOrzwn3gnbi54mlI/SVSDyO7h2 Vh4SWzbS4BIKfgdcPnM1G1kbKj7NkcgddpgvQ4DFvKjXuejI62Csf7mqzlgaKfpCpkWR 5y9dsVAyItpb8AFHY2fknhBQf39cfRhxuvslqmbz9y+aQNorX0T4uS6QOUwgz4+sh/Jf c2vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Yjz5ybuHpyDOaOQLRbyCjdv0YGvLk7x4x2M4aNkgI1c=; b=RXCsxuJyjyan0yCJxZf8GDyF5Q2L8N4dPlLHdhaiqmZ75oswDA8PLWsbn7YsUYgk4D 1AM/nrk1TBNmSqJtSRggxE2oab95VJydD4UaA3Ry21l5vgT6y535xAD74FVZj7V0PjTJ odVPe0GdGwx70C0pKRvUBAqxZMxE69r1Z78zLCXWLugImC1BVRjEC7kljr4nthvGNtNq Yn5c9TL7YzUq6JfsbHbpJ2hxdm0X/VHwjozW+CIke4w0eoi7VDu8CnZPMciqoW+Z/V1n MS5XNvaMKLFmuvZp/xA2JPj6gmR9pUc3sWRWZZyOseMpH4AgsMC+iZ0WtyxGXivWnZ39 tqSA== X-Gm-Message-State: APt69E2+r6H9TqoIK0tXfvwwffqqHuujEXTeCbpFUuYR8AsdGL9TSNnj hEyrR2CWl1dwYpqNeRmkqUa+M8Z/fTDqzfq6WZeq+Q== X-Received: by 2002:aca:100f:: with SMTP id 15-v6mr2739935oiq.110.1530715222122; Wed, 04 Jul 2018 07:40:22 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:3495:0:0:0:0:0 with HTTP; Wed, 4 Jul 2018 07:40:21 -0700 (PDT) In-Reply-To: <20180704064058.1344-1-yehs2007@zoho.com> References: <20180704064058.1344-1-yehs2007@zoho.com> From: Dan Williams Date: Wed, 4 Jul 2018 07:40:21 -0700 Message-ID: Subject: Re: [PATCH 1/3] nvdimm/pmem: check the validity of the pointer pfn To: Huaisheng Ye Cc: linux-nvdimm , Ross Zwisler , Matthew Wilcox , Vishal L Verma , Dave Jiang , Martin Schwidefsky , Heiko Carstens , Al Viro , "Martin K. Petersen" , Jens Axboe , Greg KH , Bart Van Assche , Jan Kara , NingTing Cheng , Linux Kernel Mailing List , linux-s390 , linux-fsdevel , Huaisheng Ye Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jul 3, 2018 at 11:40 PM, Huaisheng Ye wrote: > From: Huaisheng Ye > > Some functions within fs/dax don't need to get gfn from direct_access. > Assigning NULL to gfn of dax_direct_access is more intuitive and simple > than offering a useless local variable. > > So direct_access needs to check validity of the pointer pfn For NULL > assignment. > > Signed-off-by: Huaisheng Ye > --- > drivers/nvdimm/pmem.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c > index 9d71492..018f990 100644 > --- a/drivers/nvdimm/pmem.c > +++ b/drivers/nvdimm/pmem.c > @@ -233,7 +233,8 @@ __weak long __pmem_direct_access(struct pmem_device *pmem, pgoff_t pgoff, > PFN_PHYS(nr_pages)))) > return -EIO; > *kaddr = pmem->virt_addr + offset; > - *pfn = phys_to_pfn_t(pmem->phys_addr + offset, pmem->pfn_flags); > + if (pfn) > + *pfn = phys_to_pfn_t(pmem->phys_addr + offset, pmem->pfn_flags); > > /* > * If badblocks are present, limit known good range to the Looks good. You also need to update the unit test infrastructure version of this operation in: tools/testing/nvdimm/pmem-dax.c