Commit Graph

17780 Commits

Author SHA1 Message Date
maya
5cf9e8b81f Remove uyap, USB YAP phone firmware loader.
And the associated ezload EZ-USB code, which is only used by uyap.
It could theoretically be used by other drivers, but none of them are
in tree.

I suspect that this device isn't in use, as phone technology has improved
a lot since 2001 when uyap(4) was added to the tree.

Proposed with no objections on netbsd-users on 13 April 2020
2020-05-16 13:46:10 +00:00
maxv
50bfcd3de6 Don't add KCOV instrumentation on top of the KUBSAN instrumentation,
this is useless and too bloated.
2020-05-15 19:07:01 +00:00
kamil
b2e8cbc777 Fix typo
Reported by vezhlys on IRC.
2020-05-15 09:21:59 +00:00
snj
f27f66ae80 - prune src/gnu and src/sys/netsmb
- add src/sys/netcan
- remove bogus statement about location of reachover Makefiles
- tweak language
2020-05-14 16:32:57 +00:00
leot
467c5d63f6 Remove a reference to /etc/netstart
It was removed in rc.d era and no longer honored (except by newbtconf(8)).

Noticed by Ottavio Caruso on #netbsd@Freenode, thanks!
2020-05-12 10:20:16 +00:00
skrll
26371ac3a2 Update the list of hppa options to build working kernel modules. 2020-05-11 10:21:24 +00:00
riastradh
f21348ab88 Remove timedwaitclock.
This did not fix the bug I hoped it would fix in futex, and needs
more design thought.  Might redo it somewhat differently later.
2020-05-11 03:59:33 +00:00
maxv
e4eb677baa Pass -Wno-unused-command-line-argument for LLVM, discussed on
tech-toolchain@.
2020-05-10 06:38:24 +00:00
riastradh
4fe11140e4 Mark experimental-default-off knobs clearly as such. 2020-05-10 02:32:32 +00:00
riastradh
f96b491d2f Document vm.swap_encrypt. 2020-05-10 02:31:29 +00:00
riastradh
3d1d29c849 Tweak kern.arandom documentation. 2020-05-10 02:30:33 +00:00
wiz
de5a2786ff Fix macro usage. 2020-05-07 12:56:19 +00:00
rkujawa
c388420a0e Document the HDAUDIO_ENABLE_HDMI and HDAUDIO_ENABLE_DISPLAYPORT options. 2020-05-06 20:15:15 +00:00
riastradh
df65398010 Update to reflect change to message. 2020-05-06 18:38:20 +00:00
skrll
533e6b2e7c switch hppa to new binutils (2.34) 2020-05-05 20:47:38 +00:00
ginsbach
dde087a379 Add OWASP 2020-05-05 01:28:17 +00:00
wiz
8b5b0fc37e Improve markup. 2020-05-04 15:13:45 +00:00
wiz
3b9d941ba3 Break line after macro arguments end. Use \- for minus. 2020-05-04 15:10:40 +00:00
riastradh
5d5b825847 Bump date. 2020-05-03 04:06:15 +00:00
riastradh
c97c41e809 Document cv_timedwaitclock. 2020-05-03 04:05:50 +00:00
riastradh
6d64c76acc Add a note about setting the timeout to zero _and_ returning success. 2020-05-03 04:05:28 +00:00
riastradh
5b0aa16b11 Simplify example of cv_timedwaitbt.
It is simpler if there is only one place we check the condition.

That said, there are cases where the caller needs to re-check before
choosing to fail (e.g., futex_wait in kern/sys_futex.c, which must
verify the condition before taking destructive steps to abort the
wait).  But it's not clear that that's the norm.
2020-05-03 04:05:00 +00:00
riastradh
a36c0b2b71 Update cv_timedwaitbt documentation to reflect useful reality.
Previously, a negative timeout was forbidden (kassert), a zero or
maybe even just a sufficiently small timeout would block forever, and
we would subtract the time elapsed -- possibly longer than the
timeout, leading to a negative updated timeout, which would trip the
kassert the next time around if used as advertised.  DERP.

