From: Jens Axboe <axboe@suse.de>
To: Elias da Silva <silva@aurigatec.de>
Cc: lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] drivers/block/scsi_ioctl.c, Video DVD playback support
Date: Mon, 24 Jan 2005 21:39:48 +0100 [thread overview]
Message-ID: <20050124203948.GR2707@suse.de> (raw)
In-Reply-To: <200501242059.06307.silva@aurigatec.de>
On Mon, Jan 24 2005, Elias da Silva wrote:
> > On Sat, Jan 22 2005, Elias da Silva wrote:
> > > Attached patch fixes a problem of reading Video DVDs
> > > through the cdrom_ioctl interface. VMware is among
> > > the prominent victims.
> > >
> > > The bug was introduced in kernel version 2.6.8 in the
> > > function verify_command().
> >
> > It's not a bug, add write permission to the device for the user using
> > the drive.
> Hi.
>
> The device already has write permission for the user using the
> drive... and this is not the point.
>
> The point is
> a. the user (program) wants to read a protected DVD,
>
> b. the user has permission to read the device,
>
> c. since kernel 2.6.8 the user can't use his right to read a
> DVD media, because according to verify_command() he is forced
> to open the device with RW mode instead of RONLY.
Right, it's an unfortunate side effect of the command table.
> This is true for protected media because of the authentication
> process needed between "host" and DVD device. IMHO,
> the classification of the opcodes
>
> a. GPCMD_SEND_KEY and
> b. GPCMD_SET_STREAMING
>
> as only "save for write" is wrong.
You need to explain why you think that is so, since this is the core of
the argument. The only thing I can say is that perhaps SEND_KEY should
even be root only, since it has a fairly large scope. It's really a
device exclusive type situation, where is a user has exclusive access to
the device it would be ok to issue a SEND_KEY but otherwise not. It's
not clearly a read vs write thing. It's impossible to shoe-horn a more
complicated permission model on top of something as silly as read vs
write.
> Furthermore, if you use
> a. cdrom_ioctl (..., DVD_AUTH,...) instead of
> b. cdrom_ioctl (..., CDROM_SEND_PACKET,...)
> -> scsi_cmd_ioctl()-> sg_io()-> verify_command()
>
> the same authentication procedure works as expected on a
> RONLY opened device!
DVD_AUTH by-passes scsi_ioctl.c, so yes.
> Please rethink your decisions introduced with verify_command()
> and make for example VMware work _again_ with Video DVDs.
It's not my decisions. The problem is that it is policy, and it has to
be restrictive to be safe.
--
Jens Axboe
next prev parent reply other threads:[~2005-01-24 20:43 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-22 2:27 [PATCH] drivers/block/scsi_ioctl.c, Video DVD playback support Elias da Silva
2005-01-24 8:36 ` Jens Axboe
2005-01-24 19:59 ` Elias da Silva
2005-01-24 20:39 ` Jens Axboe [this message]
2005-01-24 22:10 ` Elias da Silva
2005-01-25 0:01 ` Alan Cox
2005-01-25 8:05 ` Jens Axboe
2005-01-25 9:29 ` Elias da Silva
2005-01-25 12:44 ` Alan Cox
2005-01-25 15:52 ` Elias da Silva
2005-01-25 12:45 ` Jens Axboe
2005-01-25 16:13 ` Elias da Silva
2005-01-25 16:21 ` Jens Axboe
2005-01-25 16:28 ` Elias da Silva
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=20050124203948.GR2707@suse.de \
--to=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=silva@aurigatec.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.