Received: by 10.213.65.68 with SMTP id h4csp813671imn; Tue, 20 Mar 2018 16:28:18 -0700 (PDT) X-Google-Smtp-Source: AG47ELuQ0ibyMR8Eu+Fri+V0EDdLYTUVoe3G7h3lHZ5wkDasgURtN691Ax6PzUsWauiXrcyhDZn4 X-Received: by 2002:a17:902:71cf:: with SMTP id t15-v6mr18708065plm.107.1521588498378; Tue, 20 Mar 2018 16:28:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521588498; cv=none; d=google.com; s=arc-20160816; b=V1nK1turO03K9lX7uabdIikTcKUKV05qbshj8LihGBSvOLvIWXj579FHJX5c3N66qs 9vaeUq3u3cVqvcZrDvZhvY60YT42txaP8rGS/Hn7UHXcRslnAs/Ps5hnm6fd5egiN1ti bf1jXLZtlG3DD3UneRnm5XI2K/S9/5DRvcNdxGJw+Tw2FWRH8sVkGcyuiWh1gNizmGZ3 OR9emk4SlCTyBgkRKtVW0JcvHkq6xoTiX4/61YxoQDFm5+SjLQztfSH5uygZoRzJdfGn 769HXGHVGuq4DWI8dHqsEPwBQyAT5UIEv6bzAmJz6El/3mj003cDWEP3lxa79x6dbiWb c8cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=ABcLB3QxSLxQPGgAqA9/Jd3awZ7yzQ/smhUkTeOBpAE=; b=gR0vhe2LHELGXUiwr4dTkApolJxhO565sgTAQ9GbIwsnthUGjmwnq6owqTa3wFHAIv bqai+hzvFYHDLCgPx+/n+vFZ1Hl2NG7d7nFFSTW9I9BK81RwzaZNqed14Gbee1Y3IXXA Tm7fOSAZ09/jUNJnqxX2opQlgI7oesvEi/IpNfUqoArGAVdQFK16KPDEeKfpmmQ6sRhE a8Enq1RoBOmzSKe/RbS7oPJzRXKgwcS9Fl/fqQpB1CccGFQ+et4LakNr19Wv3FXQu9D2 rF6JuvcWX73K+OivH403gkhks8WXneIxs8JVmE88yBZCB1KMdWrHNkYUSXuFPLbb7HUE AJ+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=p3zQCA/f; dkim=fail header.i=@linux-foundation.org header.s=google header.b=PTlOHqA1; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w4si1852142pgo.305.2018.03.20.16.28.04; Tue, 20 Mar 2018 16:28:18 -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=fail header.i=@gmail.com header.s=20161025 header.b=p3zQCA/f; dkim=fail header.i=@linux-foundation.org header.s=google header.b=PTlOHqA1; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751914AbeCTX05 (ORCPT + 99 others); Tue, 20 Mar 2018 19:26:57 -0400 Received: from mail-it0-f67.google.com ([209.85.214.67]:33803 "EHLO mail-it0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751522AbeCTX0y (ORCPT ); Tue, 20 Mar 2018 19:26:54 -0400 Received: by mail-it0-f67.google.com with SMTP id z7-v6so14331217iti.1; Tue, 20 Mar 2018 16:26:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=ABcLB3QxSLxQPGgAqA9/Jd3awZ7yzQ/smhUkTeOBpAE=; b=p3zQCA/fT/YVHKJ2PEmCqT0CjgWbx6/G1JrdLpiPfUMJeJceU/XfNBRbYYE+gKX8+e 6+aFu0+dvl0cHXFOPieL6MXlGQApWG9KP7gICTXsCu9xkUqCczMhsyhGLH/XqTi6Z1r6 GdSfS8qjFl1KQPfyk9vyRfzU02Se6ZQeikWXuYSRRVR4USSyTIieDmsp8Z8K4Aey1Ism jC+yAMlTILcnbrd8Yn38Kmcff+KMEOj5K6O0scLr4wipfhKqDUFui3dMPxo5s2U29/qc w3VcHz50GFejJ1kYCMbYctIEsUNVOkOg3oce8+kcXk7DWOe/PPwYd3Jplb8KDHcb1HQ+ McGw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=ABcLB3QxSLxQPGgAqA9/Jd3awZ7yzQ/smhUkTeOBpAE=; b=PTlOHqA1UNXR9dKP9gOBF0wiLVctxFnsoX56Kvg/FcV+YU3Xu3gpz4z0+1BUDT//sO duYpl11+uWskH8YoBgIUhMnui1lXdOB75owVxDZAUvKoFRDlyiWA9h2GAgTPKfQ7wnff BP51LRmid3BrVL2WwBd1ftu6gfb/sz9YZxKS4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=ABcLB3QxSLxQPGgAqA9/Jd3awZ7yzQ/smhUkTeOBpAE=; b=mTMoSmeTg0RsYG2f5jcojUT89D8dtcyg7kqycjVLnDUyWzUfW2VuOG7lTSN7cA14J1 Cj5G44keUdZAdGSDTvcDzy5whrRXQGLRAF/KKL5HTpDmTuACIqm8KyUHnqjoqj2VfyeL kEyrQXcXLWkRrXuve0HMFuGj3KWzLMdnS1PlTwl0URicUH8WtOYjZ4mTrMX1waZ+ty0b 7P2A+XRJCgZm2c3BUJX2veNNXFuMaBwFtWHzXiZM7Z4NvpmhKSI84X+o4wdRvPPTfKG/ 1Skaq+6nzN5iZL7FvrQs84SJmFlulfcKgFEg3UWkI9qSiPJsxBX1R3ebE62EA64inCnb l/dw== X-Gm-Message-State: AElRT7F0Oy24eWu5dZgFWZqXHUDn8wHAjfPE1sa+WJoI1rb8A4xfBZfo qIJ8jmZIpKkZyZ1Wm0dNjgIegsLZCiHijQSLCrQ= X-Received: by 2002:a24:cb05:: with SMTP id u5-v6mr1890375itg.100.1521588413517; Tue, 20 Mar 2018 16:26:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.95.15 with HTTP; Tue, 20 Mar 2018 16:26:52 -0700 (PDT) In-Reply-To: References: <1521174359-46392-1-git-send-email-keescook@chromium.org> <20180316175502.GE30522@ZenIV.linux.org.uk> From: Linus Torvalds Date: Tue, 20 Mar 2018 16:26:52 -0700 X-Google-Sender-Auth: Y_VzZ3LFQqYw_efetf0BlHJrEms Message-ID: Subject: Re: [PATCH v5 0/2] Remove false-positive VLAs when using max() To: Kees Cook Cc: Al Viro , Florian Weimer , Andrew Morton , Josh Poimboeuf , Rasmus Villemoes , Randy Dunlap , Miguel Ojeda , Ingo Molnar , David Laight , Ian Abbott , linux-input , linux-btrfs , Network Development , Linux Kernel Mailing List , Kernel Hardening Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 20, 2018 at 4:23 PM, Linus Torvalds wrote: > > Hmm. So thanks to the diseased mind of Martin Uecker, there's a better > test for "__is_constant()": > > /* Glory to Martin Uecker */ > #define __is_constant(a) \ > (sizeof(int) == sizeof(*(1 ? ((void*)((a) * 0l)) : (int*)1))) > > that is actually *specified* by the C standard to work, and doesn't > even depend on any gcc extensions. Well, it does depend on 'sizeof(*(void *)X)' being 1 and the compiler not complaining about it, and that sizeof(int) is not 1. But since we depend on those things in the kernel anyway, that's fine. Linus