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 AAB42C04A6A for ; Fri, 4 Aug 2023 16:52:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 133DD8D0001; Fri, 4 Aug 2023 12:52:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E4306B0072; Fri, 4 Aug 2023 12:52:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EED918D0001; Fri, 4 Aug 2023 12:52:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id DD2A76B0071 for ; Fri, 4 Aug 2023 12:52:57 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 9A3ED16150F for ; Fri, 4 Aug 2023 16:52:57 +0000 (UTC) X-FDA: 81087016794.25.F579E7F Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) by imf19.hostedemail.com (Postfix) with ESMTP id A2DB31A0016 for ; Fri, 4 Aug 2023 16:52:55 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=iVTGTZEB; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf19.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.167.52 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=1691167975; 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=QnaCosAexdGAygEMqKp7KjQb9b47vUaddFUualtAX0w=; b=6iz1PAprX/IlzqfRKY1QBTLw5Rv97SB1WrziE44plF8i1SmSzsl4ke0f4iTG7h5QFmqBIC FgYTuRIxH3fjcV1xMM9gwFLfypC+4eDnESeBETRG4Huwc2n6eRgkj881wPNuR7JB85Hu74 Cxt91HZakZF6OtTryjg+EaIXs++ET2Q= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=iVTGTZEB; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf19.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.167.52 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691167975; a=rsa-sha256; cv=none; b=PeqQ6P8MYdIABvoogbmf5tuj/VpRt+Dml0SjaN0V60J51mWTzIpZbPdL3z1qy71pNWCsRA kCnINEm94HR4297ia3+6zK1CARkODmkJRClYjl42/97tin4EFz7HaM3p8Xwc5b545OEUJJ nfTAZox6aeuXZUNllWCJwIwcMC/IUfw= Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-4fe383c1a26so4023931e87.1 for ; Fri, 04 Aug 2023 09:52:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1691167974; x=1691772774; 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=QnaCosAexdGAygEMqKp7KjQb9b47vUaddFUualtAX0w=; b=iVTGTZEBZCtC/nqh5uQDsnt9lMgfb2zfYh0yxe7vtDs9V7/SbcpNbqaK47hcTNENNz 5TPUziv/zdtYo06k4vcCB0a0ul9Z8HOLK+zs8SKocPIlVcxmxlOiBwoX6O8oO9cGzvEv wz+f9xaVDPlVIlDUkRqJq0Mhsq7MRpdM1d7DvbMSoC7TZPDykTEtJGF96l4dghzCNpC7 tfJIY6IkHzIlcuTFmJk8u5vPDB8AQdjcDEyFTDk2N60D9tnqbtwPDABG9xOCNvHmS3Gu cnocXuoq/+EdOW/8Ac49vS4t7A7Zg/alNEFDm1jA9MCKvAeVnHwmf54MceivEz5pHrAX 3izg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691167974; x=1691772774; 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=QnaCosAexdGAygEMqKp7KjQb9b47vUaddFUualtAX0w=; b=GgtJs79ItVAz4cZ+Zgh9mCLG/pF5rdmukhsX0gXji3pqYau0iJBI3Ph9+QJjE8rQUC aAGt2UW1SmFuuRfrIQdfasznmyi3Wf0R2Ca2s10B3juPhz5ROqUS+1EwrXpzw6ypxXlz qA19sMBoPUErt5v2a3/HEqaanoFv20fJd5bSRPQBWYtjMbkh0x+R8A0GkC28g7ipRRWy hxoSPl8JGqAzWuJsgw735z/OmQF1EKzePpa/E7nBYxeUstZChNBXRiN/6hG8uCVFDove +l+oXrg+u2QM8gVydwjpmBXHnAeTUNjTldsy2hwMvyMwUaTZXnudVOOCIr3DMldelxjP P2NA== X-Gm-Message-State: AOJu0YxO9JAeouPLM43UYIen3TlnnW013rwUaQRcm/JBRKPW9PvH7Zas SprXF3pCFRq8xk0u5czwhw5yPQ== X-Google-Smtp-Source: AGHT+IEcTiwnzo+QgT2pIdD4HCLDKR2pZSc/Rapzz6vl/kltVHoTpSph39il3efrnL3YZtkQYfoQsg== X-Received: by 2002:a05:6512:208c:b0:4fe:17d9:6755 with SMTP id t12-20020a056512208c00b004fe17d96755mr1465840lfr.25.1691167973564; Fri, 04 Aug 2023 09:52:53 -0700 (PDT) Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id v13-20020a1cf70d000000b003fe17901fcdsm7209490wmh.32.2023.08.04.09.52.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Aug 2023 09:52:53 -0700 (PDT) Date: Fri, 4 Aug 2023 19:52:50 +0300 From: Dan Carpenter To: Miquel Raynal Cc: oe-kbuild@lists.linux.dev, Md Sadre Alam , lkp@intel.com, oe-kbuild-all@lists.linux.dev, Linux Memory Management List , Sricharan Ramabadhran , Manivannan Sadhasivam Subject: Re: [linux-next:master 1937/6910] drivers/mtd/nand/raw/qcom_nandc.c:2941 qcom_op_cmd_mapping() error: uninitialized symbol 'ret'. Message-ID: <3604e2ed-8d30-4f7b-9e56-7af5b23b2ac5@kadam.mountain> References: <7ad1160b-5f8c-47af-a1c5-51b34f656fab@kadam.mountain> <20230804184550.0cb12369@xps-13> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230804184550.0cb12369@xps-13> X-Rspamd-Queue-Id: A2DB31A0016 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: ccxtch4nipepy5qxg8pt53psueq8zudk X-HE-Tag: 1691167975-292920 X-HE-Meta: U2FsdGVkX1934CGeiSeY8G2q/2v2ZOwW/Oam5T4uenhRgb1E7Z5vyFgXyh7XhOnK5bZL5SPbHg8rZ9FzjA4gvvV8SvqN7c2VZKj33p5Oy5oG3pfpYLmG1mCDgppbkK94ViIzPfYDHkx//HXAIbr2A3HW9A6fGleak8DxN4iBDehMDXfS3jIGoMWzywatUVe8LoDpcRRZhDQjAYB5CykuV0IEHPcyxF7grQk8iNhv2q34VgO+HJTlI6dMK4A4z5Wd/vD7QFRL64QGfr265HyQBrhiOPjEzFoxs7odUHVCx+0OQmgAXdzLK9TBszl6Q4yE+qvTRvaTYnZWbKMy887jMUJ9p3oXc1meAXcLMsgzwm/p5qFnK90ELyiYa55+hI5/SJcXC4fD0u+DdPfq8Y3d4pJ7j1N6w3hHdPthxuPuDscCjKyxsNP0UNycxcb/CfMRlfWLBNy3+0eX5drKltp81ejAlIMp1FqTN0R0SG5bfnuiWGzU3M+AU2o7ZeE8IO27n8bXowutOSS4IXfKStSL4v8/zlDqrXFc2W/F3zh4Rd6JHhnKDzaXbepTct878YSQw04/EsD1d4qng6lnubhncvrHkzQvTmiyDyRuFYhXdFC/9fJr7JcIj5Qd6Nvrru/LbxJACfHwPKIndmgHuxEpHJfnl+3wzapXxNySn5rJyVAmpiEpVhXrYc3Ad0huFw8jTFrme7O7FVUx3D0pnDl9WIQzrjjudOVZijJxxRcup/PQiC4psUkfTOEmzrSUqoopaJXsZBGBZpOrnJrFRVYO+rIEPEPLtrrTeLVdziZYQQPlxK33WqSovQbXOViGSevzMfeP5GWhxmLxqUyJNuSb8KUnVzW9RFsz/NSTlmie6AKt1u0cfJ0a8kzCCPdOtnG2n/8C10wQMObCwe1r3uwnIHyAw8rQQtt4KkHtCOXFIVWRMC0/zZnT5Sjatm8bTMysUUUjiLcGMR85WS0ZzBA W0omJd37 aD5/3QM1vxE4AwIbkcL3QKPKt27PsAEC7Uojxxi4XPZumuUAiU2CvYED3ZriSHgrWIFhm3AR+nF/fMyKh4Y1JFZRXwY6F63lKQlhmaSp5e23KMlVlAlvst5yNMuab5xs7hoS4aXaC5cu0rn9igmqW6vWiE4NNh99Mtae4zVxd+81/98aXmxM0481RRfZz9mwE1c/k0v+O9S/YXQXLtsRmzVLW9JZNdOVCcYAuVqEKpb1opFrQQ4I5690VMD2p4F6HEHGzaShNxbHTpnWDla6vkQ7TwF2zF/EEj59TzJo7b9V1cUZxNWKF8ompoA6tKfvZm7IgPLioU5oZQ9vd2fdF9Jxb9diuZt3ObTbjcMjqYGpkzu4aHifSPo8HkrE4lKqsdPCqgGCV3nYKo9T+eGdMcENK9rQ3Fh3JxOzUHwqcirGfeh2ypO18yL3yhFdp0b/UEdkEPXkdYgsx47Hz9NuIfrL41xVvQJ1VojCSeKxdN9XwBTIZKWBp5YXgO1EPB4HFDsMgWFYIiLyaAB4Yrx7g0cA/GvcsomkZ/m0IZz9ZpGI2UAA= 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: On Fri, Aug 04, 2023 at 06:45:50PM +0200, Miquel Raynal wrote: > Hi Sadre, Sricharan & Manivannan, > > A couple of questions for you below. > > dan.carpenter@linaro.org wrote on Thu, 3 Aug 2023 15:20:56 +0300: > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > > head: fb4327106e5250ee360d0d8b056c1eef7eeb9a98 > > commit: 89550beb098e04b951df079483fb064eafc0e5fa [1937/6910] mtd: rawnand: qcom: Implement exec_op() > > config: riscv-randconfig-m031-20230730 (https://download.01.org/0day-ci/archive/20230803/202308032022.SnXkKyFs-lkp@intel.com/config) > > compiler: riscv64-linux-gcc (GCC) 12.3.0 > > reproduce: (https://download.01.org/0day-ci/archive/20230803/202308032022.SnXkKyFs-lkp@intel.com/reproduce) > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > > the same patch/commit), kindly add following tags > > | Reported-by: kernel test robot > > | Reported-by: Dan Carpenter > > | Closes: https://lore.kernel.org/r/202308032022.SnXkKyFs-lkp@intel.com/ > > > > New smatch warnings: > > drivers/mtd/nand/raw/qcom_nandc.c:2941 qcom_op_cmd_mapping() error: uninitialized symbol 'ret'. > > drivers/mtd/nand/raw/qcom_nandc.c:3369 qcom_check_op() warn: was && intended here instead of ||? > > > > Old smatch warnings: > > drivers/mtd/nand/raw/qcom_nandc.c:3076 qcom_read_status_exec() warn: inconsistent indenting > > > > vim +/ret +2941 drivers/mtd/nand/raw/qcom_nandc.c > > > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2909 static int qcom_op_cmd_mapping(struct qcom_nand_controller *nandc, u8 cmd, > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2910 struct qcom_op *q_op) > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2911 { > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2912 int ret; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2913 > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2914 switch (cmd) { > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2915 case NAND_CMD_RESET: > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2916 ret = OP_RESET_DEVICE; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2917 break; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2918 case NAND_CMD_READID: > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2919 ret = OP_FETCH_ID; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2920 break; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2921 case NAND_CMD_PARAM: > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2922 if (nandc->props->qpic_v2) > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2923 ret = OP_PAGE_READ_ONFI_READ; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2924 else > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2925 ret = OP_PAGE_READ; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2926 break; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2927 case NAND_CMD_ERASE1: > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2928 case NAND_CMD_ERASE2: > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2929 ret = OP_BLOCK_ERASE; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2930 break; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2931 case NAND_CMD_STATUS: > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2932 ret = OP_CHECK_STATUS; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2933 break; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2934 case NAND_CMD_PAGEPROG: > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2935 ret = OP_PROGRAM_PAGE; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2936 q_op->flag = OP_PROGRAM_PAGE; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2937 nandc->exec_opwrite = true; > > 89550beb098e04 drivers/mtd/nand/raw/qcom_nandc.c Md Sadre Alam 2023-07-10 2938 break; > > > > No default case. I'm more concerned about the && vs || warning, but > > the zero day bot doesn't include that code into the email. > > The default case here is in theory not possible, as long as > qcom_check_op() is properly implemented. We should however silence the > warning by handling it. Maybe a WARN_ON_ONCE() + ret = will produce an error when executing the command> would work. > The kbuild-bot runs without the cross function database so it has a lot of false positives that you wouldn't see if you had the DB. (There isn't really a way to build with the cross function DB. It takes way way way too long. Also it sometimes finds bug which are complicated to explain or to assign blame for in an automated way). But these false positives are frustrating to me. In real life, GCC is going to automatically initialize stack variables to zero on production systems. > However I doubt the following piece of code has been successfully > tested: > > for (op_id = 0; op_id < op->ninstrs; op_id++) { > instr = &op->instrs[op_id]; > > switch (instr->type) { > case NAND_OP_CMD_INSTR: > if (instr->ctx.cmd.opcode != NAND_CMD_RESET || > instr->ctx.cmd.opcode != NAND_CMD_READID || > instr->ctx.cmd.opcode != NAND_CMD_PARAM || > instr->ctx.cmd.opcode != NAND_CMD_ERASE1 || > instr->ctx.cmd.opcode != NAND_CMD_ERASE2 || > instr->ctx.cmd.opcode != NAND_CMD_STATUS || > instr->ctx.cmd.opcode != NAND_CMD_PAGEPROG) > return -ENOTSUPP; > break; > > The || should be &&, otherwise it cannot work, or am I missing > something? Yeah. That's how this bug normally looks like. NAND_OP_CMD_INSTR always returns -ENOTSUPP. regards, dan carpenter