From owner-svn-src-projects@FreeBSD.ORG Fri Mar 9 13:45:57 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82C741065672; Fri, 9 Mar 2012 13:45:57 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 55E988FC13; Fri, 9 Mar 2012 13:45:57 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) by cyrus.watson.org (Postfix) with ESMTPSA id EAE2D46B8F; Fri, 9 Mar 2012 08:45:56 -0500 (EST) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 7826FB96B; Fri, 9 Mar 2012 08:45:56 -0500 (EST) From: John Baldwin To: "Jung-uk Kim" Date: Fri, 9 Mar 2012 08:45:50 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p10; KDE/4.5.5; amd64; ; ) References: <201203090053.q290rtM2072532@svn.freebsd.org> In-Reply-To: <201203090053.q290rtM2072532@svn.freebsd.org> MIME-Version: 1.0 Message-Id: <201203090845.50785.jhb@freebsd.org> Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Fri, 09 Mar 2012 08:45:56 -0500 (EST) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r232711 - in projects/bigbb: share/mk sys/boot/i386/boot2 sys/boot/pc98/boot2 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2012 13:45:57 -0000 On Thursday, March 08, 2012 7:53:55 pm Jung-uk Kim wrote: > Author: jkim > Date: Fri Mar 9 00:53:54 2012 > New Revision: 232711 > URL: http://svn.freebsd.org/changeset/base/232711 > > Log: > Spread more shrink ray on boot2. > > Submitted by: dim > > Modified: > projects/bigbb/share/mk/bsd.sys.mk > projects/bigbb/sys/boot/i386/boot2/Makefile > projects/bigbb/sys/boot/i386/boot2/boot2.c > projects/bigbb/sys/boot/pc98/boot2/Makefile > > Modified: projects/bigbb/sys/boot/i386/boot2/boot2.c > ============================================================================== > --- projects/bigbb/sys/boot/i386/boot2/boot2.c Fri Mar 9 00:28:28 2012 (r232710) > +++ projects/bigbb/sys/boot/i386/boot2/boot2.c Fri Mar 9 00:53:54 2012 (r232711) > @@ -148,8 +148,8 @@ static int xputc(int); > static int xgetc(int); > static inline int getc(int); > > -static void memcpy(void *, const void *, int); > -static void > +static __noinline void memcpy(void *, const void *, int); > +static __noinline void > memcpy(void *dst, const void *src, int len) > { > const char *s = src; > @@ -223,10 +223,7 @@ main(void) > { > uint8_t autoboot; > ino_t ino; > - size_t nbyte; > > - opts = 0; > - kname = NULL; > dmadat = (void *)(roundup2(__base + (int32_t)&_end, 0x10000) - __base); > v86.ctl = V86_FLAGS; > v86.efl = PSL_RESERVED_DEFAULT | PSL_I; > @@ -242,10 +239,8 @@ main(void) > autoboot = 1; > > if ((ino = lookup(PATH_CONFIG)) || > - (ino = lookup(PATH_DOTCONFIG))) { > - nbyte = fsread(ino, cmd, sizeof(cmd) - 1); > - cmd[nbyte] = '\0'; > - } > + (ino = lookup(PATH_DOTCONFIG))) > + fsread(ino, cmd, sizeof(cmd) - 1); These changes will all break functionality. The bss for boot2 is not cleared automatically (see note in revision log for 219452). That means you can end up with garbage in kname or opts, and the parse() routine relies on the string stored in cmd[] being nul-terminated. -- John Baldwin