cvs commit: src/sys/kern kern_kse.c kern_thread.c src/sys/sys proc.h

Constantine A. Murenin mureninc at gmail.com
Mon Jul 23 21:20:20 UTC 2007


On 23/07/07, Doug Barton <dougb at freebsd.org> wrote:
> Marcus Alves Grando wrote:
> > Attilio Rao wrote:
> >> attilio     2007-07-23 14:52:22 UTC
> >>
> >>   FreeBSD src repository
> >>
> >>   Modified files:
> >>     sys/kern             kern_kse.c kern_thread.c
> >> sys/sys              proc.h   Log:
> >>   Actually, KSE kernel bits locking is broken and can lead likely to
> >>   dangerous races.
> >>   Fix this problems adding correct locking for the members of 'struct
> >>   kse_upcall' and other struct proc/struct thread related members.
> >>   For the moment, just leave ku_mflag and ku_flags "lazy" locked.
> >>   While here, cleanup the code removing the function kse_GC() (unused),
> >>   and merging upcall_link(), upcall_unlink(), upcall_stash() in their
> >>   respective callers (static functions, very short and only called in one
> >>   place).
> >>     Reported by: pav
> >>   Tested by: pav (on some pointyhat cluster nodes)
> >>   Approved by: jeff
> >>   Approved by: re
> >>   Sponsorized by: NGX Italy (http://www.ngx.it)
> >>     Revision  Changes    Path
> >>   1.232     +69 -82    src/sys/kern/kern_kse.c
> >>   1.251     +2 -0      src/sys/kern/kern_thread.c
> >>   1.488     +0 -1      src/sys/sys/proc.h
> >> _______________________________________________
> >> cvs-src at freebsd.org mailing list
> >> http://lists.freebsd.org/mailman/listinfo/cvs-src
> >> To unsubscribe, send any mail to "cvs-src-unsubscribe at freebsd.org"
> >>
> >> ------------------------------------------------------
> >> http://www.FreeBSD.org/cgi/cvsweb.cgi/src/sys/kern/kern_kse.c.diff?&r1=1.231&r2=1.232
> >>
> >> http://www.FreeBSD.org/cgi/cvsweb.cgi/src/sys/kern/kern_thread.c.diff?&r1=1.250&r2=1.251
> >>
> >> http://www.FreeBSD.org/cgi/cvsweb.cgi/src/sys/sys/proc.h.diff?&r1=1.487&r2=1.488
> >>
> >>
> >
> > Wno-pointer-sign -fformat-extensions -nostdinc  -I. -I/usr/src/sys
> > -I/usr/src/sys/contrib/altq -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS
> > -include opt_global.h -fno-common -finline-limit=8000 --param
> > inline-unit-growth=100 --param large-function-growth=1000
> > -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx
> > -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -Werror
> > /usr/src/sys/kern/kern_kse.c
> > cc1: warnings being treated as errors
> > /usr/src/sys/kern/kern_kse.c:87: warning: 'upcall_free' defined but not
> > used
> > *** Error code 1
>
> Me Too. Removing the prototype and the function definition got the
> kernel to compile, but I'm a little scared to boot it. :)

Apparently, it should be enough to remove the "static" keyword from
the prototype, in case you want a quick-and-dirty fix. :)

After completely removing the prototype and the function definition,
kernel does compile and boot without any problems.

Cheers,
Constantine.


More information about the cvs-all mailing list