linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Oliver Neukum <oneukum@suse.com>
To: penguin-kernel@i-love.sakura.ne.jp, bjorn@mork.no,
	linux-usb@vger.kernel.org, gregKH@linuxfoundation.org
Cc: Oliver Neukum <oneukum@suse.com>
Subject: [PATCH 0/7]CDC_WDM: fix hangs and error reporting in multithreaded cases
Date: Wed, 23 Sep 2020 11:21:29 +0200	[thread overview]
Message-ID: <20200923092136.14824-1-oneukum@suse.com> (raw)

Testing has shown

1. race conditions in the multithreaded use case
2. a vulnerability against malicious hardware
3. a minor race against disconnect() in flush()

in the CDC-WDM driver. All have a common cause in the interactions
of the flush() method with other parts of the driver. Hence they
require a common rework of the flush() method.

Long and exhaustive discussion and testing of these changes,
however, revealed that they in turn introduce problems
with error reporting and long periods of uninterruptible sleep.
Those require further changes to flush() and the implementation
of fsync().

The issue dates back to the introduction of the driver so the fixes
also should go into stable.

Signed-off-by: Oliver Neukum <oneukum@suse.com>


             reply	other threads:[~2020-09-23  9:22 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-23  9:21 Oliver Neukum [this message]
2020-09-23  9:21 ` [PATCH 1/7] CDC-WDM: fix hangs in flush() in multithreaded cases Oliver Neukum
2020-09-23  9:21 ` [PATCH 2/7] CDC-WDM: introduce a timeout in flush() Oliver Neukum
2020-09-23  9:21 ` [PATCH 3/7] CDC-WDM: remove use of intf->dev after potential disconnect Oliver Neukum
2020-09-23  9:21 ` [PATCH 4/7] CDC-WDM: fix race reporting errors in flush Oliver Neukum
2020-09-23  9:21 ` [PATCH 5/7] CDC-WDM: correct error reporting in write() Oliver Neukum
2020-09-23  9:21 ` [PATCH 6/7] CDC-WDM: implement fsync Oliver Neukum
2020-09-23  9:21 ` [PATCH 7/7] CDC-WDM: making flush() interruptible Oliver Neukum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200923092136.14824-1-oneukum@suse.com \
    --to=oneukum@suse.com \
    --cc=bjorn@mork.no \
    --cc=gregKH@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=penguin-kernel@i-love.sakura.ne.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).