Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp3145572ybh; Mon, 5 Aug 2019 12:56:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqyzc+f6GePZypUfItwEGiAm/2DJNjcnC/a/g0hLgW3StZPpsyn0ZOJmLKV8x1YtZgozlgeH X-Received: by 2002:a17:902:8548:: with SMTP id d8mr147102597plo.100.1565034982543; Mon, 05 Aug 2019 12:56:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565034982; cv=none; d=google.com; s=arc-20160816; b=F6MippJ0jPNz8bCE3Wa9sdPk52eQeF5cI1kEu+NOrfYxJvj3yJgYfNq2dKt0f4fheJ ffzSksfxL0wn2QxuNrX4tOgjF4f7CSc8fY8A1cqxn7NhUoUvHWwrY9J+PPu45Qcv9beS Bmns85QeOW1y+ko8ezXSc4lwIcLce6yJRitOP3pwTOagzOUT0/blML1j5speR2sQXihZ 0/nw/iARz/7DQcBTNiVUXAYN8rLzb8xVzc92SNLU6b1MNs+LdDMN/8tqDhKEbLd0C4JJ g3IX3qNpC1ZEoXKlM0EnRQuYAzhITK46LFjycZg5HN2/adsJACGFe7vTsmG7+xh6CfEL T8qw== 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=VkZbfC+EpkQaPEsPSx9ocRYh+3TkiZxKiNMzxlWu3nY=; b=wjEbxoFiTN0V27UbTc88+Gm8uBWsvkrWQIKij2W0QgutIl1TQxvaVsV1YT3pg5T7y5 xZq5JzEGb90I1AkXiG3HjZ4CbKk7urTBInGfJtbSA1JtqlbCgAn2Q/S6oTiYg+C4fNlX pnkXLK+LLruftAJZsw9rJkaVnMtz2sIwf13OP2gju7v+1mnMqOf3D6AfpsFVDim8AVoG rWyJzkOEIvNontusXGeUZx7g5r9uIycXL37Z30SyH/GZtuK1MGSk7vaayOw9NAOB2DTb tt69I2L3v0KDiF2155m/mKFeKA2SRHpqDnRu07nQnwAoQxuMidYQd0b61RmesqM5tQRS huZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=asd7Fg8e; 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 g17si39645068plo.406.2019.08.05.12.56.05; Mon, 05 Aug 2019 12:56:22 -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=asd7Fg8e; 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 S1730174AbfHETzc (ORCPT + 99 others); Mon, 5 Aug 2019 15:55:32 -0400 Received: from mail-lf1-f66.google.com ([209.85.167.66]:40799 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727830AbfHETzb (ORCPT ); Mon, 5 Aug 2019 15:55:31 -0400 Received: by mail-lf1-f66.google.com with SMTP id b17so58998310lff.7 for ; Mon, 05 Aug 2019 12:55:30 -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=VkZbfC+EpkQaPEsPSx9ocRYh+3TkiZxKiNMzxlWu3nY=; b=asd7Fg8eJdbHaUl/GE3/fiESkYN2MkQbklldaifFBdBmP1aAFynBKD7kWJJUuT/MNb xzJNvzEBk6Bxo/QtY8i6KO8yPipV4a5El88ztGISyiSv5i5Zii16+FPrC3pToeTHOLFQ 6iL3ZBCvyTPzQ9gW9yC/flhRzMJ3xVDAgzbF1VvYm6eBbZLwCSycU/1wngnT2IgNmMey iSScBlmmOnvba6tj02T5cqIVMYit182lKLXabZlkKOLjPC3Y7tE//5HrU8whbFzzHrKP hR/+IDuYXjXkv00FKs1bk7QYoU3UBHMsNpdLlRIxv/maWRgYFMar3/W28bpXha7J2h5F /44w== 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=VkZbfC+EpkQaPEsPSx9ocRYh+3TkiZxKiNMzxlWu3nY=; b=LislCtAakSnWDlKz2OqR49FZxYZVO/3+BLoFfwIak6+Xo5ImJlMmegG0ax2d4FzUhD u4UZz3P8NngV8MAAuJXqj45WD31ZFe7jRigwR0h+TCkSB05rR1ZYfy8itnV4Z6WLEb8r cQRqXEnlra00RhG6gLSko235dUsnYVFeceu43Xlk2XO8lcT6HLVJZluwTs2n9P88g4gi 5VBMvXtlPIE478FOajD3bOqS0pqn/SFRCcB4xKanRK99QPLD4fUEsiUTCUjNSeg7IVjd 3pzRf49OTamYLG5AgLk2BymMTiX304ypD5I9OUiHncKtmqQ1u2oQmkDXQ4qjdapMFGG0 vjtw== X-Gm-Message-State: APjAAAXPQn908hpWd7jISyQKWLSHusUkZmDOECIOjrPbxnIA80qj+Vax K56uqfEEcy/3pLknQrWAN1s= X-Received: by 2002:a05:6512:15a:: with SMTP id m26mr70998580lfo.71.1565034930052; Mon, 05 Aug 2019 12:55:30 -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 m17sm15000408lfj.22.2019.08.05.12.55.28 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Mon, 05 Aug 2019 12:55:29 -0700 (PDT) From: Rikard Falkeborn X-Google-Original-From: Rikard Falkeborn Date: Mon, 5 Aug 2019 21:55:26 +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: <20190805195526.GA869@rikard> References: <20190731190309.19909-1-rikard.falkeborn@gmail.com> <47d29791addc075431737aff4b64531a668d4c1b.camel@perches.com> <2b782cf609330f53b6ecc5b75a8a4b49898483eb.camel@perches.com> <20190802181853.GA809@rikard> <20190803183637.GA831@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 Sun, Aug 04, 2019 at 03:45:16PM +0900, Masahiro Yamada wrote: > On Sun, Aug 4, 2019 at 3:36 AM Rikard Falkeborn > wrote: > > > > 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? > > > How about adding (int) cast to BUILD_BUG_ON_ZERO() ? I'll have a look.