Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp6128797ybi; Wed, 29 May 2019 03:19:42 -0700 (PDT) X-Google-Smtp-Source: APXvYqyMvzML0qIj+3BMk9i1rCJzwsnVv69I+knBFQqQuKRITFznr8dF+8rdcRlF4Kx/hHR8y+Pl X-Received: by 2002:a62:7610:: with SMTP id r16mr150386879pfc.69.1559125182068; Wed, 29 May 2019 03:19:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559125182; cv=none; d=google.com; s=arc-20160816; b=Z+h97Xp26pr7C8gXqwnVldfBtaU4KyU+8fEjP3MwYrBy/PdmVIIivNJBSjMGUpXvHL XpVnhQvayBY6wOAADyKxCyIdKWUdisXDz+i+OZpUItLaKs4TldVpfK+vNzeMtbGH58b6 jA1JKn+Bhjh8acZMqlrUkz7GU+tJcV7qwHdUlLePYeDxteIYSTWf+hNvyvE6RWOzbVfX OdvMGZxSLQ1AGa38XedS6KUbgAUi/uTkKx/wo0llcc1Aj9GExP8tOhbR/omHFBfL5WKZ 7dMM6ZRJQPn3iAOmiStmrdyhS/YZseVEjFeEBTI55BH9ESzHlyLkbxrMdh4O0uUKg/rI DiXg== 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 :in-reply-to:references:mime-version:dkim-signature; bh=Abxu/H1sImqXuhwWhYSOk5xvOYnoBkkpjqInhihBcCI=; b=cxiMtdjRTmXBQ0dRZ8ftcVtrhdjpPHbMFaqgZzn0/oO+7ofFlkeUj8UQ0bbh85hlYT 4lWTAQPbRI6z3Z99mzHcklQbvJf6/LQ9F/5vLlRR6puZ9jCyEpsD+lEmL6y0RvNh5Nfx BP5r1WOvFGjs8hzb+kjPVIrdQ851XaGquDBrQK1+2AiOwC7VmWtx7Gn8oVz113CsZh/J rq0czQFDzofIOapboPpr7qk2yh+c3UcPjd8kj3s5yz51n8T7rQi2rYP1b9k7Stlini5N O1PAvEmz6XpKS16xubV7AThJk6ROiVJty8pVa3eYwBqz5mrFpJsQpnDP5UgzCCvt/nN9 p6pg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=uPCsWh9f; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u12si25179980pgj.145.2019.05.29.03.19.25; Wed, 29 May 2019 03:19:42 -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=@google.com header.s=20161025 header.b=uPCsWh9f; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726118AbfE2KQo (ORCPT + 99 others); Wed, 29 May 2019 06:16:44 -0400 Received: from mail-ot1-f66.google.com ([209.85.210.66]:33959 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725911AbfE2KQn (ORCPT ); Wed, 29 May 2019 06:16:43 -0400 Received: by mail-ot1-f66.google.com with SMTP id l17so1481281otq.1 for ; Wed, 29 May 2019 03:16:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Abxu/H1sImqXuhwWhYSOk5xvOYnoBkkpjqInhihBcCI=; b=uPCsWh9fRkWJuwlKpXHz/RZG8nW7YVKwC5/i0AHmBQAElVNCKYPnYDRGPWr2Sdiy7J FGbrAZmtywaEWHYlECjBy38lyCo+kUWgsOoyLdN9JcCHLXuHsVfd0CNld++/Ri8YnZAJ /wEL+fD8DmpH+o4Nkygolmx0hfSISheT3J6qbDzFobiY0PK2bQiYhh7ywr38sKK0BfCi bKrsgKW4qELWcwep0HGbl3J/E2D/Bx3IVrWqSQnvtjtFNFIflWwXuZAN5zDPK0liW9L8 JPaEVv4Vgk0MKUmIcicVi2gUce7F86R9k6BO/LqHPVAm0TaPXLX2Ht8Eb3X9GKl6IB8C Gp/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Abxu/H1sImqXuhwWhYSOk5xvOYnoBkkpjqInhihBcCI=; b=McniaomAJ3Ykw8rd1oRN392cJu6+2Hi2NPh8PEIfZF41cFt7OUX71aZKlOK42q+6cf ZFF2n/zXHIIW7OFqkJjCfi4dbtsqWyuF5DRPE+URHGBZ0HHQQOYXUxbdSVZn+H6CwOxN s9eJ+vCwce+nBgLq0WivpYtcS9g0gMcRvRmRJ9MJeC480nLl6NXaJoSnOT925zyroIuW ybhus7w3MaDAxVWNcNqjPYouN1sTcrXRLaodrvGRmAVgH/JYfEiMko7HOtaVsYIaSlEC oxEZGXxcYuRD+UzbEPdjy/ArZYeN0OzQ1neRegm8eV2row8l66rbgvOH9pTPKkc42v/G sgeg== X-Gm-Message-State: APjAAAVFGb+JT6WrjQEVGtm3fD+AB36zbajEkqs5ZHgbDuo7bTvAhh3P HwkHa6mSZj2izHBrS+d40Zmwi+1pERb6hsXxOIr0Jg== X-Received: by 2002:a9d:362:: with SMTP id 89mr37406316otv.17.1559125002323; Wed, 29 May 2019 03:16:42 -0700 (PDT) MIME-Version: 1.0 References: <20190528163258.260144-1-elver@google.com> <20190528163258.260144-3-elver@google.com> <20190528165036.GC28492@lakrids.cambridge.arm.com> <20190529100116.GM2623@hirez.programming.kicks-ass.net> In-Reply-To: <20190529100116.GM2623@hirez.programming.kicks-ass.net> From: Marco Elver Date: Wed, 29 May 2019 12:16:31 +0200 Message-ID: Subject: Re: [PATCH 3/3] asm-generic, x86: Add bitops instrumentation for KASAN To: Peter Zijlstra Cc: Dmitry Vyukov , Mark Rutland , Andrey Ryabinin , Alexander Potapenko , Andrey Konovalov , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , "the arch/x86 maintainers" , Arnd Bergmann , Josh Poimboeuf , "open list:DOCUMENTATION" , LKML , linux-arch , kasan-dev 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 Wed, 29 May 2019 at 12:01, Peter Zijlstra wrote: > > On Wed, May 29, 2019 at 11:20:17AM +0200, Marco Elver wrote: > > For the default, we decided to err on the conservative side for now, > > since it seems that e.g. x86 operates only on the byte the bit is on. > > This is not correct, see for instance set_bit(): > > static __always_inline void > set_bit(long nr, volatile unsigned long *addr) > { > if (IS_IMMEDIATE(nr)) { > asm volatile(LOCK_PREFIX "orb %1,%0" > : CONST_MASK_ADDR(nr, addr) > : "iq" ((u8)CONST_MASK(nr)) > : "memory"); > } else { > asm volatile(LOCK_PREFIX __ASM_SIZE(bts) " %1,%0" > : : RLONG_ADDR(addr), "Ir" (nr) : "memory"); > } > } > > That results in: > > LOCK BTSQ nr, (addr) > > when @nr is not an immediate. Thanks for the clarification. Given that arm64 already instruments bitops access to whole words, and x86 may also do so for some bitops, it seems fine to instrument word-sized accesses by default. Is that reasonable?