From patchwork Fri Apr 21 10:42:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 13219862 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5052CC7618E for ; Fri, 21 Apr 2023 11:40:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:Cc:To: From:Date:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=+KADuwz1N/aIWJatdRxbisaO/lWhSNeMlrAzYGnK6Bc=; b=ZgKVcGC+YGajNS i0O+ayEvt2NmVZKYU9tv3g8Wh38TV3mp5qlHd2LXwHV5pZF9h/NBYChq+swcnq/KrTrb1DoaZLc2b tETJal9FyOtsbeXzstMYDj8pZV8gigRbBJOIGlv7Ot0teKu77TL85E5+Q+MpCa7FsMichjnDwGhM+ 1duViZpgmUQz6tCw/0NKt98e/9cSf3PlCdz4us/nYJQyQ66x4rC6R+R1dwfO/5Ynp61/0kWZ3diIx md8dQvD7m0OV22OJgh55apidJFC4FxUm42z65uWwl6hekVQkVhuxwI5VpQf7MaD1BmN6LqGVYQBd4 +x/33BhoZvpuYk9y37Yw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1ppp6t-00Ajo8-0X; Fri, 21 Apr 2023 11:39:27 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1ppp6q-00AjnZ-37 for linux-arm-kernel@bombadil.infradead.org; Fri, 21 Apr 2023 11:39:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Type:MIME-Version:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=pJNQPIVgpo0k9cBK3eiufu4iuPFearoW+KRcZ0E6+uI=; b=XHPHy+StS4qIVOL4K0g+g6KINc PHbkQ4e+yVP+nrCF4UXkSj7C/ZbgxgAgqqI3WnlWiiZ+QY9KbS2IEdubL7ATAVkBM6EYusCXxmFYP W39lCHM3fdRg5yYmWsl+TJ0i6jR5TT8GSEHNPFD/xYUWhhrrrdEsXmD275yLk/FNyGdV8/BBEUeF1 LvrMISDMR/Xpo25aRG8oObK3rHMDWM0iRvm4bOVtzFR2wqcg6xO39PSZd7G8+yn2MAODSdQvuZPVi VSY1hRAFQJXRKVc6yEvVpmqM5NvokVhAm0TaBvft8w551CN7NI5dWA+doHWjrhIAfPcty5oCaDjQi l4QkXcZA==; Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by desiato.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1ppoE4-005GGp-0V for linux-arm-kernel@lists.infradead.org; Fri, 21 Apr 2023 10:42:50 +0000 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-3f18dacd392so8142165e9.0 for ; Fri, 21 Apr 2023 03:42:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1682073766; x=1684665766; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=pJNQPIVgpo0k9cBK3eiufu4iuPFearoW+KRcZ0E6+uI=; b=IYMMMjpIZLIomm55FS+rS8rQ7TVENxzCZe9RE21cg3V2H9Fa7p1Ypv94kV9wEchh1X v2BwrXdmzv4T3NdfBpoX+Nc/VZTiD6dkBPQgKN9I6AOd7Tr3zWKC2Ii7UhSnna/uFbWn KR1UFyqA7YJhbYhmhWw2U23PU38axed/QRyRKUbMEC7IVfXqR8ooqtXqltZTDcmGCRKL ATcJ/C/a2vTrJGLRcjW/MPdj+38PlV6QfbgHPhd6yhNjjzY0CG6La5Cn1mnKlVLvLCOD v13Qla9s3gkzI6qiC/xJm+J+QN0fVkPUDq/GvPrvzq0EJA2f9xO6uBi2WsY3ILJnzB7C v8Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682073766; x=1684665766; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=pJNQPIVgpo0k9cBK3eiufu4iuPFearoW+KRcZ0E6+uI=; b=kC1sXt2ODMZMx6XITPnBfIKbQkb/TpPwpJ16VT+a/G+HPqW2xOWrOj8unCi/i2Srnp w1NFnA6m9qSL+czBgHbMjdP+U9X82p2VensuXF2RXk7wCtZCc642AXFhXdJRt9lLrjS4 LxLwUibIFj2250ThYqgOfo+I7NdpXY8nBBRU6o6BWJI3XtxrH0fVzfLNB+jcyfyyjjJz jVNGuWDxX6vVZiIhN/2XD2+zkNrMOTsUPUPpVbB+yGyDC1AUCUyqworc3zP6201mRxvd X0YvjWS2YjdYYQrZf4fTRNkiycijKpw2iofxdLPhQ+5h2lCgoDVvrT1IlWQ9OD6JX4/0 Y1nQ== X-Gm-Message-State: AAQBX9dwKGXIKEuDMI1T2UKXYOp75OPDmiqjpeaGJzySAIjkLPDWOYFU ySbKeX4OpWvC9hHO9ew1UYKWYQ== X-Google-Smtp-Source: AKy350ZUgw0vyBnmYLAjQqosc1capWBtzz8s55MJdq3C/+B8SVk0KS7JInXHSLo4bzQ4SKP5lxzGsg== X-Received: by 2002:a7b:ca4c:0:b0:3f1:91fc:564 with SMTP id m12-20020a7bca4c000000b003f191fc0564mr1334442wml.7.1682073766311; Fri, 21 Apr 2023 03:42:46 -0700 (PDT) Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id u19-20020a05600c00d300b003f17eaae2c9sm4513810wmm.1.2023.04.21.03.42.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 03:42:45 -0700 (PDT) Date: Fri, 21 Apr 2023 13:42:41 +0300 From: Dan Carpenter To: Suzuki K Poulose Cc: Mike Leach , Leo Yan , Alexander Shishkin , Mathieu Poirier , Greg Kroah-Hartman , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, kernel-janitors@vger.kernel.org Subject: [PATCH] coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet() Message-ID: <7d33e244-d8b9-4c27-9653-883a13534b01@kili.mountain> MIME-Version: 1.0 Content-Disposition: inline X-Mailer: git-send-email haha only kidding X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230421_114248_564913_E326AAAE X-CRM114-Status: GOOD ( 12.63 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This code generates a Smatch warning: drivers/hwtracing/coresight/coresight-tmc-etr.c:947 tmc_etr_buf_insert_barrier_packet() error: uninitialized symbol 'bufp'. The problem is that if tmc_sg_table_get_data() returns -EINVAL, then when we test if "len < CORESIGHT_BARRIER_PKT_SIZE", the negative "len" value is type promoted to a high unsigned long value which is greater than CORESIGHT_BARRIER_PKT_SIZE. Fix this bug by adding an explicit check for error codes. Fixes: 75f4e3619fe2 ("coresight: tmc-etr: Add transparent buffer management") Signed-off-by: Dan Carpenter --- drivers/hwtracing/coresight/coresight-tmc-etr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hwtracing/coresight/coresight-tmc-etr.c b/drivers/hwtracing/coresight/coresight-tmc-etr.c index 918d461fcf4a..eaa296ced167 100644 --- a/drivers/hwtracing/coresight/coresight-tmc-etr.c +++ b/drivers/hwtracing/coresight/coresight-tmc-etr.c @@ -942,7 +942,7 @@ tmc_etr_buf_insert_barrier_packet(struct etr_buf *etr_buf, u64 offset) len = tmc_etr_buf_get_data(etr_buf, offset, CORESIGHT_BARRIER_PKT_SIZE, &bufp); - if (WARN_ON(len < CORESIGHT_BARRIER_PKT_SIZE)) + if (WARN_ON(len < 0 || len < CORESIGHT_BARRIER_PKT_SIZE)) return -EINVAL; coresight_insert_barrier_packet(bufp); return offset + CORESIGHT_BARRIER_PKT_SIZE;