#
f89d2072 |
| 17-Jun-2019 |
Xin LI <delphij@FreeBSD.org> |
Separate kernel crc32() implementation to its own header (gsb_crc32.h) and rename the source to gsb_crc32.c.
This is a prerequisite of unifying kernel zlib instances.
PR: 229763 Submitted by: Yosh
Separate kernel crc32() implementation to its own header (gsb_crc32.h) and rename the source to gsb_crc32.c.
This is a prerequisite of unifying kernel zlib instances.
PR: 229763 Submitted by: Yoshihiro Ota <ota at j.email.ne.jp> Differential Revision: https://reviews.freebsd.org/D20193
show more ...
|
#
c1bc2f7a |
| 12-Jan-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Temporarily disable the kcov tests. Not all architectures have atomic_store_64 and atomic_store_64.
Sponsored by: DARPA, AFRL
|
#
b3c0d957 |
| 12-Jan-2019 |
Andrew Turner <andrew@FreeBSD.org> |
Add support for the Clang Coverage Sanitizer in the kernel (KCOV).
When building with KCOV enabled the compiler will insert function calls to probes allowing us to trace the execution of the kernel
Add support for the Clang Coverage Sanitizer in the kernel (KCOV).
When building with KCOV enabled the compiler will insert function calls to probes allowing us to trace the execution of the kernel from userspace. These probes are on function entry (trace-pc) and on comparison operations (trace-cmp).
Userspace can enable the use of these probes on a single kernel thread with an ioctl interface. It can allocate space for the probe with KIOSETBUFSIZE, then mmap the allocated buffer and enable tracing with KIOENABLE, with the trace mode being passed in as the int argument. When complete KIODISABLE is used to disable tracing.
The first item in the buffer is the number of trace event that have happened. Userspace can write 0 to this to reset the tracing, and is expected to do so on first use.
The format of the buffer depends on the trace mode. When in PC tracing just the return address of the probe is stored. Under comparison tracing the comparison type, the two arguments, and the return address are traced. The former method uses on entry per trace event, while the later uses 4. As such they are incompatible so only a single mode may be enabled.
KCOV is expected to help fuzzing the kernel, and while in development has already found a number of issues. It is required for the syzkaller system call fuzzer [1]. Other kernel fuzzers could also make use of it, either with the current interface, or by extending it with new modes.
A man page is currently being worked on and is expected to be committed soon, however having the code in the kernel now is useful for other developers to use.
[1] https://github.com/google/syzkaller
Submitted by: Mitchell Horne <mhorne063@gmail.com> (Earlier version) Reviewed by: kib Testing by: tuexen Sponsored by: DARPA, AFRL Sponsored by: The FreeBSD Foundation (Mitchell Horne) Differential Revision: https://reviews.freebsd.org/D14599
show more ...
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
Revision tags: release/12.0.0 |
|
#
984969cd |
| 30-Nov-2018 |
Eric van Gyzen <vangyzen@FreeBSD.org> |
Fix reporting of SS_ONSTACK
Fix reporting of SS_ONSTACK in nested signal delivery when sigaltstack() is used on some architectures.
Add a unit test for this. I tested the test by introducing the b
Fix reporting of SS_ONSTACK
Fix reporting of SS_ONSTACK in nested signal delivery when sigaltstack() is used on some architectures.
Add a unit test for this. I tested the test by introducing the bug on amd64. I did not test it on other architectures.
Reviewed by: kib MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D18347
show more ...
|
#
14b841d4 |
| 11-Aug-2018 |
Kyle Evans <kevans@FreeBSD.org> |
MFH @ r337607, in preparation for boarding
|
#
bbd7a929 |
| 04-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r336870 through r337285, and resolve conflicts.
|
#
da446550 |
| 03-Aug-2018 |
Alan Somers <asomers@FreeBSD.org> |
Fix LOCAL_PEERCRED with socketpair(2)
Enable the LOCAL_PEERCRED socket option for unix domain stream sockets created with socketpair(2). Previously, it only worked with unix domain stream sockets cr
Fix LOCAL_PEERCRED with socketpair(2)
Enable the LOCAL_PEERCRED socket option for unix domain stream sockets created with socketpair(2). Previously, it only worked with unix domain stream sockets created with socket(2)/listen(2)/connect(2)/accept(2).
PR: 176419 Reported by: Nicholas Wilson <nicholas@nicholaswilson.me.uk> MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D16350
show more ...
|
Revision tags: release/11.2.0 |
|
#
b9408863 |
| 18-Apr-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
Add PROC_PDEATHSIG_SET to procctl interface.
Allow processes to request the delivery of a signal upon death of their parent process. Supposed consumer of the feature is PostgreSQL.
Submitted by: T
Add PROC_PDEATHSIG_SET to procctl interface.
Allow processes to request the delivery of a signal upon death of their parent process. Supposed consumer of the feature is PostgreSQL.
Submitted by: Thomas Munro Reviewed by: jilles, mjg MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D15106
show more ...
|
#
e9ac2743 |
| 21-Mar-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Implement getrandom(2) and getentropy(3)
The general idea here is to provide userspace programs with well-defined sources of entropy, in a fashion that doesn't require opening a new file descriptor
Implement getrandom(2) and getentropy(3)
The general idea here is to provide userspace programs with well-defined sources of entropy, in a fashion that doesn't require opening a new file descriptor (ulimits) or accessing paths (/dev/urandom may be restricted by chroot or capsicum).
getrandom(2) is the more general API, and comes from the Linux world. Since our urandom and random devices are identical, the GRND_RANDOM flag is ignored.
getentropy(3) is added as a compatibility shim for the OpenBSD API.
truss(1) support is included.
Tests for both system calls are provided. Coverage is believed to be at least as comprehensive as LTP getrandom(2) test coverage. Additionally, instructions for running the LTP tests directly against FreeBSD are provided in the "Test Plan" section of the Differential revision linked below. (They pass, of course.)
PR: 194204 Reported by: David CARLIER <david.carlier AT hardenedbsd.org> Discussed with: cperciva, delphij, jhb, markj Relnotes: maybe Differential Revision: https://reviews.freebsd.org/D14500
show more ...
|
#
5e1e3ea2 |
| 05-Feb-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Fix and enable SysV IPC tests.
Don't declare some types that FreeBSD incorrectly declares.
Fix an incorrect call to open() (missing mode).
ANSIfy prototypes.
Enable SysV message queue, semaphore,
Fix and enable SysV IPC tests.
Don't declare some types that FreeBSD incorrectly declares.
Fix an incorrect call to open() (missing mode).
ANSIfy prototypes.
Enable SysV message queue, semaphore, and shared memory tests.
With exception of the workaround for union semun, these fixes have been committed to NetBSD.
Reviewed by: asomers Approved by: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D13471
show more ...
|
Revision tags: release/10.4.0, release/11.1.0 |
|
#
be27b311 |
| 04-May-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r317503 through r317807.
|
#
d7f27102 |
| 27-Apr-2017 |
Michael Tuexen <tuexen@FreeBSD.org> |
armv8 has support for optional CRC32C instructions. This patch checks if they are available and if that is true make use of them. Thank you very much to Andrew Turner for providing help and review th
armv8 has support for optional CRC32C instructions. This patch checks if they are available and if that is true make use of them. Thank you very much to Andrew Turner for providing help and review the patch! Reviewed by: andrew MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D10499
show more ...
|
#
5be56374 |
| 02-Apr-2017 |
Bruce Evans <bde@FreeBSD.org> |
Remove the unportable -msse4 here too after fixing crc32_sse42.c to not depend on it. This should have been part of r315983.
|
#
6ae9acde |
| 23-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r313896 through r314128.
|
#
82a4538f |
| 20-Feb-2017 |
Eric Badger <badger@FreeBSD.org> |
Defer ptracestop() signals that cannot be delivered immediately
When a thread is stopped in ptracestop(), the ptrace(2) user may request a signal be delivered upon resumption of the thread. Heretofo
Defer ptracestop() signals that cannot be delivered immediately
When a thread is stopped in ptracestop(), the ptrace(2) user may request a signal be delivered upon resumption of the thread. Heretofore, those signals were discarded unless ptracestop()'s caller was issignal(). Fix this by modifying ptracestop() to queue up signals requested by the ptrace user that will be delivered when possible. Take special care when the signal is SIGKILL (usually generated from a PT_KILL request); no new stop events should be triggered after a PT_KILL.
Add a number of tests for the new functionality. Several tests were authored by jhb.
PR: 212607 Reviewed by: kib Approved by: kib (mentor) MFC after: 2 weeks Sponsored by: Dell EMC In collaboration with: jhb Differential Revision: https://reviews.freebsd.org/D9260
show more ...
|
#
9b3ece1c |
| 04-Feb-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r313243
|
#
71fe94fd |
| 01-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r312968 through r313054.
|
#
6be2ff7d |
| 31-Jan-2017 |
Conrad Meyer <cem@FreeBSD.org> |
calculate_crc32c: Add SSE4.2 implementation on x86
Derived from an implementation by Mark Adler.
The fast loop performs three simultaneous CRCs over subsets of the data before composing them. This
calculate_crc32c: Add SSE4.2 implementation on x86
Derived from an implementation by Mark Adler.
The fast loop performs three simultaneous CRCs over subsets of the data before composing them. This takes advantage of certain properties of the CRC32 implementation in Intel hardware. (The CRC instruction takes 1 cycle but has 2-3 cycles of latency.)
The CRC32 instruction does not manipulate FPU state.
i386 does not have the crc32q instruction, so avoid it there. Otherwise the implementation is identical to amd64.
Add basic userland tests to verify correctness on a variety of inputs.
PR: 216467 Reported by: Ben RUBSON <ben.rubson at gmail.com> Reviewed by: kib@, markj@ (earlier version) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D9342
show more ...
|
#
3ffd3530 |
| 16-Dec-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r309817 through r310168.
|
#
b1dd83d1 |
| 10-Dec-2016 |
Jilles Tjoelker <jilles@FreeBSD.org> |
Add some tests for reaper functionality (in procctl()).
MFC after: 1 week
|
#
a2b802ce |
| 02-Nov-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r303250 through r308226.
|
#
e8e39fc2 |
| 01-Nov-2016 |
Conrad Meyer <cem@FreeBSD.org> |
Add test case for >65535 segment coredumps
A long-belated follow-up to r303099.
With feedback from: jmmv, ngie Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D7264
|
Revision tags: release/11.0.1, release/11.0.0 |
|
#
a75e9a02 |
| 10-Sep-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r305623 through r305686.
|
#
d30e66e5 |
| 09-Sep-2016 |
Jilles Tjoelker <jilles@FreeBSD.org> |
wait: Do not copyout uninitialized status/rusage/wrusage.
If wait4() or wait6() return 0 because of WNOHANG, the status, rusage and wrusage information should not be returned.
PR: 212048 Reported
wait: Do not copyout uninitialized status/rusage/wrusage.
If wait4() or wait6() return 0 because of WNOHANG, the status, rusage and wrusage information should not be returned.
PR: 212048 Reported by: Casey Lucas MFC after: 2 weeks
show more ...
|