From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755786AbcBVV7r (ORCPT ); Mon, 22 Feb 2016 16:59:47 -0500 Received: from mout.kundenserver.de ([212.227.126.135]:50917 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753138AbcBVV7q (ORCPT ); Mon, 22 Feb 2016 16:59:46 -0500 From: Arnd Bergmann To: Dan Williams Cc: linux-arm-kernel@lists.infradead.org, Arnd Bergmann , Stuart Foster , Julian Margetson , Andrew Morton , linux-mm@kvack.org, Ross Zwisler , linux-nvdimm@ml01.01.org, linux-kernel@vger.kernel.org Subject: [PATCH] nvdimm: use 'u64' for pfn flags Date: Mon, 22 Feb 2016 22:58:34 +0100 Message-Id: <1456178322-1728962-1-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 X-Provags-ID: V03:K0:oDC1sHOTAwMBOsNofMWUmLGzOaX6Y94vLUR25YM86DgRHZyMP5w l3v/H4UjvD3847Cnbs0S/O951tYv7Iwoc+MpIPt5nioXF0ddpnuQVaHCMFw5y7HZmIzaDp/ JPAmlhqCgcQULLNqW3zTHbwm4nvA5b9qEj9PTv0OGrvH7axk/GILFYot+Xm3zwI4Xvghpc3 vIG7Y4iH1675HC8QOx8gw== X-UI-Out-Filterresults: notjunk:1;V01:K0:+GfXIVuwjrs=:/j2V169wPxYiCEj21NiLiv eGmRZ+36geliUgr/ldIz33Q0Xox2/jPLCGAXAAGiWk24ofngBXDN5mnw3I8Z1leYwlDKmF9jH o2wNgnyrPtGPDP1uNAErWJ4LgBHV4C5qzs4Wlrp1vcvq8GHQyKoXZvAGhoP4Qrp94+DNSlSAK HIWNTBgy2bTQJ90NkASC4jZCohTXnXXaflHiFdifzCE1DKqHg2wN+LxI7tFKEvEbfgy+2zwQE mvM5d4gtjZuxGH8ah0wa+O9/s3eA+/tgHUpg4B9+XUmyN8fc8qsZLyQ1NWUWkGmVXg8BbeIsa stkfMWuXzItWuesYw+uvInY404kbkGx+ycEaqnPXCT4DlsAqPVu6QY19Himk/B8/GZ7UMo3JD 68whzG+EV2M9O0uoD1vuhXxRgV8Rr4YHnn6efl/t/cWLd0+/mSYH3ykn5JEQfzNAhxNWvwnhj KPXMDlPoLbwS5/Xuift+H9jwtJXLWMBsDSnbMEXy9atpV3Dsu/8YlTdgBRABGmKrCTd4ZWn7n ZwB9V5d7VXGc+nqXAyytb4ixNIoQMXMZPMEQ5scXrEhSBlW3XqT5aKy1opV/oT9jw9tlLH5a3 l3xDi90odiFyeYFROnHvBFxhtfqSAvBUpPpKsofDXiN3JsKIfUg2yQuLxNgS8v+D6EBJS9B1U hLVNeOP3cqi2FLqdwmv7wadoLV6SX+vwvqlrBkhzB6Rq9ikmwHtQ9iJ8oFuQQMorOL1w= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A recent bugfix changed pfn_t to always be 64-bit wide, but did not change the code in pmem.c, which is now broken on 32-bit architectures as reported by gcc: In file included from ../drivers/nvdimm/pmem.c:28:0: drivers/nvdimm/pmem.c: In function 'pmem_alloc': include/linux/pfn_t.h:15:17: error: large integer implicitly truncated to unsigned type [-Werror=overflow] #define PFN_DEV (1ULL << (BITS_PER_LONG_LONG - 3)) This changes the intermediate pfn_flags in struct pmem_device to be 64 bit wide as well, so they can store the flags correctly. Signed-off-by: Arnd Bergmann Fixes: db78c22230d0 ("mm: fix pfn_t vs highmem") --- drivers/nvdimm/pmem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c index 7edf31671dab..8d0b54670184 100644 --- a/drivers/nvdimm/pmem.c +++ b/drivers/nvdimm/pmem.c @@ -41,7 +41,7 @@ struct pmem_device { phys_addr_t phys_addr; /* when non-zero this device is hosting a 'pfn' instance */ phys_addr_t data_offset; - unsigned long pfn_flags; + u64 pfn_flags; void __pmem *virt_addr; size_t size; struct badblocks bb; -- 2.7.0