From patchwork Wed May 22 06:20:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Aneesh Kumar K.V" X-Patchwork-Id: 10955175 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3BA7717E0 for ; Wed, 22 May 2019 06:21:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2AA6F28B20 for ; Wed, 22 May 2019 06:21:16 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1C18628B21; Wed, 22 May 2019 06:21:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9C23A28B25 for ; Wed, 22 May 2019 06:21:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1D82A6B0003; Wed, 22 May 2019 02:21:13 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 189C86B0006; Wed, 22 May 2019 02:21:13 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 04F6D6B0007; Wed, 22 May 2019 02:21:12 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yw1-f70.google.com (mail-yw1-f70.google.com [209.85.161.70]) by kanga.kvack.org (Postfix) with ESMTP id D3B046B0003 for ; Wed, 22 May 2019 02:21:12 -0400 (EDT) Received: by mail-yw1-f70.google.com with SMTP id t141so1057692ywe.23 for ; Tue, 21 May 2019 23:21:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:mime-version:content-transfer-encoding:message-id; bh=rDhCH59MNuzThhgCtp6sXNBsgY+rxc19SMctO58eL0k=; b=kb6L/EyTSSyz32FABuWaShSW3jx13ouTd2rdUFnP79MsH+mimXb8vyD8IKWwr1uMa/ /Of/Ymlku5YJtIc9/cmBsTVvGDTMa5v/baT7KzS869SnsBn01DyFI8FZnJuiwVGNb7oP Z+oCW2zeWjgvgofCxOgMaTMVTQIWlFG+Ih01CtY68lSXEacRGTfdZq9/25un8y0Q7Var rPtQROMHDnmMBeMjnOJjyHGVsHJ9mDJ8xHHJc9DNf81png5qHlaf0Kwp0tW+No3aaLuj zF2GFItuZjz0uyCnj9jzB2DfA8tkHmCst4TnSjN6EnfN+fGAwHids/2SoL69M/tMMPt6 Jv4g== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com X-Gm-Message-State: APjAAAUFBkdTg7ZaXOEsYJs/4TOwLFotED5p5Me66ttkJgocpeIQ89oP s0S4yhnnCQSzpDYNl2Me6FCcTcb1TQm2Vmn7f2MpfAdVg28uRTlltWbtyT/ViwMEKuoggJ2IZUX +XBra0NMPXoZ34Ag+abt2Qoj1nP0VQy/D6qszFK67xfWAWKkT8cQXQFKs2AGn/HuuJg== X-Received: by 2002:a0d:d742:: with SMTP id z63mr38822015ywd.286.1558506072565; Tue, 21 May 2019 23:21:12 -0700 (PDT) X-Google-Smtp-Source: APXvYqwKd+PRk4rjGEOh11zSZZCBeq9JWgawYxkqPX6gxSbsqjOIZybbzjWySSGF8X6l29o0zBBi X-Received: by 2002:a0d:d742:: with SMTP id z63mr38821995ywd.286.1558506071715; Tue, 21 May 2019 23:21:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558506071; cv=none; d=google.com; s=arc-20160816; b=iggXu32MpVozISwGSxxk/om+TGdgCnPnt3wLjXB2QX639Ot6dGsRB9JaZM6OTua31G 6s20Gp4gL5uvCYF5h5YswxPK4HlyB39Rf+loM8qfbhtUlMRKf2Qe0yDRrNyQ2o88XfTP XG9ubSVibaEmrUunmGg58y4hrbTv5J/lCIka6Ov7AI2AWNOACpHvXbrCLgi0zSojU8f3 SXyF2Csdh/p0zucklWDSHapayvtFbDsaPOhnccIJUpiSf2OESNZacMenPWuSIr2VsE58 bHbgw6rB2GD5nMoUvovZAc9G3Y3N8Z/7fxFeS0f/FyvvyY+UySGnc76zDEfTCBXFO2UE vD3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:content-transfer-encoding:mime-version:date:subject:cc :to:from; bh=rDhCH59MNuzThhgCtp6sXNBsgY+rxc19SMctO58eL0k=; b=rPMfOyUCpLFLwJTbfb5T2Jwtjf2ZqCymTbiIJxjGEXzHS/1KbXkwLg0tzi+vumc3HI vPg/TXkn7nPQuHnNfsS1gLFqrTeh9AWC9N504DxXI/IfpcVCFN6ijRqC9EwbeouqaJDU BcKQxXjGgYt3zG+OI94fkVB37ys9itB9emiuorAANOOI9CSGt2rXwXl+ITRybPTLP7z2 gIcBFlm2/Z5hQkxjOBMFk2M1A1oG/F2EBLhS9EKPcGRWKMHr3NTn61zwrMnLqgWJDpEG RMWwNmpotOP3QxKkGYgwroyE380cTEaJH7whoZfQ/0PC1uiCDDFVK/WXBoqdq6oBDTjp 8sCQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com. [148.163.158.5]) by mx.google.com with ESMTPS id a206si6816050ywb.14.2019.05.21.23.21.11 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 May 2019 23:21:11 -0700 (PDT) Received-SPF: pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) client-ip=148.163.158.5; Authentication-Results: mx.google.com; spf=pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x4M6HJGx047322 for ; Wed, 22 May 2019 02:21:11 -0400 Received: from e17.ny.us.ibm.com (e17.ny.us.ibm.com [129.33.205.207]) by mx0b-001b2d01.pphosted.com with ESMTP id 2smyx6jr73-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 22 May 2019 02:21:10 -0400 Received: from localhost by e17.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 22 May 2019 07:21:10 +0100 Received: from b01cxnp22034.gho.pok.ibm.com (9.57.198.24) by e17.ny.us.ibm.com (146.89.104.204) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Wed, 22 May 2019 07:21:07 +0100 Received: from b01ledav004.gho.pok.ibm.com (b01ledav004.gho.pok.ibm.com [9.57.199.109]) by b01cxnp22034.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x4M6L6eh35193030 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 22 May 2019 06:21:06 GMT Received: from b01ledav004.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 23E37112066; Wed, 22 May 2019 06:21:06 +0000 (GMT) Received: from b01ledav004.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A7CA3112063; Wed, 22 May 2019 06:21:04 +0000 (GMT) Received: from skywalker.in.ibm.com (unknown [9.124.31.87]) by b01ledav004.gho.pok.ibm.com (Postfix) with ESMTP; Wed, 22 May 2019 06:21:04 +0000 (GMT) From: "Aneesh Kumar K.V" To: dan.j.williams@intel.com Cc: linux-nvdimm@lists.01.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, "Aneesh Kumar K.V" Subject: [RFC PATCH 1/3] mm/nvdimm: Add PFN_MIN_VERSION support Date: Wed, 22 May 2019 11:50:55 +0530 X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 X-TM-AS-GCONF: 00 x-cbid: 19052206-0040-0000-0000-000004F2D313 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00011141; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000286; SDB=6.01206843; UDB=6.00633755; IPR=6.00987819; MB=3.00026997; MTD=3.00000008; XFM=3.00000015; UTC=2019-05-22 06:21:08 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19052206-0041-0000-0000-000008FEE6E3 Message-Id: <20190522062057.26581-1-aneesh.kumar@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-05-22_03:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1905220046 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP This allows us to make changes in a backward incompatible way. I have kept the PFN_MIN_VERSION in this patch '0' because we are not introducing any incompatible changes in this patch. We also may want to backport this to older kernels. Signed-off-by: Aneesh Kumar K.V --- drivers/nvdimm/pfn.h | 9 ++++++++- drivers/nvdimm/pfn_devs.c | 4 ++++ drivers/nvdimm/pmem.c | 26 ++++++++++++++++++++++---- 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/drivers/nvdimm/pfn.h b/drivers/nvdimm/pfn.h index dde9853453d3..1b10ae5773b6 100644 --- a/drivers/nvdimm/pfn.h +++ b/drivers/nvdimm/pfn.h @@ -20,6 +20,12 @@ #define PFN_SIG_LEN 16 #define PFN_SIG "NVDIMM_PFN_INFO\0" #define DAX_SIG "NVDIMM_DAX_INFO\0" +/* + * increment this when we are making changes such that older + * kernel should fail to initialize that namespace. + */ + +#define PFN_MIN_VERSION 0 struct nd_pfn_sb { u8 signature[PFN_SIG_LEN]; @@ -36,7 +42,8 @@ struct nd_pfn_sb { __le32 end_trunc; /* minor-version-2 record the base alignment of the mapping */ __le32 align; - u8 padding[4000]; + __le16 min_verison; + u8 padding[3998]; __le64 checksum; }; diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c index 01f40672507f..3250de70a7b3 100644 --- a/drivers/nvdimm/pfn_devs.c +++ b/drivers/nvdimm/pfn_devs.c @@ -439,6 +439,9 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig) if (nvdimm_read_bytes(ndns, SZ_4K, pfn_sb, sizeof(*pfn_sb), 0)) return -ENXIO; + if (le16_to_cpu(pfn_sb->min_version > PFN_MIN_VERSION)) + return -EOPNOTSUPP; + if (memcmp(pfn_sb->signature, sig, PFN_SIG_LEN) != 0) return -ENODEV; @@ -769,6 +772,7 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn) memcpy(pfn_sb->parent_uuid, nd_dev_to_uuid(&ndns->dev), 16); pfn_sb->version_major = cpu_to_le16(1); pfn_sb->version_minor = cpu_to_le16(2); + pfn_sb->min_version = cpu_to_le16(PFN_MIN_VERSION); pfn_sb->start_pad = cpu_to_le32(start_pad); pfn_sb->end_trunc = cpu_to_le32(end_trunc); pfn_sb->align = cpu_to_le32(nd_pfn->align); diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c index 845c5b430cdd..406427c064d9 100644 --- a/drivers/nvdimm/pmem.c +++ b/drivers/nvdimm/pmem.c @@ -490,6 +490,7 @@ static int pmem_attach_disk(struct device *dev, static int nd_pmem_probe(struct device *dev) { + int ret; struct nd_namespace_common *ndns; ndns = nvdimm_namespace_common_probe(dev); @@ -505,12 +506,29 @@ static int nd_pmem_probe(struct device *dev) if (is_nd_pfn(dev)) return pmem_attach_disk(dev, ndns); - /* if we find a valid info-block we'll come back as that personality */ - if (nd_btt_probe(dev, ndns) == 0 || nd_pfn_probe(dev, ndns) == 0 - || nd_dax_probe(dev, ndns) == 0) + ret = nd_btt_probe(dev, ndns); + if (ret == 0) return -ENXIO; + else if (ret == -EOPNOTSUPP) + return ret; - /* ...otherwise we're just a raw pmem device */ + ret = nd_pfn_probe(dev, ndns); + if (ret == 0) + return -ENXIO; + else if (ret == -EOPNOTSUPP) + return ret; + + ret = nd_dax_probe(dev, ndns); + if (ret == 0) + return -ENXIO; + else if (ret == -EOPNOTSUPP) + return ret; + /* + * We have two failure conditions here, there is no + * info reserver block or we found a valid info reserve block + * but failed to initialize the pfn superblock. + * Don't create a raw pmem disk for the second case. + */ return pmem_attach_disk(dev, ndns); } From patchwork Wed May 22 06:20:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Aneesh Kumar K.V" X-Patchwork-Id: 10955181 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9AA3F924 for ; Wed, 22 May 2019 06:21:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8B66628B1F for ; Wed, 22 May 2019 06:21:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7F75128B21; Wed, 22 May 2019 06:21:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1451928B1F for ; Wed, 22 May 2019 06:21:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9C6876B0007; Wed, 22 May 2019 02:21:15 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 77E7A6B000C; Wed, 22 May 2019 02:21:15 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5CDF96B0008; Wed, 22 May 2019 02:21:15 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by kanga.kvack.org (Postfix) with ESMTP id 20F096B0006 for ; Wed, 22 May 2019 02:21:15 -0400 (EDT) Received: by mail-pf1-f200.google.com with SMTP id i8so1069141pfo.21 for ; Tue, 21 May 2019 23:21:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:in-reply-to:references:mime-version :content-transfer-encoding:message-id; bh=HSwKjPQa0wVQik6ghd9QBdom7pAyWBegzXSiOddxLsE=; b=rBkG4lvh8bHKE3hhLQ2eo1iYTJpmCnTcuu8jUlTrPkrQRYzvl6Ibx/UAHDKgG6mHnw /0Kx/6l+SCA5EdXiFi5WXOIbraY/5LjdU7mU+REkZyHm2pacUWI5k7cIroeBtGRHDV2e +PKq9/QmczdSdNBp53kDEWJZr7lxd37lv0GZvODgyj7zZ0iNwdx7k0cP9EFu1GL4O0Bc aa0lPkNh7YEByBJ2ZBlol0IZ3hoydqvxye4gtYraaulXCcRFfs8LahOSxCZKBYTF4nHh DDqz694XG/blPSi0T9yZK/dg6Vwcl/98asd68pOednFSkTzrJaUqooVvFTc1nIMzvCWU 7mUA== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com X-Gm-Message-State: APjAAAXhN0UPq2QrnuSvjMtv3gzPEwVj6scxFv3qoQM8rtP7Q2ogQndh A0gXnWc5HG4Q9GYM6Gj/l+7a+UhI2EC1tPLLaVmi+YK2JVAq7lJWobu/7BeExkapMdRs/giZJgA /xb3NEt8IKvguO19H7y9HtGlcOzDfqc9RjIR10WpNxDzsbsCpH9x0tIgCr6yiOrMfxg== X-Received: by 2002:a62:1ec1:: with SMTP id e184mr26570378pfe.185.1558506074666; Tue, 21 May 2019 23:21:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqxpI3FyZbeugSUKS0aBGkEjKaphSyC4zg3uiyT4VdsYtKEEELgEHW7+b6Yx2oI7xqzt9Gc1 X-Received: by 2002:a62:1ec1:: with SMTP id e184mr26570305pfe.185.1558506073690; Tue, 21 May 2019 23:21:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558506073; cv=none; d=google.com; s=arc-20160816; b=C6utG0nKkBiX2F8lN19he6MZnvDzs/2pqWMGK8pw8S6QM7NbEIPMUAjqyEidH0on2+ 5IZnAnXbvJ3IyaOX4oHEKyPFbEYO3ALdbBNGZSqTJOlVsmvOOSMzAckNuNnnhP8fSsUa vZ7wg7DE9AkgHYbGPCHypf1LJyNyf3oViRGnBy97oYGeOVhJVGiL8eoiKILDMwrEoF/n M02oj07fDrW7Uz0RIG4L3L9Wst7MjWdeoO2MchC0MR5ThezE4GDSo6VuA95yUDwfytUD UApvHAFMuHY9YHYxZ5KKKpbjtPUU/geKWHWvyPn1k3UKjP4Hq/G59Ixv0WD7dOnX3KrH XJPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:content-transfer-encoding:mime-version:references :in-reply-to:date:subject:cc:to:from; bh=HSwKjPQa0wVQik6ghd9QBdom7pAyWBegzXSiOddxLsE=; b=DbN3nraQMDvoo9cRJFb0Oa49LsZC2JrJYlCKJALsFnfdP+0FWS/zqgiKd51mlDO6fP jzDflntONmGPLy9veGn2w1SMtAaJzFNHKwjNbVyN9dUfP/DkQAuTuSPhzQnKfeoTp0cG nuOlpbW7M+1kL0Cbih/Ttt2yNwrsKfD6bUHssqFyfkMfC0qddrbF1xaUzlT8QLb48wT/ 5BeBNb/7k8DHYWU1qN8VQS2bVLNbv5R5PfYWgjOZ/SgYl5ZFc0QDT75+WzE6Sa7PID2h HZjUZCXAcHZkowyz+jwEbmjM3WqsaNKg0R/eKRJg7gEYmxl/P9KkjxT4TyYmkzjjmiY2 KYNw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com. [148.163.156.1]) by mx.google.com with ESMTPS id y4si18403203pfn.47.2019.05.21.23.21.13 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 May 2019 23:21:13 -0700 (PDT) Received-SPF: pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.156.1 as permitted sender) client-ip=148.163.156.1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x4M6JdpL055673 for ; Wed, 22 May 2019 02:21:13 -0400 Received: from e17.ny.us.ibm.com (e17.ny.us.ibm.com [129.33.205.207]) by mx0a-001b2d01.pphosted.com with ESMTP id 2smwp466wu-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 22 May 2019 02:21:12 -0400 Received: from localhost by e17.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 22 May 2019 07:21:11 +0100 Received: from b01cxnp22033.gho.pok.ibm.com (9.57.198.23) by e17.ny.us.ibm.com (146.89.104.204) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Wed, 22 May 2019 07:21:09 +0100 Received: from b01ledav004.gho.pok.ibm.com (b01ledav004.gho.pok.ibm.com [9.57.199.109]) by b01cxnp22033.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x4M6L80422085798 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 22 May 2019 06:21:08 GMT Received: from b01ledav004.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 044AC11206D; Wed, 22 May 2019 06:21:08 +0000 (GMT) Received: from b01ledav004.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 88C6B112062; Wed, 22 May 2019 06:21:06 +0000 (GMT) Received: from skywalker.in.ibm.com (unknown [9.124.31.87]) by b01ledav004.gho.pok.ibm.com (Postfix) with ESMTP; Wed, 22 May 2019 06:21:06 +0000 (GMT) From: "Aneesh Kumar K.V" To: dan.j.williams@intel.com Cc: linux-nvdimm@lists.01.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, "Aneesh Kumar K.V" Subject: [RFC PATCH 2/3] mm/nvdimm: Add page size and struct page size to pfn superblock Date: Wed, 22 May 2019 11:50:56 +0530 X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190522062057.26581-1-aneesh.kumar@linux.ibm.com> References: <20190522062057.26581-1-aneesh.kumar@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 x-cbid: 19052206-0040-0000-0000-000004F2D316 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00011141; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000286; SDB=6.01206843; UDB=6.00633755; IPR=6.00987819; MB=3.00026997; MTD=3.00000008; XFM=3.00000015; UTC=2019-05-22 06:21:10 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19052206-0041-0000-0000-000008FEE6E7 Message-Id: <20190522062057.26581-2-aneesh.kumar@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-05-22_03:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1905220046 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP This is needed so that we don't wrongly initialize a namespace which doesn't have enough space reserved for holding struct pages with the current kernel. We also increment PFN_MIN_VERSION to make sure that older kernel won't initialize namespace created with newer kernel. Signed-off-by: Aneesh Kumar K.V --- drivers/nvdimm/pfn.h | 9 ++++++--- drivers/nvdimm/pfn_devs.c | 19 ++++++++++++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/drivers/nvdimm/pfn.h b/drivers/nvdimm/pfn.h index 1b10ae5773b6..ba11738ca8a2 100644 --- a/drivers/nvdimm/pfn.h +++ b/drivers/nvdimm/pfn.h @@ -25,7 +25,7 @@ * kernel should fail to initialize that namespace. */ -#define PFN_MIN_VERSION 0 +#define PFN_MIN_VERSION 1 struct nd_pfn_sb { u8 signature[PFN_SIG_LEN]; @@ -42,8 +42,11 @@ struct nd_pfn_sb { __le32 end_trunc; /* minor-version-2 record the base alignment of the mapping */ __le32 align; - __le16 min_verison; - u8 padding[3998]; + __le16 min_version; + /* minor-version-3 record the page size and struct page size */ + __le16 page_struct_size; + __le32 page_size; + u8 padding[3992]; __le64 checksum; }; diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c index 3250de70a7b3..94918a4e6e73 100644 --- a/drivers/nvdimm/pfn_devs.c +++ b/drivers/nvdimm/pfn_devs.c @@ -462,6 +462,15 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig) if (__le16_to_cpu(pfn_sb->version_minor) < 2) pfn_sb->align = 0; + if (__le16_to_cpu(pfn_sb->version_minor) < 3) { + /* + * For a large part we use PAGE_SIZE. But we + * do have some accounting code using SZ_4K. + */ + pfn_sb->page_struct_size = cpu_to_le16(64); + pfn_sb->page_size = cpu_to_le32(SZ_4K); + } + switch (le32_to_cpu(pfn_sb->mode)) { case PFN_MODE_RAM: case PFN_MODE_PMEM: @@ -477,6 +486,12 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig) align = 1UL << ilog2(offset); mode = le32_to_cpu(pfn_sb->mode); + if (le32_to_cpu(pfn_sb->page_size) != PAGE_SIZE) + return -EOPNOTSUPP; + + if (le16_to_cpu(pfn_sb->page_struct_size) != sizeof(struct page)) + return -EOPNOTSUPP; + if (!nd_pfn->uuid) { /* * When probing a namepace via nd_pfn_probe() the uuid @@ -771,11 +786,13 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn) memcpy(pfn_sb->uuid, nd_pfn->uuid, 16); memcpy(pfn_sb->parent_uuid, nd_dev_to_uuid(&ndns->dev), 16); pfn_sb->version_major = cpu_to_le16(1); - pfn_sb->version_minor = cpu_to_le16(2); + pfn_sb->version_minor = cpu_to_le16(3); pfn_sb->min_version = cpu_to_le16(PFN_MIN_VERSION); pfn_sb->start_pad = cpu_to_le32(start_pad); pfn_sb->end_trunc = cpu_to_le32(end_trunc); pfn_sb->align = cpu_to_le32(nd_pfn->align); + pfn_sb->page_struct_size = cpu_to_le16(sizeof(struct page)); + pfn_sb->page_size = cpu_to_le32(PAGE_SIZE); checksum = nd_sb_checksum((struct nd_gen_sb *) pfn_sb); pfn_sb->checksum = cpu_to_le64(checksum); From patchwork Wed May 22 06:20:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Aneesh Kumar K.V" X-Patchwork-Id: 10955177 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 179C814B6 for ; Wed, 22 May 2019 06:21:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 088B228B1F for ; Wed, 22 May 2019 06:21:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F106028B22; Wed, 22 May 2019 06:21:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 770B228B1F for ; Wed, 22 May 2019 06:21:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7481D6B0006; Wed, 22 May 2019 02:21:15 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 692476B0007; Wed, 22 May 2019 02:21:15 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 535696B000A; Wed, 22 May 2019 02:21:15 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-yb1-f197.google.com (mail-yb1-f197.google.com [209.85.219.197]) by kanga.kvack.org (Postfix) with ESMTP id 2360F6B0007 for ; Wed, 22 May 2019 02:21:15 -0400 (EDT) Received: by mail-yb1-f197.google.com with SMTP id q185so1212665ybc.8 for ; Tue, 21 May 2019 23:21:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:in-reply-to:references:mime-version :content-transfer-encoding:message-id; bh=YreXa9XJXamXXEsykOuOR/Vp8XWXjJ9Q1XWjC3jqg20=; b=rSEy30szZHskxnaZr9deM2FvqDQTcP6xXyB6/LfMMmskbZYSZgCXYsrdHiaQRmT6uh ER1jkjlbK5b6Ycx+YzLsG6CIbY04g8NaZRN+ayy09t/fhlyiHzDE0tY7rGg6HcWmmnJ3 wkgZyVJm0CyGY15GSb/yKchcbCOn0QtssBjMfI1+hyTT3vPLKlrA06Cuj20bGTqfPWfe t9pe9+9nTtx4GPugJh18A80bVu2Zv8MdeenProbJDmhVBtWHy70OTjaKWhR1o5zpbMXM TcpTDHi0GiDTHvD6S9m0jQPF9fjXthn4lGoOJqupYqgqN9adO28H3Ept/LT2RszJEgTq hNDA== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com X-Gm-Message-State: APjAAAWuIsf1dzEyDPfeEYJZ1QMyZfPET9yaUUr68O4nrEZ4aFFwQmDF dMUNrp8UNX81uKPLwpT3cuSv83N39p/dOxJt9ITd41h/0LcAwq8tKvAJ9p/tZnyXxEEQfDv7DUY x3uFgfbiXXBr0q+karBqPfM0mBMER8ygDJIQHdDzqYHJn2GEQ6CfjwKqKbdKAjc62CQ== X-Received: by 2002:a25:287:: with SMTP id 129mr19003877ybc.503.1558506074903; Tue, 21 May 2019 23:21:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqyZ2IV7bW4JzUa2beVc3NFWA8tJiGH0x5jFcqApu3MIsRGeF6DjdgLUnF+AgZQl85b17RPR X-Received: by 2002:a25:287:: with SMTP id 129mr19003867ybc.503.1558506074270; Tue, 21 May 2019 23:21:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558506074; cv=none; d=google.com; s=arc-20160816; b=jWq4HPFd9F4BnUKxSq+tUcQk4aGPSjZVsgWd/QQ4295Nq+/9E99A3qYvO5uf9rXiwP /lxXBxKy6VNFqbFf7EP3hiwKjhhUX5wYKk9eLSKwnyXxQwJGf2UUYxn8gFjas2zMGScb bS3HKlZOx0vurftDiPrfdl8XtVZgeKzUSVVLRcKVX+mVcb3fkOQ/8fYu+6TleW7RSxvP 4a7io0kkh1P2Q2Ho+GLsdcAkRUFoepTQvEmder9URZGpirus8rT1PauBKBqsFCmXE00K irTaeovXqMfBHq5KXfmq+E/r9lopxVdl5Z0llxSo9S28dWbf/rJvuf+rpGwSoRYh1RTz 7ENg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:content-transfer-encoding:mime-version:references :in-reply-to:date:subject:cc:to:from; bh=YreXa9XJXamXXEsykOuOR/Vp8XWXjJ9Q1XWjC3jqg20=; b=GN63/4ZrsLOD9B1ZgecmPgZfrxfijoD6zXW050g6uutwCsoYMcRt4Mwkh2T5Iylll8 NrW+62cTj/KfyM36kBtL5abEricvdG0HpTTJcQwBlbW2YO7FIabkOOgo3pEOykvpbQuW 1tyEVq1+W+j5ljYtqEhLsB3839/CWs4GACpNaTlcxLReycEPqK4rKL4PPAPtmoYZTitG jJZbR16ZDWIzS+hip204BSmRjkHcbsZ1mwqV5rutGnsUlSPIASUNryVw6ufd1tsoei2Z UdwS9KiMQYBsXp4wt0daEvHjdA1U4saLPav+bDEiItOjN6TG4wGr+ddOhw1NnQMLBQkt ORPg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com. [148.163.158.5]) by mx.google.com with ESMTPS id l5si1119780ybk.245.2019.05.21.23.21.14 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 May 2019 23:21:14 -0700 (PDT) Received-SPF: pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) client-ip=148.163.158.5; Authentication-Results: mx.google.com; spf=pass (google.com: domain of aneesh.kumar@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=aneesh.kumar@linux.ibm.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from pps.filterd (m0098420.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x4M6HoSW150414 for ; Wed, 22 May 2019 02:21:14 -0400 Received: from e14.ny.us.ibm.com (e14.ny.us.ibm.com [129.33.205.204]) by mx0b-001b2d01.pphosted.com with ESMTP id 2sn039t7h1-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 22 May 2019 02:21:13 -0400 Received: from localhost by e14.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 22 May 2019 07:21:13 +0100 Received: from b01cxnp22036.gho.pok.ibm.com (9.57.198.26) by e14.ny.us.ibm.com (146.89.104.201) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Wed, 22 May 2019 07:21:10 +0100 Received: from b01ledav004.gho.pok.ibm.com (b01ledav004.gho.pok.ibm.com [9.57.199.109]) by b01cxnp22036.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x4M6L9Fs40108278 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 22 May 2019 06:21:09 GMT Received: from b01ledav004.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D95A1112065; Wed, 22 May 2019 06:21:09 +0000 (GMT) Received: from b01ledav004.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6A4F3112062; Wed, 22 May 2019 06:21:08 +0000 (GMT) Received: from skywalker.in.ibm.com (unknown [9.124.31.87]) by b01ledav004.gho.pok.ibm.com (Postfix) with ESMTP; Wed, 22 May 2019 06:21:08 +0000 (GMT) From: "Aneesh Kumar K.V" To: dan.j.williams@intel.com Cc: linux-nvdimm@lists.01.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, "Aneesh Kumar K.V" Subject: [RFC PATCH 3/3] mm/nvdimm: Use correct #defines instead of opencoding Date: Wed, 22 May 2019 11:50:57 +0530 X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190522062057.26581-1-aneesh.kumar@linux.ibm.com> References: <20190522062057.26581-1-aneesh.kumar@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 x-cbid: 19052206-0052-0000-0000-000003C54520 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00011141; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000286; SDB=6.01206843; UDB=6.00633755; IPR=6.00987819; MB=3.00026997; MTD=3.00000008; XFM=3.00000015; UTC=2019-05-22 06:21:12 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19052206-0053-0000-0000-000060FF565F Message-Id: <20190522062057.26581-3-aneesh.kumar@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-05-22_03:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1905220046 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP The nfpn related change is needed to fix the kernel message "number of pfns truncated from 2617344 to 163584" The change makes sure the nfpns stored in the superblock is right value. Signed-off-by: Aneesh Kumar K.V --- drivers/nvdimm/label.c | 2 +- drivers/nvdimm/pfn_devs.c | 6 +++--- drivers/nvdimm/region_devs.c | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c index f3d753d3169c..bc6de8fb0153 100644 --- a/drivers/nvdimm/label.c +++ b/drivers/nvdimm/label.c @@ -361,7 +361,7 @@ static bool slot_valid(struct nvdimm_drvdata *ndd, /* check that DPA allocations are page aligned */ if ((__le64_to_cpu(nd_label->dpa) - | __le64_to_cpu(nd_label->rawsize)) % SZ_4K) + | __le64_to_cpu(nd_label->rawsize)) % PAGE_SIZE) return false; /* check checksum */ diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c index 94918a4e6e73..f549bddc680c 100644 --- a/drivers/nvdimm/pfn_devs.c +++ b/drivers/nvdimm/pfn_devs.c @@ -765,8 +765,8 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn) * when populating the vmemmap. This *should* be equal to * PMD_SIZE for most architectures. */ - offset = ALIGN(start + reserve + 64 * npfns, - max(nd_pfn->align, PMD_SIZE)) - start; + offset = ALIGN(start + reserve + sizeof(struct page) * npfns, + max(nd_pfn->align, PMD_SIZE)) - start; } else if (nd_pfn->mode == PFN_MODE_RAM) offset = ALIGN(start + reserve, nd_pfn->align) - start; else @@ -778,7 +778,7 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn) return -ENXIO; } - npfns = (size - offset - start_pad - end_trunc) / SZ_4K; + npfns = (size - offset - start_pad - end_trunc) / PAGE_SIZE; pfn_sb->mode = cpu_to_le32(nd_pfn->mode); pfn_sb->dataoff = cpu_to_le64(offset); pfn_sb->npfns = cpu_to_le64(npfns); diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c index b4ef7d9ff22e..2d8facea5a03 100644 --- a/drivers/nvdimm/region_devs.c +++ b/drivers/nvdimm/region_devs.c @@ -994,10 +994,10 @@ static struct nd_region *nd_region_create(struct nvdimm_bus *nvdimm_bus, struct nd_mapping_desc *mapping = &ndr_desc->mapping[i]; struct nvdimm *nvdimm = mapping->nvdimm; - if ((mapping->start | mapping->size) % SZ_4K) { - dev_err(&nvdimm_bus->dev, "%s: %s mapping%d is not 4K aligned\n", - caller, dev_name(&nvdimm->dev), i); - + if ((mapping->start | mapping->size) % PAGE_SIZE) { + dev_err(&nvdimm_bus->dev, + "%s: %s mapping%d is not 4K aligned\n", + caller, dev_name(&nvdimm->dev), i); return NULL; }