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 E56ACC636CC for ; Tue, 31 Jan 2023 09:30:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3563E6B0073; Tue, 31 Jan 2023 04:30:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 306246B0078; Tue, 31 Jan 2023 04:30:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1CE576B007B; Tue, 31 Jan 2023 04:30:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 10F996B0073 for ; Tue, 31 Jan 2023 04:30:31 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id CF341AB046 for ; Tue, 31 Jan 2023 09:30:30 +0000 (UTC) X-FDA: 80414573820.17.3A95A03 Received: from mail-ua1-f46.google.com (mail-ua1-f46.google.com [209.85.222.46]) by imf15.hostedemail.com (Postfix) with ESMTP id 05C72A0016 for ; Tue, 31 Jan 2023 09:30:27 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=XRAHzGnG; spf=pass (imf15.hostedemail.com: domain of glider@google.com designates 209.85.222.46 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675157428; a=rsa-sha256; cv=none; b=DBSlF4kVtHHSY0tJqVzXGOiP6uHEt3og8X1+bjG3Mo0GQd3SeHXFXYTfR39VQo5Sl3agdo HFjF6spwOUn1TvBN9KX2NfbJlqJTJV5+sOQKvsGIcRXhoT4eHwYDa0nRoGgmiETscKPOKp IC5rpioXGQd2krCcEWRvKFa4ZMLaQYk= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=XRAHzGnG; spf=pass (imf15.hostedemail.com: domain of glider@google.com designates 209.85.222.46 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675157428; 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=Cb4ZLvwVAqQMn3anowjzMX/KwREznkusXpss39hXIZs=; b=N8seHJM2RRhANMTRZ1FzH2T0ulpc+oJ86WG7/y7KN2MZM+4oKeu+SwBUgwUlcIaPIkj7pz pJ827hrUxE+318Q8gYLlH8FjPGY+QBAYT7TNxR7RHjb3z70O8TIWafE9e/qIXkeYxDq0rh m63ooqozy1n8Dcl2lfoaNjr8dcbW3zQ= Received: by mail-ua1-f46.google.com with SMTP id u29so2813297uaa.8 for ; Tue, 31 Jan 2023 01:30:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Cb4ZLvwVAqQMn3anowjzMX/KwREznkusXpss39hXIZs=; b=XRAHzGnG2Vhz2trHE2vGYlBS045uWpa6mo02OhCc+Y+yOHLRS6MglwEDJvQGrHlGMw atQggWzi93C4Omw16FSWlzEgyEmZT4s9pFUMWpxGg7iYKy8zDaaZ0nt5zDxLNROtJKNh RBaWJ1s/Q3YtGGPZTp48Y2XPd3pX88bhydwmpiaw7s4qq2ZFDkMtSdWGPOF6OPxJhMOe LBpDdqXP+HRyoiuxcj/9WVtf24dQhLSn8gdwQGEeYlASiLZ23/LBJNn2w3AVUqAC4dkL cZ2ODUcvMaI38UV6Nzz+mwQmJJDMg7B5n/+uH0XKwk4BIUivjOfJC2M7GVRCeHsBByMI zT+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=Cb4ZLvwVAqQMn3anowjzMX/KwREznkusXpss39hXIZs=; b=F8qcWzozuFZ1fg7E+A00IlsI/KCPwc4iEyw03oKujow3nKUodOoIRxcYgiSvpBU6x2 +kOyWjWVZlRyqJSCnv+VhV0He1XmiljReHYl0qKzbSgGKkdFHz/Mu/RGWpRnXIO7OJ2e lzH0kmP/M5w8120FunCG6vfeVmv/1rChMD2S9jjIUNeBxPO+affbxpha9rTjZVdoe1oF WMXKqPTTC35tZPL6QBBZdT3xtd2cex3i5GtRGrGT6R8mqUHPDElhsgWHvtgdYytSX7PK AHYn3XxN4kF1g/M9qGXlIc9O9MtbUWsuclJRBG6ixpfv0iS9HAFn/dlxUFpsLSG3QQXM ioVg== X-Gm-Message-State: AFqh2ko70NATxk7k5D7rzJ/Q+rX5VCSjTegYlW+4Dcq1bDEZqn4dp7f6 wA1CR3hqQmLY0be/6v88BhShFcIB4JXgWbsVQHIIIg== X-Google-Smtp-Source: AMrXdXv2QnqPvTZoUFbskWKQJ1VxBIQtfHPHrvs+nAWPAf+wbWhb34qdxYIIVbOh+Sl0rVVEK84poHcnOzStbV3bhwY= X-Received: by 2002:a9f:372c:0:b0:5ff:91d2:ea36 with SMTP id z41-20020a9f372c000000b005ff91d2ea36mr6350452uad.43.1675157427073; Tue, 31 Jan 2023 01:30:27 -0800 (PST) MIME-Version: 1.0 References: <9fbb4d2bf9b2676a29b120980b5ffbda8e2304ee.1675111415.git.andreyknvl@google.com> In-Reply-To: <9fbb4d2bf9b2676a29b120980b5ffbda8e2304ee.1675111415.git.andreyknvl@google.com> From: Alexander Potapenko Date: Tue, 31 Jan 2023 10:29:51 +0100 Message-ID: Subject: Re: [PATCH 01/18] lib/stackdepot: fix setting next_slab_inited in init_stack_slab To: andrey.konovalov@linux.dev Cc: Marco Elver , Andrey Konovalov , Vlastimil Babka , kasan-dev@googlegroups.com, Evgenii Stepanov , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrey Konovalov Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Queue-Id: 05C72A0016 X-Rspamd-Server: rspam01 X-Stat-Signature: rbomxynwd8zixknm3z4g3b8h6be9bs4q X-HE-Tag: 1675157427-642110 X-HE-Meta: U2FsdGVkX19M6458u5nmmXO8LwDyl3JAyuqy4AEvcysoWciLu+uBuWB2LV53lMVTUJFFC2SgCMBwsgMFIa86zaq2l5VR/1mctF8D+ClQB6zpj0yUzZR5UP1cOzd52FXXvQw/iS35ASkDDe4WjCDJd61vd3dt+1Yd6Rqo0ndOJiUU1w/vnCzh2V06QTRstsW2yqDaD50zlPWKnLIg9nsdKMXyF0/pv5IZO+GBgwhV3FSVxcBHC2mi+TEA9W7MApPAcTj07g+xrxV6Rwktj+FHz2s8tQGg4mzzxl8WPPWEk8JT6/YW+URB7P5tiM1jeBFqtjMfdb6Zc+62A4sQYuJRFkiNneD22GDyYIitNjLiIajxvLoTJv7x91R1abu9aljU5ktod67nA6hCPDHUACamn2cvUXe68cI/0MmXYs/OMuUPWKyEHwKvUvC9Gi+weQZJ4AhCnoy9FmPdIJPB6q1B9utQhKYaH9Z3jRysUfZnhT6AVnE29mPxJgSMPaMlalFB64h4VA9CyhgzP4zRS6G5gB6Rsnck15vGa8CTibqYbWLSsYWpRMybZXbRRw/YjwTlLH0Ok5QXW35WEn6JS/92SbqQH0RWWxJy5WDxGwDnHn79oCf6Dcvg7TtbshaJuNXi2hFH28ZWqhRIjgGa6G85h4QbrROgMlRJ+hP7vbJxIoomn83xGuWqcvo7NNiOu8rot7d9hibvRaroIYefpS7NbNS9KxuFFgtC6IvaE00iwCpJSvEInZuNtYfSzWpII4kMVhBfZKpl0ePFvdEBoCnRcv009dfomNF2kifbCuzb0g2w1bZP72HHrgl6IOR1+AQiOuN5rbGbEsuKDpWFFpmk0N6u3hryO475JN71geO3P4Y9t0d2+VDmgKrOOEOp6+ajfSk6uFwErpTKOG/EJKdK0TAP9lUVzMyDwdCjqdBK1co7o/0Z5pd9vFdqM7XoCrlzqGFU6nQsUTsxZLF3SVT 6K3a5cBL 4w6a1xwIbXcsHCFUsdAB7FHyD4OZynH45cLq8UCvddeofb4A/oCmo81Urfl4Nnc88zLFNoQil43YtFYs7XeYT2dhrzUkrMBaDIumrZftCObXMYDCkfaYPOiE+Okhc7KvdXSf+1bGAC1LQ8sYa8zys/LS4z7xrQAWHzeEkUFrEfvtbXeDe8PJmWMwz/MG49mJG/LMtfmpPj+BT5bwoRu9mvSBBkdSDGIZ5OCEJoTrFULmhzhOOwmbNQzYF1VE2uqTlu7cr06au35zMoew3NrS0N21ZmnvqNcFW97RcsNcZl/vNxE9RF9/U4KY/Kg== 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: On Mon, Jan 30, 2023 at 9:49 PM wrote: > > From: Andrey Konovalov > > In commit 305e519ce48e ("lib/stackdepot.c: fix global out-of-bounds in > stack_slabs"), init_stack_slab was changed to only use preallocated > memory for the next slab if the slab number limit is not reached. > However, setting next_slab_inited was not moved together with updating > stack_slabs. > > Set next_slab_inited only if the preallocated memory was used for the > next slab. > > Fixes: 305e519ce48e ("lib/stackdepot.c: fix global out-of-bounds in stack_slabs") > Signed-off-by: Andrey Konovalov Wait, I think there's a problem here. > diff --git a/lib/stackdepot.c b/lib/stackdepot.c > index 79e894cf8406..0eed9bbcf23e 100644 > --- a/lib/stackdepot.c > +++ b/lib/stackdepot.c > @@ -105,12 +105,13 @@ static bool init_stack_slab(void **prealloc) > if (depot_index + 1 < STACK_ALLOC_MAX_SLABS) { If we get to this branch, but the condition is false, this means that: - next_slab_inited == 0 - depot_index == STACK_ALLOC_MAX_SLABS+1 - stack_slabs[depot_index] != NULL. So stack_slabs[] is at full capacity, but upon leaving init_stack_slab() we'll always keep next_slab_inited==0. Now every time __stack_depot_save() is called for a known stack trace, it will preallocate 1<