From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD1A7C35274 for ; Thu, 21 Dec 2023 20:11:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 644F26B009D; Thu, 21 Dec 2023 15:11:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5F21C6B00A9; Thu, 21 Dec 2023 15:11:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 46CA86B00AA; Thu, 21 Dec 2023 15:11:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 31F006B009D for ; Thu, 21 Dec 2023 15:11:31 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id EAB001206B2 for ; Thu, 21 Dec 2023 20:11:30 +0000 (UTC) X-FDA: 81591920340.13.751880C Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171]) by imf26.hostedemail.com (Postfix) with ESMTP id 346E314001A for ; Thu, 21 Dec 2023 20:11:28 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=KIfYvWjG; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of elver@google.com designates 209.85.208.171 as permitted sender) smtp.mailfrom=elver@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703189489; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=n71TmRIpLCKyJ+zhDPnh2JHDUhteUqmqWNotznqdT9E=; b=PQiVFJWzJ3D4p31e6INx2RQ95bQibA6wtvSYr1x3EkcgPcCFO0zqggAoAE6x/vOTPcCgSf 0H1q0cZ2XrtvBME2sb1IBAL/CKUrI0eZ+as5rMSd72eSLMGXAYOq2f2G2KXlNGsJLYC0Up 2559BRtgUv7oqQIMBGYXEeUkiOrjNuk= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=KIfYvWjG; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf26.hostedemail.com: domain of elver@google.com designates 209.85.208.171 as permitted sender) smtp.mailfrom=elver@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703189489; a=rsa-sha256; cv=none; b=7i3emKFxAmQEy/tBOf8y+hZ0Zvn64PhHp6K4c2kkt9iJotigJIMpptWUaomt0bL07R7/0+ qQtT/kx0fKz/MKDP/Q5P9RkwMsJFITMOcrgnaxXLQOonWwLuyFmcT9ItikHcJZqfRJbeJ5 zl9TTYn0xBixr18FDJ2wUF/HmSkaIu8= Received: by mail-lj1-f171.google.com with SMTP id 38308e7fff4ca-2cc5a0130faso14098991fa.1 for ; Thu, 21 Dec 2023 12:11:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1703189487; x=1703794287; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=n71TmRIpLCKyJ+zhDPnh2JHDUhteUqmqWNotznqdT9E=; b=KIfYvWjG82rSTSqUafvozzq3t0zfdv7tYsXwwPJF0RNYshB0DrmwVms8cQxs7vm8ZQ 3r1N9ycHBtmLl7X3s4QGAY5TjtOraJJerm1YgSII22lPtkxD1AyrezEBWCmcK16+fdlq Mtk0xNDnEjsn0yFbBa7vYSNeflJttgg1Yzed5JXUL9nJmYaVLcZtQo2ZG9jRzktiAT9p jX8HGXkHuQl4VaSMbL58hXVmUykalLbCxxZqOI6t37Rc3jGjPBloFdeANJIU5Eu6wu/W w4rut4jmak6j4cfeuG2fXx/ic4avP9SNAPe665SFihmJHLSM7jz4+KQH7D8aWZpujJDX EZSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703189487; x=1703794287; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=n71TmRIpLCKyJ+zhDPnh2JHDUhteUqmqWNotznqdT9E=; b=M/Gfl1jjsJpQL6XBAXevO9G2PwH8cidjyHcU+xZG6DgL87I9O/a4VQn9clmfLZy4IV Q1YsJ8FUeddk+bB9I06iPB425ZDwlHL0OKfij/u995JwV345AvjLGFR0WCEB3E/xkBhB wCy7bOiqKa/LF8SRjEK9iS4GpWnW6TZSoR29oSE+uBvnNAYWhylKdnUTHUuwWE0POByU 7je1kVz9VA1xcL9rrGHeMXv/QWcFxlifDSTAl61QEke1cXdDmpGZ298sxHoxFUwjzvoP 4ifRRPO+/EC3rReoxTQlfZxi0sht+Hy2OhcW4svffrR1BgUcCD0Bo6gahBxw/EdIZcQl lXpQ== X-Gm-Message-State: AOJu0YwmZJq5vbN4lr6kZkOsFo5F+xPegxM+MvfzhC9cayrugzYc4veG ibP6Hvqz6V9tCZyZKBnKGlsIURWULUahmeRbDUs7yADhv+Ra X-Google-Smtp-Source: AGHT+IE59GMCd+Sp8BvDAITSutdUY75SWWv4LdP0IR0TwmnLInbBjgqesJQAX5QTIP1uIXd6tZ8Pc1llvEeXEFPlCKw= X-Received: by 2002:a2e:b616:0:b0:2cc:8472:c97c with SMTP id r22-20020a2eb616000000b002cc8472c97cmr72870ljn.26.1703189487134; Thu, 21 Dec 2023 12:11:27 -0800 (PST) MIME-Version: 1.0 References: <20231221183540.168428-1-andrey.konovalov@linux.dev> <20231221183540.168428-2-andrey.konovalov@linux.dev> In-Reply-To: <20231221183540.168428-2-andrey.konovalov@linux.dev> From: Marco Elver Date: Thu, 21 Dec 2023 21:10:49 +0100 Message-ID: Subject: Re: [PATCH mm 2/4] kasan: reuse kasan_track in kasan_stack_ring_entry To: andrey.konovalov@linux.dev Cc: Andrew Morton , Juntong Deng , Andrey Konovalov , Alexander Potapenko , Dmitry Vyukov , Andrey Ryabinin , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrey Konovalov Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 346E314001A X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: skzxbumgmux8m1pog9zkyi75tqorob63 X-HE-Tag: 1703189488-322906 X-HE-Meta: U2FsdGVkX194Htrh/35rIk2CUixghEpPusjxXOyEFg1S64cL3Jia0aT/A8QF2P/1HMglUSTqKxZn2acXO2g2kByuM9XQPCCnzz9gjc8BxM5KUBMvnhlbkgMWWdnLxYrzIU8OmxmSrNBqrpefIUieIjSOBp+heELG/HE7ts0rATWLPKSvN8M0ZJFT5cx8MFJkNRvy/2ldlPpCr2Qror9w1mn0R1X8BAt3sCDJWhVJKmeJ9vj7dpnHQkhSUdJroxZ1746HuaxRPQzsGWv51gnLD7n2sixRFkVrJ+pNYjLLWYBFtSlLse7SWSIUs0HDVD6LkT1COnSwuq3erQOoUm0KhHG+IL6smWOz1R55oa9UEp/xKPdj+8aHx/bSr3QalKHIngBG3bSP48FTpfSq41hEm3FGvfYOQUttbWWFvoCHeXGkPuTalf57vIWoTT3dw75pgnpV2HFMFwjw+GGEXp6HflMMdfasc+zF/Hf5/fHohdGDo/xoah+BBz13CeYI5pNY1rApaklm5QlWDaRR/WvwzaCKU3CePIwDBSRidqaScTxO4CbGCxTCYAT/wDxX+wq9N0ToE4mVwD5/jEMGEm4Oa8l5rVxyspfcrmkXD7XNkkY2cTEQZHzcxdIQDoQbqsYe+Zi1JQ6DhMY1MscbgL75VowfE8lyKmwGVxQDf/q7yT7BmVi33SvGRPEsy5yKP7M0Cp4IFJP35LO2bnP/rwmAMttBk913PqAuYafr4BrPVtj1JoF0VxohiH5eKH93kvnWjnupUzSS2Tw/0QJv9Si0gcGjB4ahjvhwZxy71SmGjZMzoQIb7i3hGRn7W7i0BzKX3QDr79Nfd0oPJqysxBv7JqEEzOQrEJWuwQ1hxfYyaHxYpc9zACBXH74hJYb8r531HiusmN9zYsmcN/pyGdK2L0StLkqGstcM9ON/My9C2YZTbgWTu9KYe3/1lukKPRmTuKVyCkwPGQ2kqFqdUnV HCGusdSM NNn1o6iXlCfSv4HaIeUCY91b07rzvxBJzDkgO4QuVu2CHC0z1dg7XTWYbtW44se1py7HQDKeetF8tokE2hoHMIUskC4GdUlNA1YlU9kpaa179NDFjemNS33CEdF+SjmDU2XYYeUONMIPV/tTlt+RgPX0Q6BRFtuwIXcp2nPTB9PAnAGPUzMp3xZBY83aE+kPGp9U4kNMROBclfmZ9sZAZYCM1D9OdeDih9zdmpqpYQyinUnzwYOI8UZUHHjE56YjSIHqHko3U87/5eXYzHbS5SkUjNSuEFwjjQlzicGarpWZw8/59Y2GKunUV+EmIYt+Veet51dEB3ieQiBDT+R8t6QE/dPXnp9jqD07nUtXhmsls9rAA16Z6KdS9UQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, 21 Dec 2023 at 19:35, wrote: > > From: Andrey Konovalov > > Avoid duplicating fields of kasan_track in kasan_stack_ring_entry: > reuse the structure. No functional change? > Fixes: 5d4c6ac94694 ("kasan: record and report more information") > Signed-off-by: Andrey Konovalov Reviewed-by: Marco Elver > --- > mm/kasan/kasan.h | 7 +------ > mm/kasan/report_tags.c | 12 ++++++------ > mm/kasan/tags.c | 12 ++++++------ > 3 files changed, 13 insertions(+), 18 deletions(-) > > diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h > index 5e298e3ac909..9072ce4c1263 100644 > --- a/mm/kasan/kasan.h > +++ b/mm/kasan/kasan.h > @@ -279,13 +279,8 @@ struct kasan_free_meta { > struct kasan_stack_ring_entry { > void *ptr; > size_t size; > - u32 pid; > - depot_stack_handle_t stack; > + struct kasan_track track; > bool is_free; > -#ifdef CONFIG_KASAN_EXTRA_INFO > - u64 cpu:20; > - u64 timestamp:44; > -#endif /* CONFIG_KASAN_EXTRA_INFO */ > }; > > struct kasan_stack_ring { > diff --git a/mm/kasan/report_tags.c b/mm/kasan/report_tags.c > index 979f284c2497..688b9d70b04a 100644 > --- a/mm/kasan/report_tags.c > +++ b/mm/kasan/report_tags.c > @@ -31,8 +31,8 @@ static const char *get_common_bug_type(struct kasan_report_info *info) > static void kasan_complete_extra_report_info(struct kasan_track *track, > struct kasan_stack_ring_entry *entry) > { > - track->cpu = entry->cpu; > - track->timestamp = entry->timestamp; > + track->cpu = entry->track.cpu; > + track->timestamp = entry->track.timestamp; > } > #endif /* CONFIG_KASAN_EXTRA_INFO */ > > @@ -80,8 +80,8 @@ void kasan_complete_mode_report_info(struct kasan_report_info *info) > if (free_found) > break; > > - info->free_track.pid = entry->pid; > - info->free_track.stack = entry->stack; > + info->free_track.pid = entry->track.pid; > + info->free_track.stack = entry->track.stack; > #ifdef CONFIG_KASAN_EXTRA_INFO > kasan_complete_extra_report_info(&info->free_track, entry); > #endif /* CONFIG_KASAN_EXTRA_INFO */ > @@ -98,8 +98,8 @@ void kasan_complete_mode_report_info(struct kasan_report_info *info) > if (alloc_found) > break; > > - info->alloc_track.pid = entry->pid; > - info->alloc_track.stack = entry->stack; > + info->alloc_track.pid = entry->track.pid; > + info->alloc_track.stack = entry->track.stack; > #ifdef CONFIG_KASAN_EXTRA_INFO > kasan_complete_extra_report_info(&info->alloc_track, entry); > #endif /* CONFIG_KASAN_EXTRA_INFO */ > diff --git a/mm/kasan/tags.c b/mm/kasan/tags.c > index c13b198b8302..c4d14dbf27c0 100644 > --- a/mm/kasan/tags.c > +++ b/mm/kasan/tags.c > @@ -100,8 +100,8 @@ static void save_extra_info(struct kasan_stack_ring_entry *entry) > u32 cpu = raw_smp_processor_id(); > u64 ts_nsec = local_clock(); > > - entry->cpu = cpu; > - entry->timestamp = ts_nsec >> 3; > + entry->track.cpu = cpu; > + entry->track.timestamp = ts_nsec >> 3; > } > #endif /* CONFIG_KASAN_EXTRA_INFO */ > > @@ -134,15 +134,15 @@ static void save_stack_info(struct kmem_cache *cache, void *object, > if (!try_cmpxchg(&entry->ptr, &old_ptr, STACK_RING_BUSY_PTR)) > goto next; /* Busy slot. */ > > - old_stack = entry->stack; > + old_stack = entry->track.stack; > > entry->size = cache->object_size; > - entry->pid = current->pid; > - entry->stack = stack; > - entry->is_free = is_free; > + entry->track.pid = current->pid; > + entry->track.stack = stack; > #ifdef CONFIG_KASAN_EXTRA_INFO > save_extra_info(entry); > #endif /* CONFIG_KASAN_EXTRA_INFO */ > + entry->is_free = is_free; > > entry->ptr = object; > > -- > 2.25.1 >