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 D2B17C4167B for ; Mon, 4 Dec 2023 04:12:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 677266B0278; Sun, 3 Dec 2023 23:12:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 600026B0279; Sun, 3 Dec 2023 23:12:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 452EF6B027D; Sun, 3 Dec 2023 23:12:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 307EC6B0278 for ; Sun, 3 Dec 2023 23:12:43 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id EA18614024F for ; Mon, 4 Dec 2023 04:12:42 +0000 (UTC) X-FDA: 81527814564.16.1E5F49D Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by imf10.hostedemail.com (Postfix) with ESMTP id D0F37C0006 for ; Mon, 4 Dec 2023 04:12:40 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=JQOArzBW; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf10.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.51 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701663161; a=rsa-sha256; cv=none; b=AVQAlvyMCipBNVJyIZAwlKlg3Yk3SXdV37ibIJEaxmDQ8zifOBMa97DDbfIrhJ4gU2Y5KC feMg4BfWtUHfTvXG1BIEBsWkvcz8e1EF/OqC4d0Lyyp9RVgaqbOgKZ//sAZPbSmTBnRsSj kQOfg/40WbJnyWdIgiTc+ffyTaP1L1Q= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=JQOArzBW; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf10.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.51 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701663161; 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=uSIjHQyxvuiMYpm126xyxG1Zci+DFvN4cs1bYgkFaNU=; b=1Ju/4W1D9h09eOL/N30vzamf3oXfHPfVwr19JpAQ/SqW6Pnn7DB405br4Bt0tKdYr6KyVA MOzBrlNirGINgblExvBN/fdhoYS7bt7v09KwAWCKynyVYeJxZOvfuVcxX8wResOJZGCP1J ZW1ApP9wKvRGu5+tEhPjPCPPUjz/JBM= Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-40c09dfa03cso7867435e9.2 for ; Sun, 03 Dec 2023 20:12:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1701663159; x=1702267959; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=uSIjHQyxvuiMYpm126xyxG1Zci+DFvN4cs1bYgkFaNU=; b=JQOArzBWashUr4hN68zv7EXUbyU728m66Xe2sDonOwOPH8dBbMmlaQKhl+3uuyZ6Pj JtbFUk33hKIgxivIzHIOWyvw6DoLHJQox3z3Kjf6/+qJF3QG+8R1F0aUBLGWedZqs17w RJPcxuuTuwUAqEs4c5/IzlX0sYgq+bt/BoB/XP7erJbr3dF91fouevEzsnFhQ03a2/fb Xl1JSZRdlHDdBIVLQY+YzhuW3Og01bKoTFavc1eGZXqOuuSqo986DS0BVZIbqJ68INI5 uzSczujRrGleQBFrATFD0yudFYZpEBBettZakpxxzFqVY2Kr3//+uHgTWUsbAGEDq6zB FA5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701663159; x=1702267959; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=uSIjHQyxvuiMYpm126xyxG1Zci+DFvN4cs1bYgkFaNU=; b=W9F+7vTvqyk2cF/3P1bQdtZAgiV1oN/6iblNJV0v2UlzOjPKZzcRNgr1SijiF+kQQ7 hRAo4vYMFtMiguG1YEy9WuwlMAHeI8QQxnJ3y29RlOlez7MWmeuZ6iHPN1TBJUbKSKT8 II2q7vE65eg5P6i55K0SksFSh3vxGA1E1iKDFVXMkosu65f/JspApWrEjP0o+asIHnzT nVjAtxEcxUfVqzdW/H/tu1eqY0EJUkm70hsutvsMWkjSWKy4gN1jXUSVh6HRxAkYFdD+ DwaB5mPpxtxU1gz5zMOEHp2DmrWbAewT8Q5NltXWJCshqo5f4PasCpMYrTk3tANGpw4z 0+JQ== X-Gm-Message-State: AOJu0YzDPcrV3HEoulRbgRmiNBRHW1LtZtImGy0kTAKnq9EkrzRRamNh ueGYCkBLXR9mWdtRkQuiK1OrAw== X-Google-Smtp-Source: AGHT+IFZ3Amq/8upC2zDw7bfGR8OHocro9buNNWJ73bfkCMwsGdKd3TsSUm4vWCIpdfHvwBaPhtIBA== X-Received: by 2002:a05:600c:3b1d:b0:40b:5e1e:cf9 with SMTP id m29-20020a05600c3b1d00b0040b5e1e0cf9mr1855181wms.52.1701663159222; Sun, 03 Dec 2023 20:12:39 -0800 (PST) Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id b19-20020a05600c4e1300b0040648217f4fsm17107376wmq.39.2023.12.03.20.12.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 20:12:38 -0800 (PST) Date: Mon, 4 Dec 2023 07:12:35 +0300 From: Dan Carpenter To: Andrey Konovalov , "Liu, Yujie" Cc: Andrew Morton , kernel test robot , Haibo Li , linux-kernel@vger.kernel.org, Andrey Ryabinin , Alexander Potapenko , Dmitry Vyukov , Vincenzo Frascino , Matthias Brugger , AngeloGioacchino Del Regno , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, xiaoming.yu@mediatek.com Subject: Re: [PATCH] fix comparison of unsigned expression < 0 Message-ID: References: <20231128075532.110251-1-haibo.li@mediatek.com> <20231128172238.f80ed8dd74ab2a13eba33091@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: D0F37C0006 X-Stat-Signature: hgj3hek5esqz7mei7wddm65te48fekpq X-HE-Tag: 1701663160-979640 X-HE-Meta: U2FsdGVkX197FAOnTOQtZNwJyv4NZbqc1kT1aaZsFZXFiniWxFssfgEMk9fDY1aM6bhwx/Ie/OzmQj93lQNxIA+vNWIUQW6GNr6YXZc8Lo3+9miBhbiW29WO20MLTJHGWUexawlYRX8C+RMmqGjJvbP3fwZr4ixcsTSYYvglljV/qjVjE7DXcv8dNYnok9unIvTVlkDrHMBFt6xaO3xcye6HI4Q0uX98B58mKMR0X4KPnR0mImxSgxpdRI05VVrnAqj3EwePi/A8QuZCxd9rtkGPtBK9CxyABaNNdF2M++2nqjE8zFzJstJiA9prLDPrVEPrJAg5OeD0QDZJoIemcKp6LxwdbbvMTUbC3/GwjKvsMazIcLsbqxN8B5UGCYS5pz79CjZ8mfUAB899dkBA9HBuSjp+Eb5IvkPmNAT+cBoEBZ5izfehxyA+OOUFAM+lrh6OiNPNGe4P2mpqqo25E9pZydQHSSjRMHbl7tCz06XOwl5WnP4DKiMOk0ays+4e5h8qVidMwnaifBClJnx4oW0K0EJxqN/frHKwNdVkR5/GOIbhX17NwpgqljfZUjX6uF2RWmF+9KnE9VJsFkvaaJ5iGsDx+wGhyLgEIHkfWseM7Bsqipf/fa4Xh2uqJuJalinycsOHwZdff7idBjhCDlit9UyuDMBSWJzuS0u/ExPeUDexzbCKoGY8Oo2hN9/pfriVd95EdKJAoyB8dweDXeXCcvBSGVQdjEwgDag9T1GML/wB/dkgbu5Y8Phl6bt10JN9wKzbh4V/1Bz41uljzoqxyGRLHY0GHYQeQxxRpdpqzo0rZNs9XQ6Zg2oc9B4NwMxn3x0zYFpqyMSAtkq7mWWkwVsxE8C2zbeBKAel3InuPK4nptkca7etp9K452qfKvaXyMFTuJ7fOXXvj++ovRY9U75CXFL9sepAdQjnDj/Zh5zHRuP3pmL2PXAL6xvuWIPiLnRPYFKq2kmX9cr gkGx683S xy9Y8uDwczjxAIAPs5RWQ1SIMavRbHeI3koQOQZmgx4YcMXtFP+BttafozxQ6/TM7+9gfzX5AU5+jegCWuj3P3Xl2wR5LAW0g00HdsPQnKrIsekAXWcfUpkZvOZmCwCZwQKFWJQ3FVoUW6PCszlBsdyzs85XGKg+C0+iFOcJ7Pt52l63T4YwQ7Xtt0C0yWSht/xv5OiJJAJpyP5ZfxGSFkDkjoHbMBFmM57JNigoz3kdwciICfLg7BMhrLzFnH+sf+ScpzYmHR/GrGjzbhIw6d/OGPE6o1UTGnZf7dnb2JCNqL6VRzdRDB6TN3Y2jO7KyP+gWNuBq/sw31sWINynndj5CkiFPnXMe9ZWtVte7Iob05IoIr7SaMCzPTu2+LNoi4TNqE7v57YlQHJyRDML/w+Hug38CxL2K28SyKAVBaxYUmZCUQoTTIqHnvi6tP4gahlMBzyNybQ+/cOOvmkfTEiqXFPIPJGtkOtZk1uGnrt7FaLEqkBA7wMcPk8hCyM3MpWpdrVAdDqK6v1zFgT7dvrpkzo9yrB3fKpqh5B1GKQyYqvTAEw+nR2FLnz8ebuB98xm0ioC9O8U3nXdLTbwmURwbiqg86+EWWPj9NF64739OQQE= 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 Wed, Nov 29, 2023 at 04:01:47AM +0100, Andrey Konovalov wrote: > On Wed, Nov 29, 2023 at 2:22 AM Andrew Morton wrote: > > > > On Tue, 28 Nov 2023 15:55:32 +0800 Haibo Li wrote: > > > > > Kernel test robot reported: > > > > > > ''' > > > mm/kasan/report.c:637 kasan_non_canonical_hook() warn: > > > unsigned 'addr' is never less than zero. > > > ''' > > > The KASAN_SHADOW_OFFSET is 0 on loongarch64. > > > > > > To fix it,check the KASAN_SHADOW_OFFSET before do comparison. > > > > > > --- a/mm/kasan/report.c > > > +++ b/mm/kasan/report.c > > > @@ -634,10 +634,10 @@ void kasan_non_canonical_hook(unsigned long addr) > > > { > > > unsigned long orig_addr; > > > const char *bug_type; > > > - > > > +#if KASAN_SHADOW_OFFSET > 0 > > > if (addr < KASAN_SHADOW_OFFSET) > > > return; > > > - > > > +#endif > > > > We'd rather not add ugly ifdefs for a simple test like this. If we > > replace "<" with "<=", does it fix? I suspect that's wrong. > > Changing the comparison into "<=" would be wrong. > I would say that changing it to <= is seldom the correct thing. I've wanted to make that trigger a warning as well. > But I actually don't think we need to fix anything here. > > This issue looks quite close to a similar comparison with 0 issue > Linus shared his opinion on here: > > https://lore.kernel.org/all/Pine.LNX.4.58.0411230958260.20993@ppc970.osdl.org/ > > I don't know if the common consensus with the regard to issues like > that changed since then. But if not, perhaps we can treat this kernel > test robot report as a false positive. I would say that the consensus has changed somewhere around 2015 or so. Unsigned comparisons to zero used to be one of the most common types of bugs in new code but now almost all subsystems have turned on the GCC warning for this. However, this is a Smatch warning and I agree with Linus on this. For example, Smatch doesn't complain about the example code the Linus mentioned. if (a < 0 || a > X) And in this case, it's a one liner fix for me to add KASAN_SHADOW_OFFSET as an allowed macro and silence the warning. regards, dan carpenter