Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp462484pxb; Thu, 14 Jan 2021 10:01:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJyUKVmveER20ix5XBEg2FfwlUFRvVyfkmhHKHSj2zkQtveLWdwWad3NkO4/qBx8JEraTr28 X-Received: by 2002:a17:906:5618:: with SMTP id f24mr6167804ejq.517.1610647317783; Thu, 14 Jan 2021 10:01:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610647317; cv=none; d=google.com; s=arc-20160816; b=d8lwHV2HnchvJelFGM5C+CiCO2AgXIiiXUrF0bHru6nsLU+dzroA4WevTCWJPyCY4Y nRjvBn0NcVJ0HKsLe4bNDD/GDxpus7+k8HbpwSXotAMtLU4uaOegWhk1hSdGd9SZy76V PaJEe+DRSCUH5zN4qWbe79hxiR4jjhHrmw3IPM+rw9k5xCxnuZ06yOXoAdStDmuJ1UwS f2kdKe3glSjxjVLuiku+eun0E9VfJaMzNbp9mN9g/i++WmPk97z4VXP/Ha6oABUWWYEK 0ePtLfD1jSbZHDCveNAeDYfr2sCprEEqSJxnE0UXAxeTTn3p8Zk75nACxvJWvp17XGHv EyfQ== 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=2auPNUUUKSqA2spBBB38ITsZONoHBGZrmNd5ga3XBtk=; b=KnfmaB1LGm9HlNVuPObRPZdXqvSlCZqs+KLC/5060C82aje61unJpxfqJ1WnPYUDBk OoaUfuYdrXMCygbhEWqv+czlTuD0dqCoV9+6e/sC31Z96LYNCWpLPUl59vkgYUxlPT9w gEhTs9j3nm+beJmKpknN/Tpu3wE7PoivKbK0Qd0EZ1ppYb581g/8jZG4tHFzxjwdvGB8 ub9L+rJiJ2Px4DW2ibaIzvTccYo2Gj3chHZCrBW+low4J8NoXkx3i1diKTUKZfyk/1ru yk1TR1CBPlz2C9Wxp4hU2mBq7MXYZ6QQAl9o7/rNv4P6Gw0eGJ+WsH6KStAhQ0hJiHcQ 3ahA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=PiWe9Ubm; 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 c12si2148051edq.395.2021.01.14.10.01.33; Thu, 14 Jan 2021 10:01:57 -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=PiWe9Ubm; 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 S1727799AbhANR7t (ORCPT + 99 others); Thu, 14 Jan 2021 12:59:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54002 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727143AbhANR7s (ORCPT ); Thu, 14 Jan 2021 12:59:48 -0500 Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com [IPv6:2607:f8b0:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E4C02C061574 for ; Thu, 14 Jan 2021 09:59:08 -0800 (PST) Received: by mail-pg1-x535.google.com with SMTP id c132so4302022pga.3 for ; Thu, 14 Jan 2021 09:59:08 -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=2auPNUUUKSqA2spBBB38ITsZONoHBGZrmNd5ga3XBtk=; b=PiWe9Ubm2QbW6BtuO6wL1fEVZT8NR6DfhlxC/GA4BPn/RYau9sOW2oP5qfxTt1UMO9 XyiVuuQ6BWVA5ARXyNfG78mVg4ByoWzWUloj+fqes6TlbfYPW1eV9xJhWWK2KMAI5QTo p147499r6HH/cKSonOwi6snhx0Szt/rBsw6jn1AeGGy9lkJIX5Q1wb0k07COvfYZT/+v PMlGy8Q9eeQ6qbIMFE12qQdN+1u+qWvc4IeuMrF5mNnD3qq13LS4SeJZQiOZg5U03+ll DEMJxmcI5q6jDk0F2j66wLbar9QUTyCOWR5J7DyuGOw2Nnlbthiy4yjLEsuqqDxlEa8c 2gmg== 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=2auPNUUUKSqA2spBBB38ITsZONoHBGZrmNd5ga3XBtk=; b=h1sbSrnpYxqWh1swDTci8VbGbahP60KAat6Nh0JbWTQyiIEI7q0Mk8yw/dH02UYn++ wtBPdJ+Qgv+cpV/DsqoBaFu0wS2xAu49brySqLWLaI0oLf3FbfGNZHalXxVOhLGe1y4J 4Gc0fzxWK9pOvCLe933Xn+FfW5txbNiffubTQqcqYTmpwicdOn6CKe8B50erxzipfZ0W DyJ3C+SAGZnXnDALPkZ+EFh7x7IwDGRkefsxnWOpkuF/4eLEUKhSmvN4WfDjhspykjFc /wOfbsTjX3gGa/U5caQrS3M0xQpLrGkYtrJNGhPQEz1YzPEc6wRIS7pMwplIkweEVvi0 8V9Q== X-Gm-Message-State: AOAM531wsiygm1l7yxJAilPk996k1MKmG9HUIfEmi6YYVmx+/RmeEzmm LIbKI+l6oIn/c63by9zDSUFsnQ1iac+s8rMoHRjBUg== X-Received: by 2002:a62:e309:0:b029:1ae:5b4a:3199 with SMTP id g9-20020a62e3090000b02901ae5b4a3199mr8242200pfh.24.1610647148349; Thu, 14 Jan 2021 09:59:08 -0800 (PST) MIME-Version: 1.0 References: <77015767eb7cfe1cc112a564d31e749d68615a0f.1610554432.git.andreyknvl@google.com> In-Reply-To: From: Andrey Konovalov Date: Thu, 14 Jan 2021 18:58:57 +0100 Message-ID: Subject: Re: [PATCH v2 11/14] kasan: fix bug detection via ksize for HW_TAGS mode To: Marco Elver Cc: Catalin Marinas , Vincenzo Frascino , Dmitry Vyukov , Alexander Potapenko , Andrew Morton , Will Deacon , Andrey Ryabinin , Peter Collingbourne , Evgenii Stepanov , Branislav Rankov , Kevin Brodsky , 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, Jan 13, 2021 at 5:54 PM Marco Elver wrote: > > > +bool __kasan_check_byte(const void *addr, unsigned long ip); > > +static __always_inline bool kasan_check_byte(const void *addr, unsigned long ip) > > +{ > > + if (kasan_enabled()) > > + return __kasan_check_byte(addr, ip); > > + return true; > > +} > > Why was this not added to kasan-checks.h? I'd assume including all of > kasan.h is also undesirable for tag-based modes if we just want to do > a kasan_check_byte(). > > Was requiring 'ip' intentional? Unlike the other > kasan_check-functions, this takes an explicit 'ip'. In the case of > ksize() usage, this is an advantage, so I'd probably keep it, but the > rationale to introducing 'ip' vs. before wasn't mentioned. Yes, to avoid having a ksize() frame in the report. However, I'll move _RET_IP_ inside of kasan_check_byte() as it's inline. > > +bool __kasan_check_byte(const void *address, unsigned long ip) > > +{ > > + if (!kasan_byte_accessible(address)) { > > + kasan_report((unsigned long)address, 1, false, ip); > > + return false; > > + } > > + return true; > > +} > > Like the other __kasan_check*, should this have been EXPORT_SYMBOL()? > Or was it intentional to not export as it's currently only used by > non-modules? We can add EXPORT_SYMBOL as soon as there's a need for it. Thanks!