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 23644C4345F for ; Mon, 22 Apr 2024 03:46:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9633D6B007B; Sun, 21 Apr 2024 23:46:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 913806B0082; Sun, 21 Apr 2024 23:46:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 801FE6B0083; Sun, 21 Apr 2024 23:46:41 -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 621EB6B007B for ; Sun, 21 Apr 2024 23:46:41 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E6646160A1D for ; Mon, 22 Apr 2024 03:46:40 +0000 (UTC) X-FDA: 82035780960.13.5776301 Received: from mail-vs1-f51.google.com (mail-vs1-f51.google.com [209.85.217.51]) by imf05.hostedemail.com (Postfix) with ESMTP id 30360100010 for ; Mon, 22 Apr 2024 03:46:39 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=HzDqnqOz; spf=pass (imf05.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.51 as permitted sender) smtp.mailfrom=21cnbao@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=1713757599; 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=uF+1DYovCBZQoynvQ2g2R4mxJuXf8rUbM7cLDdzJiIE=; b=6IJzBtlFYO9yHMpJv2XwgMV+sYDzVxuX6usN4VoeTwUguT49L2kVED763BtmPgQAtKxYcm dMKWzDpznZjkTEgrPwYw/8T1qErK4rS48NWZi6ZK5gR3r3Q1XfVABN3wocXIRZ7iBwUF8N 34EXzkO65fbqAq/AKRo83vYbqmxCnxg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713757599; a=rsa-sha256; cv=none; b=QADS/YgfqfXBXy22U2xjhXMAAF7G/9FW+q69EhrwYheRmNZUvi8GMnT77dIVDETyyy7nMJ USLlL73ynyM/fxwXbDrOLpPepewQLagFwKKD1bra+MqrzPJPEJmGAexpHdJKUiw/siuyxm Z0iwwEW/hkxzwr3C8rinVNAP5Dq+30c= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=HzDqnqOz; spf=pass (imf05.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.51 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-vs1-f51.google.com with SMTP id ada2fe7eead31-479e57ff63bso1575975137.1 for ; Sun, 21 Apr 2024 20:46:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713757598; x=1714362398; 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=uF+1DYovCBZQoynvQ2g2R4mxJuXf8rUbM7cLDdzJiIE=; b=HzDqnqOzLGk2NjFAbyQKaqBhQiLkHCK95QnrpyG1j2DxHsZ4Tzj1o+sMjN3jALbbox ffB4iOHUON1CADN8eyRtaPdqyGaCxEHUqxhmknHnDcTapq0dTuLYuc/kUFg+0Qj8P8Hb 5AC4IIF7gxr8e80a/PFBXG25T5IH8cbRjtpUk5gQlnt81xwVUgJ9FJiloZTU0jQRZtls PXih8iGgrKlKlvFC0dd1P+Q8wyLch01goEF0HQBnguPQrZEvMas/JLVZqdTV5RopVK0K 0v4VT+LQ9n+lF+YJCO7sppKtvO6cuMotonEEYDTX8tUVCjy3RYYF01XfGpI6jX+QQxFY p6SA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713757598; x=1714362398; 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=uF+1DYovCBZQoynvQ2g2R4mxJuXf8rUbM7cLDdzJiIE=; b=kTPTea3ZgduqxA4vZs9zmuFkyvh7wmlTHEDfg0yO8+DMx7AE5WIcIM67gthIYL58n4 Wh3iP9WmMEDuxdtrhpWAPh2UKyzSTOjD40npFvbKHQdJlshHZOKBymqpdhnDwLJXlrAv QXcbxupTZcXdwpGNcm+er6/VXerLluJEQccwPdpWpOJKD8YQDkUc0NrNlvIJi0u8Wd03 uhqbZqbl/+MwRITMYlVC1fj5JNIhtceGZpbXXxlMJINt6hRQBKAWoLUXwXNYv9Ldk6AC JKoxTGnE8Fp/i3REttIXbUNvMngp1OFTojnrfZF8qxLWjBAE0h9Mld2LJv8B5sw6yD2Y d2wQ== X-Forwarded-Encrypted: i=1; AJvYcCV+c8qKVOiAFtFpcnDvXe/QyNA0qUENjgj67UogtxcE8hHwf48EcYQAw0V93eVZ1J8t0gyYyfwR0xAH0km7XQhvzKc= X-Gm-Message-State: AOJu0Yzynu4GeESSFHZYL476k0yw4jbUWFenJJ0ExDOpy/v8QGWkZcCB 9EE0CiTWMOCXLNc9YRvf3VHdFwdFFk1qwk0xdeExYsdspZul3oExoec7D1DbMT151FoWpQ3nyiy lvyZXKjRYdxmzHEQP0G8SXmBEd0A= X-Google-Smtp-Source: AGHT+IERpXWMynjY5c+mYROntV+AfnygzyfXC9gvLtE/N6YT9dvcT3QsqIo12Vlu52TTkYxN5OYRdCpq/AD39wn14SE= X-Received: by 2002:a05:6102:c90:b0:47b:bac2:259e with SMTP id f16-20020a0561020c9000b0047bbac2259emr14152627vst.34.1713757597564; Sun, 21 Apr 2024 20:46:37 -0700 (PDT) MIME-Version: 1.0 References: <20240419101643.11534-1-hailong.liu@oppo.com> In-Reply-To: <20240419101643.11534-1-hailong.liu@oppo.com> From: Barry Song <21cnbao@gmail.com> Date: Mon, 22 Apr 2024 11:46:26 +0800 Message-ID: Subject: Re: [RFC PATCH v2] mm/vmalloc: fix return value of vb_alloc if size is 0. To: hailong.liu@oppo.com Cc: akpm@linux-foundation.org, urezki@gmail.com, hch@infradead.org, lstoakes@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 30360100010 X-Stat-Signature: 1toymj8ri9ij8qox7dy3cofukpjg6tye X-Rspam-User: X-HE-Tag: 1713757599-997782 X-HE-Meta: U2FsdGVkX19QIACDp1MuiDMG9USNkaOVPlB6nhxfQZ6zofcwuqenoQQac0mEHQx3IjKUWh3HKWJlLhWx6RcZsV/sMxrbxPzixqGV68cG7tCabx/sAvFKwYvymiPTJOzZHQiUsvgfe3T58/yz/zflMAQK+hfoVH9cBykvt4rMyPPt0fmlgtRACjcYXWetJdVZowQl5SPReklxRXbvAO1LXCVYX1y6ZC4Xj86+RXNyWNJxHBqUttIviDiSxcDrBMxcjiWeHSw++e2bw7cT5KQFMiaOiWiMJau8vyHu2jznSRbb1d6Qn+WvSFKLBguKVO6xLGj1GnWRSmKMcoODhN5nCGSh7YWyV/QEdcJAqeREjO7BRTnnEcaIuR/OpYeXrEbzONl2vXzjtg9fxg++B/sLKnuYrRH9RhFxSTSruDRLkWHVqfoAdwHDrZ/A0sd7JDmbdlXPVYyEsZ2FuPxZ4/IQLtHAi8zOamvhx8UkHah/9yxu7hAQfWzvkHsHKxe49P+UDji89yS1Mu8FEFh2F1SUoTYhpkBADaG1f33pnEpZnt1TXTJsMSHi6YBAIwhSY1K5C8xBy+QLsv5j+UhDQagnd9uPCxkPnLyUxKbtqQrfTiYrUv/s8QDboF2IxRIjxTx+Nud5a87SKcQMwQ4AT9wGQcbBbLy5WWFAQtzXrimM7Dk9FB5dB8+v/XsN1ZWTPJ2sMtOiUKpVe/UPjqs+RMNeR7ZiHIORAurn93GIMl9qJWe1GDuM6IFSSALVx6fHZAW/zKRqiN91Kfi6VXmiFs0NQzLQs3otl22VI1LDVWXApCsjo7//fqi7mj2CsnbaY+rvluTSa9K3XTWK9XWN4afOzNsq3Hx11EtN1TtJyVXX9qf9MxZh+3aI4L3P9suyyzuhhDrFdDMd6vddrCfAzbbOSY7DRS/r0FKXhdAZFm5y7DZ2VWchvktHmtsdFX37Px3VDM8wUhTqBd2v9X/vskc 82KmvWJm LL2Fmm0ytqApao9fDg634ezfWvcHq/6I+uUtbUFC6gnqLbc7tMGLVIqzs/9OLAQx/1N7VIew0x2rqI0jLBN2czw7e7OotoFPjCkZQZTZd6QR+nnmjjv7QZPgJX6eZgZgU9Q6dvc4ImBscaKOt0Tj7DGNNuyM8H6oQyuo/5xjiQ+7VGjPSBlH08QIUdgW0f4/akJxfuT9EOKGpaJts5U24AYZu3Q3fLQK4Y16OlSNK62aVBOFsXbLQCZ8wztPOIvuXyi+p+dWpAUWzKSh8GcUQ4h7uirbmeEGvEcv5qk4M++Q+97G81rtzlaEcD/6vi+QIbNCy6bxS6ypLahNfyY8V1qmAhjn2q0bOBSa2rZdZySFEjNuMRG6fiHWDTWNQ1xSuW2ci6sNYyQ9Vh0Sgsl1ADjz9hnVzh8OBgXAsIECBEozpOvoOIW+jm49sbuKBQHQ8BMfu0QC6s2DBqhQ690Bja+CwA+O0kY7ngXgkcmCMBcOhLHDh3up6O92x6X/uNqoJejGsaAw/mgxm1JI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000241, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Fri, Apr 19, 2024 at 6:17=E2=80=AFPM wrote: > > From: "Hailong.Liu" > > vm_map_ram check return value of vb_alloc by IS_ERR. if > vm_map_ram(page, 0, 0) , vb_alloc(0, GFP_KERNEL) would return NULL > which cause kernel panic by vmap_pages_range_noflush=E3=80=82fix this by > return ERR_PTR(-EINVAL) if size is 0. > > Signed-off-by: Hailong.Liu > --- > Changes since v1 [1]: > - Return ERR_PTR(-EINVAL) or not check IS_ERR_OR_NULL > > BTW, Barry suggests me that if count is 0, return directly, in my > opinion, change return value is more resonable. > > [1] https://lore.kernel.org/all/84d7cd03-1cf8-401a-8edf-2524db0bd6d5@oppo= .com/ > > mm/vmalloc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index a3fedb3ee0db..c430a999805b 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -2173,7 +2173,7 @@ static void *vb_alloc(unsigned long size, gfp_t gfp= _mask) > * get_order(0) returns funny result. Just warn and termi= nate > * early. > */ > - return NULL; > + return ERR_PTR(-EINVAL); might be ZERO_SIZE_PTR. > } > order =3D get_order(size); > > -- > 2.34.1