[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