From patchwork Tue Mar 7 15:55:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 65668 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:570d:b0:a1:2e52:cf23 with SMTP id h13csp1991506dyk; Tue, 7 Mar 2023 08:11:31 -0800 (PST) X-Google-Smtp-Source: AK7set9Nz2jpaaOf8Ubg3lLYza1NpzVWkoFsfD0dQyi4mVW+HZ/iCwvVCvSovIUk6iuLDSE4tlAM X-Received: by 2002:aa7:d989:0:b0:4a3:43c1:8441 with SMTP id u9-20020aa7d989000000b004a343c18441mr17238973eds.21.1678205491611; Tue, 07 Mar 2023 08:11:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678205491; cv=none; d=google.com; s=arc-20160816; b=WI5MLTjU05u4WNtwsNh47qinjpNlhqtEdd3S89xlMiG66sDC2snAQ5kS9kQWlywxtz 5AlDAFCQYyjehAr4iv6FWMDk8r81Jwt/PLk9EJj9q1f1VEXWzHTXcBlW8UjO+aBEbY6T 7nxDVf/HdWSuSx1IqclLOteUThnoLhSeIWCecrwprSrtTtJDbrBmCZzqzypF0wE2jUuL CtZV06PwXZfvI1PwkInjrIhHLgNoPekAbomwjv3uhr5/xGSLlY0nFf22sDGITWERt6U8 q5vasLm40pMvi8wY2c/VQn0cs9kykKj5Eac4nLkN28nqjO3Q0Nv+XvKiZQhAe/SKEaYP tOGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=PRjk8VOppnGqzOz7XErLSEL3dWYMpgLTb6kuNQ17jK8=; b=bSnaU0NHK4IzS0vgge1BiqHTJpP61SZr7pbjjaE/9IKF49im6tYHZEQ9Y6qptz/P2D bFDJZwxrTs0IMTDl1UpPCrY4sRqUGVitBgWVDGr26ssODStzPx7jZHIeqOt8cGKTb+AN sy1/8dN+sjdH30/jFdW4X1yp33Je4RV3nGmW92t7DfnM9b2LfWXfX5yR2oPjZnsWbgnq 0x0vmnJZi4CwrxOrp8E4YKjPASf38e8/hxPMSWUA4EY54CZ3+D+5bNDmlBa+Dfjz7jmy ivVKe1lzSpn31/ZAgsiq/vY8hyc0f9LRd/w3zbq59qkfN7a/pnIyaLUaWc8uAj80s8t2 drJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eZrAbeN4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g9-20020aa7c589000000b00487ceac6d34si1213302edq.137.2023.03.07.08.11.05; Tue, 07 Mar 2023 08:11:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eZrAbeN4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231627AbjCGP5A (ORCPT + 99 others); Tue, 7 Mar 2023 10:57:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43236 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231644AbjCGP4N (ORCPT ); Tue, 7 Mar 2023 10:56:13 -0500 Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DA63C9270B for ; Tue, 7 Mar 2023 07:55:46 -0800 (PST) Received: by mail-wr1-x432.google.com with SMTP id h14so12619458wru.4 for ; Tue, 07 Mar 2023 07:55:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1678204545; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=PRjk8VOppnGqzOz7XErLSEL3dWYMpgLTb6kuNQ17jK8=; b=eZrAbeN4kKHrj/W0DHIGzXlvGANWW+5yMvHLqz3FFmu6qH7AU6P+SItcRoa7rfBPDm xdLgqEe/47cGXLKlgqRqoxlD0V4sjR8fHv5jDSJo/cS4f5W50o33s8Ykpc5VoyWcEEMH AqG5Rl1u4TeRXnnxCGZ5q33dhoMQANbSoDjzTZIHtSy+r53aEZIVo+wpqtHAq8iDF74L 0vx8wQdFLpqCmqHGJRESnN4NxQ7j82BItCzmjQunVI6umHiIqTtG/loLmjvPUsmD0CzL 1zkLZ2LroIsxvaydN65lm0WfPcedfi6BeVpUSWbn3SegwmpCkbdsEZV+gNoO2ibQjCmQ u+pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678204545; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=PRjk8VOppnGqzOz7XErLSEL3dWYMpgLTb6kuNQ17jK8=; b=McxrNvyzeUi1JpKMeB5O7j7XNnaZko71XODs0oNMKlP4gFlsat+3DfC3uxz7WYN8Cw 9N48+3APk9soJfDwteWPnLpk/NYTVXUsu0ZSrWaiYPpv19JsgDgyRanbG5XtgFLdJG4f 2nYacVsuaoeDNiyEeteFGHnIyhxSyHxsONRf4fKmGZhJr/PWrvrFXlEUDMAsKu6wxO9S xyIUKLh0yI9E+NKrfQ8XwWjPQqXQHFceSAB8BIuz+xw7/iSnWAVULsJadt7wSNxJJAx2 U/N+CYnRG4XN2e39FZ+UFLCSWjderaeZLhoG2qegDcXyul5qlcphfoeOZ972g+A7m7cC SlFg== X-Gm-Message-State: AO0yUKWTqL+T8ntZWjSqhg02H9b++Jw1gU6s0IwDi3Ma+wBOJ4qR+Z+m 06SBIXWS+e/6HRZmqQzfbDYJOw== X-Received: by 2002:a5d:6148:0:b0:2c5:5335:73f3 with SMTP id y8-20020a5d6148000000b002c5533573f3mr14139460wrt.34.1678204545343; Tue, 07 Mar 2023 07:55:45 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id t14-20020a05600c450e00b003e1fee8baacsm18115389wmo.25.2023.03.07.07.55.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Mar 2023 07:55:44 -0800 (PST) From: Srinivas Kandagatla To: agross@kernel.org, andersson@kernel.org, gregkh@linuxfoundation.org Cc: konrad.dybcio@linaro.org, jirislaby@kernel.org, bartosz.golaszewski@linaro.org, linux-arm-msm@vger.kernel.org, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 1/2] tty: serial: qcom-geni-serial: check correct dma address before unprep Date: Tue, 7 Mar 2023 15:55:41 +0000 Message-Id: <20230307155543.31021-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759726001507831451?= X-GMAIL-MSGID: =?utf-8?q?1759726001507831451?= looks like there was a typo while checking validatity of tx_dma_addr, the code was checking rx instead of tx. This can potentially lead to memory leak, this patch fixes the typo. Fixes: 2aaa43c70778 ("tty: serial: qcom-geni-serial: add support for serial engine DMA") Signed-off-by: Srinivas Kandagatla Reviewed-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio --- drivers/tty/serial/qcom_geni_serial.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c index d69592e5e2ec..5972b5c317d3 100644 --- a/drivers/tty/serial/qcom_geni_serial.c +++ b/drivers/tty/serial/qcom_geni_serial.c @@ -596,7 +596,7 @@ static void qcom_geni_serial_stop_tx_dma(struct uart_port *uport) if (!qcom_geni_serial_main_active(uport)) return; - if (port->rx_dma_addr) { + if (port->tx_dma_addr) { geni_se_tx_dma_unprep(&port->se, port->tx_dma_addr, port->tx_remaining); port->tx_dma_addr = 0; From patchwork Tue Mar 7 15:55:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 65665 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:570d:b0:a1:2e52:cf23 with SMTP id h13csp1990081dyk; Tue, 7 Mar 2023 08:09:43 -0800 (PST) X-Google-Smtp-Source: AK7set/ady5NSDYFRxMvRbXH2tV158Hh1WmW5mocL3NCYHGyP+dUjDbDI6csLgb2RAAOryN+swSj X-Received: by 2002:a17:90b:1e47:b0:234:eeb:8df4 with SMTP id pi7-20020a17090b1e4700b002340eeb8df4mr16836280pjb.14.1678205383420; Tue, 07 Mar 2023 08:09:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678205383; cv=none; d=google.com; s=arc-20160816; b=wq3ORhJm70GYis6kwmUzYTXpO5daQDzdl5W1JTY37B/kZIyN5E83V8Lwq0PL32vLM4 /D4bNITY/Ky+GjYgxMZQmZRj7AUJCBmFeogFVvTlVjRsXj3ZrkhfIaRCdvJKHjfg3V1A iX5oAq94PxvwqLFMkNWwGxixLWmcKPX7L1SjD+hXuDOdu7nKVERB04RRKuywGawKRw1L kSvtJhP4bMDkgB5WyuiO8Q9Bq/lopRsIuLD8OiIfqcH2uNmbuisZdvncHXp5BXPJnltQ xVwgiWWLphdIMsOWikIrpma4n9NM00v2vR6bW2lJHBUSol/nbAP9Lq2rr+bllLb5qLm7 CnHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=P15p35qbKcAqVqsT9ttAQG6NVrmbwLtDEUCun7OYD7M=; b=nynyecNqVWtyS4s40AlOjmaEVd/5eunSzR3Dh8vfaiLXTpeF174fQC5T2Zw5ekOWv2 A979N79LieRtP2yg/EcDI/9tbItH8crnn6pUoX3PCjM3ps1HxwmaQp/jEj3y7YKKJtOi X7+dFz5L+0kHcbkDA7Bh0+cIheUuHP+fIpKEB2ScpnAqOa9T2tXTzoWaUyzKuRchq+Ea PviKoygoKi31M63rJQdkptZoBZlTIjUr/LB4Ki+fcFH96CY5GmJpQ53v5Q+GfHP9sSU+ kgTd6sFKb6C2YMyRKaKOkbbFSvfd9dgFu02P4OjHQ+FnUB4vQi9wnbK27kOvwwFl3mOJ 7vtg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=xG1h0yEb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id fw2-20020a17090b128200b00233e2e1ff6csi11581540pjb.119.2023.03.07.08.09.29; Tue, 07 Mar 2023 08:09:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=xG1h0yEb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231514AbjCGP5F (ORCPT + 99 others); Tue, 7 Mar 2023 10:57:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43332 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231467AbjCGP4d (ORCPT ); Tue, 7 Mar 2023 10:56:33 -0500 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F6A3911E3 for ; Tue, 7 Mar 2023 07:55:48 -0800 (PST) Received: by mail-wm1-x333.google.com with SMTP id j19-20020a05600c1c1300b003e9b564fae9so10723476wms.2 for ; Tue, 07 Mar 2023 07:55:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1678204546; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=P15p35qbKcAqVqsT9ttAQG6NVrmbwLtDEUCun7OYD7M=; b=xG1h0yEbTGisiKYmRDyUt8v7SeyNiOl2wgMRcDZpR5hlJwpb/2UoUsll2kLQyml10I mQjMYhtx6jahxTEtVgY+PGUg31xcm4N1EjRDKnoAohkSG3upA2lEprddJS1yNWjLTrwS dw+1AmXgku8l64hHuiJsasVntg4iljribigsUpuihJLdwe3Rck8lB7AlqC7feO0bBkpJ TUDkrZ8NYgWbJbhaVWU9VSLPXdoSmTn/dmts4wmRgeTmtfJgzAARoaKN4YCo0OV7zxRS BNRsQgjfy4uBpSsqICwRDTh24Gm4AfFAv7j1vt5I+9G8cmsfDYHprb70kX7aanGixb9v ikfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678204546; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=P15p35qbKcAqVqsT9ttAQG6NVrmbwLtDEUCun7OYD7M=; b=BUbeyks+QKGXqBfOhhlCsKKc4LEWo8oe/M8xZ9bpKYG4UkF/tkuM5ZvXYeGb3KXdip mWnsFx1eTjQEAHfwDYHdqo9caRThwbEHGQf/s/o+qAjb8EI8NtPU6NL0iCkmye/qrvZa aXPry0Vbp1iEe0pS9oMnWoNLDIlDKRJUCbdI6Fqc0OZRU6MuXUvmXDTiVLAthR6qjCD8 7OpfX2UDJ5ouBw/rGqZvH82oby0eg7UJkgMmlLG3Vn1nRdAkouGqSv1M7zotb7PQpErR Ke6ewi5FRwagYsfO1yH6M+hUyV4z1hCUz3ehTsGXVz8uvNYqvB+dirnGP7Bu4v2xVj4v WkqA== X-Gm-Message-State: AO0yUKXj1VgABSwQ57tENpvPwtzZbD4KFLydKy/IVDv5MZx1kHKIn8kc g79ePpvO3QRJfD3OnAqHJj+Z1A== X-Received: by 2002:a05:600c:1c1f:b0:3eb:3b7e:7b89 with SMTP id j31-20020a05600c1c1f00b003eb3b7e7b89mr13606520wms.3.1678204546445; Tue, 07 Mar 2023 07:55:46 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id t14-20020a05600c450e00b003e1fee8baacsm18115389wmo.25.2023.03.07.07.55.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Mar 2023 07:55:45 -0800 (PST) From: Srinivas Kandagatla To: agross@kernel.org, andersson@kernel.org, gregkh@linuxfoundation.org Cc: konrad.dybcio@linaro.org, jirislaby@kernel.org, bartosz.golaszewski@linaro.org, linux-arm-msm@vger.kernel.org, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH 2/2] tty: serial: qcom-geni-serial: check for valid size before starting dma Date: Tue, 7 Mar 2023 15:55:42 +0000 Message-Id: <20230307155543.31021-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20230307155543.31021-1-srinivas.kandagatla@linaro.org> References: <20230307155543.31021-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759725887961908011?= X-GMAIL-MSGID: =?utf-8?q?1759725887961908011?= Check if there are valid length of bytes to transfer before starting dma. without this check we can see below kernel warning when we try to map a zero size buffers. ------------[ cut here ]------------ WARNING: CPU: 0 PID: 0 at drivers/iommu/dma-iommu.c:1046 iommu_dma_unmap_page+0xe0/0xfc Modules linked in: CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 6.3.0-rc1-dirty #347 Hardware name: Qualcomm Technologies, Inc. Robotics RB5 (DT) pstate: 804000c5 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : iommu_dma_unmap_page+0xe0/0xfc lr : iommu_dma_unmap_page+0x38/0xfc ... Call trace: iommu_dma_unmap_page+0xe0/0xfc dma_unmap_page_attrs+0x30/0x1ec geni_se_tx_dma_unprep+0x58/0x80 qcom_geni_serial_isr+0x350/0x750 __handle_irq_event_percpu+0x58/0x148 handle_irq_event_percpu+0x18/0x4c handle_irq_event+0x48/0x88 handle_fasteoi_irq+0xb0/0x130 generic_handle_domain_irq+0x2c/0x44 gic_handle_irq+0xd4/0x140 call_on_irq_stack+0x24/0x4c do_interrupt_handler+0x80/0x84 el1_interrupt+0x38/0x6c el1h_64_irq_handler+0x18/0x24 el1h_64_irq+0x64/0x68 cpuidle_enter_state+0x1e4/0x310 cpuidle_enter+0x3c/0x54 call_cpuidle+0x1c/0x40 do_idle+0x204/0x260 cpu_startup_entry+0x28/0x2c kernel_init+0x0/0x12c arch_post_acpi_subsys_init+0x0/0x8 start_kernel+0x3cc/0x74c __primary_switched+0xbc/0xc4 Fixes: 2aaa43c70778 ("tty: serial: qcom-geni-serial: add support for serial engine DMA") Signed-off-by: Srinivas Kandagatla Signed-off-by: Bartosz Golaszewski Reviewed-by: Konrad Dybcio --- drivers/tty/serial/qcom_geni_serial.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c index 5972b5c317d3..bb63a00f4c07 100644 --- a/drivers/tty/serial/qcom_geni_serial.c +++ b/drivers/tty/serial/qcom_geni_serial.c @@ -637,6 +637,9 @@ static void qcom_geni_serial_start_tx_dma(struct uart_port *uport) xmit_size = CIRC_CNT_TO_END(xmit->head, xmit->tail, UART_XMIT_SIZE); + if (!xmit_size) + return; + qcom_geni_serial_setup_tx(uport, xmit_size); ret = geni_se_tx_dma_prep(&port->se, &xmit->buf[xmit->tail],