Now negative timeouts are still forbidden in order to detect usage
mistakes, but a zero timeout fails immediately and we clamp the
subtracted time to be at least zero so you can always safely call
cv_timedwaitbt in a loop.

(An alternative would be to fail immediately for all nonpositive
timeouts, and to leave in the timespec the negative time we overshot,
but it's not clear this would be useful.)
2020-05-03 04:04:32 +00:00
christos
4f121a6996 document MKCOMPATMODULES 2020-05-02 19:46:58 +00:00
rin
021d8db65a Fix previous; add missing <module>.kmod.debug to realall. 2020-05-02 09:15:30 +00:00
christos
0e244e0f79 Install <module>.kmod.debug files for kernel crash debugging. 2020-05-01 22:23:00 +00:00
jdolecek
40ace5566a link also m_apply(9) to mbuf(9) 2020-05-01 21:43:23 +00:00
riastradh
9dcd95ee64 Combine some related paragraphs. 2020-05-01 19:56:08 +00:00
riastradh
57efbe1b81 Tighten language so it fits in one paragraph again.
This way the first two paragraphs have parallel structure:

- _Applications_ should read from /dev/urandom or sysctl kern.arandom...
- _Systems_ should be engineered to read once from /dev/random...
2020-05-01 19:54:37 +00:00
nia
47b7f85860 rnd.4: Bump dates. 2020-05-01 12:43:33 +00:00
nia
0714b28933 rnd.4: Explain why libraries should use kern.arandom over /dev/urandom 2020-05-01 12:30:16 +00:00
nia
a04ab133b7 Update documentation of kern.arandom. It uses cprng_strong(9). 2020-05-01 10:06:09 +00:00
riastradh
5084c1b50f 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.
2020-04-30 03:28:18 +00:00
rtr
abac7a776d LSO large send offload 2020-04-29 22:17:38 +00:00
jmcneill
c2bf22a2df Add support for Realtek RTS522A 2020-04-27 23:06:34 +00:00
plunky
94b6940f54 EPT extended page tables 2020-04-27 09:10:45 +00:00
mrg
89f8a416b9 invert the GCC 7/8 conditional.
only alpha, vax, m68k and sh3 are still on GCC 7.
2020-04-27 03:15:12 +00:00
mrg
17ce967706 switch mips to GCC 8. 2020-04-26 22:06:01 +00:00
skrll
76f1fdb56e Switch hppa to gcc 8 2020-04-26 20:13:43 +00:00
simonb
3fd4d3b537 More path markup. Ref wizd(8). 2020-04-26 00:40:10 +00:00
bouyer
224cc4e632 Add /usr/include/xen/intrdefs.h to sets
Add xen to KLINKFILES for amd64/i386
2020-04-25 15:46:59 +00:00
wiz
9f6b6bc85a Use more markup. 2020-04-25 13:51:04 +00:00
simonb
1051ded1d9 Document the "database" configuration option. 2020-04-25 10:56:53 +00:00
jdolecek
642bc4c72b bump date 2020-04-24 13:54:56 +00:00
jdolecek
09a2b15c05 actually MBUFTRACE does splvm(), kpreempt_disable()/enable() and percpu,
this has non-slight overhead - amend documentation to stop claiming
the overhead is slight

adresses PR port-xen/50290
2020-04-24 13:47:50 +00:00
ryo
7d182e1a03 add AQC100, AQC100S, D100 2020-04-24 04:37:27 +00:00
christos
d8fa6d0b7a Swirch arm to the new binutils 2020-04-23 19:24:53 +00:00
jdolecek
4e451dae6b fix tyop 2020-04-23 15:55:14 +00:00
jdolecek
00eb0f15bf elaborate on why we don't support hardware checksum offloading, and probably
never will
2020-04-23 15:54:36 +00:00
ginsbach
c8e8129819 Add RFI, RFP 2020-04-22 15:03:46 +00:00