Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp1223338ybh; Sat, 3 Aug 2019 21:01:07 -0700 (PDT) X-Google-Smtp-Source: APXvYqwCRcvEgz81tj6JZTwc64/4pDNNtuAOYV90or1Z3JMtsBi8uM7Fa/nMMjTD9hcoxQg8YzoB X-Received: by 2002:a17:902:24e:: with SMTP id 72mr95270370plc.65.1564891267829; Sat, 03 Aug 2019 21:01:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564891267; cv=none; d=google.com; s=arc-20160816; b=SN6+IKfjHQICIb606rTZaMOhip39JOiAQnvOcJcmHqFRm+uo4b6vhV6T3c0/apfVYs IFci0XRB3Yk9uOwwzMWFWAwIKbaZm9Yw+Wswsa/akzuJS56zq7RPoaKWCCljGopxiAtE O+YNi0els7aAVAUt+uGrvKUsbEazA5GT3MiEGAEWX85m6LcLURK7DIrqTdNOBStgom4d deiA0Ho/MTLJGN8mW9MPR5z5Jxm8OXvsbhbq6CWsR3LtmmB1MtWfnAl4V52/c9Uute/P BNFptKQ3/mAWapWnvTz3P2c//bwI7BvZSBjrNaa7OShUBnCKoQM4PkBZdF63gIa6qRF0 KqmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:date:from:dkim-signature; bh=NSi9TsGQZaVw6ZnB5I+qwD8eQNLA90Rl9Pl0pGBoFKk=; b=FTTrwjeKAF0Xe4vnGoqC6/jY1GxPSJTiGA6sk0NVh00IO12b5egxBFJiI1uzO9CP24 WHqqMEQnp21MitOTir+MdjLfTKU0fnK+Zk+aQnDTRBQjsFRTPtqr9pLveOhlKs+zdbPZ j45EQjsyg8EU2r0F+DceRxflxOJ7DrjLPUNVeT18tEX/o3niw7NXUQvhPDe05b5YULH6 ID/b3boNeCkE5H+A0cN5KbaXt7ZwmGvAALBE/tc8agie+Haj6+me5X26vDSNs4iw8MGE nFj0l2gvnA2lzfCIT86aDBuoTdrMMa5xuVOzSnGGo1FNCCSkeFOxrsMWZuBA2zfuWtgR 181g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=iYNYmAfY; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t14si2397497pgk.508.2019.08.03.21.00.52; Sat, 03 Aug 2019 21:01:07 -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=@gmail.com header.s=20161025 header.b=iYNYmAfY; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728769AbfHCSgn (ORCPT + 99 others); Sat, 3 Aug 2019 14:36:43 -0400 Received: from mail-lj1-f193.google.com ([209.85.208.193]:45151 "EHLO mail-lj1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728198AbfHCSgn (ORCPT ); Sat, 3 Aug 2019 14:36:43 -0400 Received: by mail-lj1-f193.google.com with SMTP id m23so75717631lje.12 for ; Sat, 03 Aug 2019 11:36:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=NSi9TsGQZaVw6ZnB5I+qwD8eQNLA90Rl9Pl0pGBoFKk=; b=iYNYmAfYPo91w0uTmZHV0nLr+KnMSZUDVJzS17n/JwAllP8QqUQoSrEqhOD/I+nyUs zd0WtPlRZLpypUIjAXJJf+oKQp0Xh6EyOhP3js0LQopfrZ6ZyJ/EKpOCuidyeNpzYvTY AV7SiK6moveh3mhwpLmTjFqUxs3Iunh2bE8qbimoTsqOci1qrVoaqjGSJ2hNiK4l6sNP Be52NpI0Pqx7HK3lS+reLkiTiI35Und7ven7XSuHgpvQ/eK9yCfjqdmdcGRge/IhopLA BRMSHwtRpzyMrG8SHZWolDuUr2BApfhz9RzRpQ3bx5GceIu9MkeNyCMF67VsFEYbUuFL 51OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=NSi9TsGQZaVw6ZnB5I+qwD8eQNLA90Rl9Pl0pGBoFKk=; b=dtDCHawCqT92csTzaL8DzUBMSauKyWr+aqUO5pEpDzvYzqM9M+TlsXr0V8QjdNCGko aj01BDnOOGVdGDzhNxRrzr4Qg2fv3tkQYkd1hKQiVD4slY9O2L6Q5Qh6U0QOgryRPzWe t5U7saEpTUEeQdiQVsgsNAWm7qfAPyhA2oIhnzW2Gwqc2PeU1LKUmj1PwFRiO3R7alF3 /n6ejaGcD9JUkVWq1aK444liFshIRXSjBiStHH2+n+OewPzoJjYvRRftDQ85dmQLmbZL prqdq1LRE2lHINZnb8J49yhL2EwWbU2Q93ynEaeqMoyvTXNvEHz958WPlor9S2NJW4bs 4Ktg== X-Gm-Message-State: APjAAAXDOf+SLBRn1qcQjLXp+wHXdCbeEzJyUbN/L8Gj8YwlVIeWmM5H huHMmuSQtelmqtRVCs6Hn2o= X-Received: by 2002:a2e:8ed2:: with SMTP id e18mr33045635ljl.235.1564857401548; Sat, 03 Aug 2019 11:36:41 -0700 (PDT) Received: from rikard (h-158-174-186-115.NA.cust.bahnhof.se. [158.174.186.115]) by smtp.gmail.com with ESMTPSA id n24sm15971745ljc.25.2019.08.03.11.36.39 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sat, 03 Aug 2019 11:36:40 -0700 (PDT) From: Rikard Falkeborn X-Google-Original-From: Rikard Falkeborn Date: Sat, 3 Aug 2019 20:36:37 +0200 To: Masahiro Yamada Cc: Rikard Falkeborn , Joe Perches , Andrew Morton , Johannes Berg , Linux Kernel Mailing List Subject: Re: [PATCH] linux/bits.h: Add compile time sanity check of GENMASK inputs Message-ID: <20190803183637.GA831@rikard> References: <0306bec0ec270b01b09441da3200252396abed27.camel@perches.com> <20190731190309.19909-1-rikard.falkeborn@gmail.com> <47d29791addc075431737aff4b64531a668d4c1b.camel@perches.com> <2b782cf609330f53b6ecc5b75a8a4b49898483eb.camel@perches.com> <20190802181853.GA809@rikard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.12.1 (2019-06-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Aug 03, 2019 at 12:12:46PM +0900, Masahiro Yamada wrote: > On Sat, Aug 3, 2019 at 12:03 PM Masahiro Yamada > wrote: > > > > > BTW, v2 is already inconsistent. > > If you wanted GENMASK_INPUT_CHECK() to return 'unsigned long',, > > you would have to cast (low) > (high) as well: > > > > (unsigned long)((low) > (high)), UL(0)))) > > > > This is totally redundant, and weird. > > I take back this comment. > You added (unsigned long) to the beginning of this macro. > So, the type is consistent, but I believe all casts should be removed. Maybe you're right. BUILD_BUG_ON_ZERO returns size_t regardless of inputs. I was worried that on some platform, size_t would be larger than unsigned long (as far as I could see, the standard does not give any guarantees), and thus all of a sudden GENMASK would be 8 bytes instead of 4, but perhaps that is not a problem?