lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 15 Oct 2011 20:04:08 +0200
From:	DagB <dag@...ke.com>
To:	linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [BUG] Device node major comes out wrong on HFS+ under linux

Hi.

Executive summary:

/dev/null:
osx:	crw-rw-rw- 1 root wheel 1, 3 Oct 13 04:12 null	
linux:	crw-rw-rw- 1 root root 16, 3 Oct 13 02:12 /dev/null

/dev/console:
osx:	crw------- 1 root wheel 5, 1 Oct 13 04:12 console
linux:	crw------- 1 root root 80, 1 Oct 13 02:12 /dev/console

/dev/sda4:
osx:	brw-r----- 1 root wheel  8, 4 Oct 13 04:12 sda4
linux:	brw-r----- 1 root root 128, 4 Oct 13 02:12 /dev/sda4




Details:

I am slowly figuring out how to boot linux on my shiny new macbook air.

The actual *booting* bit turns out to be incredibly easy with rEFIt,
keithp's macbook air tree, and mfleming's efi stub tree. (3.1.0-ish)
Just pop a suitable kernel somewhere rEFIt can see it, and off you go.
No mucking with bootloaders or repartitioning with esoteric tools and
options. Slick. Got to use a built-in kernel command line, though.

Shrinking the existing OSX HFS+ partition and adding another for a linux
root fs from within OSX also turned out to be a breeze.

I decided to give HFS+ a go for the root fs, just for a POC.
(I'll make an initramfs for making a sane fs. Would be cooler to do
everything from within OSX, and just reboot straight into Linux.)

Untarring a root fs on a my new HFS+ filesystem was straightforward. I
*do* get a warning from OSX' tar when creating the devicenodes, but the
nodes are created with the correct perms and major/minor.

tar: qtn_file_apply_to_path(./dev/console): Operation not permitted
results in (when viewed from OSX):

crw-------  1 root  wheel    5,   1 Oct 13 04:12 dev/console
which nicely reflects what the source filesystem has.


Booting a linux kernel (with init=/bin/sh) results in:
crw------- 1 root wheel	80, 1	Oct 13 02:12 /dev/console

Clearly a Major bug.  ("ka-pisch".....)



Looks like an endianness issue at hand here:
1 p
1
16 p
10000


5 p
101
80 p
1010000


8 p
1000
128 p
10000000


Good thing I didn't end up trying to dial out through my HDD....


Anyone care to squash this bug, please?

Dag B
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists