<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net/vmxnet3, branch v4.4.171</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.4.171</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.4.171'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2018-04-13T17:50:04+00:00</updated>
<entry>
<title>vmxnet3: ensure that adapter is in proper state during force_close</title>
<updated>2018-04-13T17:50:04+00:00</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2017-05-12T16:00:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7d74c63d62b7fcbd76dd324755755a71fec23a79'/>
<id>urn:sha1:7d74c63d62b7fcbd76dd324755755a71fec23a79</id>
<content type='text'>
[ Upstream commit 1c4d5f51a812a82de97beee24f48ed05c65ebda5 ]

There are several paths in vmxnet3, where settings changes cause the
adapter to be brought down and back up (vmxnet3_set_ringparam among
them).  Should part of the reset operation fail, these paths call
vmxnet3_force_close, which enables all napi instances prior to calling
dev_close (with the expectation that vmxnet3_close will then properly
disable them again).  However, vmxnet3_force_close neglects to clear
VMXNET3_STATE_BIT_QUIESCED prior to calling dev_close.  As a result
vmxnet3_quiesce_dev (called from vmxnet3_close), returns early, and
leaves all the napi instances in a enabled state while the device itself
is closed.  If a device in this state is activated again, napi_enable
will be called on already enabled napi_instances, leading to a BUG halt.

The fix is to simply enausre that the QUIESCED bit is cleared in
vmxnet3_force_close to allow quesence to be completed properly on close.

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
CC: Shrikrishna Khare &lt;skhare@vmware.com&gt;
CC: "VMware, Inc." &lt;pv-drivers@vmware.com&gt;
CC: "David S. Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>vmxnet3: repair memory leak</title>
<updated>2018-01-31T11:06:13+00:00</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2018-01-22T21:06:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0d9bcadb2226150776c5bf84ef6eb5df03e32b03'/>
<id>urn:sha1:0d9bcadb2226150776c5bf84ef6eb5df03e32b03</id>
<content type='text'>
[ Upstream commit 848b159835ddef99cc4193083f7e786c3992f580 ]

