Re: [PATCH] partitions/efi: treat size mismatch as a warning, not an error

From: Doug Anderson
Date: Fri Oct 11 2013 - 11:54:02 EST


Karel,

On Fri, Oct 11, 2013 at 2:51 AM, Karel Zak <kzak@xxxxxxxxxx> wrote:
> On Thu, Oct 10, 2013 at 04:28:22PM -0700, Doug Anderson wrote:
>> + *
>> + * Consider a bad value here to be a warning to support dd-ing
>> + * an image from a smaller disk to a bigger disk.
>> */
>> if (ret == GPT_MBR_PROTECTIVE) {
>> sz = le32_to_cpu(mbr->partition_record[part].size_in_lba);
>> if (sz != (uint32_t) total_sectors - 1 && sz != 0xFFFFFFFF)
>> - ret = 0;
>> + pr_warn("%s: mbr size mismatch (%u != %u)\n", __func__,
>> + sz, (uint32_t)((uint32_t) total_sectors - 1));
>> }
>
> I did the same change to util-linux v2.24 fdisk, so you can use the fdisk
> to update your protective MBR and boot without warnings.

Yup, I think we've come up with a number of ways that we can update
the partition table to avoid the problems. :) ...but the "feature"
that used to work was being able to dd an image from a smaller disk
onto a larger disk and have it "just boot" (though perhaps with some
warning messages). This feature was used in the Chrome OS workflow to
create bootable USB sticks / SD cards. We certainly could say that
what the Chrome OS workflow is doing is illegal / bad / unethical, but
it has been working for years and it would be nice for it to keep
working if possible. :)

http://xkcd.com/1172/

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