|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| #
1.61 |
|
22-Dec-2024 |
riastradh |
kern: Move some purely arithmetic routines to subr_time_arith.c.
Preparation for testing and fixing:
PR kern/58922: itimer(9): arithmetic overflow PR kern/58925: itimer(9) responds erratically to clock wound back PR kern/58926: itimer(9) integer overflow in overrun counting PR kern/58927: itimer(9): overrun accounting is broken
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| #
1.60 |
|
28-Jul-2023 |
christos |
branches: 1.60.6; Add epoll(2) from Theodore Preduta as part of GSoC 2023
|
| #
1.59 |
|
10-Jul-2023 |
mrg |
add missing sys_memfd.c.
|
| #
1.58 |
|
07-Jul-2023 |
riastradh |
heartbeat(9): New mechanism to check progress of kernel.
This uses hard interrupts to check progress of low-priority soft interrupts, and one CPU to check progress of another CPU.
If no progress has been made after a configurable number of seconds (kern.heartbeat.max_period, default 15), then the system panics -- preferably on the CPU that is stuck so we get a stack trace in dmesg of where it was stuck, but if the stuckness was detected by another CPU and the stuck CPU doesn't acknowledge the request to panic within one second, the detecting CPU panics instead.
This doesn't supplant hardware watchdog timers. It is possible for hard interrupts to be stuck on all CPUs for some reason too; in that case heartbeat(9) has no opportunity to complete.
Downside: heartbeat(9) relies on hardclock to run at a reasonably consistent rate, which might cause trouble for the glorious tickless future. However, it could be adapted to take a parameter for an approximate number of units that have elapsed since the last call on the current CPU, rather than treating that as a constant 1.
XXX kernel revbump -- changes struct cpu_info layout
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| #
1.57 |
|
19-Sep-2021 |
thorpej |
Add native implementations of eventfd(2) and timerfd(2), compatible with the Linux interfaces of the same name.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 thorpej-i2c-spi-conf-base
|
| #
1.56 |
|
18-May-2021 |
mrg |
s/defopt/defflag/. 2021 called to remind me it's still 2021.
|
| #
1.55 |
|
17-May-2021 |
mrg |
move bi-endian disklabel support from the kernel and libsa into libkern.
- dkcksum() and dkcksum_sized() move from subr_disk.c and from libsa into libkern/dkcksum.c (which is missing _sized() version), using the version from usr.sbin/disklabel.
- swap_disklabel() moves from subr_disk_mbr.c into libkern, now called disklabel_swap(). (the sh3 version should be updated to use this.)
- DISKLABEL_EI becomes a first-class option with opt_disklabel.h.
- add libkern.h to libsa/disklabel.c.
this enables future work for bi-endian libsa/ufs.c (relevant for ffsv1, ffsv2, lfsv1, and lfsv2), as well as making it possible for ports not using subr_disk_mbr.c to include bi-endian disklabel support (which, afaict, includes any disk on mbr-supporting platforms that do not have an mbr as well as disklabel.)
builds successsfully on: alpha, i386, amd64, sun2, sun3, evbarm64, evbarm64-eb, sparc, and sparc64. tested in anita on i386 and sparc, testing in hardware on evbarm64*.
|
|
Revision tags: cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
|
| #
1.54 |
|
01-Nov-2020 |
pgoyette |
branches: 1.54.4; 1.54.6; Separate the compat_netbsd32_coredump from the compat_netbsd32 and coredump modules, into its own module.
Welcome to 7.99.75 !!!
|
| #
1.53 |
|
19-Oct-2020 |
christos |
branches: 1.53.2; Arrange so that no options COREDUMP and no options PTRACE work together. Thanks to Paul Goyette for testing.
|
| #
1.52 |
|
07-Sep-2020 |
thorpej |
Add the ability to set an alternate cnmagic in the kernel config file, e.g.:
options CNMAGIC="\"+++++\""
|
| #
1.51 |
|
14-Aug-2020 |
riastradh |
New system call getrandom() compatible with Linux and others.
Three ways to call:
getrandom(p, n, 0) Blocks at boot until full entropy. Returns up to n bytes at p; guarantees up to 256 bytes even if interrupted after blocking. getrandom(0,0,0) serves as an entropy barrier: return only after system has full entropy.
getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256 bytes even if interrupted. Equivalent to /dev/urandom. Safe only after successful getrandom(...,0), getrandom(...,GRND_RANDOM), or read from /dev/random.
getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n bytes at p, but no guarantees about how many -- may return as short as 1 byte. Equivalent to /dev/random. Legacy. Provided only for source compatibility with Linux.
Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN without producing any output instead of blocking.
- The combination GRND_INSECURE|GRND_NONBLOCK is the same as GRND_INSECURE, since GRND_INSECURE never blocks anyway.
- The combinations GRND_INSECURE|GRND_RANDOM and GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail with EINVAL.
As proposed on tech-userlevel, tech-crypto, tech-security, and tech-kern, and subsequently adopted by core (minus the getentropy part of the proposal, because other operating systems and participants in the discussion couldn't come to an agreement about getentropy and blocking semantics):
https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html
|
| #
1.50 |
|
28-Jul-2020 |
riastradh |
Rewrite cprng_fast in terms of new ChaCha API.
|
| #
1.49 |
|
07-Jun-2020 |
maxv |
Add fault(4).
|
| #
1.48 |
|
16-May-2020 |
christos |
Add ACL support for FFS. From FreeBSD.
|
| #
1.47 |
|
30-Apr-2020 |
riastradh |
Rewrite entropy subsystem.
Primary goals:
1. Use cryptography primitives designed and vetted by cryptographers. 2. Be honest about entropy estimation. 3. Propagate full entropy as soon as possible. 4. Simplify the APIs. 5. Reduce overhead of rnd_add_data and cprng_strong. 6. Reduce side channels of HWRNG data and human input sources. 7. Improve visibility of operation with sysctl and event counters.
Caveat: rngtest is no longer used generically for RND_TYPE_RNG rndsources. Hardware RNG devices should have hardware-specific health tests. For example, checking for two repeated 256-bit outputs works to detect AMD's 2019 RDRAND bug. Not all hardware RNGs are necessarily designed to produce exactly uniform output.
ENTROPY POOL
- A Keccak sponge, with test vectors, replaces the old LFSR/SHA-1 kludge as the cryptographic primitive.
- `Entropy depletion' is available for testing purposes with a sysctl knob kern.entropy.depletion; otherwise it is disabled, and once the system reaches full entropy it is assumed to stay there as far as modern cryptography is concerned.
- No `entropy estimation' based on sample values. Such `entropy estimation' is a contradiction in terms, dishonest to users, and a potential source of side channels. It is the responsibility of the driver author to study the entropy of the process that generates the samples.
- Per-CPU gathering pools avoid contention on a global queue.
- Entropy is occasionally consolidated into global pool -- as soon as it's ready, if we've never reached full entropy, and with a rate limit afterward. Operators can force consolidation now by running sysctl -w kern.entropy.consolidate=1.
- rndsink(9) API has been replaced by an epoch counter which changes whenever entropy is consolidated into the global pool. . Usage: Cache entropy_epoch() when you seed. If entropy_epoch() has changed when you're about to use whatever you seeded, reseed. . Epoch is never zero, so initialize cache to 0 if you want to reseed on first use. . Epoch is -1 iff we have never reached full entropy -- in other words, the old rnd_initial_entropy is (entropy_epoch() != -1) -- but it is better if you check for changes rather than for -1, so that if the system estimated its own entropy incorrectly, entropy consolidation has the opportunity to prevent future compromise.
- Sysctls and event counters provide operator visibility into what's happening: . kern.entropy.needed - bits of entropy short of full entropy . kern.entropy.pending - bits known to be pending in per-CPU pools, can be consolidated with sysctl -w kern.entropy.consolidate=1 . kern.entropy.epoch - number of times consolidation has happened, never 0, and -1 iff we have never reached full entropy
CPRNG_STRONG
- A cprng_strong instance is now a collection of per-CPU NIST Hash_DRBGs. There are only two in the system: user_cprng for /dev/urandom and sysctl kern.?random, and kern_cprng for kernel users which may need to operate in interrupt context up to IPL_VM.
(Calling cprng_strong in interrupt context does not strike me as a particularly good idea, so I added an event counter to see whether anything actually does.)
- Event counters provide operator visibility into when reseeding happens.
INTEL RDRAND/RDSEED, VIA C3 RNG (CPU_RNG)
- Unwired for now; will be rewired in a subsequent commit.
|
| #
1.46 |
|
26-Apr-2020 |
thorpej |
Add a NetBSD native futex implementation, mostly written by riastradh@. Map the COMPAT_LINUX futex calls to the native ones.
|
|
Revision tags: bouyer-xenpvh-base2
|
| #
1.45 |
|
22-Apr-2020 |
rin |
At the moment, we need kern/uipc_mbufdebug.c only if DDB is enabled.
|
|
Revision tags: phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406
|
| #
1.44 |
|
02-Mar-2020 |
riastradh |
branches: 1.44.4; Include kern_crashme.c in non-DEBUG kernels.
This is useful for simulating crashes in production to test failover.
|
|
Revision tags: ad-namecache-base3
|
| #
1.43 |
|
08-Feb-2020 |
maxv |
Retire KLEAK.
KLEAK was a nice feature and served its purpose; it allowed us to detect dozens of info leaks on the kernel->userland boundary, and thanks to it we tackled a good part of the infoleak problem 1.5 years ago.
Nowadays however, we have kMSan, which can detect uninitialized memory in the kernel. kMSan supersedes KLEAK: it can detect what KLEAK was able to detect, but in addition, (1) it operates in all of the kernel and not just the kernel->userland boundary, (2) it requires no user interaction, and (3) it is deterministic and not statistical.
That makes kMSan the feature of choice to detect info leaks nowadays; people interested in detecting info leaks should boot a kMSan kernel and just wait for the magic to happen.
KLEAK was a good ride, and a fun project, but now is time for it to go.
Discussed with several people, including Thomas Barabosch.
|
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| #
1.42 |
|
04-Jan-2020 |
kamil |
branches: 1.42.2; Rename sys_ptrace_lwpstatus.c to sys_process_lwpstatus.c
Keep the names of functions internally as ptrace intact as this code is shared with core_elf32.c that already reaches ptrace(2) specifc symbols.
No functional change intended.
|
| #
1.41 |
|
26-Dec-2019 |
kamil |
Put ptrace_read_lwpstatus() and process_read_lwpstatus() to a new file
Fixes "no PTRACE" kernel build, in particular zaurus kernel=INSTALL_C700.
|
| #
1.40 |
|
20-Dec-2019 |
ad |
Split subr_cpu.c out of kern_cpu.c, to contain routines shared with rump.
|
| #
1.39 |
|
12-Dec-2019 |
pgoyette |
Eliminate per-hook duplication of common code as suggested by (and with major contributions from) riastradh@
Welcome to 9.99.23
|
| #
1.38 |
|
20-Nov-2019 |
pgoyette |
Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
|
Revision tags: phil-wifi-20191119
|
| #
1.37 |
|
14-Nov-2019 |
maxv |
Add support for Kernel Memory Sanitizer (kMSan). It detects uninitialized memory used by the kernel at run time, and just like kASan and kCSan, it is an excellent feature. It has already detected 38 uninitialized variables in the kernel during my testing, which I have since discreetly fixed.
We use two shadows: - "shad", to track uninitialized memory with a bit granularity (1:1). Each bit set to 1 in the shad corresponds to one uninitialized bit of real kernel memory. - "orig", to track the origin of the memory with a 4-byte granularity (1:1). Each uint32_t cell in the orig indicates the origin of the associated uint32_t of real kernel memory.
The memory consumption of these shadows is consequent, so at least 4GB of RAM is recommended to run kMSan.
The compiler inserts calls to specific __msan_* functions on each memory access, to manage both the shad and the orig and detect uninitialized memory accesses that change the execution flow (like an "if" on an uninitialized variable).
We mark as uninit several types of memory buffers (stack, pools, kmem, malloc, uvm_km), and check each buffer passed to copyout, copyoutstr, bwrite, if_transmit_lock and DMA operations, to detect uninitialized memory that leaves the system. This allows us to detect kernel info leaks in a way that is more efficient and also more user-friendly than KLEAK.
Contrary to kASan, kMSan requires comprehensive coverage, ie we cannot tolerate having one non-instrumented function, because this could cause false positives. kMSan cannot instrument ASM functions, so I converted most of them to __asm__ inlines, which kMSan is able to instrument. Those that remain receive special treatment.
Contrary to kASan again, kMSan uses a TLS, so we must context-switch this TLS during interrupts. We use different contexts depending on the interrupt level.
The orig tracks precisely the origin of a buffer. We use a special encoding for the orig values, and pack together in each uint32_t cell of the orig: - a code designating the type of memory (Stack, Pool, etc), and - a compressed pointer, which points either (1) to a string containing the name of the variable associated with the cell, or (2) to an area in the kernel .text section which we resolve to a symbol name + offset.
This encoding allows us not to consume extra memory for associating information with each cell, and produces a precise output, that can tell for example the name of an uninitialized variable on the stack, the function in which it was pushed on the stack, and the function where we accessed this uninitialized variable.
kMSan is available with LLVM, but not with GCC.
The code is organized in a way that is similar to kASan and kCSan, so it means that other architectures than amd64 can be supported.
|
| #
1.36 |
|
05-Nov-2019 |
maxv |
Add Kernel Concurrency Sanitizer (kCSan) support. This sanitizer allows us to detect race conditions at runtime. It is a variation of TSan that is easy to implement and more suited to kernel internals, albeit theoretically less precise than TSan's happens-before.
We do basically two things:
- On every KCSAN_NACCESSES (=2000) memory accesses, we create a cell describing the access, and delay the calling CPU (10ms).
- On all memory accesses, we verify if the memory we're reading/writing is referenced in a cell already.
The combination of the two means that, if for example cpu0 does a read that is selected and cpu1 does a write at the same address, kCSan will fire, because cpu1's write collides with cpu0's read cell.
The coverage of the instrumentation is the same as that of kASan. Also, the code is organized in a way similar to kASan, so it is easy to add support for more architectures than amd64. kCSan is compatible with KCOV.
Reviewed by Kamil.
|
| #
1.35 |
|
15-Aug-2019 |
maxv |
Unlink KMEM_GUARD leftovers.
|
|
Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| #
1.34 |
|
04-Apr-2019 |
christos |
branches: 1.34.4; move setdisklabel(9) into a separate file.
|
| #
1.33 |
|
23-Feb-2019 |
kamil |
Add KCOV - kernel code coverage tracing device
The KCOV driver implements collection of code coverage inside the kernel. It can be enabled on a per process basis from userland, allowing the kernel program counter to be collected during syscalls triggered by the same process.
The device is oriented towards kernel fuzzers, in particular syzkaller.
Currently the only supported coverage type is -fsanitize-coverage=trace-pc.
The KCOV driver was initially developed in Linux. A driver based on the same concept was then implemented in FreeBSD and OpenBSD.
Documentation is borrowed from OpenBSD and ATF tests from FreeBSD.
This patch has been prepared by Siddharth Muralee, improved by <maxv> and polished by myself before importing into the mainline tree.
All ATF tests pass.
|
| #
1.32 |
|
13-Feb-2019 |
kamil |
Silent UB alignment issues in acpica under kUBSan
Pass -DACPI_MISALIGNMENT_NOT_SUPPORTED under kUBSan enabled. This option is dedicated for alignment sensitive CPUs in acpica. It was originally designed for Itanium CPUs, but nowadays it's wanted for aarch64 as well.
Define it in acpica code under kUBSan in order to pacify Undefined Behavior reports on all ports (in particular x86). The number of reports is now halved with this patch applied. The remaining alignment alarms in acpica will be addressed in future.
Patch contributed by <Akul Pillai>
|
| #
1.31 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118
|
| #
1.30 |
|
09-Jan-2019 |
mrg |
crashme: a framework to test kernel faults.
so far, only a basic panic() and null deref nodes are added. with options DEBUG, one can now use:
# sysctl -w kern.crashme_enable=1
# sysctl -w kern.crashme.panic=1 # sysctl -w kern.crashme.null_deref=1
to trigger a crash. crashme_enable must be set to 1 before any of the nodes will be writeable.
supports dynamic additional/removal of crashme nodes.
(obsoletes kern.panic_now, which will be removed later.)
|
|
Revision tags: pgoyette-compat-1226
|
| #
1.29 |
|
24-Dec-2018 |
thorpej |
Add threadpool(9), an abstraction that provides shared pools of kernel threads running at specific priorities, with support for unbound pools and per-cpu pools.
Written by riastradh@, and based on the May 2014 draft, with a few changes by me: - Working on the assumption that a relative few priorities will actually be used, reduce the memory footprint by using linked lists, rather than 2 large (and mostly empty) tables. The performance impact is essentially nil, since these lists are consulted only when pools are created (and destroyed, for DIAGNOSTIC checks), and the lists will have at most 225 entries. - Make threadpool job object, which the caller must allocate storage for, really opaque. - Use typedefs for the threadpool types, to reduce the verbosity of the API somewhat. - Fix a bunch of pool / worker thread / job object lifecycle bugs.
Also include an ATF unit test, written by me, that exercises the basics of the API by loading a kernel module that exposes several sysctls that allow the ATF test script to create and destroy threadpools, schedule a basic job, and verify that it ran.
And thus NetBSD 8.99.29 has arrived.
|
| #
1.28 |
|
16-Dec-2018 |
rmind |
Import thmap -- a concurrent trie-hash map, combining the elements of hashing and radix trie. It supports lock-free lookups and concurrent inserts/deletes. It is designed to be optimal as a general purpose *concurrent* associative array.
Upstream: https://github.com/rmind/thmap Discussed on tech-kern@
|
| #
1.27 |
|
03-Dec-2018 |
christos |
Expose addresses depending on the KASLR setting (from mrg@). Restores the status quo of exposing kernel addresses if there is no KASLR.
|
| #
1.26 |
|
02-Dec-2018 |
maxv |
Introduce KLEAK, a new feature that can detect kernel information leaks.
It works by tainting memory sources with marker values, letting the data travel through the kernel, and scanning the kernel<->user frontier for these marker values. Combined with compiler instrumentation and rotation of the markers, it is able to yield relevant results with little effort.
We taint the pools and the stack, and scan copyout/copyoutstr. KLEAK is supported on amd64 only for now, but it is not complicated to add more architectures (just a matter of having the address of .text, and a stack unwinder).
A userland tool is provided, that allows to execute a command in rounds and monitor the leaks generated all the while.
KLEAK already detected directly 12 kernel info leaks, and prompted changes that in total fixed 25+ leaks.
Based on an idea developed jointly with Thomas Barabosch (of Fraunhofer FKIE).
|
|
Revision tags: pgoyette-compat-1126
|
| #
1.25 |
|
15-Nov-2018 |
maxv |
Merge uipc_mbuf2.c into uipc_mbuf.c. Reorder the latter a little to gather similar functions. No functional change.
|
| #
1.24 |
|
31-Oct-2018 |
maxv |
Move the MI parts of KASAN into kern/subr_asan.c. This file includes machine/asan.h, which contains the MD functions. We use an include rather than a plain C file, because we want GCC to optimize/inline some functions into one single block.
The amd64 MD parts of KASAN are moved accordingly.
The naming convention we use is:
kasan_* a generic kasan object, declared in subr_asan.c kasan_md_* an MD kasan object, declared in machine/asan.h, and used in subr_asan.c __md_* an MD object, declared in machine/asan.h, and not used outside
Overall this makes it easier to add KASAN support on more architectures.
Discussed with several people.
|
|
Revision tags: pgoyette-compat-1020 pgoyette-compat-0930
|
| #
1.23 |
|
14-Sep-2018 |
mrg |
retire kern_xxx.c. long live kern_xxx.c.
split it into kern_reboot.c and kern_scdebug.c. while here, add my copyright to kern_scdebug.c as it was largely rewritten for kernhist support.
|
|
Revision tags: pgoyette-compat-0906
|
| #
1.22 |
|
20-Aug-2018 |
maxv |
Retire KMEM_REDZONE and KMEM_POISON.
KMEM_REDZONE is not very efficient and cannot detect read overflows. KASAN can, and will be used instead.
KMEM_POISON is enabled along with KMEM_GUARD, but it is redundant, since the latter can detect read UAFs contrary to the former. In fact maybe KMEM_GUARD should be retired too, because there are many cases where it doesn't apply.
Simplifies the code.
|
| #
1.21 |
|
03-Aug-2018 |
kamil |
Register kUBSan in the GENERIC amd64 kernel config
Tested with GCC.
|
|
Revision tags: pgoyette-compat-0728
|
| #
1.20 |
|
18-Jul-2018 |
msaitoh |
- Fix compile error for kernel configuration file which has no any Ethernet device driver. - Add missing default label. - Fix NetBSD RCS Id.
|
| #
1.19 |
|
17-Jul-2018 |
msaitoh |
Add /d(dump) and /v(verbose) modifiers to DDB's "show mbuf" command. Mainly written by Hiroki SUENAGA. Currently, /v supports Ethernet, PPP, PPPoE, ARP, IPv4, ICMP, IPv6, ICMPv6, TCP and UDP.
|
| #
1.18 |
|
12-Jul-2018 |
maxv |
Remove the kernel PMC code. Sent yesterday on tech-kern@.
This change:
* Removes "options PERFCTRS", the associated includes, and the associated ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is good.
* Removes the PMC code of ARM XSCALE.
* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.
* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The definitions are put in sysarch.h.
* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control and sys_pmc_get_info syscalls. They are marked as OBSOL in kern, netbsd32 and rump.
* Removes the pmc_evid_t and pmc_ctr_t types.
* Removes all the associated man pages. The sets are marked as obsolete.
|
| #
1.17 |
|
30-Jun-2018 |
christos |
defflag {SETUID,FD}SCRIPTS
|
|
Revision tags: phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| #
1.16 |
|
16-Dec-2017 |
maxv |
branches: 1.16.2; 1.16.4; compat_util.c must be compiled by default in the kernel. It is needed by generic non-compat code, so it must not depend on anything (libcompat or whatever option we choose to associate it to).
|
|
Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
|
| #
1.15 |
|
19-May-2017 |
pgoyette |
branches: 1.15.2; 1.15.8; Introduce new localcount(9) reference-count primitives.
|
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1
|
| #
1.14 |
|
12-Apr-2017 |
christos |
branches: 1.14.2; use opt_kmem.h for the KMEM_ variables.
|
|
Revision tags: jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
| #
1.13 |
|
02-Nov-2016 |
pgoyette |
branches: 1.13.2; * Split sys/kern/sys_process.c into three parts: 1 - ptrace(2) syscall for native emulation 2 - common ptrace(2) syscall code (shared with compat_netbsd32) 3 - support routines that are shared with PROCFS and/or KTRACE
* Add module glue for #1 and #2. Both modules will be built-in to the kernel if "options PTRACE" is included in the config file (this is the default, defined in sys/conf/std).
* Mark the ptrace(2) syscall as modular in syscalls.master (generated files will be committed shortly).
* Conditionalize all remaining portions of PTRACE code on a new kernel option PTRACE_HOOKS.
XXX Instead of PROCFS depending on 'options PTRACE', we should probably just add a procfs attribute to the sys/kern/sys_process.c file's entry in files.kern, and add PROCFS to the "#if defineds" for process_domem(). It's really confusing to have two different ways of requiring this file.
|
|
Revision tags: nick-nhusb-base-20161004
|
| #
1.12 |
|
16-Sep-2016 |
pgoyette |
Move kern_ctf.c into the dtrace_fbt module (the only place it is used) rather than including in kernels with KDTRACE_HOOKS defined. Update the dtrace_fbt module to depend on the zlib module.
Bump kernel version to avoid module mismatch.
Welcome to 7.99.38 !
|
|
Revision tags: localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
|
| #
1.11 |
|
09-Apr-2016 |
riastradh |
branches: 1.11.2; Add passive references, intermediate between pserialize and refcount.
Discussed on tech-kern:
https://mail-index.netbsd.org/tech-kern/2016/01/24/msg020069.html
API is still experimental and likely to change. (Obvious changes: either remove extra arguments everywhere, or shrink psref_target to a single bit, at the expense of possibly valuable diagnostic checks.) Should do some real testing before we use this in anger!
|
|
Revision tags: nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| #
1.10 |
|
03-Dec-2015 |
pgoyette |
Merge the compat_sysv module into the sysv_ipc module - it should never have been a separate module in the first place (my bad).
Adjust dependencies as appropriate.
|
|
Revision tags: nick-nhusb-base-20150921
|
| #
1.9 |
|
03-Sep-2015 |
uebayasi |
Build conf/param.c normally.
|
| #
1.8 |
|
21-Aug-2015 |
uebayasi |
Move dev/ definitions out of files.kern.
|
| #
1.7 |
|
17-Aug-2015 |
knakahara |
Add kernel code to support intrctl(8).
|
|
Revision tags: nick-nhusb-base-20150606
|
| #
1.6 |
|
10-May-2015 |
pgoyette |
Split the SYSV* compat code out into a separate compat_sysv module.
For monolithic kernels, both modules will be compiled as "built-ins", while modular environments will be able to load the SYSVSEM, SYSVSHM, and SYSVMSG code independant from the rest of compat.
This is a necessary precursor step to making the "STD" SYSV* code into a separate module.
Tested in both monolithic and modular environments with no errors seen.
|
| #
1.5 |
|
06-May-2015 |
hannken |
Remove miscfs/syncfs and
- move the syncer into kern/vfs_subr.c.
- change the syncer to process the mountlist and VFS_SYNC as appropriate.
- use an API for mount points similiar to the API for vnodes: - vfs_syncer_add_to_worklist(struct mount *mp) to add - vfs_syncer_remove_from_worklist(struct mount *mp) to remove a mount.
No objections on tech-kern@
|
| #
1.4 |
|
02-May-2015 |
mlelstv |
Merge dk_intf and dkdriver interfaces. Merge common disk driver functionality in ld.c with dksubr.c. Adjust the two previous users of dk_intf (cgd and xbd) to the changes.
This file was missing from the commit.
|
|
Revision tags: nick-nhusb-base-20150406
|
| #
1.3 |
|
07-Mar-2015 |
christos |
syscallnames are needed by dtrace
|
|
Revision tags: nick-nhusb-base
|
| #
1.2 |
|
12-Oct-2014 |
uebayasi |
branches: 1.2.2; Mark some stray files as kern for now.
|
| #
1.1 |
|
12-Oct-2014 |
uebayasi |
Move kern definitions.
|