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 2880AC7EE26 for ; Fri, 19 May 2023 07:55:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ABB3A280009; Fri, 19 May 2023 03:55:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A6B7F280001; Fri, 19 May 2023 03:55:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 93357280009; Fri, 19 May 2023 03:55:26 -0400 (EDT) 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 83252280001 for ; Fri, 19 May 2023 03:55:26 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 4C4DF1609C8 for ; Fri, 19 May 2023 07:55:26 +0000 (UTC) X-FDA: 80806244652.06.546FF02 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by imf14.hostedemail.com (Postfix) with ESMTP id 44F8C10000C for ; Fri, 19 May 2023 07:55:23 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=rkQCEXNB; spf=pass (imf14.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.52 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684482924; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=c2IWtMjwLyymKWYfssxY5B2RrRWeeajNS4FEZ7e6+pQ=; b=yPWL9RHPalNsoTUwV8J8yfAepfZ7ekSh7Wi5V+KKEiaSZ7KMsbMQ57oaNlW7tgT0TAmOHL nBeuSlqERY3/b5PxGkGIww1RH1QDAdlzN5bA/mmRs0zIHiTt6t6F3fezEkuqe99I1SXetb QS/ECqQ0BICXvS9TEHWqjtJq6pYzLa4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684482924; a=rsa-sha256; cv=none; b=zaI5eyIYfJMteanPgtQHxy0iptThcSntEeNlxIBzXO6sjU/Ipx1T/nteMRHP/Cw9R2Ciyn 3sxrXrBEPPk66GlEMpyK6R+ZpnReLStMuYqowZIvWy8xWNpsLeZ9c1uutDjn2mg2ZMyXe2 C/aUXxr/SnR8wkMOaukGNjI0MXAQQlE= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=rkQCEXNB; spf=pass (imf14.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.52 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-3f41d087bd3so17969225e9.3 for ; Fri, 19 May 2023 00:55:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1684482922; x=1687074922; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=c2IWtMjwLyymKWYfssxY5B2RrRWeeajNS4FEZ7e6+pQ=; b=rkQCEXNBjV+7HtrpfXi4id9Bw69Svwj1F8DP5oIod7tEo+B6ju/4lUN+QMFnqWOVde 093Sy/k/4EU2ZqLoHJx6xN0Zqv8OohLIZ5gWzWeUHizE72rh8cs2d2Z575liFMFaBfx8 1wLRSmdt4bSHyyBCMk9olM7Sfs/mpd9hwPGCz/kl+GetX8abgPstQmmNFMM9V6o6YwfC cjbaaVq3KpuR+3BEt4iolPSbzryP+JZ/jelGZ4jbmCVgxhXTJ8YSY5/Tx5CxhCLw79Vv qDi3o/DQK+YDTuml2wplSsd+RyK9wyQMUroyfR+CIHCxUwyAzCzxIHh1Du1+9UQ2+BbF XS/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684482922; x=1687074922; h=in-reply-to: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=c2IWtMjwLyymKWYfssxY5B2RrRWeeajNS4FEZ7e6+pQ=; b=C45R0eBTeUhJJqkSCwhCsEHZPRhcpBtJBDS+ED1mBtBDKNSU2gpAwcutSD/ebtp8uL xBtEBKH61S9dhfnCL72GNxARsYwYEd/Z0O1RwrwwXgtwn0Sdo8jDzB92lDVeXqsklvXA ioPxzTDzck8RjmBnY58RbC+8c5TtTfnf+SYXGlT/VX2wvxRbcl0Z/8EG1sgCunUi6vNS Bk57HedxSasHjKC6T8hmYDycMfnaLKGylAZWfkJOuuThn/vi+YqD4H0N2T4lUWKRpU3p ynRIaEUvsOHj3BOu6ozyT8E6gE5HT4SfsQs37rZBP8yoWeWTuh7avMk2XOQoD1kggBHQ DQpA== X-Gm-Message-State: AC+VfDxE3Jn4YcIx6YRHt+i8qsZclVIa/Ysb+V/T+dIngih46A3auhQH 381Yp2Nej/eWANRw6tnoZkbMNw== X-Google-Smtp-Source: ACHHUZ5t2y4BhTs+MzCVRYOfMHS8JRiIjSRoypEgmVNUehmIg+AKSb/H2hxMz0qGxDtFqAmAC+UFmg== X-Received: by 2002:a7b:cc8e:0:b0:3f4:1dd9:e9de with SMTP id p14-20020a7bcc8e000000b003f41dd9e9demr796303wma.8.1684482922531; Fri, 19 May 2023 00:55:22 -0700 (PDT) Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id z17-20020adfec91000000b002e5f6f8fc4fsm4568709wrn.100.2023.05.19.00.55.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 May 2023 00:55:20 -0700 (PDT) Date: Fri, 19 May 2023 10:55:16 +0300 From: Dan Carpenter To: Andrew Morton Cc: kernel test robot , Oscar Salvador , oe-kbuild-all@lists.linux.dev, Linux Memory Management List Subject: Re: [linux-next:master 2908/3314] lib/stackdepot.c:544 stack_print() warn: unsigned 'stack->size' is never less than zero. Message-ID: <1ba934d3-0b6a-42ae-83d3-5a5b952468d1@kili.mountain> References: <202305182345.LTMlWG84-lkp@intel.com> <20230518133247.a0ece8de7c3fc5dca9e1b67d@linux-foundation.org> <110d728f-b125-4358-9839-13e094597ef9@kili.mountain> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="rzrKfzf8CBDpbqDn" Content-Disposition: inline In-Reply-To: <110d728f-b125-4358-9839-13e094597ef9@kili.mountain> X-Rspamd-Queue-Id: 44F8C10000C X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: hanhhsue9jm7nnpst8j4z9mpjmz7zrty X-HE-Tag: 1684482923-928816 X-HE-Meta: U2FsdGVkX1/Qyspsc8pSlbaANDnI9c6r2JXfIJO0DrRChzj/iA3kAuIArzJj6iaBVLFu2NAnHpGa1lFUbgOfCN8p8QXGm2bvcpiSr+iQoPNyQaign246f/SnQGIDQe8jYq/w4kjTYw8mY9YcqGNMqyo6vQVI3sFXp4M6G34mcqh/9c1opS7FizZPv7jp/3Ayqr62dhvR3cBxDyp8nqBHeZpiCU+/dGMmUUEBBfVXu7vlde/iCWXX5ZRJUcFhuBGwhF4UxlVcHZHpxFNAOCvTtMK01XGayWqb9JfPhkeI0Im2QdLRrj03kjr102SYMwrAMveD8zFhjPNuQNuoVtVE4iqmo0mTOdhlqKUV3eTjMDVA4gtuWYlmBF0PG2SII+IBLudBW/rtjPIUaWGosAxVC6I0gyirlujWQvnp7frBqZw75cfn+san3bag5QBIy1HU2fuGa4MO6+8pNLPUyw9ViYqrz1ZJuEdRHyF0QszDdnvGRDFitD1sgF18rjUX55eJ0aIJt+L+9iP7wgVpANd5Fk7+WvAGaRgnluMJz33fn59KN7qOBhmo80rB1pxk8gQZXf9NIVIR2yz1XSoJKrBKXbPcrHux7cHGhhJkbJwJ1pzTtQ+dDkUVlRGgc8Q0czLcEwcQXT7umgtRKF9OU+ZXXj+mOOC/uydIcSg1kqF/0eumOKN5UPstf3xN3s9DcLboyRDBPpnaa/YdKLreeiGeRdslgia5SykuB43YVoh0LyuZuCy2KEaRifvXBgckZqWOVuLvmowBXHYXjwwJu4cKZYvYVq+g+5yYxKXPQFnIdv1kJ8EbVI/m3vBc2iK3JZBoYcEm4ednwxF4SqRi2/is2pKkVcqld3Z70T+emCUaJW7ggngpoeYQYl+F/CndpM3XHH3nbJuIXot7CuS356pGS82iVchyDu+Nls3PRNI67UsLbzTjlUe2yzuA0OedAB0cTeTSwGpyqP+aMo+v3pr E4td63N3 IXzEJgbkWd2o8Nk8vnsJVb8EGh4qENX1KD4YyD3Co5JAZBCYm6wnMyx5FOJaxEm+simD5IiPI4mqVukzIkXLOVts6SDbJNJQ/zHfAMg0MukSOxWpRajic6mapMvkFMoQKIyXPkWHKyyoIBbtNfsJiYdZCZfcHQg5yfl9/gHkUcpk0bHGy9rZ+ySnWR3toQ1EbLjY2UODURctIhhPZy0BxXplvSWcNfzInERUIsihhPYDAGGM7KjD+SzTYETd/Q3A3Ut0sVMBpjYZuTQl1wulgHcmxZjTNm6zk3/lFjPIUiJ823Ks36e207A6RK4IEoxycCZtxXKpctcbaLN+awI4kqq9HT03S5X0SRhfotOsFqEHFE/i0yHWtml+YkX0l1xEn7/89dksWS91FWYCPno+7WyWNoX/jZvrZ79VC6YbBBmTDLosj1Y0h9FhK2avKDdcF0BwZEm7VJZZ2lpUzKQU6Ga4UIiQEUOzEaBewICnN9wOTm3XK0ssB0IQQS+SaCp4H4kZlE31za5DvRVuGFO+IZW1+aPAlGPuBs1BjtE8ln6EDPYOqpNizwC6FcXYg7KMvee03Ti2fajhi4C3R+SmOyW26XMAO0vav0qn/a+xL8YhyPEqNIDhCXl78bKoQvRoOWZtTWjTqQ3kLvKI= 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: --rzrKfzf8CBDpbqDn Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, May 19, 2023 at 10:21:37AM +0300, Dan Carpenter wrote: > On Thu, May 18, 2023 at 01:32:47PM -0700, Andrew Morton wrote: > > On Thu, 18 May 2023 23:44:10 +0800 kernel test robot wrote: > > > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > > > head: 798d276b39e984345d52b933a900a71fa0815928 > > > commit: e435b85a4aea7a82259105d5d8025655460052e1 [2908/3314] mm, page_owner: add page_owner_stacks file to print out only stacks and their counte > > > config: x86_64-randconfig-m001 > > > compiler: gcc-11 (Debian 11.3.0-12) 11.3.0 > > > > > > If you fix the issue, kindly add following tag where applicable > > > | Reported-by: kernel test robot > > > | Closes: https://lore.kernel.org/oe-kbuild-all/202305182345.LTMlWG84-lkp@intel.com/ > > > > > > smatch warnings: > > > lib/stackdepot.c:544 stack_print() warn: unsigned 'stack->size' is never less than zero. > > > > > > > Linus would complain about that warning. > > > > Yeah. I hadn't intended that warning to be printed. It's supposed > to check for if the check for negatives is paired with an upper bound > check. That Smatch check is original vintage from 2009 so it's due for > a re-write. Done. I'll test it out a bit and push next week. regards, dan carpenter --rzrKfzf8CBDpbqDn Content-Type: text/x-csrc; charset=us-ascii Content-Disposition: attachment; filename="check_unsigned_lt_zero.c" /* * Copyright (C) 2009 Dan Carpenter. * Copyright 2023 Linaro Ltd. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see http://www.gnu.org/copyleft/gpl.txt */ #include "smatch.h" #include "smatch_extra.h" static int my_id; static bool is_upper_op(int op) { switch (op) { case '>': case SPECIAL_GTE: case SPECIAL_UNSIGNED_GT: case SPECIAL_UNSIGNED_GTE: return true; } return false; } static bool is_upper(struct expression *var, struct expression *cond) { if (cond->type == EXPR_COMPARE && is_upper_op(cond->op) && expr_equiv(var, cond->left)) return true; return false; } static bool has_upper_bound(struct expression *expr) { struct expression *var = strip_expr(expr->left); struct expression *parent, *prev; parent = expr; prev = expr; while ((parent = expr_get_parent_expr(parent))) { if (parent->type == EXPR_LOGICAL && parent->op == SPECIAL_LOGICAL_AND) break; if (parent->type == EXPR_LOGICAL && parent->op == SPECIAL_LOGICAL_OR) { if (prev == parent->left && is_upper(var, parent->right)) return true; if (prev == parent->right && is_upper(var, parent->left)) return true; } prev = parent; } return false; } static void match_condition(struct expression *expr) { char *name; if (expr->type != EXPR_COMPARE || expr->op != SPECIAL_UNSIGNED_LT || expr->op != SPECIAL_UNSIGNED_LTE) return; if (!expr_is_zero(expr->right)) return; if (has_upper_bound(expr)) return; name = expr_to_str(expr->left); sm_warning("unsigned '%s' is never less than zero.", name); free_string(name); } void check_unsigned_lt_zero(int id) { my_id = id; add_hook(&match_condition, CONDITION_HOOK); } --rzrKfzf8CBDpbqDn--