Hello community, here is the log from the commit of package grub2 for openSUSE:Factory checked in at 2018-09-03 10:32:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/grub2 (Old) and /work/SRC/openSUSE:Factory/.grub2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "grub2" Mon Sep 3 10:32:55 2018 rev:192 rq:631916 version:2.02 Changes: -------- --- /work/SRC/openSUSE:Factory/grub2/grub2.changes 2018-08-13 09:54:07.974806819 +0200 +++ /work/SRC/openSUSE:Factory/.grub2.new/grub2.changes 2018-09-03 10:32:57.364337644 +0200 @@ -1,0 +2,6 @@ +Thu Aug 23 08:37:15 UTC 2018 - mchang@suse.com + +- Fix overflow in sector count calculation (bsc#1105163) + * grub2-msdos-fix-overflow.patch + +------------------------------------------------------------------- New: ---- grub2-msdos-fix-overflow.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ grub2.spec ++++++ --- /var/tmp/diff_new_pack.3PbTlz/_old 2018-09-03 10:32:58.652340955 +0200 +++ /var/tmp/diff_new_pack.3PbTlz/_new 2018-09-03 10:32:58.652340955 +0200 @@ -220,6 +220,7 @@ Patch88: unix-exec-avoid-atexit-handlers-when-child-exits.patch Patch89: 0001-xfs-Accept-filesystem-with-sparse-inodes.patch Patch90: grub2-binutils2.31.patch +Patch91: grub2-msdos-fix-overflow.patch # Btrfs snapshot booting related patches Patch101: grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch Patch102: grub2-btrfs-02-export-subvolume-envvars.patch @@ -515,6 +516,7 @@ %patch88 -p1 %patch89 -p1 %patch90 -p1 +%patch91 -p1 %patch101 -p1 %patch102 -p1 %patch103 -p1 ++++++ grub2-msdos-fix-overflow.patch ++++++ Index: grub-2.02/grub-core/partmap/msdos.c =================================================================== --- grub-2.02.orig/grub-core/partmap/msdos.c +++ grub-2.02/grub-core/partmap/msdos.c @@ -175,9 +175,9 @@ grub_partition_msdos_iterate (grub_disk_ e = mbr.entries + p.index; p.start = p.offset - + (grub_le_to_cpu32 (e->start) + + ((grub_disk_addr_t)grub_le_to_cpu32 (e->start) << (disk->log_sector_size - GRUB_DISK_SECTOR_BITS)) - delta; - p.len = grub_le_to_cpu32 (e->length) + p.len = (grub_uint64_t)grub_le_to_cpu32 (e->length) << (disk->log_sector_size - GRUB_DISK_SECTOR_BITS); p.msdostype = e->type; @@ -217,7 +217,7 @@ grub_partition_msdos_iterate (grub_disk_ if (grub_msdos_partition_is_extended (e->type)) { p.offset = ext_offset - + (grub_le_to_cpu32 (e->start) + + ((grub_disk_addr_t)grub_le_to_cpu32 (e->start) << (disk->log_sector_size - GRUB_DISK_SECTOR_BITS)); if (! ext_offset) ext_offset = p.offset; @@ -301,9 +301,9 @@ pc_partition_map_embed (struct grub_disk if (!grub_msdos_partition_is_empty (e->type) && end > offset - + (grub_le_to_cpu32 (e->start) + + ((grub_disk_addr_t)grub_le_to_cpu32 (e->start) << (disk->log_sector_size - GRUB_DISK_SECTOR_BITS))) - end = offset + (grub_le_to_cpu32 (e->start) + end = offset + ((grub_disk_addr_t)grub_le_to_cpu32 (e->start) << (disk->log_sector_size - GRUB_DISK_SECTOR_BITS)); /* If this is a GPT partition, this MBR is just a dummy. */ @@ -319,7 +319,7 @@ pc_partition_map_embed (struct grub_disk if (grub_msdos_partition_is_extended (e->type)) { offset = ext_offset - + (grub_le_to_cpu32 (e->start) + + ((grub_disk_addr_t)grub_le_to_cpu32 (e->start) << (disk->log_sector_size - GRUB_DISK_SECTOR_BITS)); if (! ext_offset) ext_offset = offset;