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 X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FAKE_REPLY_C, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9A05C432BE for ; Mon, 30 Aug 2021 11:35:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A2D526113D for ; Mon, 30 Aug 2021 11:35:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236471AbhH3Lfz (ORCPT ); Mon, 30 Aug 2021 07:35:55 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:44682 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232579AbhH3Lfx (ORCPT ); Mon, 30 Aug 2021 07:35:53 -0400 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 17UBOUbs017480; Mon, 30 Aug 2021 11:34:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : content-transfer-encoding : in-reply-to : mime-version; s=corp-2021-07-09; bh=b3tkEt0eBjASemnh6yN7s9eqSceB60n49S0ygV/Bc50=; b=P70YUbHzB2x07FW4n2dlwAyG9Jq1R25Ab87qpUYdlsoXbzM6xpHHYQYpqTQCIlVnzIYF vwTeqAWV2NXxx4v8NUXPNRoJOJpueJ6lMFRwtyboPbYEezZgZT+sC3PsZ+SE10/3QCeO 1a8gIj4nUkVx3HjnBawG4vdORP7n1h1fTMy5Ed+leLDf8sjEE0MUWw1WTLOT30cntSNb bAULfSJqBSXpE7lZ/K3qOuh+yrlGAoXj5eA7PZ2tDHxdFa7x90NQCGsKIpYDpSKPBKvx IEuye3PONdH7tlEv4blGDusGssYBT3LiJmG4bXclKZ0PYiGqh9JY5oEkr7mV1rIIvlZV IA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : content-transfer-encoding : in-reply-to : mime-version; s=corp-2020-01-29; bh=b3tkEt0eBjASemnh6yN7s9eqSceB60n49S0ygV/Bc50=; b=SmdQlIdl9IRr3gWX3XMuTsARlPHs1rXMrInzl/HiapTlSpKybLq66gbLyRYPafBkTyiD MQI5vZm0BBCZ0ZP/Zcx/jFe7Dv5sZd8GpbYqW6n8D07dkXilN61MqW9P3ZVnsa/zLrbs qKYIFTM2GON3TmbXsXgM0QWA2xJzNWRt+jaZq76sm6+Xl7KHvncdgjFrrZn2hwZndlB+ N1UeWUvBMSkP+AEPW3scNrfs4r4nu0HE0BryqQ9uh/GLc+niXDwG4OEfbOpbHrsLpvit LpmXQVKB/Y6HXw2h7ZArSo5/so+9ED+PnfA0RNmg8s+OICfOyD+0A10y5A2UtcNEViOe Kg== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3arbxsh9us-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 30 Aug 2021 11:34:58 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17UBUBVB065331; Mon, 30 Aug 2021 11:34:57 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2177.outbound.protection.outlook.com [104.47.58.177]) by userp3030.oracle.com with ESMTP id 3arpf264vm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 30 Aug 2021 11:34:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OsEPEkCTsGBbItOSpMYMdWR6/FfXNMA1+uiYeyAS0L+lrTCDyW0lsbNdwTzv0a++zDF/ix76eVEODpTnOZHqtraNsngPQX521gJ9rMhHRy7ZgQ5Lo0eGGVPmdPeeWP17uT5VmMCTifsjP6VjTMijIDpxhv3p3HiQX1yffZhkShzQkfTPrVSxEhCDTH7yTh/rkVhm6ce8r9LsSzmu3HPzGbzFuyRNw702+rWQTip5/2VX5AEUOaWO0hVRuNu/6lTSmVmS0OzYd+gxRO7SDkYDf3mZJNumrIeecI1XKCjHu0cWoA1U0Bz5wmnCwacnfa5pT6+H8jnczWgkIcPn8qGNeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LICQ2dVcfB1S0fwAzLE/daQgueOBaXnUubWHbKpcrJw=; b=SipnTDNSBLLxMc/H2B3qmlsjGa68kuU7XroQG+gHqx4ymNANEeLiBtLR2RcdLCcswjrA+zZN40TWj1/VHU7Mn3dgDqNi2i3EopG8SOPBijg38bTZ2uibtIbzVbHk+HrwFyghlmYyPG7IgubGpaA87/ooqkSNh8OXfozREcEmN72Jui1/6tlvU2sfLigH+EK5CCNnzVnsuPkuKWkLCKx+MKc8Y8fuVyOPhZnaZGoyStUiq1OzyX97mGla3PiPrNQUbxu9ibv1Ysklz6bfPOXGMsY+13zYEstftxv6Pegem3u/7rgwqNWbqMhkO/o1tM4nlUsvj6UPNFP94OAh1eSh0A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LICQ2dVcfB1S0fwAzLE/daQgueOBaXnUubWHbKpcrJw=; b=XtcS7cnKfqPfNBgP6EqfX+fty0iWjoQC8EnmnfQn8it6oo/89tCi1jrgpGgWlIsSWS92lh5Pg2qPgjsYMfiKx3rdzYFLkss7L0jd4/wlkgKSWBILMjQoL3x6FUmvyIA7I37uhndDLUTaUGZ0zN8i7Cn6GNG6mZVwKb9esStvRp4= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=oracle.com; Received: from MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) by CO1PR10MB4434.namprd10.prod.outlook.com (2603:10b6:303:9a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24; Mon, 30 Aug 2021 11:34:52 +0000 Received: from MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::5820:e42b:73d7:4268]) by MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::5820:e42b:73d7:4268%7]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021 11:34:52 +0000 Date: Mon, 30 Aug 2021 14:34:35 +0300 From: Dan Carpenter To: kbuild@lists.01.org, Eric Dumazet , kernel-janitors@vger.kernel.org Cc: lkp@intel.com, kbuild-all@lists.01.org Subject: Re: [PATCH net 2/2] ipv4: make exception cache less predictible Message-ID: <202108301057.8FO7SRFu-lkp@intel.com> Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20210829221615.2057201-3-eric.dumazet@gmail.com> User-Agent: Mutt/1.9.4 (2018-02-28) X-ClientProxiedBy: JNXP275CA0007.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:19::19) To MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kadam (62.8.83.99) by JNXP275CA0007.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:19::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18 via Frontend Transport; Mon, 30 Aug 2021 11:34:49 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1b3db19d-82c7-4d47-676c-08d96baa2ef8 X-MS-TrafficTypeDiagnostic: CO1PR10MB4434: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1IiIH+PFSA2C6VeXpmWD1M9V7drjrY+AeYGt7bug+JARvYVqgoykk+4EIhBIQ8m1UG7UxVT5JIz+AqYSCkeBK0lIWmU0kejkpMKYkbotjN2x9pW/4t/a2F7rQSBNLGYUAfghMfIBKAgvVZL9nFVFCHf3hAuCMooyY1G1bD6xchGT7HlBe1noNWuIAmcKD6CHqVerQ3vK/ZDM4VaMTQ7zLxaUZV1ETAV7Ql9AR89WrbNK0CBRrYDL7YFn1FiVcmcG1taKp7Pzaibu/vyXTuwD7AV4ykZe4EZTb1ZSsf4R3j/1hbO3voU6BrOBWvrOfOUISTGQPWpvolA87Mr+I5fxBn4km4ZAzzYXUgvVXWVElxSgYMOupIXpfNfKk3D7xbDgvPJriopQGpiZBDx721QNhASYvX2BUm0hebxnlxXC+5/ftYYdQ0rKmGTQMP585ZvvTNhyDFZ/nK8hnoKvYb85gEl13Fs98EI1yk16EaLka4F4ndcV0Rw5X3SbSCBHFzYspWafb6YqTbir1zTdLZu7SXAQYRdsRbG3suGXFwZPPEwfYa1ivC8xBPsKbGqo7ZLlx2frBtJUrz2o+fB1rTf46LFoLFRwNnOVwzQpbpTpSBIOt0FErSoqLea5efL2AnQym2HPGckg7ZV7mfbOtgsZ92eT59FQ1m6RnNOs+V1OCsYj81myrDKxnsYOl8RqXzKzB5z7hA6jIaHBwN9LDTYpmGsteCS9bc5QSM29GAfUTLUfnG5rKCJGNCk5yXyello+fjP7KpXgMj9PProbY8HP/GKNP/W5yg5jbH6AeXyoUWx0WHgu/oN9fH04VHg8LJWbS8ZgFiQHLbq7wo0aLeuoPA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(86362001)(44832011)(6666004)(2906002)(6496006)(36756003)(38350700002)(38100700002)(508600001)(9686003)(5660300002)(83380400001)(4326008)(1076003)(26005)(956004)(6486002)(66574015)(316002)(8676002)(8936002)(66556008)(66946007)(186003)(52116002)(66476007)(966005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?iso-8859-1?Q?uLMdT0xvlAp0h4DjT3lvrlWJL94eXt3FGwZymG/DB0BjHGAS6grb8XvjmB?= =?iso-8859-1?Q?pS4M1pH6RAAyS9uW5raoY5SQ9/HO9+B8DaiZWB8HVaKYk+zFr17o9cpAS2?= =?iso-8859-1?Q?IRubZnpgzalC9VIedGMhaWaG+OyprUZmCvqBE6ehgOhmVaxeLrxHuJoBAI?= =?iso-8859-1?Q?7Jyk9K1XKIM55BDJGKTyzXi51AOBpOfv5xTth/tic6duOmKT4rQH7N23P8?= =?iso-8859-1?Q?AYFjgWBtpN3g6vDsIOvbP+XoaQBKSCcGrS9/kwCVteMv55ijEejCFkL8wA?= =?iso-8859-1?Q?5i0J33wkOEsJYRz9AWTjN4afIZNON0K2kkkZ8UZorh/Z/BdXzab2KZopQB?= =?iso-8859-1?Q?m6vN8JA9JMCT0uQGBMTKWD6EEJFLdeKtbwX3BoibQ7bYVBwSIHrgPCUBwX?= =?iso-8859-1?Q?WIfRUQIxHd6hM3stfCgtfug425JS5PNBgQswTcveENZi6dAShlD3fKvuNt?= =?iso-8859-1?Q?RWsqka1H+L5eIE8VhLK6020gO8+2RA7wJ5QV67+8YMaj0IvRwuShtiqIFC?= =?iso-8859-1?Q?woV+Bz5QeUAWj70D1n2/xPOABiDq/NtemSXcHaLqZ4ufO2vmP0+SAi9+LC?= =?iso-8859-1?Q?R6BKaDK7S1ZhvwiFPKLgKQfStb3exxPXxaM8kK4fXNmh60j+hu1qvUknUW?= =?iso-8859-1?Q?T69RDulOWK11KAoAnN355UGvnlsIlJxtuBtlQFcMCcWGCfscHpQp+Wvp9i?= =?iso-8859-1?Q?3RQNkLqiaExw1W6SxQJDuoQ96m3pX385FWKxP/ljoab3rwCRkmU9ktZTlv?= =?iso-8859-1?Q?dyopx28vdenVQPfbkYkZ/2exIApiUguNFCY7RQclkAX6yRXuHxNn3822aE?= =?iso-8859-1?Q?0V2Gm4/U8Pg9uNSGgHa5nCb6nZfGBmUYt3IHJT2d28hm7NVCwK2Grx6b6h?= =?iso-8859-1?Q?Szn6c0DlF24R6W4aXj9ydnnTg+3B1GVHrmqDOGyth3HhrUOMGMxOvuZIt+?= =?iso-8859-1?Q?JFEpfbadAlqfiLx6VgdYOVNGz12Oj4I6wj3cIQuXyAVhLofDAFPIBDS93i?= =?iso-8859-1?Q?pNPq7GikJrSFEfQOytDTBYM9nsorcrSBMhyT/1/9wPr2pweafAf3N1Inaw?= =?iso-8859-1?Q?1/S7w6EJ1pLdxXFLcIE0UyaI5/VuB7CCxbqnKR+nSGxX+Wk2Q/rtaxN18a?= =?iso-8859-1?Q?Z+xDBlqJLor0OhFtwBP67BupKQSDBPdt5auO0OaRqjOj4J7vMDMXMJDK5f?= =?iso-8859-1?Q?X64Uk1c5nq78zkfxLybIAhIUk1ixmFp9KZ0prkSqajqtyqNpoCLWy9xQGJ?= =?iso-8859-1?Q?afDRDEmHaaZgYBoVbJyUnxupMZ0T7M6oxMNxDGO57/WG3OVQOOMryZ17Bo?= =?iso-8859-1?Q?KEQSVT64zqdG9z4JgamTGG6eQHiyLZSYQ+30Ea23lJncEJI0OgyvQtHA9I?= =?iso-8859-1?Q?CEcSYro77p?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b3db19d-82c7-4d47-676c-08d96baa2ef8 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Aug 2021 11:34:52.8250 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Gq2ILpzkR6KhFEKBNWtgnwtgVNK4yztZsG+1AWAm7vBDXoK1AeqxTsWlu2vFW5raYDr17H0N6F7DWmiIgrGARYAb4rpCOTuTQ+z8GPMso7g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4434 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10091 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 phishscore=0 spamscore=0 mlxlogscore=999 adultscore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108300083 X-Proofpoint-GUID: a48v1ZcV0Rv6nmqhjFp9OD-Pu23jZ5Y7 X-Proofpoint-ORIG-GUID: a48v1ZcV0Rv6nmqhjFp9OD-Pu23jZ5Y7 Precedence: bulk List-ID: X-Mailing-List: kernel-janitors@vger.kernel.org [ I trimmed the CC list because this is probably a false positive and netdev hates static checker warnings. - dan ] Hi Eric, url: https://github.com/0day-ci/linux/commits/Eric-Dumazet/inet-make-exception-handling-less-predictible/20210830-061726 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 57f780f1c43362b86fd23d20bd940e2468237716 config: x86_64-randconfig-m001-20210829 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: net/ipv4/route.c:606 fnhe_remove_oldest() error: potentially dereferencing uninitialized 'oldest_p'. vim +/oldest_p +606 net/ipv4/route.c adf305d00ec06cb Eric Dumazet 2021-08-29 589 static void fnhe_remove_oldest(struct fnhe_hash_bucket *hash) 4895c771c7f006b David S. Miller 2012-07-17 590 { adf305d00ec06cb Eric Dumazet 2021-08-29 591 struct fib_nh_exception __rcu **fnhe_p, **oldest_p; adf305d00ec06cb Eric Dumazet 2021-08-29 592 struct fib_nh_exception *fnhe, *oldest = NULL; 4895c771c7f006b David S. Miller 2012-07-17 593 adf305d00ec06cb Eric Dumazet 2021-08-29 594 for (fnhe_p = &hash->chain; ; fnhe_p = &fnhe->fnhe_next) { adf305d00ec06cb Eric Dumazet 2021-08-29 595 fnhe = rcu_dereference_protected(*fnhe_p, adf305d00ec06cb Eric Dumazet 2021-08-29 596 lockdep_is_held(&fnhe_lock)); adf305d00ec06cb Eric Dumazet 2021-08-29 597 if (!fnhe) adf305d00ec06cb Eric Dumazet 2021-08-29 598 break; Smatch is complaining that this could break on the first iteration through the loop... adf305d00ec06cb Eric Dumazet 2021-08-29 599 if (!oldest || adf305d00ec06cb Eric Dumazet 2021-08-29 600 time_before(fnhe->fnhe_stamp, oldest->fnhe_stamp)) { 4895c771c7f006b David S. Miller 2012-07-17 601 oldest = fnhe; adf305d00ec06cb Eric Dumazet 2021-08-29 602 oldest_p = fnhe_p; adf305d00ec06cb Eric Dumazet 2021-08-29 603 } 4895c771c7f006b David S. Miller 2012-07-17 604 } 2ffae99d1fac272 Timo Teräs 2013-06-27 605 fnhe_flush_routes(oldest); adf305d00ec06cb Eric Dumazet 2021-08-29 @606 *oldest_p = oldest->fnhe_next; adf305d00ec06cb Eric Dumazet 2021-08-29 607 kfree_rcu(oldest, rcu); 4895c771c7f006b David S. Miller 2012-07-17 608 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============8511926675233653788==" MIME-Version: 1.0 From: kernel test robot Subject: Re: [PATCH net 2/2] ipv4: make exception cache less predictible Date: Mon, 30 Aug 2021 10:39:02 +0800 Message-ID: <202108301057.8FO7SRFu-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============8511926675233653788== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org In-Reply-To: <20210829221615.2057201-3-eric.dumazet@gmail.com> References: <20210829221615.2057201-3-eric.dumazet@gmail.com> TO: Eric Dumazet TO: "David S . Miller" TO: Jakub Kicinski CC: netdev CC: Eric Dumazet CC: Willy Tarreau CC: Keyu Man CC: David Ahern Hi Eric, I love your patch! Perhaps something to improve: [auto build test WARNING on net/master] url: https://github.com/0day-ci/linux/commits/Eric-Dumazet/inet-make-exc= eption-handling-less-predictible/20210830-061726 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 57f78= 0f1c43362b86fd23d20bd940e2468237716 :::::: branch date: 4 hours ago :::::: commit date: 4 hours ago config: x86_64-randconfig-m001-20210829 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: net/ipv4/route.c:606 fnhe_remove_oldest() error: potentially dereferencing = uninitialized 'oldest_p'. vim +/oldest_p +606 net/ipv4/route.c 2ffae99d1fac272 Timo Ter=C3=A4s 2013-06-27 588 = adf305d00ec06cb Eric Dumazet 2021-08-29 589 static void fnhe_remove_ol= dest(struct fnhe_hash_bucket *hash) 4895c771c7f006b David S. Miller 2012-07-17 590 { adf305d00ec06cb Eric Dumazet 2021-08-29 591 struct fib_nh_exception _= _rcu **fnhe_p, **oldest_p; adf305d00ec06cb Eric Dumazet 2021-08-29 592 struct fib_nh_exception *= fnhe, *oldest =3D NULL; 4895c771c7f006b David S. Miller 2012-07-17 593 = adf305d00ec06cb Eric Dumazet 2021-08-29 594 for (fnhe_p =3D &hash->ch= ain; ; fnhe_p =3D &fnhe->fnhe_next) { adf305d00ec06cb Eric Dumazet 2021-08-29 595 fnhe =3D rcu_dereference= _protected(*fnhe_p, adf305d00ec06cb Eric Dumazet 2021-08-29 596 lockdep_is_held(&fn= he_lock)); adf305d00ec06cb Eric Dumazet 2021-08-29 597 if (!fnhe) adf305d00ec06cb Eric Dumazet 2021-08-29 598 break; adf305d00ec06cb Eric Dumazet 2021-08-29 599 if (!oldest || adf305d00ec06cb Eric Dumazet 2021-08-29 600 time_before(fnhe->fn= he_stamp, oldest->fnhe_stamp)) { 4895c771c7f006b David S. Miller 2012-07-17 601 oldest =3D fnhe; adf305d00ec06cb Eric Dumazet 2021-08-29 602 oldest_p =3D fnhe_p; adf305d00ec06cb Eric Dumazet 2021-08-29 603 } 4895c771c7f006b David S. Miller 2012-07-17 604 } 2ffae99d1fac272 Timo Ter=C3=A4s 2013-06-27 605 fnhe_flush_routes(ol= dest); adf305d00ec06cb Eric Dumazet 2021-08-29 @606 *oldest_p =3D oldest->fnh= e_next; adf305d00ec06cb Eric Dumazet 2021-08-29 607 kfree_rcu(oldest, rcu); 4895c771c7f006b David S. Miller 2012-07-17 608 } 4895c771c7f006b David S. Miller 2012-07-17 609 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============8511926675233653788== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============8511926675233653788==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============5322441555404395531==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: Re: [PATCH net 2/2] ipv4: make exception cache less predictible Date: Mon, 30 Aug 2021 14:34:35 +0300 Message-ID: <202108301057.8FO7SRFu-lkp@intel.com> In-Reply-To: <20210829221615.2057201-3-eric.dumazet@gmail.com> List-Id: --===============5322441555404395531== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable [ I trimmed the CC list because this is probably a false positive and netdev hates static checker warnings. - dan ] Hi Eric, url: https://github.com/0day-ci/linux/commits/Eric-Dumazet/inet-make-exc= eption-handling-less-predictible/20210830-061726 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git 57f78= 0f1c43362b86fd23d20bd940e2468237716 config: x86_64-randconfig-m001-20210829 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: net/ipv4/route.c:606 fnhe_remove_oldest() error: potentially dereferencing = uninitialized 'oldest_p'. vim +/oldest_p +606 net/ipv4/route.c adf305d00ec06cb Eric Dumazet 2021-08-29 589 static void fnhe_remove_ol= dest(struct fnhe_hash_bucket *hash) 4895c771c7f006b David S. Miller 2012-07-17 590 { adf305d00ec06cb Eric Dumazet 2021-08-29 591 struct fib_nh_exception _= _rcu **fnhe_p, **oldest_p; adf305d00ec06cb Eric Dumazet 2021-08-29 592 struct fib_nh_exception *= fnhe, *oldest =3D NULL; 4895c771c7f006b David S. Miller 2012-07-17 593 = adf305d00ec06cb Eric Dumazet 2021-08-29 594 for (fnhe_p =3D &hash->ch= ain; ; fnhe_p =3D &fnhe->fnhe_next) { adf305d00ec06cb Eric Dumazet 2021-08-29 595 fnhe =3D rcu_dereference= _protected(*fnhe_p, adf305d00ec06cb Eric Dumazet 2021-08-29 596 lockdep_is_held(&fn= he_lock)); adf305d00ec06cb Eric Dumazet 2021-08-29 597 if (!fnhe) adf305d00ec06cb Eric Dumazet 2021-08-29 598 break; Smatch is complaining that this could break on the first iteration through the loop... adf305d00ec06cb Eric Dumazet 2021-08-29 599 if (!oldest || adf305d00ec06cb Eric Dumazet 2021-08-29 600 time_before(fnhe->fn= he_stamp, oldest->fnhe_stamp)) { 4895c771c7f006b David S. Miller 2012-07-17 601 oldest =3D fnhe; adf305d00ec06cb Eric Dumazet 2021-08-29 602 oldest_p =3D fnhe_p; adf305d00ec06cb Eric Dumazet 2021-08-29 603 } 4895c771c7f006b David S. Miller 2012-07-17 604 } 2ffae99d1fac272 Timo Ter=C3=A4s 2013-06-27 605 fnhe_flush_routes(ol= dest); adf305d00ec06cb Eric Dumazet 2021-08-29 @606 *oldest_p =3D oldest->fnh= e_next; adf305d00ec06cb Eric Dumazet 2021-08-29 607 kfree_rcu(oldest, rcu); 4895c771c7f006b David S. Miller 2012-07-17 608 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============5322441555404395531==--