Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Sep 2007 21:55:28 +0000 (UTC)
From:      Peter Wemm <peter@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/i386 genassym.c src/sys/amd64/amd64 genassym.c
Message-ID:  <200709172155.l8HLtSJ1015353@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
peter       2007-09-17 21:55:28 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/i386        genassym.c 
    sys/amd64/amd64      genassym.c 
  Log:
  Fix an undefined symbol that as/ld neglected to flag as a problem.  It
  was used in assembler code in such a way that no unresolved relocation
  records were generated, so ld didn't flag the problem.   You can see
  this with an 'nm' of the kernel.  There will be 'U MAXCPU' on SMP systems.
  
  The impact of this is that the intrcount/intrnames arrays do not have
  the intended amount of space reserved.  This could lead to interesting
  problems due to the arrays being present in the middle of kernel code.
  An overflow would be rather interesting as executable code would be used
  as per-cpu incrementing interrupt counters.
  
  This fixes it for now by exporting MAXCPU to the assembler.  A better fix
  might be to define these data structures in C - they're only referenced
  in the kernel from C code these days anyway.
  
  Approved by:  re (kensmith)
  
  Revision  Changes    Path
  1.165     +1 -0      src/sys/amd64/amd64/genassym.c
  1.160     +1 -0      src/sys/i386/i386/genassym.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200709172155.l8HLtSJ1015353>