Date: Mon, 18 Dec 2017 21:57:38 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 224437] [PATCH] powerpc64: Fix cookie verification on boot Message-ID: <bug-224437-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D224437 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@FreeBSD.org Reporter: gromero@br.ibm.com Keywords: patch Created attachment 188943 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D188943&action= =3Dedit 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>=20 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. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-224437-8>