NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/48852 CD9660 RockRidge: device files not properly handled

The following reply was made to PR kern/48852; it has been noted by GNATS.

From: "Thomas Schmitt" <>
Subject: Re: kern/48852 CD9660 RockRidge: device files not properly handled
Date: Fri, 30 May 2014 10:35:02 +0200

 (Please Cc: me with replies, as i am not subscribed to kern
  bugs. If a bystander can cause this bug thread to show up in
  my mail box, then please do.)
 I am currently enhancing cd9660 for multi-session and large
 data files. In the course of this i did test block device
 reading through ISO 9660 + Rock Ridge, with an ISO created
 by my program xorriso (pkgsrc package libisoburn [1]).
 The device file is shown by ls -l as
   br--------  1 thomas  operator  0, 12 May 14 14:33 /mnt/iso/dev/wd1e
 and delivers data which match the MD5 of the same amount
 read directly from the original /dev/wd1e
   brw-r--r--  1 root  operator  0, 12 May 14 14:33 /dev/wd1e
 Being a competitor of makefs(1), i will not flatly point to it
 now, before i can show a culprit in source code.
 Nevertheless it is already known to produce faulty Rock Ridge
 E.g. if you load NetBSD-6.1.3-i386.iso in xorriso, you get
   libisofs: WARNING : Invalid TF entry
   libisofs: NOTE :  > Caused by: Wrong or damaged Rock Ridge entry
 A problem with device numbers would be in PN entries, though.
 To produce a test ISO by xorriso:
   xorriso \
      -outdev /dvdbuffer/dev_wd1e.iso \
      -map /dev/wd1e /dev/wd1e \
      -chown thomas /dev/wd1e -- \
      -chmod a-wx,go-r,u+r /dev/wd1e --
 usable by
   vnconfig -c vnd0 /dvdbuffer/dev_wd1e.iso
   mount_cd9660 /dev/vnd0d /mnt/iso
   ls -l /mnt/iso/dev
   br--------  1 thomas  operator  0, 12 May 14 14:33 wd1e
 (It is dangerous to omit -o nodev when mounting ISO with valid
  device nodes as superuser. I reduced the risk by taking away
  permissions inside the ISO.)
 The content seems ok:
   $ dd if=/mnt/iso/dev/wd1e bs=2048 count=1000 | md5
   $ dd if=/dev/wd1e bs=2048 count=1000 | md5
 I will now have a look into makefs (which i cannot compile
 due to API problems between NetBSD-6.1.3 and 6.99.40).
 Have a nice day :)
 [1] If not from pkgsrc, you may get a xorriso tarball from
     Compile by
       tar xzf xorriso-1.3.6.pl01.tar.gz
       cd  xorriso-1.3.6
       ./configure && make
     Then runnable without installation as
       xorriso/xorriso ...arguments...

Home | Main Index | Thread Index | Old Index