No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Suwan Kim 8bbc1a734e usbip: Fix error path of vhci_recv_ret_submit()
commit aabb5b833872524eaf28f52187e5987984982264 upstream.

If a transaction error happens in vhci_recv_ret_submit(), event
handler closes connection and changes port status to kick hub_event.
Then hub tries to flush the endpoint URBs, but that causes infinite
loop between usb_hub_flush_endpoint() and vhci_urb_dequeue() because
"vhci_priv" in vhci_urb_dequeue() was already released by
vhci_recv_ret_submit() before a transmission error occurred. Thus,
vhci_urb_dequeue() terminates early and usb_hub_flush_endpoint()
continuously calls vhci_urb_dequeue().

The root cause of this issue is that vhci_recv_ret_submit()
terminates early without giving back URB when transaction error
occurs in vhci_recv_ret_submit(). That causes the error URB to still
be linked at endpoint list without “vhci_priv".

So, in the case of transaction error in vhci_recv_ret_submit(),
unlink URB from the endpoint, insert proper error code in
urb->status and give back URB.

Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Suwan Kim <suwan.kim027@gmail.com>
Cc: stable <stable@vger.kernel.org>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Link: https://lore.kernel.org/r/20191213023055.19933-3-suwan.kim027@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-31 16:46:05 +01:00
arch ARM: dts: Fix vcsi regulator to be always-on for droid4 to prevent hangs 2019-12-31 16:46:03 +01:00
block block: fix "check bi_size overflow before merge" 2019-12-21 11:04:32 +01:00
certs
crypto crypto: aegis128/simd - build 32-bit ARM for v8 architecture explicitly 2019-12-31 16:43:57 +01:00
Documentation USB: documentation: flags on usb-storage versus UAS 2019-12-17 19:55:32 +01:00
drivers usbip: Fix error path of vhci_recv_ret_submit() 2019-12-31 16:46:05 +01:00
fs btrfs: don't prematurely free work in scrub_missing_raid56_worker() 2019-12-31 16:45:50 +01:00
include net: avoid potential false sharing in neighbor related code 2019-12-31 16:45:03 +01:00
init Merge branch 'next-lockdown' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2019-09-28 08:14:15 -07:00
ipc ipc/sem.c: convert to use built-in RCU list checking 2019-09-25 17:51:41 -07:00
kernel bpf: Provide better register bounds after jmp32 instructions 2019-12-31 16:45:48 +01:00
lib ubsan, x86: Annotate and allow __ubsan_handle_shift_out_of_bounds() in uaccess regions 2019-12-31 16:44:25 +01:00
LICENSES
mm mm/shmem.c: cast the type of unmap_start to u64 2019-12-17 19:56:51 +01:00
net can: j1939: j1939_sk_bind(): take priv after lock is held 2019-12-31 16:45:56 +01:00
samples samples: pktgen: fix proc_cmd command result check logic 2019-12-31 16:43:45 +01:00
scripts arm64 fix for -rc8 / final 2019-11-15 09:14:23 -08:00
security efi/efi_test: Lock down /dev/efi_test and require CAP_SYS_ADMIN 2019-10-31 09:40:21 +01:00
sound ASoC: soc-pcm: check symmetry before hw_params 2019-12-31 16:45:42 +01:00
tools selftests: net: tls: remove recv_rcvbuf test 2019-12-31 16:45:58 +01:00
usr kbuild: update compile-test header list for v5.4-rc2 2019-10-05 15:29:49 +09:00
virt KVM: arm/arm64: vgic: Don't rely on the wrong pending table 2019-12-13 08:43:00 +01:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap ARM: SoC fixes 2019-11-10 13:41:59 -08:00
COPYING
CREDITS MAINTAINERS: Remove Simon as Renesas SoC Co-Maintainer 2019-10-10 08:12:51 -07:00
Kbuild
Kconfig
MAINTAINERS Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-22 14:28:14 -08:00
Makefile Linux 5.4.6 2019-12-21 11:05:23 +01:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.