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 1AC06E7716D for ; Wed, 4 Dec 2024 17:01:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B3266B007B; Wed, 4 Dec 2024 12:01:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 361006B0083; Wed, 4 Dec 2024 12:01:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 251186B0085; Wed, 4 Dec 2024 12:01:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 01B156B007B for ; Wed, 4 Dec 2024 12:01:22 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 867C91A10DF for ; Wed, 4 Dec 2024 17:01:22 +0000 (UTC) X-FDA: 82857891942.10.AACB9F4 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by imf30.hostedemail.com (Postfix) with ESMTP id B88F08002E for ; Wed, 4 Dec 2024 17:00:51 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="Uz/yDC32"; spf=pass (imf30.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733331668; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=m0pOXTmAKAV8r7uAQE4p3uR7vbfVoxqeLgjHnVe01Fk=; b=U9vcszGiKBFJezA/jVxTYyCOzgHpzX8AXIXM54PeYHfQdN3+8HPfSju6D4AE2JawS3mWbY GGn24IwkLgLZ2gwdiodRsYSZ5fMVTxbbK/hU+yFBfVJWVTjPRnKwQXCIlFiKJnfE9bqBfL xPNaeoddUQhidwzPI9dH5hj/FlVk9wM= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="Uz/yDC32"; spf=pass (imf30.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733331668; a=rsa-sha256; cv=none; b=sn/NExZSua1pusuK3ncEmwIk/iPvf+GUefSZkQwwZtZrNRjXGW+zqLQalgPIIM6ujH6kGA WdFNlRYqnzit9ByjDGKdppi1X9cvcIyf8D9QPUOgc/1TSuPpVxMdTxTXNGhtJ2/3pmwG9f 6wI0g48LIVPE+A+UfhFM1ZKEvPe8iwA= Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-385dbf79881so721832f8f.1 for ; Wed, 04 Dec 2024 09:01:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733331678; x=1733936478; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=m0pOXTmAKAV8r7uAQE4p3uR7vbfVoxqeLgjHnVe01Fk=; b=Uz/yDC327pNOsKuN1SqfFAA4PcnKN9UW9F/qdhxy/8iku1XfGDpia+o3KypK2Dpa3M c89dtbknp+pfCdPcGS4hMXXGYPHTliab2jrynW5RyU6rpBwb8GqEGpQ+WOqm+bAatqI1 hdQUzWBA0drZ4KJZQ47g6u93fyrMhjGuMQKnIO8lFL6wR/sNzs0lr3sGWikpGz4FesL3 h7zbBeOcqJcRWsTGvxCyAkzZPaYIUcem1zJH6jXQYI00OzevzJI/+LlswpuZWa/M+3mB lENoHTVQiCDUD/ZFKnptgBOfUhzYIvYO9YBa/15f7tlA+HKK1dgokRnTF2LJv8lkBgN9 8e1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733331678; x=1733936478; h=content-transfer-encoding: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=m0pOXTmAKAV8r7uAQE4p3uR7vbfVoxqeLgjHnVe01Fk=; b=JoEpv+4ohjyAYRKxjr+gNEy9Sj0s6uVJ/UREla8KH/TsStcD8vUkdRyTXHbDz8mgo/ 3P8/unLcU5aRjvBKyKObHigWHstWVWNiBg9BZ1kINYzAvhxmxV8kjnXCmFfiak0VvJ3+ F3htCJoNhGKOo4ESQl0xQxexpAC/cnOmX9h0hnTovKVLVfAlFN3j7cvpWCenLyAbVUHD 3eEJ4scEWsOcTXu2s8Bw+YzCLYoxk41lpVQB12LbSO1I7lg1yWgKOEaBnO/9Nnyr14SS tvK1WTCxecTbWdFWGUKNItbrroo+u2Nx6hqJT03eHLv45ABpPn5AfwXbVrMhYdfElt2J kmgA== X-Forwarded-Encrypted: i=1; AJvYcCXz3Uc2iT4ikHEUrA1ZHrwA1gb/Tyfzhg2212SRgCjbfFGTkTgtCTvYUlrzRLASMvvnDLHNl2Y8sw==@kvack.org X-Gm-Message-State: AOJu0YzKSlonhYifXomvL2bZ+j+tALAzS2eAA7YwVNDCQWtCONPTeZSN 2nBJjCKmPta9nY+O7ltgmdAixJnwqDOlhUd9+8dmKCjoehGfVQyES2zrkGO1exFw/jr5zbnlNBP 3s7/MHWV5RLFJK/sONxypPs0UujQ= X-Gm-Gg: ASbGncu/t9qivK8VT6xTOJBemYfBmHN/L4PrDvCOLheaTiK3NOODPYY/QmIRBmWQCjT X+w4sbd+MisLBHo7Tfmfb5clUbKQ/58/wYw== X-Google-Smtp-Source: AGHT+IH1NBy6bWFZw7pkijVpmV68E0djJQ+VXoqqh5rsAmEl6Cif36GjAkNjEZfz2bgrojCnwjYaLtlxrBeG8uhkMtA= X-Received: by 2002:a5d:47ad:0:b0:385:e9c0:85d9 with SMTP id ffacd0b85a97d-3861bb8936cmr102707f8f.16.1733331676993; Wed, 04 Dec 2024 09:01:16 -0800 (PST) MIME-Version: 1.0 References: <20241126005206.3457974-1-andrii@kernel.org> <20241127165848.42331fd7078565c0f4e0a7e9@linux-foundation.org> In-Reply-To: From: Alexei Starovoitov Date: Wed, 4 Dec 2024 09:01:06 -0800 Message-ID: Subject: Re: [PATCH mm/stable] mm: fix vrealloc()'s KASAN poisoning logic To: Andrii Nakryiko Cc: Andrew Morton , Andrii Nakryiko , linux-mm , Uladzislau Rezki , Christoph Hellwig , Vlastimil Babka , dakr@kernel.org, Michal Hocko , LKML , bpf , Alexei Starovoitov Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: B88F08002E X-Rspamd-Server: rspam12 X-Stat-Signature: ch39qozig6sey6aqdm6hotjrn5ai71o1 X-Rspam-User: X-HE-Tag: 1733331651-494350 X-HE-Meta: U2FsdGVkX18pTOt37U7eRU3uDgPp8X0daVW9KKEFyX8soKABx+sbaKM+5bPrmKJ7Oar6K8DcRgCs836EvFHlYyFokMpjqGarRVk62osQcmUAPrwr8A4ohMeShu4RWG0cnC1RgrzCUFwIosQnpV1eKYI7/xiOrSE7rEY5/RfW+q3RkArNfL1bhAljAGxQhdWVlchPNvvV32eaWyXLoJVnn8Qwjba3VXoMlVnQNC7/sFOERKOt/13FsVjuVbLSlTyenAuR2S1IZaW86IGHEUdCpTbRVA8csCU5qG7qwHtPvHY0XsU6Ujpt66CodKEEUx0HkDmmM1Iffubk3yYWHl6cu5uZO8qkUX53QTZGp/R6XapB7aC6mP7GWcHsoJIbhP3gkU+imayxu4wrTkDOxySaPhSRpqkhobO/MD/cVoNfhDnP2J+EenqCu1QPg0uz6WznPhbe+7iMoetf2dYVS4U+ey0rudDO0naM09YA5X4b6C1C9uU5wrdl8N0SfiuxHsIgVLY/2h17+VmMayJWn6L9EeV/c2oC0iivnKDRCXM1qTIbZi29NwNshC+Z++v13DHnzAhU6MffwqpvbCBwxoDPmNKyenEJw77/87NwcON0ET6pfAH1dh2GtQD4NKuiukLU0Eq2OLH0S/1v1ZU7kce2n6E2sD/oigZa0Cb9FiIw75YPwFWhLBXYWKnC4F2W4orR2zQdq9T/fsE0rOZikf+QUxmHzq4zxiNJR4IHz3eFKJOYXpM/cdi3ZKiM0NA6ymkWArM8kLMIZqkfUQLE43i+mIPK7C3irapF/gutthNE2vh3WDJxBbzsOXyFBeyWvtENtqhSNtftxaJzZ9fhL+2aZAzIeUGwkgvEtPqprCmVDrpk70Q/NSGnuuKhEO6CCkiZBgb2c+LELUeDYRpHSrbMDrK1ivT3u20Cng9DMDpQFYL9ajIGLODlYoJdiPB5mnMaMvsEfLfYdeFvaIgvp+z CnKmuL6f bWd0b6Cljcu2zzpkKZiukyFFeHK3WbENUJxRlQRwzctw3KlVAaA6Uaah87evQ2982AfN0P6ao2Bbwiwifx4SI2NPlCY632XXZbeq7QUKt7V1jSBAv+P4qs8SI5OBrBUwPmHLnHJfIEOZiTVs0hcUJurONXi3nHyw9MgyIHzlZBiSjBmTtdPEC/SuzEK5liOoEmRNO2idCRnhr2XdvwqyKKSl4cRN/LTU6U7hyK5BXAm2bLEpse3WYaPZD8vbujF/f5jTEgPKJkaln/UygZsEwh/byIre2HuOs17cu/tp/Iv3qSTg0tTV1Y8mJbv9U2zbuOgKk6vR6Cxvl4pXCJz+jPGGi+3laJmQNldpBIVX/sCQR78Bb3s7FDVYKX9QOrv/EBjOp4GSJfKMinkqRu2ET9VqJ/7RnDa0rWGNStQy0xzLzMVfwBXGEK31ahKIMHw7++bwsdSU3E7+0TDGt3kUb2K++X0dUMBxCB10w4sxasRRGWT/HuYTiDMDTfQPDHRQirFmFmy3a+2TyI7byG7wss9T2HLVDuSWS+k+S2dmAask9cR0= 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: Andrew, What is the status of this urgent fix ? vrealloc() is broken with kasan atm. On Wed, Nov 27, 2024 at 10:16=E2=80=AFPM Andrii Nakryiko wrote: > > On Wed, Nov 27, 2024 at 4:58=E2=80=AFPM Andrew Morton wrote: > > > > On Mon, 25 Nov 2024 16:52:06 -0800 Andrii Nakryiko = wrote: > > > > > When vrealloc() reuses already allocated vmap_area, we need to > > > re-annotate poisoned and unpoisoned portions of underlying memory > > > according to the new size. > > > > What are the consequences of this oversight? > > > > When fixing a flaw, please always remember to describe the visible > > effects of that flaw. > > > > See [0] for false KASAN splat. I should have left a link to that, sorry. > > [0] https://lore.kernel.org/bpf/67450f9b.050a0220.21d33d.0004.GAE@googl= e.com/ > > > > Note, hard-coding KASAN_VMALLOC_PROT_NORMAL might not be exactly > > > correct, but KASAN flag logic is pretty involved and spread out > > > throughout __vmalloc_node_range_noprof(), so I'm using the bare minim= um > > > flag here and leaving the rest to mm people to refactor this logic an= d > > > reuse it here. > > > > > > Fixes: 3ddc2fefe6f3 ("mm: vmalloc: implement vrealloc()") > > > > Because a cc:stable might be appropriate here. But without knowing the > > effects, it's hard to determine this. > > This is KASAN-related, so the effect is a KASAN mis-reporting issue > where there is none. > > > > > > --- a/mm/vmalloc.c > > > +++ b/mm/vmalloc.c > > > @@ -4093,7 +4093,8 @@ void *vrealloc_noprof(const void *p, size_t siz= e, gfp_t flags) > > > /* Zero out spare memory. */ > > > if (want_init_on_alloc(flags)) > > > memset((void *)p + size, 0, old_size - size); > > > - > > > + kasan_poison_vmalloc(p + size, old_size - size); > > > + kasan_unpoison_vmalloc(p, size, KASAN_VMALLOC_PROT_NORM= AL); > > > return (void *)p; > > > } > > > > >