Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1339178pxf; Fri, 2 Apr 2021 07:54:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy6xNtcjS+gXZD+qELliM8CL+A7g+cvPElSFA/BYUvudEBxAfVU10eyUbSufIK/RPvsDpyd X-Received: by 2002:a05:6402:27d4:: with SMTP id c20mr15989765ede.271.1617375279938; Fri, 02 Apr 2021 07:54:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617375279; cv=none; d=google.com; s=arc-20160816; b=wtdl3qhQDmEnO5MjOreeBqJpio229w/W0W9BhSFoHEiZtDttgCF1mxDzakLBS9DXwH DhIuDQ5Qj0UF++bvDpaWr0+UxZmT2NE2IPIKYGs99n9rsYKYlzy9QxTfqAyeZjpS4qSe W3bTYtAW2eoLVAmN6TkaF6MRuGCA8/dUIRaRjstIUMa7OEel+rJD3TAK96Gy7FD/qZAv 57KVocfw27ekKO4TTZH/Y02v94R388ptjqUVYR6q+v1YROBpq8P6ApYvupcUx0DFruEA DYfAEJ5o7FhJ0Ke4JwEZzW9Sp+qFSU4wDgvPgY3+LzqDBfh/oUjqQuzjg/F+DfPNr4KW Koww== 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=A/1WuCFaVg2qZDoIsLGEvJzgk8evknJYEFhCJTn/Qj0=; b=eRJwVz1dgb9/8LefmiwbY82U7RfvMpWFJ0h7UFR+N3OSecUNKhlTevdbCjuw9j4Yd1 6WvFNdul3wfuMHiHkITb19K85tdXuJ5vPNRHgewFY/Ddz/vRseeIbc8mBOCSaZTbQQo0 KHPB1Vn/VrtRtLgnJrKt1laV9J+pj6p8Qra29jZBnz8vM5k1ZCa3B+Jn7/dbO7dc+o4B UqWS59dGmC8WgH2CFYbo8orV1lFHFuiZnaR6K9NlZ7q4PZ9TZLAsbCDbbmU021plOYWz tUK6gAxK27RInfAes5dgQuswDH6TiuAplrRIyv/e/e7cI/1UT9zurS1q4bvtR/Qrhf/O y1AA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="n8v/eyMa"; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id rl4si6236947ejb.229.2021.04.02.07.54.15; Fri, 02 Apr 2021 07:54:39 -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=@gmail.com header.s=20161025 header.b="n8v/eyMa"; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234479AbhDBOxQ (ORCPT + 99 others); Fri, 2 Apr 2021 10:53:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51062 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229553AbhDBOxP (ORCPT ); Fri, 2 Apr 2021 10:53:15 -0400 Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2DAEFC0613E6 for ; Fri, 2 Apr 2021 07:53:12 -0700 (PDT) Received: by mail-ed1-x532.google.com with SMTP id f8so1670220edd.11 for ; Fri, 02 Apr 2021 07:53:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=A/1WuCFaVg2qZDoIsLGEvJzgk8evknJYEFhCJTn/Qj0=; b=n8v/eyMafFStBbaqzhdb42dXlDzaKbInNwLUMNfmfb5+dLoFjX4uOtaxhYby4ehVuG 9yJtN3Y2cags3svVbaGrhNSGQpcDStwJ3rIIcnb46jGKNWuQugmWUYhhVaSkQ+233H4F c4Z05XBMAQTK35YlxDWHSxlSlLx45Rdc6sw/YjwdhMQcNWy4vlkyMCU/N/ZSrGbg5Jtk mJMDvAWIF17QWfYZYaw/sGnGuaUKhwMEqvWWd0cmTn36ZhvbFpjP3HYhTDKbfJEqLbrG jmhtMcUcxaHpcKqe/rpJxs3kKfWkSDI2n2zmdVs4TvmVJTaJBP2DECyWS43l/0oZ+ldt IVAQ== 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=A/1WuCFaVg2qZDoIsLGEvJzgk8evknJYEFhCJTn/Qj0=; b=He5a0D9IxKC48FE4z5JMjgQw3BKYEesJIPsLLQlFEIl+BO0tWsOZlZxQiIWzZjR0EN nrWkteTv3MwDzsKewnsrYrx6TfAY3ck0cuT4dCubS6RbJ32rR/mrk4nRdfLFFlLF5Nab kQ3z9cVfqQIQg30na3mXr0aU/XO02qMAswVygTNWv18hRG201WqyrujRh4qWCs1tQkVG ZZVRp5xNqbPu+nrP4JpK06YYoEqZibcEIOo2MoPruXppn4jmLunFnBLtD+NZqq7/j2jc QRoQLCQhaTNYj1c8KvLnfFX6sowm7ow6dhybxVbRnCj4s40tWE1SDu6EbAYcW/xSdJ9e ZVdg== X-Gm-Message-State: AOAM530TUCGjZZ+/g5YZw57Z+u48csHy6mSBpeHr35awLBezmXMDX/rF sQxvPc/ACP+o06BOFxLnerTlCjmFmzTNCyupde0= X-Received: by 2002:aa7:ce16:: with SMTP id d22mr15679489edv.95.1617375190744; Fri, 02 Apr 2021 07:53:10 -0700 (PDT) MIME-Version: 1.0 References: <20210331063202.28770-1-qiang.zhang@windriver.com> In-Reply-To: <20210331063202.28770-1-qiang.zhang@windriver.com> From: Andrey Konovalov Date: Fri, 2 Apr 2021 16:52:59 +0200 Message-ID: Subject: Re: [PATCH] irq_work: record irq_work_queue() call stack To: qiang.zhang@windriver.com Cc: Andrey Ryabinin , Alexander Potapenko , Dmitry Vyukov , matthias.bgg@gmail.com, Andrey Konovalov , Andrew Morton , oleg@redhat.com, walter-zh.wu@mediatek.com, frederic@kernel.org, kasan-dev@googlegroups.com, LKML Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 31, 2021 at 8:32 AM wrote: > > From: Zqiang > > Add the irq_work_queue() call stack into the KASAN auxiliary > stack in order to improve KASAN reports. this will let us know > where the irq work be queued. > > Signed-off-by: Zqiang > --- > kernel/irq_work.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/kernel/irq_work.c b/kernel/irq_work.c > index e8da1e71583a..23a7a0ba1388 100644 > --- a/kernel/irq_work.c > +++ b/kernel/irq_work.c > @@ -19,7 +19,7 @@ > #include > #include > #include > - > +#include > > static DEFINE_PER_CPU(struct llist_head, raised_list); > static DEFINE_PER_CPU(struct llist_head, lazy_list); > @@ -70,6 +70,9 @@ bool irq_work_queue(struct irq_work *work) > if (!irq_work_claim(work)) > return false; > > + /*record irq_work call stack in order to print it in KASAN reports*/ > + kasan_record_aux_stack(work); > + > /* Queue the entry and raise the IPI if needed. */ > preempt_disable(); > __irq_work_queue_local(work); > @@ -98,6 +101,8 @@ bool irq_work_queue_on(struct irq_work *work, int cpu) > if (!irq_work_claim(work)) > return false; > > + kasan_record_aux_stack(work); > + > preempt_disable(); > if (cpu != smp_processor_id()) { > /* Arch remote IPI send/receive backend aren't NMI safe */ > -- > 2.17.1 Acked-by: Andrey Konovalov