[Bug 207070] gptboot not zeroing memory while reading from boot.config

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Feb 10 02:53:50 UTC 2016


            Bug ID: 207070
           Summary: gptboot not zeroing memory while reading from
           Product: Base System
           Version: 10.2-STABLE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: david at dcrosstech.com
                CC: freebsd-amd64 at FreeBSD.org
                CC: freebsd-amd64 at FreeBSD.org

This should effect both i386 and amd64.. but I can only pick one.

gptboot does not zero the read buffer around line 162, the result is a
nondeterminstic, apparently hardware/bios specific condition where parsing
fails on the unterminated boot.config file.

Patch is:

--- /usr/src/sys/boot/i386/gptboot/gptboot.c    2015-08-12 10:22:09.000000000
+++ gptboot.c   2016-02-05 21:09:12.000000000 -0500
@@ -159,9 +159,9 @@
                return (-1);

        autoboot = 1;
-       *cmd = '\0';

        for (;;) {
+               bzero(cmd, sizeof(cmd));
                *kname = '\0';
                if ((ino = lookup(PATH_CONFIG)) ||
                    (ino = lookup(PATH_DOTCONFIG)))

Pretty straighforwaed, eliminate the single null terminationa and replace with
a bzero of the entire buffer.  single byte termination handled the case where
here was no boot.config file, but not the case where there was something read

You are receiving this mail because:
You are on the CC list for the bug.

More information about the freebsd-amd64 mailing list