HomeFreeBSD

kevent32: fix the split of data into data1/data2

Description

kevent32: fix the split of data into data1/data2

The current situation results in intermittent breakage if data gets split up
with the sign bit set on the data1 half of it, as PAIR32TO64 will then:
data1 | (data2 << 32) -> resulting in data1 getting sign-extended when it's
implicitly widened and clobbering the result. AFAICT, there's no compelling
reason for these to be signed.

This was most exposed by flakiness in the kqueue timer tests under compat32
after the ABSTIME test got switched over to using a better clock and
microseconds.

Reviewed by: kib
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D24518

Details

Provenance
kevansAuthored on
Reviewer
kib
Differential Revision
D24518: kevent32: fix the split of data into data1/data2
Parents
rS360154: Factor out the kmem contig page alloc and reclamation code.
Branches
Unknown
Tags
Unknown