<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git, branch v4.4.105</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.4.105</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.4.105'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2017-12-09T17:42:44Z</updated>
<entry>
<title>Linux 4.4.105</title>
<updated>2017-12-09T17:42:44Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2017-12-09T17:42:44Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=69b0bf95a51eb4b0890b3979531aed932cf51d7f'/>
<id>urn:sha1:69b0bf95a51eb4b0890b3979531aed932cf51d7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xen-netfront: avoid crashing on resume after a failure in talk_to_netback()</title>
<updated>2017-12-09T17:42:44Z</updated>
<author>
<name>Vitaly Kuznetsov</name>
<email>vkuznets@redhat.com</email>
</author>
<published>2017-05-11T11:58:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=da57b1f7e74fe050f2996614b19fb780f4174639'/>
<id>urn:sha1:da57b1f7e74fe050f2996614b19fb780f4174639</id>
<content type='text'>
commit d86b5672b1adb98b4cdd6fbf0224bbfb03db6e2e upstream.

Unavoidable crashes in netfront_resume() and netback_changed() after a
previous fail in talk_to_netback() (e.g. when we fail to read MAC from
xenstore) were discovered. The failure path in talk_to_netback() does
unregister/free for netdev but we don't reset drvdata and we try accessing
it after resume.

Fix the bug by removing the whole xen device completely with
device_unregister(), this guarantees we won't have any calls into netfront
after a failure.

Signed-off-by: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Ben Hutchings &lt;ben.hutchings@codethink.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: host: fix incorrect updating of offset</title>
<updated>2017-12-09T17:42:44Z</updated>
<author>
<name>Colin Ian King</name>
<email>colin.king@canonical.com</email>
</author>
<published>2017-11-07T16:45:04Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=e1cadf7c4af2e51f5ac6f078a128d4b71bbaa601'/>
<id>urn:sha1:e1cadf7c4af2e51f5ac6f078a128d4b71bbaa601</id>
<content type='text'>
commit 1d5a31582ef046d3b233f0da1a68ae26519b2f0a upstream.

The variable temp is incorrectly being updated, instead it should
be offset otherwise the loop just reads the same capability value
and loops forever.  Thanks to Alan Stern for pointing out the
correct fix to my original fix.  Fix also cleans up clang warning:

drivers/usb/host/ehci-dbg.c:840:4: warning: Value stored to 'temp'
is never read

Fixes: d49d43174400 ("USB: misc ehci updates")
Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: usbfs: Filter flags passed in from user space</title>
<updated>2017-12-09T17:42:44Z</updated>
<author>
<name>Oliver Neukum</name>
<email>oneukum@suse.com</email>
</author>
<published>2017-11-23T15:39:52Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=43135100f117f73177ed8687cdead02772b4e09f'/>
<id>urn:sha1:43135100f117f73177ed8687cdead02772b4e09f</id>
<content type='text'>
commit 446f666da9f019ce2ffd03800995487e79a91462 upstream.

USBDEVFS_URB_ISO_ASAP must be accepted only for ISO endpoints.
Improve sanity checking.

Reported-by: Andrey Konovalov &lt;andreyknvl@google.com&gt;
Signed-off-by: Oliver Neukum &lt;oneukum@suse.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: devio: Prevent integer overflow in proc_do_submiturb()</title>
<updated>2017-12-09T17:42:44Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2017-09-22T20:43:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c0493eb552e0ad84c86e8fb3b9b9817c57a52d18'/>
<id>urn:sha1:c0493eb552e0ad84c86e8fb3b9b9817c57a52d18</id>
<content type='text'>
commit 57999d1107c1e60c2ca7088f2ac0f819e2f554b3 upstream.

There used to be an integer overflow check in proc_do_submiturb() but
we removed it.  It turns out that it's still required.  The
uurb-&gt;buffer_length variable is a signed integer and it's controlled by
the user.  It can lead to an integer overflow when we do:

	num_sgs = DIV_ROUND_UP(uurb-&gt;buffer_length, USB_SG_SIZE);

If we strip away the macro then that line looks like this:

	num_sgs = (uurb-&gt;buffer_length + USB_SG_SIZE - 1) / USB_SG_SIZE;
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It's the first addition which can overflow.

Fixes: 1129d270cbfb ("USB: Increase usbfs transfer limit")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: Increase usbfs transfer limit</title>
<updated>2017-12-09T17:42:44Z</updated>
<author>
<name>Mateusz Berezecki</name>
<email>mateuszb@fastmail.fm</email>
</author>
<published>2016-12-21T17:19:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2ee8d2acf3efc2ddcd571845e8663a101cdde86e'/>
<id>urn:sha1:2ee8d2acf3efc2ddcd571845e8663a101cdde86e</id>
<content type='text'>
commit 1129d270cbfbb7e2b1ec3dede4a13930bdd10e41 upstream.

Promote a variable keeping track of USB transfer memory usage to a
wider data type and allow for higher bandwidth transfers from a large
number of USB devices connected to a single host.

Signed-off-by: Mateusz Berezecki &lt;mateuszb@fastmail.fm&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>USB: core: Add type-specific length check of BOS descriptors</title>
<updated>2017-12-09T17:42:44Z</updated>
<author>
<name>Masakazu Mokuno</name>
<email>masakazu.mokuno@gmail.com</email>
</author>
<published>2017-11-09T16:25:50Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=9d812f7bef8c01cd8ca1b57e1e3c3df4bc8ffd34'/>
<id>urn:sha1:9d812f7bef8c01cd8ca1b57e1e3c3df4bc8ffd34</id>
<content type='text'>
commit 81cf4a45360f70528f1f64ba018d61cb5767249a upstream.

