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:	Tue, 16 Feb 2010 20:14:27 -0800
From:	"Daniel Taylor" <Daniel.Taylor@....com>
To:	<linux-kernel@...r.kernel.org>
Subject: 4K disk block and disks larger than 2TiB bugs

In order to use disks larger than 2TiB on Windows XP, it is necessary to
use 4096-byte logical sectors in an MBR.

When this MBR is presented to Linux, as from a USB-attached disk shared
with an XP system, Linux cannot recognise the partition if the disk is
very large.  The problem is that, while the storage for partition size
is properly 64-bit, in fs/partitions/msdos.c, among other places, there
are 32-bit intermediate variables, so the size is truncated.  I can fix
the MBR case myself (and will submit a patch when I learn the format and
protocol from watching the list).

The larger problem is for EFI.  There is a significant amount of hard-coded
assumption that LBAs are 512 bytes.  It would help if I could work with the
designer to make (and test) the changes in a way that abstracts away the
size (I do know that the kernel always thinks of disks in units of 512-byte
blocks).  I have seen attempts in the past to fix this problem, but the
patches
were rejected with erroneous comments about fixing it in user space.  If the
kernel will not recognise the partitions, or assigns incorrect values to the
starting block and/or number of blocks, there is nothing that user space can
do with the disk, except notice the EINVAL responses.

I have not, yet, worked my way through the Apple partition to see what
state it is in.

Comments?
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