parted/dummy-bootcode-only-for-x86.patch
Marcus Meissner 5631eac2bb Accepting request 760713 from home:anicka:branches:Base:System
- fix crash in do_resizepart
  + parted-fix-end_input-usage.patch: Fix end_input usage in
    do_resizepart 

- update to version 3.3, noteworthy changes:
 - s390: Re-enabled virtio-attached DASD heuristics by using
   HDIO_GETGEO when probing device geometry. Fixes a bug with
   KVM virtio-blk backed by a DASD.
   Parted now recognizes NVMe devices, NVDIMM, and RAM drives.
 - Fix atari disklabel false positives by probing other labels first.
 - Fix resizepart to adjust the end to be -1 sector when using iec
   power of 2 units so that the next partition can start immediately
   following the new end, just like mkpart does.
 - Fix set and disk_set to not crash when there are no flags to set.
 - Fix a udev cookie leak when using resizepart on device-mapper devices.
 - Fix a gettext crash/error sometimes when using localized languages.
 - Fix fat resize to preverve boot code, and thus not render the
   filesystem unreconized by Windows.
 - Fix rescue command: the rescue command often failed to find
   filesystems due to leaving on cylinder alignment.
 - libparted-fs-resize: Prevent crash resizing FAT file systems with very
   deep directories with path names over 512 bytes long.
 - Use 512b sector size when communicating with device-mapper. Fixes
   problems with partitions being created too small on dm devices
   with sector sizes > 5121b
 - Don't crash in the disk_set command when a disk label is not found
 - libparted-fs-resize: Prevent crash resizing FAT16 file systems.
 - libparted-fs-resize: Prevent crash resizing FAT16 file systems.
 - If the user specifies start/end of the partition as cylinders
   and a cylinder has a size which is power of 2, then such address

OBS-URL: https://build.opensuse.org/request/show/760713
OBS-URL: https://build.opensuse.org/package/show/Base:System/parted?expand=0&rev=144
2020-01-12 13:40:37 +00:00

33 lines
1.1 KiB
Diff

From: Petr Uzel <petr.uzel@suse.cz>
Subject: parted: dos: Wipe boot code only on x86
Patch-mainline: no, custom SUSE patch
---
libparted/labels/dos.c | 7 +++++++
1 file changed, 7 insertions(+)
Index: parted-3.3/libparted/labels/dos.c
===================================================================
--- parted-3.3.orig/libparted/labels/dos.c
+++ parted-3.3/libparted/labels/dos.c
@@ -1287,6 +1287,12 @@ msdos_write (const PedDisk* disk)
return 0;
DosRawTable *table = (DosRawTable *) s0;
+/*
+ * Some ARM devices, such as the OMAP3 series, have a buggy boot rom that
+ * simply goes into nirvana if it finds non-0 in the first 4 bytes of the SD
+ * card.
+ */
+#if defined(__x86_64__) || defined(__i386__)
/* either no bootrecord at all, or AIX IPL signature ... */
if ( (!table->boot_code[0]) ||
( table->boot_code[0] == (char) 0xc9 &&
@@ -1297,6 +1303,7 @@ msdos_write (const PedDisk* disk)
memset (table->boot_code, 0, 512);
memcpy (table->boot_code, MBR_BOOT_CODE, sizeof (MBR_BOOT_CODE));
}
+#endif
/* If there is no unique identifier, generate a random one */
if (!table->mbr_signature)