Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-6] src/sys/compat/netbsd32



Module Name:    src
Committed By:   msaitoh
Date:           Tue Mar 18 08:01:34 UTC 2014

Modified Files:
        src/sys/compat/netbsd32 [netbsd-6]: netbsd32_event.c

Log Message:
Pull up following revision(s) (requested by manu in ticket #1021):
        sys/compat/netbsd32/netbsd32_event.c: revision 1.10
Fix netbsd32 compatibility bug in kevent().

The keo_put_events() callback copies the events from kernel to userland.
It is called for sets of up to 8 events (constant chosen in kevbuf
definitition in kevent1()). The callback is called with pointer to
userland buffer, count of events to copy, and an index parameter which tracks
where we are in userland buffer when called multiple time.
COMPAT_NETBSD32's flavor of keo_put_events() is
netbsd32_kevent_put_events(). It did not honour the index parameter, which
caused invalid event data to be returned when userland requested more that 8
events. This caused many reliability problems, and the obvious startup crash
of dovecot log process when it accessed udata in the nineth event in its
buffer, which was NULL.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.9.10.1 src/sys/compat/netbsd32/netbsd32_event.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index