Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp2725959pxv; Sun, 25 Jul 2021 03:37:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzA1lTy3At3q8no95FYg2ABrD9kiVgbbwO69fnU0rT1i1a0EFoiBFfjcku8EUMBFED5A/PS X-Received: by 2002:a92:d8d1:: with SMTP id l17mr9163286ilo.187.1627209454057; Sun, 25 Jul 2021 03:37:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627209454; cv=none; d=google.com; s=arc-20160816; b=puLNc1RUkqtffSBVKEfe5ELxWG4m2+Mrr7IVlu+Xp/kTyXbQo66DHNDUcCXJTjQ803 MmnOhr3zLodukFmpBRCGwYvsVrQvcT1WknxPC4ate3ZF7Sf/j/5GuX1of+SsAXH13cWP 5HA97gTYZVrJ/cASxtx11DC+34ZeD5zVrlfMS/DYDmvfOTPNj2qYD/re4CDid+vXMtF2 eFYJYG4U7WOPxRztiOvTlpnbz91Y4724ZRJ+BO0YftMY5JMY/rTKb3fd6wB2Sx9MpCbj 0/9hwXg97Wcu8RWPGF4FYhvue+gkbD2ZONLvQN0EQV1iYmsLc7aD9LDiTnPz+yLhHxn6 9ocA== 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=aarvg0TTfvKjkSQKBsj6uJsxUeEpwsw54ucZqfr+0m8=; b=yZRQTn4PvlehP+pVOqKwBngrvcH3gi6lthLP5wzFjWdgZ/U6FdY8N8wnAwIaxItJSs gF/Hfwrptkj0a76t0PMCZPjTuXRVuH/L20lCCBLsGDO6WNq1Bc3hW2ZCAVHTfUKy4KAN X1wyZj7nJd14QcFolAEW4gw3Yv0PXv5UU2yoT3sqfbSzTO2SPPmU2gtMIDw+YjaaKnjZ wJJ8jq9SgYufKsbZ3p89St/gXikHTuSgg1K/pv/sBJVkVG6toLtAwEsIAGL7mOQkTgLY pDIP6r5WEBQU/fyO6RL2F2WshDfvsYYSrqypvw20tvNZ/CKDN2VX3P3VnvFQSuopDyU1 MaiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=pZBE315Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x10si21581140ilu.80.2021.07.25.03.37.22; Sun, 25 Jul 2021 03:37:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=pZBE315Z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230077AbhGYJ4K (ORCPT + 99 others); Sun, 25 Jul 2021 05:56:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52954 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229538AbhGYJ4I (ORCPT ); Sun, 25 Jul 2021 05:56:08 -0400 Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com [IPv6:2a00:1450:4864:20::230]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1414BC061757; Sun, 25 Jul 2021 03:36:39 -0700 (PDT) Received: by mail-lj1-x230.google.com with SMTP id n6so7460371ljp.9; Sun, 25 Jul 2021 03:36:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aarvg0TTfvKjkSQKBsj6uJsxUeEpwsw54ucZqfr+0m8=; b=pZBE315Zem6xl19QuzZbVTJiHj8club9EojyADJ1KPPmp7IRobtURFM0nUGbpZn2XN 0YjwoAVZ4Wp4afGR1XPqedgl/qxXGZwQfryni6/bZ3npA+3nDuxZ7uHDQWgOamui0vbj CHvd3nK1FOPmXSgt1WD9rYG7ie78FKkC89nyXkTp+Qx/sL5Jk+z9Gc7+PyeIu1syTdd9 qT7C3XObRwgLyOfl0CXUC9iOl0OT+MeAV2C3etqJeS2FOc5Hwft0uKlRDXM8V4hHXhJ+ LohOB8CZsGJQXBW2kYyouC6MMpEKa9L4LWNBniTPewPk1IFx02SyWT7ATEWUneU5NAXL U32Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aarvg0TTfvKjkSQKBsj6uJsxUeEpwsw54ucZqfr+0m8=; b=G0cQVqfHNgsLmnEH3UA5A7B7nz7db+pwNkALX/b5xzSsMAQv/OPJXbyt5pH7ZBwLEj y68WQ/mt3S1ymF8JBJp5Wrc+pZsp8A2Pu6iikR6g376GYNHhvuxJSwEe7yIqmizitAix Whfo85Maw/xsBW25ZJXeZgZAv5hmNZUD6U7gZty57wNFdGvcLmECDeu43ZoBGqVhl8IT Xsd02h2bx1T170gP0irxHQfYyF5RjYSj0ytCd0YzGQ+ZI4eN0iJhEvM5kPNEEi6C5JTS HEX6zjthj+ppz79lWEzew0hbGNJArOoZdotiEI/czWHW9kyTk6kLzSkcJO2wiSGkJAbn xynw== X-Gm-Message-State: AOAM5336KxbKujJn+8Cpj7VyxB9Pqd4simujEWril9QCjHO/S8hYG6ZU viXrSc8oYAwtSwrvmAKaIFg= X-Received: by 2002:a2e:950:: with SMTP id 77mr8806854ljj.438.1627209397132; Sun, 25 Jul 2021 03:36:37 -0700 (PDT) Received: from localhost.localdomain ([2a00:1fa0:81a:8fc0:522:ed96:7da0:a814]) by smtp.gmail.com with ESMTPSA id y27sm94421lfa.260.2021.07.25.03.36.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Jul 2021 03:36:36 -0700 (PDT) From: Pavel Skripkin To: mkl@pengutronix.de, yasushi.shoji@gmail.com, wg@grandegger.com Cc: linux-can@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Pavel Skripkin Subject: [PATCH] net: can: add missing urb->transfer_dma initialization Date: Sun, 25 Jul 2021 13:36:30 +0300 Message-Id: <20210725103630.23864-1-paskripkin@gmail.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210725094246.pkdpvl5aaaftur3a@pengutronix.de> References: <20210725094246.pkdpvl5aaaftur3a@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Yasushi reported, that his Microchip CAN Analyzer stopped working since commit 91c02557174b ("can: mcba_usb: fix memory leak in mcba_usb"). The problem was in missing urb->transfer_dma initialization. In my previous patch to this driver I refactored mcba_usb_start() code to avoid leaking usb coherent buffers. To achive it, I passed local stack variable to usb_alloc_coherent() and then saved it to private array to correctly free all coherent buffers on ->close() call. But I forgot to inialize urb->transfer_dma with variable passed to usb_alloc_coherent(). All of this was causing device to not work, since dma addr 0 is not valid and following log can be found on bug report page, which points exactly to problem described above. [ 33.862175] DMAR: [DMA Write] Request device [00:14.0] PASID ffffffff fault addr 0 [fault reason 05] PTE Write access is not set Bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=990850 Reported-by: Yasushi SHOJI Fixes: 91c02557174b ("can: mcba_usb: fix memory leak in mcba_usb") Signed-off-by: Pavel Skripkin --- drivers/net/can/usb/mcba_usb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/can/usb/mcba_usb.c b/drivers/net/can/usb/mcba_usb.c index a45865bd7254..a1a154c08b7f 100644 --- a/drivers/net/can/usb/mcba_usb.c +++ b/drivers/net/can/usb/mcba_usb.c @@ -653,6 +653,8 @@ static int mcba_usb_start(struct mcba_priv *priv) break; } + urb->transfer_dma = buf_dma; + usb_fill_bulk_urb(urb, priv->udev, usb_rcvbulkpipe(priv->udev, MCBA_USB_EP_IN), buf, MCBA_USB_RX_BUFF_SIZE, -- 2.32.0