Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp479642pxb; Wed, 11 Nov 2020 08:21:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJzutogZbKsSxLmhLVyS1FrQ3+Di3dT3nwgAKhT+niiLGlcwftd5zC0gmFjZw5QdM5L6TnV3 X-Received: by 2002:aa7:c054:: with SMTP id k20mr213034edo.224.1605111686027; Wed, 11 Nov 2020 08:21:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605111686; cv=none; d=google.com; s=arc-20160816; b=W1N0uGL4KapV115ACqoHsEXeCWbttTZe/SwLqfbnbMaA1uf0Z0HHr++FzZZ60kc1uf iqfsrM3JjLScx13Kf8AWvBv+ppBn18hNubD4UiGXvenWHcGpK/hI0GbFd5opydgzMHaH eVE1dV9W833djq+5isgJcrpUW2ZkznUaPJbcmZ3ecgyGuxCtebvNYbvI23uqsYQQ6h52 q+lt301FMwc2Qv6fihnmgsEe887t3z/k7vnefpJl4E4u47iYgSxGuFyGcAq+5y7b6ewH EXXmSw/C4vx1uTL3WwWFNZvsZKthb1W7AP+CTIQyIXnt5+5tM1Jow6F/By7e32kFTnVV kUpA== 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=NdgljsAg/2kl6g/hQQs/nkDVrJD6gaQwZKzBgT4Tycw=; b=kuW5nJqZJ8UohOKJrCxL5KD8hlkftO4X8Aw0pUrNqVJPdN/xD+cMDHBJcnS4sdMntP daSwRjvRITseR/qVymikdqWabclcL9i04oL1K+60yWXsKsiq9GV1otV48Spfexelpiqp JlQkYx3LS7CT2WKN6jbr92wyzDgOuDbn5du+fNc0BONMn/FQ3RfTlj9Fsz7zcGKZ5HZb hm3p1Da+NuGHaSfd8N5VvMfFg2dqjDLmfDYeUmGFBxBb8tEJk15MfpTV1T8KPhrbKuSh ESftAQNUzFLoUfe+E3p/20G1vuTSAsMRd3D6+l7bwox7yOIQMKvE658gxcamnjGkFd+S ztVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=EDK8+6vZ; 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 cn1si1779796edb.408.2020.11.11.08.21.02; Wed, 11 Nov 2020 08:21:26 -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; dkim=pass header.i=@google.com header.s=20161025 header.b=EDK8+6vZ; 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 S1726204AbgKKQTn (ORCPT + 99 others); Wed, 11 Nov 2020 11:19:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51650 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725922AbgKKQTm (ORCPT ); Wed, 11 Nov 2020 11:19:42 -0500 Received: from mail-qk1-x744.google.com (mail-qk1-x744.google.com [IPv6:2607:f8b0:4864:20::744]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 61289C0613D4 for ; Wed, 11 Nov 2020 08:19:41 -0800 (PST) Received: by mail-qk1-x744.google.com with SMTP id h15so2129777qkl.13 for ; Wed, 11 Nov 2020 08:19:41 -0800 (PST) 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=NdgljsAg/2kl6g/hQQs/nkDVrJD6gaQwZKzBgT4Tycw=; b=EDK8+6vZvqG4lgainA6noaRoMS9BYL+HJyKxtdibIsYOyZM4+qBxmZYkjgcHILiuDB r40ch7x5Hjr5lgJR2vl9f1hOU89IOY66J65dPWlRrlzn7cZt76xAhN/UEf5UsU5g9UHg M4S10l5GvCixHcZky2v9mm9O8up6atKysDwV79yZFLogABjYKXRT1+qE9FaSUL6s57Vq fWyEZ9MTjhv0SIq5Uz0tw5H8w5A5HR8r6cTl9av+YTUeZySii+2RtklJpxppjIb+SZ8C MKXiYkK8qN8K6nRNYiktCQ9p7zMAnXWsfWiDJY2NSp+gKMG6kfpSe5blI4Xca2i+JCR0 TfbQ== 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=NdgljsAg/2kl6g/hQQs/nkDVrJD6gaQwZKzBgT4Tycw=; b=hC1+WajdJSfENlPp2R1oib0wqYJU5igYqYuCy2lqrtzLMmUqQaIrujHrWcDtEbqHn5 lJ+H3MSCcyU9DGCdkPmry02/AG1DOBygLviaeIEJOxctaqtL4+arDs/P3V+lGMbdLFUG fHO8Sgv1BpfuBJO+hVIEBgWOZgTtSSlDTQwQuzQSKkvJp3L9g6DPZza+9HoA3z/WhefD 57P7/fEVOkD447gcBVIpBOWXw9rEZembuGdSRl5Hya4T/kuVd7Na+53o3nWtz4ZKq93i vgZH4TIhP3/FWu7mlwOVNcmiZ1O8iKbeHD8rJ167VoJUTBoREddxBAZsQwB60FyD/53u q8og== X-Gm-Message-State: AOAM533205NfcFYUh6/+4Rnt93f3pFvEP1qCf12+/vFQFEbJY4zyfTBu cJiB71CBQlurpt/geQ3NE8YoQnKmufEC79GLj7OhIg== X-Received: by 2002:a37:4552:: with SMTP id s79mr19714490qka.6.1605111580407; Wed, 11 Nov 2020 08:19:40 -0800 (PST) MIME-Version: 1.0 References: <560e04850b62da4fd69caa92b4ce3bebf275ea59.1605046192.git.andreyknvl@google.com> In-Reply-To: From: Alexander Potapenko Date: Wed, 11 Nov 2020 17:19:28 +0100 Message-ID: Subject: Re: [PATCH v9 23/44] kasan: separate metadata_fetch_row for each mode To: Andrey Konovalov Cc: Catalin Marinas , Will Deacon , Vincenzo Frascino , Dmitry Vyukov , Andrey Ryabinin , Marco Elver , Evgenii Stepanov , Branislav Rankov , Kevin Brodsky , Andrew Morton , kasan-dev , Linux ARM , Linux Memory Management List , LKML Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 11, 2020 at 4:22 PM Alexander Potapenko wrote: > > On Tue, Nov 10, 2020 at 11:12 PM Andrey Konovalov wrote: > > > > This is a preparatory commit for the upcoming addition of a new hardware > > tag-based (MTE-based) KASAN mode. > > > > Rework print_memory_metadata() to make it agnostic with regard to the > > way metadata is stored. Allow providing a separate metadata_fetch_row() > > implementation for each KASAN mode. Hardware tag-based KASAN will provide > > its own implementation that doesn't use shadow memory. > > > > No functional changes for software modes. > > > > Signed-off-by: Andrey Konovalov > > Signed-off-by: Vincenzo Frascino > > Reviewed-by: Marco Elver Reviewed-by: Alexander Potapenko > > +void metadata_fetch_row(char *buffer, void *row) > > +{ > > + memcpy(buffer, kasan_mem_to_shadow(row), META_BYTES_PER_ROW); > > I think it is important to use __memcpy() instead of memcpy() in KASAN > runtime to avoid calling instrumented code. Please disregard this. Turns out we define memcpy to __memcpy for non-instrumented files.