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 BCB14C4345F for ; Tue, 23 Apr 2024 00:52:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4654D6B0083; Mon, 22 Apr 2024 20:52:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3EE9F6B0087; Mon, 22 Apr 2024 20:52:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 268DA6B0088; Mon, 22 Apr 2024 20:52:28 -0400 (EDT) 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 076FF6B0083 for ; Mon, 22 Apr 2024 20:52:28 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 750B240160 for ; Tue, 23 Apr 2024 00:52:27 +0000 (UTC) X-FDA: 82038970734.02.A8E5B6C Received: from mail-ua1-f44.google.com (mail-ua1-f44.google.com [209.85.222.44]) by imf11.hostedemail.com (Postfix) with ESMTP id B40664000D for ; Tue, 23 Apr 2024 00:52:25 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=h9AtaqBY; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.44 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713833545; 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=ClL00ZKNnFMRV8+vNcFNoNRUVtaZiDabBBHCITme6cw=; b=0DBUF/PAmm9kpmbXdqjY6bXMMGloW+1ycm/j+Ywyv8/xwKRehurx/zFkWW2bKKp8plplrU MslsqbPR7uFNRQukTw+yy2dqGhv/khQiHojO3RCGEJJKSiiG5CiM61QowNIb1BMYweEc+3 UoGb4DNqzL/QRyN/wa9Lp/wXuQeHxB8= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=h9AtaqBY; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.44 as permitted sender) smtp.mailfrom=21cnbao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713833545; a=rsa-sha256; cv=none; b=jR/QcEYBus6f3TWfFLQX0ZuBot+JPq6ciGtte278kkOqxCJwyPldFE9I5WuZXgkVH864i2 /rxG07hRQbvH2BctEkSNuelccj56BiQh5+Ik7Cc7miCbGQfpiS6m3H7NU97VaQLO4G5Esv 6oGIqagZLb3+Lmp5pMZ8V3W0XGCEl1Y= Received: by mail-ua1-f44.google.com with SMTP id a1e0cc1a2514c-7e6b9c1f636so1459887241.3 for ; Mon, 22 Apr 2024 17:52:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713833545; x=1714438345; 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=ClL00ZKNnFMRV8+vNcFNoNRUVtaZiDabBBHCITme6cw=; b=h9AtaqBY+T+Pd0EOEZB3Sa48nwspFox9GVa1pPuM6jvut85hAeaz6vqhir1yzTVMHv 6tqyZuh9K4n/srxfTN7TnFrZH4omXKRdgE369Vr2hI6vfOO4si0oftgNj8HMlK5TDecM RdM53kj7lIzDT3LZUnsTgx7YM8rTM4exFDvLNwB6GCCSenJMRPBhPJbqPVO63MH5T+q+ YFR2gnjFWze6LVCu9wEpt2A+jlsZE9k3A20uwmU6LG0ojwZk9ELkpRjwCmHfXqSCtCMI ohCCkOo/TcqswmHSCuGcQNZXmS2dVDCZX0r+2KdgKuuiuBnEG2IFonLyXwmi7t5O2v1h VxaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713833545; x=1714438345; 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=ClL00ZKNnFMRV8+vNcFNoNRUVtaZiDabBBHCITme6cw=; b=Cidb7DqgRbAywntUD2kJPOWarhrnCAnPbaL25jUUlPWF/uTeCfw+cDbQtWPKfChN0M XYar2jr3gouvxyHe6q5Uf2n1NkAjzBRLRGd6w8EpnVIOJpmtMblkldJ60OyKRCKqEGH/ +3Qaspi7nQkbELCbaJ8/uv9Gb2Nw/W6sqp1ryqgPtdVY4fnAjqjDNfOEVRSggfMfy9lm VKt16ymWO/gneudB/4Ea0SLZPwI0Qg5w4yLdaHrNjb29Tg2e8in7k3Ky6CNXz+UmXaT/ Ni1oP2/8VNzGqZnnT4sF9XBipbtTVkt0xtx8s1aZSnyMCv5GD0w1e2ES0xfcqI5MQ5ir qq2A== X-Forwarded-Encrypted: i=1; AJvYcCX/O4tE4uKqsvNFR5+k/THXuMcaR4tYmkm7rcUCS/uy6nSARDdfsQya9PLoVDTjXuDJk/Zk8BMBBHDqMuHKEloM+T8= X-Gm-Message-State: AOJu0Yz3WhAxYIdtfw6P8eD2PbN+bJ8HCeKX/R/TLRb2PIxXvIuF8Y7r 1e81CdkIaMjKNzvCy/2c5+Iq4tdyJfJ5oiRhcQDADtJngMKMLLn6Q+laZf2U4eNn4duxIST9cul wlrus7iChzFA6XnDXjU36N3xiRKs= X-Google-Smtp-Source: AGHT+IENNvKCUqce8Ft/mi66QsvWsVY3Pw7F+95jKA9kCDhY7lkaTazybKLRjabVwnQCPTqkuemT6qY6lpY0d+gtQs4= X-Received: by 2002:a67:e24c:0:b0:47b:bf92:691 with SMTP id w12-20020a67e24c000000b0047bbf920691mr13868061vse.1.1713833544690; Mon, 22 Apr 2024 17:52:24 -0700 (PDT) MIME-Version: 1.0 References: <20240419101643.11534-1-hailong.liu@oppo.com> <20240422103857.qw5mrcnj4rgej2jh@oppo.com> In-Reply-To: <20240422103857.qw5mrcnj4rgej2jh@oppo.com> From: Barry Song <21cnbao@gmail.com> Date: Tue, 23 Apr 2024 08:52:13 +0800 Message-ID: Subject: Re: [RFC PATCH v2] mm/vmalloc: fix return value of vb_alloc if size is 0. To: Hailong Liu 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: rspam04 X-Rspamd-Queue-Id: B40664000D X-Rspam-User: X-Stat-Signature: nto45mei7axtdc3dnpkcyzmcu95yystf X-HE-Tag: 1713833545-143419 X-HE-Meta: U2FsdGVkX18iXp3WmvcmrKlhQOGk3YwkXcVCH6sngADv4CyCiFuQKxRssDHi0nWa/EMT9WxLbF9vQwqRuryx+5cb70E+V0plZMpQiRCuxWhUg1L+kfhpxHeqEKniLx5fxClZd3BMRfTufwewf0qLDb9imuf825iVPCvAQpGVJtnx1iS3OKo5ygFhcws4cOJTYDkQ1p8UqIY6ymaZx6zGBqSEBm7gM2yNUa4olpknG6axYH4OS91MrY5ZusNxp2SriId/oOqHEbs6OSEvHbJGMgHV8Ri4sU+GDV7yFRxuxNHDusH0Z64qCotI9u4oShEoJeiAAy+UryotjqIoOUECNp+9zST7rPpDjj0KRZ3N+jUUjrHkTK3TrgYfYIH8mltetGgNp2RM8RaR8RXu9WSonRBJ2XKMF/M9H8fMEq4Z3drbn8SkgRyovJaTLfxMS7qAGLo+PK0213OSDKCEyRqCXW6LtICdoZDPFGSs0b5k2VeC0F+Gde5RGklCWwbyl/LP8sa04tMBLLvK2IIbuV15znVn2ktMjsGjS/rTA43Mcg/ht6r0lz/f9BS4aQUwmxoxmCkdpx2YicHp1sqewSaLpEroRcrq+5WiO81H9IlQetI2fXqF7DYbeEkEsXchXLF9qoFcLPbLKsmyjNBzv48mKafDeANVYn8gAMvKpXNKrRdtwzt5goPYwWYxX2VGa3QT9585Vx0sRd92SGxe/Q4NEuy1SVUSNEvW+XY0INinSM4bPY2P78VAhvkFx+fCjtGviZaToo4UNIkAG7OSy+68sta0EfDK4GZYpIij4Yv+voKZrayGvMa/KSOeHIl4vC5/6ESH1FySqfiYdUnIHSpOyvwfLaUR+t1UKUReWOxRokR8n8EYYat6yxeypCtpDkAutFErhErMrhX9fnP7UQn+bNFFCNLFQNY7o2UGpUUxu3oI1JcwtfdGD9B+fvC55iGWgAh4w4TylM13eYyftIl VrA+feVK sRCpahGEFsxetxmrqRxaVbj2a9KW0OKH5Z2A9S3nwWjvwSJmTw+HX+FXM0qg6y97i12uz+5Ln7UZnnWMbr1YIr4xBc7XZQ/DPJ6g+a7C3aapHP00l8H+S4zBMW2edVUa5ZbBVVqFsz/38rcfZAEVHBkEW1HkFebv9+D1BijkBNyJStnVuzsZ9gULl7Gu1uI0sSBJN0pKK/IPQJD66GOz5hI9EWwxiYMoSEOrdJKYtdPNCwgLexb79IobdEtuDmJia/LRDJEA5MLHX1pZziBuM4q2p1vOUe5uYMqL+YRR8Bq5kkTH+PdeDyanA8vr3oTGHqaug7hBDFdzQNCtM6gbN3GrKTPreSPEfsiRUxwY03H8nny0sda12NLrUX5C5vsQWIdDM0UP1vuJP1Zv4WJyAEClXzBPKXbsXfm7vkZRgSmhsLUaWlTOSgz7PYUlxtjFQnGV9RKQWiZbs9QFprqG0MWBZ/GR+ZNFBGjolhtf3qhQ3vCzUuPvibCNPStFZ4h2FMogsWzu2pwZ17Ww= 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: On Mon, Apr 22, 2024 at 6:39=E2=80=AFPM Hailong Liu = wrote: > > On Mon, 22. Apr 11:46, Barry Song wrote: > > 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 t= erminate > > > * early. > > > */ > > > - return NULL; > > > + return ERR_PTR(-EINVAL); > > > > might be ZERO_SIZE_PTR. > > Hi Barry, > Hi Barry, I use ERR_PTR(-EINVAL) to keep consistency with the return > value of the function alloc_vmap_area. > > if (unlikely(!size || offset_in_page(size) || !is_power_of_2(alig= n))) > return ERR_PTR(-EINVAL); > > IMO, ZERO_SIZE_PTR is used by slab and can not be catched by IS_ERR(). Ok. it seems not worth to change two places. Reviewed-by: Barry Song > > -- > Best Regards, > Hailong.