Received: by 2002:a05:6a10:8a4d:0:0:0:0 with SMTP id dn13csp46107pxb; Thu, 12 Aug 2021 10:25:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLOb9jaKz+he8omgYHSCUjmovPS+f9K+zgEwTuAorL8EZk1BvOkVSfUw52OcwoMan22V0I X-Received: by 2002:a05:6402:d4f:: with SMTP id ec15mr6887737edb.353.1628789126631; Thu, 12 Aug 2021 10:25:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628789126; cv=none; d=google.com; s=arc-20160816; b=dNWgxYzeEx0uAnOt0072yEXC4dFTQDZA1pMyGgBJeYsKJL1Ss1QCiOukgi1vLJPVOB C4tw5QYdPvY2z8FGC157j9tk8exIXo7BgCwFg7BiwaSZqoWmxTu4aGlQv2MD8debHi/9 Y7c4ZFAJEXLFePg4CLFDHXyGdXse2j6HP2kw+vbEZ1Rd+zrk9Q69uZE8kYmnadWwpZjl 0t9hIox86vhn4JmiO0PL6UMRj2AiAITH0K9SVsfwlK1SoX/QPRrqrN7aUmD1HxgrKAL5 jERtWMa9HFo5qy32OgkP7L1BRpNPSfyBgZ71111r+82/fDlwYxup5kzpT4s9vXzLaWch QYPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=bvOIAvHT/Lw36eIDHwbsiEEXIRoETITJHslQj5KEmLc=; b=d7LdBxB71pGjlspXFhGKLGnSO3CisopCeMB1NyXSRGdS1gzTqHHFykzeg00LyumYIn B8E7XkUUdqlyvvpEW6OZT8Poe9WNh7vpsHFMTHCDQc8HMVD61KyCtZvku5SyFx8IXugs B5tcdNOrLx2KICprThwHUkOr/+8TAuB2pF+PX1vuI5vyxFGZbklSEwfLT4CxErM4cmwJ M6jgy1g2J1cDQI4cw7uRhKUy+Czta0W/mBRe8OVw/70u0T//hXp2BVUSxVwYf4JqBU/Y RG9V+kmIlHey6S8HFuLP3e9eapGVXNys4xcXoPVYYzS56LSgxl2akqr99F/3ttm4JHfc q40Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=kDoK2sQd; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l21si3208418edc.240.2021.08.12.10.25.03; Thu, 12 Aug 2021 10:25:26 -0700 (PDT) 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; dkim=pass header.i=@google.com header.s=20161025 header.b=kDoK2sQd; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237806AbhHLOFE (ORCPT + 99 others); Thu, 12 Aug 2021 10:05:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42560 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235893AbhHLOFD (ORCPT ); Thu, 12 Aug 2021 10:05:03 -0400 Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com [IPv6:2607:f8b0:4864:20::331]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45235C061756 for ; Thu, 12 Aug 2021 07:04:38 -0700 (PDT) Received: by mail-ot1-x331.google.com with SMTP id n1-20020a9d1e810000b0290514da4485e4so5083068otn.4 for ; Thu, 12 Aug 2021 07:04:38 -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=bvOIAvHT/Lw36eIDHwbsiEEXIRoETITJHslQj5KEmLc=; b=kDoK2sQdm8oPn8jph/Zcj+Eg2ChbwYjfa4vuLLDbXb/gz1jEZuY/DjCDZ6c0vdIDS4 vi5WRkncaSkvvFgm4/Y5EUDZtEfkJqjfN68Lt4cYbtcNB4i4SBp1w8meYFwZru2MbU8T P5nCHIBNDsBONv++52Z6TJZk8oHOZGjYeSeHfWSIQAjdWd0/BPNxRt/V4rbRAHCsIFVx sashmc8hcMYRHoXU+ybN+YRJtLbyXJ9OBdp5WWmk8HTBv2gvt6k4Qa+acDP2aV0LmccF iFCwza8wFNhT6BPa33yFr5q+hDhybjDDm8JLxQUBNJV0gClnHf4Knf4dI/k3e1hGw349 nErg== 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=bvOIAvHT/Lw36eIDHwbsiEEXIRoETITJHslQj5KEmLc=; b=gSFY4wjRCr6ieZoLzPh3vcFZC+RBRhAyW70Y9+lEpjxvwiNUcdwvGpbYoM0PN66Br0 ypVqeFEgSZp6JxS/dC5G52QSSr01XNbXKGbi3HJefJ8SlihtjuCvitAbt9BSUgw/bwfD 8/JCMNk3Px6n1+hJCxjwXfiOjW4EPZAv2SZr8BQ9QoOBwnvvPwGUGxZ1I0YfZ5P0h2pt TZKHv/dJHOCRk8z0nEjndaIw0UMlNONMGrTTlQgBAqM5tEvQZVvDfWTSK4YM6s5n3PY2 0+yVvFpsjCMah9G1dMv+HG8ky71br1N5QvApmmMir10I/3EH6cL/V5oeYdUJTQ2TW125 gDUw== X-Gm-Message-State: AOAM531Py/tV7XBqsuW4AX0IxaJIX8HlortmslbithK/a3CNcOfkYg1a xaBxErUxMjdKqjscHczBwIkfvO7791pwQGOWFAuYWg== X-Received: by 2002:a9d:6f99:: with SMTP id h25mr3589241otq.17.1628777077440; Thu, 12 Aug 2021 07:04:37 -0700 (PDT) MIME-Version: 1.0 References: <20200604145635.21565-1-elver@google.com> <20200604152537.GD3976@hirez.programming.kicks-ass.net> In-Reply-To: <20200604152537.GD3976@hirez.programming.kicks-ass.net> From: Marco Elver Date: Thu, 12 Aug 2021 16:04:25 +0200 Message-ID: Subject: Re: [PATCH v2 1/2] kcov, objtool: Make runtime functions noinstr-compatible To: Peter Zijlstra , Mark Rutland Cc: kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [-Cc most] [+Cc Mark] On Thu, 4 Jun 2020 at 17:25, Peter Zijlstra wrote: [...] > I would feel very much better with those actually in noinstr, because > without it, there is nothing stopping us from adding a kprobe/hw- > breakpoint or other funny to the function. > > Even if they almost instra-return, having a kprobe on the function entry > or condition check is enough to utterly wreck things. > > So something like: > > void noinstr __sanitizer_cov_trace_*(...) > { > if (within_noinstr_section(ip)) > return; > > instrumentation_begin(); > write_comp_data(...); > instrumentation_end(); > } Apologies for resurrecting this. :-) It seems I'll need to use this approach soon for upcoming KCSAN instrumentation for memory barriers. I'm able to use the same objtool feature that erases __sanitizer_cov* calls on x86 to erase memory barrier instrumentation, but arm64 will still be a problem because of lack of objtool support. Mark, on arm64, is the approach above that Peter proposed ~1y ago acceptable in general to make instrumentation noinstr-safe? Thanks, -- Marco