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 C49DFC77B7E for ; Thu, 25 May 2023 20:04:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B5863280001; Thu, 25 May 2023 16:04:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B098A900002; Thu, 25 May 2023 16:04:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9D0E3280001; Thu, 25 May 2023 16:04:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8F803900002 for ; Thu, 25 May 2023 16:04:27 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 53E1F120D6C for ; Thu, 25 May 2023 20:04:27 +0000 (UTC) X-FDA: 80829854574.10.44F32B5 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by imf11.hostedemail.com (Postfix) with ESMTP id 549F24001B for ; Thu, 25 May 2023 20:04:25 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=NKPfoDYr; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.43 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1685045065; 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=7GenWYLPOmh/DxUR71oJ2OvVJUeCOFtnm9yoLhzSJ/E=; b=yZ5ed91KAjs3MH9xD1xIi1BFGmmn/VP41X6f8RwbsOSvlpThqNF2275ilvTkgs4f5j+xw3 3YjDFi2+doO7aR9vQQJofTJDmsapyyDWXqm/5Lsx48r2MHbReDfFi+ly9u+NMGmkwQvVKa rApnybjkMPUdrW7R9k0PYw32DoarVCc= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=NKPfoDYr; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.43 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1685045065; a=rsa-sha256; cv=none; b=xe8Qqo53j4BrPAeOT5upO+3Rf/TKK+W1VUg2b4G0ZdVsXzpcEETOw9sN3K8WX+q4lg+bZo XZvvuRYlXTR8FhIQUpL3O1uQHTWhl9XtQFBsWZXx2wBJhWofyDw+Qp/2ovLUxOck6vOJv1 /QDng6Ic5prvw03d+WZAYUOs6cr3NnA= Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-510ea8d0bb5so4413909a12.0 for ; Thu, 25 May 2023 13:04:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685045064; x=1687637064; 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=7GenWYLPOmh/DxUR71oJ2OvVJUeCOFtnm9yoLhzSJ/E=; b=NKPfoDYrdLeFmk2aRdYPxqPS5pW5Nof94OU1LE1k7d3n4+RuYbf3dtZX81FOmgTzK/ sLqfSBI/22EKUNuB9g5jJppihQiMCTHpCAjwXsmhXtkj7d+i9yGG1LSsR6AgbrBB5UXT e0zmsgoIEjRNkt2fkd4ya7KKCjNLr9lg8cN+F2jG/l1XD59r5DafHGcOQ51T9kbH5vkY mj2noB7t5Dc2KaLxoFwmA9wSI1RWdtvYDd6NF50EgdGVbU5BpSTgKMATR8gkiK1H/GOe Ti89wsXJSop7ACz+Fo5qcA5ZcWuH8SO+wbchq1LkFwAqIwPAdo6dkpOPQubVVV5qemGi fH5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685045064; x=1687637064; 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=7GenWYLPOmh/DxUR71oJ2OvVJUeCOFtnm9yoLhzSJ/E=; b=OLjBejiQsaLKo8qv0iGBCfw7NgyX7srGYLZ8wQiAEW9H+VgxVOVShrbQKdHSwE5zhF J0MqiXI2WfEXLScuKXDdbAut2yVOv5aO39P2Dlu0klU/YsBL1Iy2DcED+PwAVG/AoTRx EXe7dHhgf3mkl3xpO6ezCdQRSkMVnI02HLHN86hSu+xzuraJNqECC1dBDuitrxUgf8HD 7I17uATaKISJDt6r/F62tO8ARhNtmeh3eIVpXz98RWEwPIaSLv1FnM2OzSORrbQY2uwl K7/gnFG8RPQUi5D4mzo9K8VmSdXif0IM82iMS+t1yhLxODrv1VlXAWKdvp9Y82HIesXA FGmQ== X-Gm-Message-State: AC+VfDxVMt2I3gSZsnoo+BfLD66eE+96mBNpWa1F0q+JVPwo4NJKCXSI WJh+oA6hV/cXFYcmMy4d+bwH9TM4IXGCnmJ0IU8= X-Google-Smtp-Source: ACHHUZ4fIXNm9bRQLhHZGBF1EIJH0qiIX6N+tTNSqcp/PEm4yQlaqSucY+RtlrFXB1XPuhcL8aIs5zRM9ZqVQLiLwhc= X-Received: by 2002:aa7:cd79:0:b0:513:53f7:8ca2 with SMTP id ca25-20020aa7cd79000000b0051353f78ca2mr6245246edb.9.1685045063476; Thu, 25 May 2023 13:04:23 -0700 (PDT) MIME-Version: 1.0 References: <20230524082424.10022-1-lstoakes@gmail.com> In-Reply-To: <20230524082424.10022-1-lstoakes@gmail.com> From: Uladzislau Rezki Date: Thu, 25 May 2023 22:04:11 +0200 Message-ID: Subject: Re: [PATCH] lib/test_vmalloc.c: avoid garbage in page array To: Lorenzo Stoakes Cc: Linux Memory Management List , LKML , Andrew Morton , Baoquan He , Christoph Hellwig Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 549F24001B X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 6ont8c3x9bw7usbnjaur8enmd43zsin1 X-HE-Tag: 1685045065-564203 X-HE-Meta: U2FsdGVkX1+29/7c/gZwQgDGzifno9v5c4zf58CIxNYumkEbYKs6/FcAT3PCTGes4StjQvnBTa8WnEsUTDuFIqmAZO1EKkT2gWqsFll8vA/SBh69lbmNiCWpF2GfR9aRM89WFWYVluroL4BcEzTqIMkjwK0J9/fNRb6S6no+gbMZn9G+1BuZzPQB8WcnukozTjvvzLZBnxOQNBdZ4UcYbOpJvNY20dn1P9EnlluBMKxaHSR7Ihxjmajsd/LWzogLjosxmGsxLJ70yt+XHd5wfvk6qBhQhQnZbnXAUvKOP5TQ0+8z9LTHFfpQrbMZIEPtmJ7XZb/mogfkqXaYyp1v56sSkF+FuECOx5bGp02eUYik0nN//YH2okidgLxbYwiM1xSPGojQiCmNaPij8nVrJKsutDoHwtVN8nAjXcjqsqZyOT9PH0XA3EiTlEi9gqUWCfDrjdmIutwLJ1UYq77cm3cfdvZTbVNTrEo9RPUFEJNpD8yprNdf+sjtJ6FGRi79agNPXMgVtSKMD2RfAFr/nKlQU39LoinkxqYkjgFGUpXHXTBNtnR1Y2BA90J/fF1NxAQVVsuCkcq70Scym5wdCoeZ4N0x6vzr8xsxJW3hnHW1BiXVCK9Q46rmGU9WyY4vZhShARUUFNL9Rwz7MsYfKp/+QieRFHEEs22r0V8xn8WqVsniKMFM1HHlBqTlK39diU5YKMyPhnKM0cX76Y6TbLbxNTeyMUgIYXTZVRv6xNgcF3mM9w4tBdcc7Cj6EbNdzrR2s46u1XakASshqGFbkXOU79jhT2j9Tmk+noPZS3gRG4poFdOX/B4aEFiToDeZA1zKG+eiRUpQCaWkB/4Ci+sDXGnmxYaok4zx2ySNlQ7GjpTggrF3oXQ/vWDTS8bBXFsoxguHzg9pePFWeq/ZWYSkUdlzsOHnbtGdlVGTywp4p6aOFevEf7QRbhgKPz2Nn01pb+MLZOiFs6JUYK9 JaMNZfLv KmUT6dW8YHJzP0jlQrUJDv5RcXdrIhaGZoXYDvYQyGETQQLIhptTrGHLXf0mBWuPNIvwd1DvEUqt8xgmfs+ssh2kAABuffE3NAmMz4oY5yrzwesOluIyGHz9Kc/ugAptmAB6Ry9wC0oD2wHgpWoEilXEZ7dU6byigKcCnq4/RRB784aP7Zz2a7bH/NJNLCX9/avbCrQB8QwyzGwgyyX6WNwg1N7yporRPi1saszt1P7Y/FFiXUyoGYFZqVxYkAbFhL5BYCa2LEnVfr2Xa0/9Q0+9Nj8MV3K/8q1OQT+DZHsvOOAaCt0y6VK0+0NC6GXJrDymKOVuyOdfIJ3SZR7oYGGAgONx+9xtZrgJxTrqrvZvwRznQl3AeAzoGYIA2r9BJE6bZVYK+NqCeHN8ZLdFbKi+YtSsmYzanetYR 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 Wed, May 24, 2023 at 10:24=E2=80=AFAM Lorenzo Stoakes wrote: > > It turns out that alloc_pages_bulk_array() does not treat the page_array > parameter as an output parameter, but rather reads the array and skips an= y > entries that have already been allocated. > > This is somewhat unexpected and breaks this test, as we allocate the page= s > array uninitialised on the assumption it will be overwritten. > > As a result, the test was referencing uninitialised data and causing the > PFN to not be valid and thus a WARN_ON() followed by a null pointer deref > and panic. > > In addition, this is an array of pointers not of struct page objects, so = we > need only allocate an array with elements of pointer size. > > We solve both problems by simply using kcalloc() and referencing > sizeof(struct page *) rather than sizeof(struct page). > > Signed-off-by: Lorenzo Stoakes > --- > lib/test_vmalloc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/test_vmalloc.c b/lib/test_vmalloc.c > index 9dd9745d365f..3718d9886407 100644 > --- a/lib/test_vmalloc.c > +++ b/lib/test_vmalloc.c > @@ -369,7 +369,7 @@ vm_map_ram_test(void) > int i; > > map_nr_pages =3D nr_pages > 0 ? nr_pages:1; > - pages =3D kmalloc(map_nr_pages * sizeof(struct page), GFP_KERNEL)= ; > + pages =3D kcalloc(map_nr_pages, sizeof(struct page *), GFP_KERNEL= ); > if (!pages) > return -1; > > -- > 2.40.1 > Uh.. :) Reviewed-by: Uladzislau Rezki (Sony) -- Uladzislau Rezki