lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 20 Jul 2021 14:39:49 +0300
From:   Georgi Valkov <gvalkov@....bg>
To:     Jakub Kicinski <kuba@...nel.org>
Cc:     davem@...emloft.net, mhabets@...arflare.com,
        luc.vanoostenryck@...il.com, snelson@...sando.io, mst@...hat.com,
        linux-usb@...r.kernel.org, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org, corsac@...sac.net,
        matti.vuorela@...factor.fi, stable@...r.kernel.org
Subject: Re: ipheth: fix EOVERFLOW in ipheth_rcvbulk_callback

I am doing this for the first time, so any help would be appreciated!
What is to rebase on the netdev/net tree? The patch from my previous e-mail was
generated by `git format-patch -1`. I can’t notice any difference when compared to
to the newly generated patch, which I rebased on the latest master.

According to the description from the link below, I ran the following commands:
https://www.kernel.org/doc/html/latest/process/submitting-patches.html#providing-base-tree-information

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux
git checkout -t -b ipheth-fix-RX-EOVERFLOW master
git am --signoff < 0001-ipheth-fix-EOVERFLOW-in-ipheth_rcvbulk_callback.patch
git format-patch --base=auto --cover-letter -o drivers/net/ master


drivers/net/0000-cover-letter.patch

From cd18496373e28af570dc382f618edd442d705252 Mon Sep 17 00:00:00 2001
From: Georgi Valkov <gvalkov@....bg>
Date: Tue, 20 Jul 2021 14:15:58 +0300
Subject: [PATCH 0/1] *** SUBJECT HERE ***

*** BLURB HERE ***

Georgi Valkov (1):
  ipheth: fix EOVERFLOW in ipheth_rcvbulk_callback

 drivers/net/usb/ipheth.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


base-commit: 2734d6c1b1a089fb593ef6a23d4b70903526fe0c
-- 
2.32.0


drivers/net/0001-ipheth-fix-EOVERFLOW-in-ipheth_rcvbulk_callback.patch

From cd18496373e28af570dc382f618edd442d705252 Mon Sep 17 00:00:00 2001
From: Georgi Valkov <gvalkov@....bg>
Date: Fri, 16 Apr 2021 20:44:36 +0300
Subject: [PATCH 1/1] ipheth: fix EOVERFLOW in ipheth_rcvbulk_callback

When rx_buf is allocated we need to account for IPHETH_IP_ALIGN,
which reduces the usable size by 2 bytes. Otherwise we have 1512
bytes usable instead of 1514, and if we receive more than 1512
bytes, ipheth_rcvbulk_callback is called with status -EOVERFLOW,
after which the driver malfunctiones and all communication stops.

Fixes: ipheth 2-1:4.2: ipheth_rcvbulk_callback: urb status: -75

Signed-off-by: Georgi Valkov <gvalkov@....bg>
---
 drivers/net/usb/ipheth.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/usb/ipheth.c b/drivers/net/usb/ipheth.c
index 207e59e74935..06d9f19ca142 100644
--- a/drivers/net/usb/ipheth.c
+++ b/drivers/net/usb/ipheth.c
@@ -121,7 +121,7 @@ static int ipheth_alloc_urbs(struct ipheth_device *iphone)
 	if (tx_buf == NULL)
 		goto free_rx_urb;
 
-	rx_buf = usb_alloc_coherent(iphone->udev, IPHETH_BUF_SIZE,
+	rx_buf = usb_alloc_coherent(iphone->udev, IPHETH_BUF_SIZE + IPHETH_IP_ALIGN,
 				    GFP_KERNEL, &rx_urb->transfer_dma);
 	if (rx_buf == NULL)
 		goto free_tx_buf;
@@ -146,7 +146,7 @@ static int ipheth_alloc_urbs(struct ipheth_device *iphone)
 
 static void ipheth_free_urbs(struct ipheth_device *iphone)
 {
-	usb_free_coherent(iphone->udev, IPHETH_BUF_SIZE, iphone->rx_buf,
+	usb_free_coherent(iphone->udev, IPHETH_BUF_SIZE + IPHETH_IP_ALIGN, iphone->rx_buf,
 			  iphone->rx_urb->transfer_dma);
 	usb_free_coherent(iphone->udev, IPHETH_BUF_SIZE, iphone->tx_buf,
 			  iphone->tx_urb->transfer_dma);
@@ -317,7 +317,7 @@ static int ipheth_rx_submit(struct ipheth_device *dev, gfp_t mem_flags)
 
 	usb_fill_bulk_urb(dev->rx_urb, udev,
 			  usb_rcvbulkpipe(udev, dev->bulk_in),
-			  dev->rx_buf, IPHETH_BUF_SIZE,
+			  dev->rx_buf, IPHETH_BUF_SIZE + IPHETH_IP_ALIGN,
 			  ipheth_rcvbulk_callback,
 			  dev);
 	dev->rx_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
-- 
2.32.0



My patch corrects the following commit, which changes IPHETH_BUF_SIZE from 1516 to 1514:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/net/usb/ipheth.c?id=f33d9e2b48a34e1558b67a473a1fc1d6e793f93c



> On 2021-07-20, at 1:22 PM, Jakub Kicinski <kuba@...nel.org> wrote:
> 
> On Tue, 20 Jul 2021 12:37:43 +0300, Georgi Valkov wrote:
>> ipheth: fix EOVERFLOW in ipheth_rcvbulk_callback
>> https://github.com/openwrt/openwrt/pull/4084
>> 
>> 
>> From dd109ded2b526636fff438d33433ab64ffd21583 Mon Sep 17 00:00:00 2001
>> From: Georgi Valkov <gvalkov@....bg>
>> Date: Fri, 16 Apr 2021 20:44:36 +0300
>> Subject: [PATCH] ipheth: fix EOVERFLOW in ipheth_rcvbulk_callback
> 
> This is all unnecessary, IIUC you're submitting this patch for upstream
> inclusion, please rebase it on the netdev/net tree, and try git
> send-email on a file generated by git format-patch. Before that please
> correct the fixes tag to the common format (you'll find it in docs or
> follow what others do).
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