Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp3636530imm; Mon, 30 Jul 2018 00:18:06 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeNTpHNu934XENmTBz8kwelmaSA6s9a5PhxuC0+U9t/7VcZFb8hayKHxfZNPeO/GwdyYMdx X-Received: by 2002:a17:902:b58b:: with SMTP id a11-v6mr15154823pls.34.1532935086732; Mon, 30 Jul 2018 00:18:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532935086; cv=none; d=google.com; s=arc-20160816; b=JiXf3pdbd5bGFadh5dAV3pDyrJ3Zjb6Ac9ghFwWJl18wN6aDRl3NAbII+WttOI9tSa SNShHyXXMYwueWwf3+MI/akAPZMTDWUR62dMJ2sjRVxRq6cOWu3lX4Tb3FZrJshIPXmD yPlwklnya9WnBEWQYWQZTQEbL9Ivo49HIRSQDrcH4Dc03Bf9LexqbGXOStu6MiVtbiA6 WVhGrE/NciOrNM/A7Dc/V9BZM6YIV2ez32I5z7gXiMhmCBvd2/grNDoyYbsNcr9TBm/l WSD3Dzv9y7MXybLBYbjngV1HdZlOnNDGdimqKXV6Z1gwK/t9V4NlJ4+Sd3puckN7Axnm m4dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:domainkey-signature:arc-authentication-results; bh=TXHtD867Yy+BQ+pFACLYs1yY/w1Hzm0fCSFIXvePyXA=; b=I4Xz6WjgnKNMvFk2ozsJV/qXN37w1iKdEzFfwmiHhlPY0RqRSapKX7+aEN2rXbCuQg NPQvhdJwEIsJsXUR0psAFR1qpqMq+uDHje/Hrfl0er0JvOqnQg4AzUTGIJFMYcvgyo1o 4H9AP/kbdExIwx1CKf1cinWUPfAytXivEDDU0SlUNZKI/emPDFHEDdCeZxY/T/W7XI0Y 7C02BpJlo1PdSM9QE9vs8ds1HU/GynhVcSXb4LoWdaF3sn5hrcuDOrN6iWMnGjCqTt7a hMpdgkdV3tmY0P9mnxRPbEASjXDU9DC75P9r0U+LSrRQ648RerKLN/PY37CTRp8/fkur WBLA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 59-v6si9917320plp.87.2018.07.30.00.17.52; Mon, 30 Jul 2018 00:18:06 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727058AbeG3IuT (ORCPT + 99 others); Mon, 30 Jul 2018 04:50:19 -0400 Received: from sender-pp-092.zoho.com ([135.84.80.237]:25485 "EHLO sender-pp-092.zoho.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726210AbeG3IuS (ORCPT ); Mon, 30 Jul 2018 04:50:18 -0400 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=zapps768; d=zoho.com; h=from:to:cc:subject:date:message-id:in-reply-to:references; b=jTBqWLRQ206iA+xQbDQ+uUjiYq6j3IOCUnQjCtDNQsJ1dwZMA0MLksx/i8fhK6gYIugvXZ66TCCw CJPEa6dhFX3v7XqM8nRpKWBlTMr7ijn2kRdHSLZ7DlMvdIbPR+KQ Received: from YEHS1XR956R00D1.lenovo.com (221.219.122.69 [221.219.122.69]) by mx.zohomail.com with SMTPS id 1532934972894438.38404019626455; Mon, 30 Jul 2018 00:16:12 -0700 (PDT) From: Huaisheng Ye To: linux-nvdimm@lists.01.org, dan.j.williams@intel.com Cc: ross.zwisler@linux.intel.com, willy@infradead.org, vishal.l.verma@intel.com, dave.jiang@intel.com, schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com, viro@zeniv.linux.org.uk, martin.petersen@oracle.com, axboe@kernel.dk, gregkh@linuxfoundation.org, bart.vanassche@wdc.com, jack@suse.cz, agk@redhat.com, snitzer@redhat.com, keescook@chromium.org, dm-devel@redhat.com, linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, linux-fsdevel@vger.kernel.org, colyli@suse.de, chengnt@lenovo.com, Huaisheng Ye Subject: [PATCH v3 1/6] libnvdimm, pmem: kaddr and pfn can be NULL to ->direct_access() Date: Mon, 30 Jul 2018 15:15:43 +0800 Message-Id: <20180730071548.9172-2-yehs2007@zoho.com> X-Mailer: git-send-email 2.17.0.windows.1 In-Reply-To: <20180730071548.9172-1-yehs2007@zoho.com> References: <20180730071548.9172-1-yehs2007@zoho.com> X-ZohoMailClient: External Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Huaisheng Ye pmem_direct_access() needs to check the validity of pointers kaddr and pfn for NULL assignment. If anyone equals to NULL, it doesn't need to calculate the value. If pointer equals to NULL, that is to say callers may have no need for kaddr or pfn, so this patch is prepared for allowing them to pass in NULL instead of having to pass in a pointer or local variable that they then just throw away. Signed-off-by: Huaisheng Ye Reviewed-by: Ross Zwisler --- drivers/nvdimm/pmem.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c index 8b1fd7f..ecf9024 100644 --- a/drivers/nvdimm/pmem.c +++ b/drivers/nvdimm/pmem.c @@ -227,8 +227,11 @@ __weak long __pmem_direct_access(struct pmem_device *pmem, pgoff_t pgoff, if (unlikely(is_bad_pmem(&pmem->bb, PFN_PHYS(pgoff) / 512, PFN_PHYS(nr_pages)))) return -EIO; - *kaddr = pmem->virt_addr + offset; - *pfn = phys_to_pfn_t(pmem->phys_addr + offset, pmem->pfn_flags); + + if (kaddr) + *kaddr = pmem->virt_addr + offset; + if (pfn) + *pfn = phys_to_pfn_t(pmem->phys_addr + offset, pmem->pfn_flags); /* * If badblocks are present, limit known good range to the -- 1.8.3.1