Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755092AbbKCP0l (ORCPT ); Tue, 3 Nov 2015 10:26:41 -0500 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:57429 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751569AbbKCP0G (ORCPT ); Tue, 3 Nov 2015 10:26:06 -0500 Subject: Re: [PATCH] lightnvm: work around 32-bit built error To: Arnd Bergmann , Matias Bjorling References: <4925999.tpkPGVQaeU@wuerfel> CC: , From: Jens Axboe Message-ID: <5638D1F0.7060406@fb.com> Date: Tue, 3 Nov 2015 08:25:36 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <4925999.tpkPGVQaeU@wuerfel> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [192.168.54.13] X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2015-11-03_09:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1310 Lines: 31 On 11/03/2015 06:53 AM, Arnd Bergmann wrote: > The newly added lightnvm incorrectly uses a sector_t variable to > represent a data structure with fixed length bit fields, which breaks > when sector_t is configured to be 32-bit: > > In file included from ../drivers/lightnvm/core.c:29:0: > /include/linux/lightnvm.h:143:4: error: width of 'resved' exceeds its type > sector_t resved : 36; > include/linux/lightnvm.h: In function 'ppa_set_empty': > /include/linux/lightnvm.h:120:20: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define ADDR_EMPTY (~0ULL) Thanks Arnd, Matias sent another variant yesterday that changes this to u64 as well. > This patch resolves the build error, but does not address the fact that > bit fields are not reliable in data structures that are interpreted > by firmware on another architecture. If the layout is meant to be > stable, the bit fields should be replaced with explicit calculations. Matias? Are these every stored and read back, potentially on a different machine? -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/