android_kernel_xiaomi_sm8350/block/partitions
Davidlohr Bueso 3e69ac3440 partitions/efi: do not require gpt partition to begin at sector 1
When detecting a valid protective MBR, the Linux kernel isn't picky about
the partition (1-4) the 0xEE is at, but, unlike other operating systems,
it does require it to begin at the second sector (sector 1).  This check,
apart from it not being enforced by UEFI, and causing Linux to potentially
fail to detect any *valid* partitions on the disk, can present problems
when dealing with hybrid MBRs[1].

For compatibility reasons, if the first partition is hybridized, the 0xEE
partition must be small enough to ensure that it only protects the GPT
data structures - as opposed to the the whole disk in a protective MBR.
This problem is very well described by Rod Smith[1]: where MBR-only
partitioning programs (such as older versions of fdisk) can see some of
the disk space as unallocated, thus loosing the purpose of the 0xEE
partition's protection of GPT data structures.

By dropping this check, this patch enables Linux to be more flexible when
probing for GPT disklabels.

[1] http://www.rodsbooks.com/gdisk/hybrid.html#reactions

Signed-off-by: Davidlohr Bueso <davidlohr@hp.com>
Reviewed-by: Karel Zak <kzak@redhat.com>
Acked-by: Matt Fleming <matt.fleming@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-09-11 15:59:16 -07:00
..
acorn.c
acorn.h
aix.c partitions: add aix lvm partition support files 2013-07-09 10:33:28 -07:00
aix.h partitions: add aix lvm partition support files 2013-07-09 10:33:28 -07:00
amiga.c
amiga.h
atari.c
atari.h
check.c block: support embedded device command line partition 2013-09-11 15:56:57 -07:00
check.h block/partitions: optimize memory allocation in check_partition() 2013-02-27 19:10:21 -08:00
cmdline.c block: support embedded device command line partition 2013-09-11 15:56:57 -07:00
cmdline.h block: support embedded device command line partition 2013-09-11 15:56:57 -07:00
efi.c partitions/efi: do not require gpt partition to begin at sector 1 2013-09-11 15:59:16 -07:00
efi.h partitions/efi: use lba-aware partition records 2013-09-11 15:59:15 -07:00
ibm.c s390/partitions: make partition detection independent from DASD ioctls 2012-09-26 15:45:05 +02:00
ibm.h
karma.c
karma.h
Kconfig block: support embedded device command line partition 2013-09-11 15:56:57 -07:00
ldm.c LDM: Fix reassembly of extended VBLKs. 2012-02-24 09:37:42 +00:00
ldm.h
mac.c block/partitions/mac.c: obey the state->limit constraint 2013-02-27 19:10:21 -08:00
mac.h
Makefile block: support embedded device command line partition 2013-09-11 15:56:57 -07:00
msdos.c partitions/msdos: enumerate also AIX LVM partitions 2013-07-09 10:33:28 -07:00
msdos.h
osf.c
osf.h
sgi.c
sgi.h
sun.c
sun.h
sysv68.c
sysv68.h
ultrix.c
ultrix.h