From: "Justin T. Gibbs" <gibbs@scsiguy.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: Kevin Corry <kevcorry@us.ibm.com>,
linux-kernel@vger.kernel.org, Neil Brown <neilb@cse.unsw.edu.au>,
linux-raid@vger.kernel.org, dm-devel@redhat.com
Subject: Re: "Enhanced" MD code avaible for review
Date: Tue, 30 Mar 2004 10:35:59 -0700 [thread overview]
Message-ID: <854630000.1080668158@aslan.btc.adaptec.com> (raw)
In-Reply-To: <4069AB1B.90108@pobox.com>
> The kernel should not be validating -trusted- userland inputs. Root is
> allowed to scrag the disk, violate limits, and/or crash his own machine.
>
> A simple example is requiring userland, when submitting ATA taskfiles via
> an ioctl, to specify the data phase (pio read, dma write, no-data, etc.).
> If the data phase is specified incorrectly, you kill the OS driver's ATA
> host wwtate machine, and the results are very unpredictable. Since this
> is a trusted operation, requiring CAP_RAW_IO, it's up to userland to get the
> required details right (just like following a spec).
That's unfortunate for those using ATA. A command submitted from userland
to the SCSI drivers I've written that causes a protocol violation will
be detected, result in appropriate recovery, and a nice diagnostic that
can be used to diagnose the problem. Part of this is because I cannot know
if the protocol violation stems from a target defect, the input from the
user or, for that matter, from the kernel. The main reason is for robustness
and ease of debugging. In SCSI case, there is almost no run-time cost, and
the system will stop before data corruption occurs. In the meta-data case
we've been discussing in terms of EMD, there is no runtime cost, the
validation has to occur somewhere anyway, and in many cases some validation
is already required to avoid races with external events. If the validation
is done in the kernel, then you get the benefit of nice diagnostics instead
of strange crashes that are difficult to debug.
--
Justin
next prev parent reply other threads:[~2004-03-30 17:35 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-19 20:19 "Enhanced" MD code avaible for review Justin T. Gibbs
2004-03-23 5:05 ` Neil Brown
2004-03-23 6:23 ` Justin T. Gibbs
2004-03-24 2:26 ` Neil Brown
2004-03-24 19:09 ` Matt Domsch
2004-03-25 2:21 ` Jeff Garzik
2004-03-25 18:00 ` Kevin Corry
2004-03-25 18:42 ` Jeff Garzik
2004-03-25 18:48 ` Jeff Garzik
2004-03-25 23:46 ` Justin T. Gibbs
2004-03-26 0:01 ` Jeff Garzik
2004-03-26 0:10 ` Justin T. Gibbs
2004-03-26 0:14 ` Jeff Garzik
2004-03-25 22:04 ` Lars Marowsky-Bree
2004-03-26 19:19 ` Kevin Corry
2004-03-31 17:07 ` Randy.Dunlap
2004-03-25 23:35 ` Justin T. Gibbs
2004-03-26 0:13 ` Jeff Garzik
2004-03-26 17:43 ` Justin T. Gibbs
2004-03-28 0:06 ` Lincoln Dale
2004-03-30 17:54 ` Justin T. Gibbs
2004-03-28 0:30 ` Jeff Garzik
2004-03-26 19:15 ` Kevin Corry
2004-03-26 20:45 ` Justin T. Gibbs
2004-03-27 15:39 ` Kevin Corry
2004-03-28 9:11 ` [dm-devel] " christophe varoqui
2004-03-30 17:03 ` Justin T. Gibbs
2004-03-30 17:15 ` Jeff Garzik
2004-03-30 17:35 ` Justin T. Gibbs [this message]
2004-03-30 17:46 ` Jeff Garzik
2004-03-30 18:04 ` Justin T. Gibbs
2004-03-30 21:47 ` Jeff Garzik
2004-03-30 22:12 ` Justin T. Gibbs
2004-03-30 22:34 ` Jeff Garzik
2004-03-30 18:11 ` Bartlomiej Zolnierkiewicz
2004-03-25 22:59 ` Justin T. Gibbs
2004-03-25 23:44 ` Lars Marowsky-Bree
2004-03-26 0:03 ` Justin T. Gibbs
[not found] <1AOTW-4Vx-7@gated-at.bofh.it>
[not found] ` <1AOTW-4Vx-5@gated-at.bofh.it>
2004-03-18 1:33 ` Andi Kleen
2004-03-18 2:00 ` Jeff Garzik
2004-03-20 9:58 ` Jamie Lokier
-- strict thread matches above, loose matches on Subject: below --
2004-03-17 18:14 Justin T. Gibbs
2004-03-17 19:18 ` Jeff Garzik
2004-03-17 19:32 ` Christoph Hellwig
2004-03-17 20:02 ` Jeff Garzik
2004-03-17 21:18 ` Scott Long
2004-03-17 21:35 ` Jeff Garzik
2004-03-17 21:45 ` Bartlomiej Zolnierkiewicz
2004-03-18 0:23 ` Scott Long
2004-03-18 1:55 ` Bartlomiej Zolnierkiewicz
2004-03-18 6:38 ` Stefan Smietanowski
2004-03-20 13:07 ` Arjan van de Ven
2004-03-21 23:42 ` Scott Long
2004-03-22 9:05 ` Arjan van de Ven
2004-03-22 21:59 ` Scott Long
2004-03-23 6:48 ` Arjan van de Ven
2004-03-18 1:56 ` viro
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=854630000.1080668158@aslan.btc.adaptec.com \
--to=gibbs@scsiguy.com \
--cc=dm-devel@redhat.com \
--cc=jgarzik@pobox.com \
--cc=kevcorry@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@cse.unsw.edu.au \
/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).