>>>>> "marcel" == Marcel Pol <[EMAIL PROTECTED]> writes:

Hi

marcel> While reading slashdot, I found this comment interesting (yes, that does
marcel> happen on slashdot :-) )
marcel> http://slashdot.org/comments.pl?sid=83579&cid=7310813
marcel> "Why is Linux trying to send a flush cache command to a CD-ROM drive in the
marcel> first place? That's a stupid thing to do. The ATAPI FLUSH CACHE command tells
marcel> the device to flush its write cache to the media. A CD-ROM has no write cache,
marcel> and can't write to any media. Of course, it's even more stupid for a drive to
marcel> self-destruct when it gets a flush cache command..."

marcel> Is this maybe 2 bugs "working together"? Using FLUSH_CACHE where it shouldn't,
marcel> and have the cdrom reading that as UPLOAD_FIRMWARE

Yes. there are two bugs here:

- One, sending FLUSH_CACHE to a CD-ROM drive.  CD-ROM drive decides:
  * do nothing (i.e. it don't have a cache, nothing to do).
  * return an error (Are you stupid, I don't have write capability).
  * return an "unimplemented/unknown command"

Any of the three returns is ok.  The reason of sending a FLUSH_CACHE
for a CDROM is that way, we can share the CD-ROM and CD-RW code for
packet writing.

- Now the big problem:
*  ATAPI spec states that one CDROM not implementing FLUSH_CACHE
  command is ok, but using that command to do anything else is not
  allowed.

- Problem 2:
  Having any kind of modify firmware command that don't test that the
  payload of the command is a firmware by checksum/signature/etc is
  just the more stupid thing that you can do in hardware world.

Later, Juan. 

-- 
In theory, practice and theory are the same, but in practice they 
are different -- Larry McVoy

Reply via email to