value of GRUB_ENABLE_CRYPTODISK: util/grub-install.c instructs '1' but util/config.c expects 'y'

Bug #1278114 reported by TJ on 2014-02-09
This bug affects 1 person
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
Nominated for Trusty by TJ
Nominated for Wily by TJ

Bug Description

root@XPSm1530:/# grub-install /dev/sdc
Installing for i386-pc platform.
grub-install: error: attempt to install to encrypted disk without cryptodisk enabled. Set `GRUB_ENABLE_CRYPTODISK=1' in file `/etc/default/grub'.

root@XPSm1530:/# grep GRUB_ENABLE_CRYPTODISK /etc/default/grub

root@XPSm1530:/# apt-cache policy grub-pc
  Installed: 2.02~beta2-6
  Candidate: 2.02~beta2-6
  Version table:
 *** 2.02~beta2-6 0
        500 trusty/main i386 Packages
        100 /var/lib/dpkg/status

The message give incorrect information about the value to be assigned.

# grep -A 4 '!config\.is_cryptodisk_enabled' util/grub-install.c
  if (!config.is_cryptodisk_enabled && have_cryptodisk)
    grub_util_error (_("attempt to install to encrypted disk without cryptodisk enabled. "
                       "Set `%s' in file `%s'."), "GRUB_ENABLE_CRYPTODISK=1",
                     grub_util_get_config_filename ());

It appears to assume that any boolean-like value is acceptable, whereas the configuration scanner only looks for 'y'.

# grep -A5 GRUB_ENABLE_CRYPTODISK util/config.c
      if (grub_strncmp (ptr, "GRUB_ENABLE_CRYPTODISK=",
                        sizeof ("GRUB_ENABLE_CRYPTODISK=") - 1) == 0)
          ptr += sizeof ("GRUB_ENABLE_CRYPTODISK=") - 1;
          if (*ptr == '"' || *ptr == '\'')
          if (*ptr == 'y')
            cfg->is_cryptodisk_enabled = 1;

TJ (tj) wrote :

I cannot add the upstream bug-report link since it is classified as "Security". Here's the link manually:

Upstream responds: "Was already fixed in master."

TJ (tj) wrote :

Still affects 15.10 Wily

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.