mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
c/sd1b93eacauses substantial functional regressions in pygrub's ability to parse bootloader configuration files. c/sd1b93eaitself changed an an interface which previously used exclusively integers, to using strings in the case of a grub configuration with explicit default set, along with changing the code calling the interface to require a string. The default value for "default" remained as an integer. As a result, any Extlinux or Lilo configuration (which drives this interface exclusively with integers), or Grub configuration which doesn't explicitly declare a default will die with an AttributeError when attempting to call "self.cf.default.isdigit()" where "default" is an integer. Sadly, this AttributeError gets swallowed by the blanket ignore in the loop which searches partitions for valid bootloader configurations, causing the issue to be reported as "Unable to find partition containing kernel" We should explicitly check type of "default" in image_index() and process it appropriately. Reported-by: Andrew Cooper <andrew.cooper3@citrix.com> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>