Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp930014pxb; Wed, 3 Mar 2021 21:27:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJw+DV01nu499Tf5+/m2zZERqiZd3bB/CRMLy1n0t3+CvKFKFApYi5EFMdMGnrwbXSZzytd7 X-Received: by 2002:a05:6402:17e9:: with SMTP id t9mr2451697edy.211.1614835672300; Wed, 03 Mar 2021 21:27:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614835672; cv=none; d=google.com; s=arc-20160816; b=wdsZzDn7OE8t6b0WajV4+Z/cw69pvO3m10vxzJbX7Y8L56miMRlwLv6BHf+eHfCXcA aM+4x2M8nP1+xElrlD+zMMcHt2bLAkNaYtkEVY4+9ce35/ouBeb4V4y2Q7lImVGr0EyE QVtxpvY0XhLljZmFEIfWKNFNz7Z1eGS6TH2rEEoLcFtA0SxMckEVtSDfDLZHoCVxJui6 1LNTllL1S5fMYlUdVO/W+t1hpUFPAyFvfxYrAIDrWcowrgUT86jwPMXPJ7JQD/rJpt3J yTvcenMN6mx4epb0D//0+IkVKSWBFXGJHzQiv+PCM4BrElpu/xv9rf+lM6Rtls59npMx e/lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=ddhmXPDy3zGbumRJiznqLgp4ODCLMkTy970kFt4Hpmg=; b=EbQdVX5wt1yWkbHXLt/ENMV2I8Ayd4vSHDJ+ISijsut6N0rDaWnHTilHeWkIWCkhp+ cXAgA/FZZ/RvDFDSbPtIMQHl/ujpd9XTTDeT6scZ06jwghFg9A629JRBDAlJhrgS3rxM 9Qr5lOvdl4pD1qLnWQktaPXf7tm5IyVZMhekJ5OwxmeE4OQ+D+a9X5JZBhrlQkKPxiQk q8lXOizZvPdMb+ELWmmzEhy4uNqQ2TI0DSQktaejHZzbAmAGTHtbeYSV0YYcwVLUD9lj l9qT+zzTgZOfCLKFrE7lpu9l9+IU4RtUgx7gZTTf6Zo7a1B76L5IhEdwy5evxqCoJnit hlQQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id zc18si725016ejb.148.2021.03.03.21.27.30; Wed, 03 Mar 2021 21:27:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1575393AbhCBD4A (ORCPT + 99 others); Mon, 1 Mar 2021 22:56:00 -0500 Received: from gate.crashing.org ([63.228.1.57]:59311 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343967AbhCAWih (ORCPT ); Mon, 1 Mar 2021 17:38:37 -0500 Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 121MVAHn003883; Mon, 1 Mar 2021 16:31:10 -0600 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 121MV9DG003882; Mon, 1 Mar 2021 16:31:09 -0600 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Mon, 1 Mar 2021 16:31:09 -0600 From: Segher Boessenkool To: Daniel Axtens Cc: Christophe Leroy , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 01/15] powerpc/uaccess: Remove __get_user_allowed() and unsafe_op_wrap() Message-ID: <20210301223108.GE29191@gate.crashing.org> References: <87im6ao7ld.fsf@dja-thinkpad.axtens.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87im6ao7ld.fsf@dja-thinkpad.axtens.net> User-Agent: Mutt/1.4.2.3i Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 02, 2021 at 09:02:54AM +1100, Daniel Axtens wrote: > Checkpatch does have one check that is relevant: > > CHECK: Macro argument reuse 'p' - possible side-effects? > #36: FILE: arch/powerpc/include/asm/uaccess.h:482: > +#define unsafe_get_user(x, p, e) do { \ > + if (unlikely(__get_user_nocheck((x), (p), sizeof(*(p)), false)))\ > + goto e; \ > +} while (0) sizeof (of something other than a VLA) does not evaluate its operand. The checkpatch warning is incorrect (well, it does say "possible" -- it just didn't find a possible problem here). You can write bla = sizeof *p++; and p is *not* incremented. Segher