[Bug 224437] [PATCH] powerpc64: Fix cookie verification on boot

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Dec 18 21:57:38 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224437

            Bug ID: 224437
           Summary: [PATCH] powerpc64: Fix cookie verification on boot
           Product: Base System
           Version: CURRENT
          Hardware: powerpc
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: gromero at br.ibm.com
          Keywords: patch

Created attachment 188943
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=188943&action=edit
Patch for this bug

Currently kernel fails to boot on PPC64 because the cookie value
passed to kernel by the loader and which should be regarded as a 32-bit
value is promoted on 64-bit machines to unsigned long (aka vm_offset_t)
and thus results in 0xfffffffffb5d104d instead of 0xfb5d104d. That
causes kernels to fail booting even if the loader is update to the most
recent one by the user, i.e. user falls into "mountroot>" prompt and
has to pass again the boot device to continue to boot process.

So after a new kernel updated boot shows:

Loader variables:

Manual root filesystem specification:
  <fstype>:<device> [options]
      Mount <device> using filesystem <fstype>
      and with the specified (optional) option list.

    eg. ufs:/dev/da0s1a
        zfs:tank
        cd9660:/dev/cd0 ro
          (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)

  ?               List valid disk boot devices
  .               Yield 1 second (for background tasks)
  <empty line>    Abort manual input

mountroot> 


That commit fixes that issue by ensuring that the cookie passed from loader
to kernel is a 32-bit unsigned value both on PPC32 and PPC64 machines.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list