with the introduction of commit
b0eb57cb97e7837ebb746404c2c58c6f536f23fa, it appears that rq-&gt;buf_info
is improperly handled.  While it is heap allocated when an rx queue is
setup, and freed when torn down, an old line of code in
vmxnet3_rq_destroy was not properly removed, leading to rq-&gt;buf_info[0]
being set to NULL prior to its being freed, causing a memory leak, which
eventually exhausts the system on repeated create/destroy operations
(for example, when  the mtu of a vmxnet3 interface is changed
frequently.

Fix is pretty straight forward, just move the NULL set to after the
free.

Tested by myself with successful results

Applies to net, and should likely be queued for stable, please

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Reported-By: boyang@redhat.com
CC: boyang@redhat.com
CC: Shrikrishna Khare &lt;skhare@vmware.com&gt;
CC: "VMware, Inc." &lt;pv-drivers@vmware.com&gt;
CC: David S. Miller &lt;davem@davemloft.net&gt;
Acked-by: Shrikrishna Khare &lt;skhare@vmware.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Driver: Vmxnet3: Fix regression caused by 5738a09</title>
<updated>2016-01-06T21:20:13+00:00</updated>
<author>
<name>Shrikrishna Khare</name>
<email>skhare@vmware.com</email>
</author>
<published>2016-01-06T18:44:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=58caf637365fef97c8e84ea5699a8e34d68fce93'/>
<id>urn:sha1:58caf637365fef97c8e84ea5699a8e34d68fce93</id>
<content type='text'>
Reported-by: Bingkuo Liu &lt;bingkuol@vmware.com&gt;
Signed-off-by: Shrikrishna Khare &lt;skhare@vmware.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>vmxnet3: fix checks for dma mapping errors</title>
<updated>2015-12-01T20:19:16+00:00</updated>
<author>
<name>Alexey Khoroshilov</name>
<email>khoroshilov@ispras.ru</email>
</author>
<published>2015-11-27T22:29:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5738a09d58d5ad2871f1f9a42bf6a3aa9ece5b3c'/>
<id>urn:sha1:5738a09d58d5ad2871f1f9a42bf6a3aa9ece5b3c</id>
<content type='text'>
vmxnet3_drv does not check dma_addr with dma_mapping_error()
after mapping dma memory. The patch adds the checks and
tries to handle failures.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov &lt;khoroshilov@ispras.ru&gt;
Acked-by: Shrikrishna Khare &lt;skhare@vmware.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Driver: Vmxnet3: Fix use of mfTableLen for big endian architectures</title>
<updated>2015-11-16T20:06:47+00:00</updated>
<author>
<name>Shrikrishna Khare</name>
<email>skhare@vmware.com</email>
</author>
<published>2015-11-13T23:42:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d37d5ec861b0d937c0bdd70f0138e2750aacccdb'/>
<id>urn:sha1:d37d5ec861b0d937c0bdd70f0138e2750aacccdb</id>
<content type='text'>
Signed-off-by: Shrikrishna Khare &lt;skhare@vmware.com&gt;
Reported-by: Masao Uebayashi &lt;uebayasi@gmail.com&gt;
Signed-off-by: Bhavesh Davda &lt;bhavesh@vmware.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>drivers/net: get rid of unnecessary initializations in .get_drvinfo()</title>
<updated>2015-10-16T07:24:10+00:00</updated>
<author>
<name>Ivan Vecera</name>
<email>ivecera@redhat.com</email>
</author>
<published>2015-10-15T19:28:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=47ea0325337b166c1c8695119aa6e83cdc035ef5'/>
<id>urn:sha1:47ea0325337b166c1c8695119aa6e83cdc035ef5</id>
<content type='text'>
Many drivers initialize uselessly n_priv_flags, n_stats, testinfo_len,
eedump_len &amp; regdump_len fields in their .get_drvinfo() ethtool op.
It's not necessary as these fields is filled in ethtool_get_drvinfo().

v2: removed unused variable
v3: removed another unused variable

Signed-off-by: Ivan Vecera &lt;ivecera@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Driver: Vmxnet3: Extend register dump support</title>
<updated>2015-09-23T22:06:27+00:00</updated>
<author>
<name>Shrikrishna Khare</name>
<email>skhare@vmware.com</email>
</author>
<published>2015-09-22T03:01:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b6bd9b5448a9362e3ca33b21f1461baa5500520f'/>
<id>urn:sha1:b6bd9b5448a9362e3ca33b21f1461baa5500520f</id>
<content type='text'>
Signed-off-by: Shrikrishna Khare &lt;skhare@vmware.com&gt;
Signed-off-by: Bhavesh Davda &lt;bhavesh@vmware.com&gt;
Acked-by: Srividya Murali &lt;smurali@vmware.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>vmxnet3: prevent receive getting out of sequence on napi poll</title>
<updated>2015-07-09T06:36:11+00:00</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2015-07-07T18:02:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0769636cb5b95665ebadcd1a41c46f331f5a397d'/>
<id>urn:sha1:0769636cb5b95665ebadcd1a41c46f331f5a397d</id>
<content type='text'>
vmxnet3's current napi path is built to count every rx descriptor we recieve,
and use that as a count of the napi budget.  That means its possible to return
from a napi poll halfway through recieving a fragmented packet accross multiple
dma descriptors.  If that happens, the next napi poll will start with the
descriptor ring in an improper state (e.g. the first descriptor we look at may
have the end-of-packet bit set), which will cause a BUG halt in the driver.

Fix the issue by only counting whole received packets in the napi poll and
returning that value, rather than the descriptor count.

Tested by the reporter and myself, successfully

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
CC: Shreyas Bhatewara &lt;sbhatewara@vmware.com&gt;
CC: "David S. Miller" &lt;davem@davemloft.net&gt;
Acked-by: Andy Gospodarek &lt;gospo@cumulusnetworks.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>vmxnet3: Bump up driver version number</title>
<updated>2015-06-29T16:27:45+00:00</updated>
<author>
<name>Shreyas Bhatewara</name>
<email>sbhatewara@vmware.com</email>
</author>
<published>2015-06-29T11:14:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a694717437c14efd489566540e821bc83ec234f3'/>
<id>urn:sha1:a694717437c14efd489566540e821bc83ec234f3</id>
<content type='text'>
Bump up the driver version number to reflect the changes done to
work with vmxnet3 adapter version 2

Signed-off-by: Shreyas N Bhatewara &lt;sbhatewara@vmware.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>vmxnet3: Changes for vmxnet3 adapter version 2 (fwd)</title>
<updated>2015-06-23T13:26:01+00:00</updated>
<author>
<name>Shreyas Bhatewara</name>
<email>sbhatewara@vmware.com</email>
</author>
<published>2015-06-19T20:38:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc'/>
<id>urn:sha1:45dac1d6ea045ae56e4df8d9c70c92c7412bd4fc</id>
<content type='text'>
Make the driver understand adapter version 2.

Cc: Rachel Lunnon &lt;rachel_lunnon@stormagic.com&gt;
Signed-off-by: Guolin Yang &lt;gyang@vmware.com&gt;
Signed-off-by: Shreyas N Bhatewara &lt;sbhatewara@vmware.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
