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 X-Spam-Level: X-Spam-Status: No, score=-11.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 73EF5C432C3 for ; Wed, 27 Nov 2019 14:23:13 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 37DCC2075C for ; Wed, 27 Nov 2019 14:23:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="kRrSvNX8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 37DCC2075C Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id D9F956B049F; Wed, 27 Nov 2019 09:23:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D77D26B04A0; Wed, 27 Nov 2019 09:23:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CB4416B04A1; Wed, 27 Nov 2019 09:23:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0148.hostedemail.com [216.40.44.148]) by kanga.kvack.org (Postfix) with ESMTP id B5C9E6B049F for ; Wed, 27 Nov 2019 09:23:12 -0500 (EST) Received: from smtpin02.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with SMTP id 742DB181AEF15 for ; Wed, 27 Nov 2019 14:23:12 +0000 (UTC) X-FDA: 76202274624.02.pot44_5628ccabe5f22 X-HE-Tag: pot44_5628ccabe5f22 X-Filterd-Recvd-Size: 5752 Received: from mail-ot1-f66.google.com (mail-ot1-f66.google.com [209.85.210.66]) by imf08.hostedemail.com (Postfix) with ESMTP for ; Wed, 27 Nov 2019 14:23:11 +0000 (UTC) Received: by mail-ot1-f66.google.com with SMTP id l14so19211486oti.10 for ; Wed, 27 Nov 2019 06:23:11 -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=LBkPBGlxcJWkzc1DuO04iDEIM0Z0eCMRKBsMu55icOI=; b=kRrSvNX8bs/9yBk/sVOULmxNZmlu2+vGBZU5LxJ3sH79bot/rdfmzIIHX2BTyQnDAJ epjIVhqVvPAl+tWSR2Wchyg/sdWpDuUrjyvD+rib/25EBxzPyK/2WmiEAA5qF47qsEFY DAidzCfaL7f9gnKCjT7wAMuxg7gAwzZNU2QHlG8YIFxA6pF6vKcVT9ls9o6TllPag/R2 2fuqV/hSxPuQvPLN9C5jW/kaQoQu3tNtyo1js+k4hG0T7RB4JEXJt2k+GEVocZJl3MpF cL24Oy3B95Qg1DbtS8IGr18vJ7eOeK10Zz6yoo/F88IgfHGim9buKew+n6iGfhtjqMkN Zmuw== 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=LBkPBGlxcJWkzc1DuO04iDEIM0Z0eCMRKBsMu55icOI=; b=pAF+dvoSF9cwXQR1nW9tKebn1hpRsDClFdUpHWSLluad5lySt+RGilUw2gxGhK95Ny JwuPAS5CCKW3gJEgaFYLWTKx0MqGE/3hFAsLISbAzu/K6XDa23RsAg+DbdkVA3GJpB9h yMDDcl7x6sie/3vjO2F//kSn3o3mf2ejk2mZv+WWILgSW1EWw19IYmbrr/A5pL4X1ywI UjgOpdWe/Ejz4DWYiYjp5ichrS/cYSsVgxKpk0lAL13r3l+zVy49+G9t06LhpmfD5I/Z SqmAq4iAl6sFZEc0lLReHuXbvNESleeyyHgYnINCAwjllEU91NQWZpeimDEfTJe8ro0e i/OQ== X-Gm-Message-State: APjAAAXBevJ8/MljG4oMWVG+ziy6gHPQ3Ou05OKN5UYUQlrtQw9Rvrpz RzrqhEZLfC6KPNfxo2VvUyeIAXozPWFaqOEbi3jXTQ== X-Google-Smtp-Source: APXvYqwe4+CEglutj0juntzM63qIecQ6qgtgE45jP/WSINvy8NupaV7DE7m0C9ILIPUX+7wTm/hXHlZ7hqYIjiwv5Ys= X-Received: by 2002:a05:6830:164f:: with SMTP id h15mr2056468otr.17.1574864590949; Wed, 27 Nov 2019 06:23:10 -0800 (PST) MIME-Version: 1.0 References: <20191122112621.204798-1-glider@google.com> <20191122112621.204798-4-glider@google.com> In-Reply-To: <20191122112621.204798-4-glider@google.com> From: Marco Elver Date: Wed, 27 Nov 2019 15:22:59 +0100 Message-ID: Subject: Re: [PATCH RFC v3 03/36] kasan: stackdepot: move filter_irq_stacks() to stackdepot.c To: Alexander Potapenko Cc: Vegard Nossum , Dmitry Vyukov , Andrey Ryabinin , Linux Memory Management List , Al Viro , adilger.kernel@dilger.ca, Andrew Morton , Andrey Konovalov , Andy Lutomirski , Ard Biesheuvel , Arnd Bergmann , hch@infradead.org, hch@lst.de, darrick.wong@oracle.com, davem@davemloft.net, dmitry.torokhov@gmail.com, ebiggers@google.com, Eric Dumazet , ericvh@gmail.com, gregkh@linuxfoundation.org, harry.wentland@amd.com, herbert@gondor.apana.org.au, iii@linux.ibm.com, mingo@elte.hu, jasowang@redhat.com, axboe@kernel.dk, m.szyprowski@samsung.com, Mark Rutland , martin.petersen@oracle.com, schwidefsky@de.ibm.com, Matthew Wilcox , mst@redhat.com, monstr@monstr.eu, pmladek@suse.com, Qian Cai , Randy Dunlap , robin.murphy@arm.com, Sergey Senozhatsky , Steven Rostedt , tiwai@suse.com, tytso@mit.edu, Thomas Gleixner , gor@linux.ibm.com, wsa@the-dreams.de Content-Type: text/plain; charset="UTF-8" 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: Archived-At: List-Archive: List-Post: On Fri, 22 Nov 2019 at 12:26, wrote: [...] > diff --git a/include/linux/stackdepot.h b/include/linux/stackdepot.h > index 3efa97d482cb..24d49c732341 100644 > --- a/include/linux/stackdepot.h > +++ b/include/linux/stackdepot.h > @@ -19,4 +19,6 @@ depot_stack_handle_t stack_depot_save(unsigned long *entries, > unsigned int stack_depot_fetch(depot_stack_handle_t handle, > unsigned long **entries); > > +unsigned int filter_irq_stacks(unsigned long *entries, unsigned int nr_entries); > + > #endif > diff --git a/lib/stackdepot.c b/lib/stackdepot.c > index 6d1123123e56..eb95197b8743 100644 > --- a/lib/stackdepot.c > +++ b/lib/stackdepot.c > @@ -20,6 +20,7 @@ > */ > > #include > +#include > #include > #include > #include > @@ -314,3 +315,25 @@ depot_stack_handle_t stack_depot_save(unsigned long *entries, > return retval; > } > EXPORT_SYMBOL_GPL(stack_depot_save); > + > +static inline int in_irqentry_text(unsigned long ptr) > +{ > + return (ptr >= (unsigned long)&__irqentry_text_start && > + ptr < (unsigned long)&__irqentry_text_end) || > + (ptr >= (unsigned long)&__softirqentry_text_start && > + ptr < (unsigned long)&__softirqentry_text_end); > +} > + > +unsigned int filter_irq_stacks(unsigned long *entries, > + unsigned int nr_entries) > +{ > + unsigned int i; > + > + for (i = 0; i < nr_entries; i++) { > + if (in_irqentry_text(entries[i])) { > + /* Include the irqentry function into the stack. */ > + return i + 1; > + } > + } > + return nr_entries; > +} Does this need an EXPORT_SYMBOL_GPL ?