As most of BOS descriptors are longer in length than their header
'struct usb_dev_cap_header', comparing solely with it is not sufficient
to avoid out-of-bounds access to BOS descriptors.

This patch adds descriptor type specific length check in
usb_get_bos_descriptor() to fix the issue.

Signed-off-by: Masakazu Mokuno &lt;masakazu.mokuno@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: ch9: Add size macro for SSP dev cap descriptor</title>
<updated>2017-12-09T17:42:44Z</updated>
<author>
<name>John Youn</name>
<email>John.Youn@synopsys.com</email>
</author>
<published>2016-02-06T01:05:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f044af8c1dc3f12d933dfae4e51ab2ebab95e5db'/>
<id>urn:sha1:f044af8c1dc3f12d933dfae4e51ab2ebab95e5db</id>
<content type='text'>
commit 446fa3a95df1e8b78f25e1babc41e46edd200821 upstream.

The SuperspeedPlus Device Capability Descriptor has a variable size
depending on the number of sublink speed attributes.

This patch adds a macro to calculate that size. The macro takes one
argument, the Sublink Speed Attribute Count (SSAC) as reported by the
descriptor in bmAttributes[4:0].

See USB 3.1 9.6.2.5, Table 9-19.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: Add USB 3.1 Precision time measurement capability descriptor support</title>
<updated>2017-12-09T17:42:43Z</updated>
<author>
<name>Mathias Nyman</name>
<email>mathias.nyman@linux.intel.com</email>
</author>
<published>2016-02-12T14:40:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ddaa1ae2eb7ffb4e270fdc9593c3d1138f61fb31'/>
<id>urn:sha1:ddaa1ae2eb7ffb4e270fdc9593c3d1138f61fb31</id>
<content type='text'>
commit faee822c5a7ab99de25cd34fcde3f8d37b6b9923 upstream.

USB 3.1 devices that support precision time measurement have an
additional PTM cabaility descriptor as part of the full BOS descriptor

Look for this descriptor while parsing the BOS descriptor, and store it in
struct usb_hub_bos if it exists.

Signed-off-by: Mathias Nyman &lt;mathias.nyman@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: xhci: fix panic in xhci_free_virt_devices_depth_first</title>
<updated>2017-12-09T17:42:43Z</updated>
<author>
<name>Yu Chen</name>
<email>chenyu56@huawei.com</email>
</author>
<published>2017-12-01T11:41:20Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a1f03a9bcfa4becab9255c15a27caff7d9d4f667'/>
<id>urn:sha1:a1f03a9bcfa4becab9255c15a27caff7d9d4f667</id>
<content type='text'>
commit 80e457699a8dbdd70f2d26911e46f538645c55fc upstream.

Check vdev-&gt;real_port 0 to avoid panic
[    9.261347] [&lt;ffffff800884a390&gt;] xhci_free_virt_devices_depth_first+0x58/0x108
[    9.261352] [&lt;ffffff800884a814&gt;] xhci_mem_cleanup+0x1bc/0x570
[    9.261355] [&lt;ffffff8008842de8&gt;] xhci_stop+0x140/0x1c8
[    9.261365] [&lt;ffffff80087ed304&gt;] usb_remove_hcd+0xfc/0x1d0
[    9.261369] [&lt;ffffff80088551c4&gt;] xhci_plat_remove+0x6c/0xa8
[    9.261377] [&lt;ffffff80086e928c&gt;] platform_drv_remove+0x2c/0x70
[    9.261384] [&lt;ffffff80086e6ea0&gt;] __device_release_driver+0x80/0x108
[    9.261387] [&lt;ffffff80086e7a1c&gt;] device_release_driver+0x2c/0x40
[    9.261392] [&lt;ffffff80086e5f28&gt;] bus_remove_device+0xe0/0x120
[    9.261396] [&lt;ffffff80086e2e34&gt;] device_del+0x114/0x210
[    9.261399] [&lt;ffffff80086e9e00&gt;] platform_device_del+0x30/0xa0
[    9.261403] [&lt;ffffff8008810bdc&gt;] dwc3_otg_work+0x204/0x488
[    9.261407] [&lt;ffffff80088133fc&gt;] event_work+0x304/0x5b8
[    9.261414] [&lt;ffffff80080e31b0&gt;] process_one_work+0x148/0x490
[    9.261417] [&lt;ffffff80080e3548&gt;] worker_thread+0x50/0x4a0
[    9.261421] [&lt;ffffff80080e9ea0&gt;] kthread+0xe8/0x100
[    9.261427] [&lt;ffffff8008083680&gt;] ret_from_fork+0x10/0x50

The problem can occur if xhci_plat_remove() is called shortly after
xhci_plat_probe(). While xhci_free_virt_devices_depth_first been
called before the device has been setup and get real_port initialized.
The problem occurred on Hikey960 and was reproduced by Guenter Roeck
on Kevin with chromeos-4.4.

Fixes: ee8665e28e8d ("xhci: free xhci virtual devices with leaf nodes first")
Cc: Guenter Roeck &lt;groeck@google.com&gt;
Reviewed-by: Guenter Roeck &lt;groeck@chromium.org&gt;
Tested-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Fan Ning &lt;fanning4@hisilicon.com&gt;
Signed-off-by: Li Rui &lt;lirui39@hisilicon.com&gt;
Signed-off-by: yangdi &lt;yangdi10@hisilicon.com&gt;
Signed-off-by: Yu Chen &lt;chenyu56@huawei.com&gt;
Signed-off-by: Mathias Nyman &lt;mathias.nyman@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
