Commit Graph

16309 Commits

Author SHA1 Message Date
jruoho
55abcd082f Add basic checks for a64l(3), l64a(3), and l64a_r(3). 2020-07-01 07:16:37 +00:00
lukem
41b765e18c fix sets for MKKYUA 2020-06-30 23:51:47 +00:00
riastradh
bd9707e06e New test sys/crypto/aes/t_aes.
Runs aes_selftest on all kernel AES implementations supported on the
current hardware, not just the preferred one.
2020-06-30 20:32:10 +00:00
jruoho
2ba250a115 After a comedy of errors, move t_mbtowc to its final resting place. 2020-06-30 16:09:40 +00:00
jruoho
8b2d29b6bf Check that DTrace's execsnoop and opensnoop work (cf. PR kern/53417). 2020-06-30 14:30:49 +00:00
jruoho
e643f0ea97 Add a couple of tests for sequential ifconfig(8) options, incl. PR kern/41912. 2020-06-30 11:48:20 +00:00
riastradh
04a6492d1e New cgd cipher adiantum.
Adiantum is a wide-block cipher, built out of AES, XChaCha12,
Poly1305, and NH, defined in

   Paul Crowley and Eric Biggers, `Adiantum: length-preserving
   encryption for entry-level processors', IACR Transactions on
   Symmetric Cryptology 2018(4), pp. 39--61.

Adiantum provides better security than a narrow-block cipher with CBC
or XTS, because every bit of each sector affects every other bit,
whereas with CBC each block of plaintext only affects the following
blocks of ciphertext in the disk sector, and with XTS each block of
plaintext only affects its own block of ciphertext and nothing else.

Adiantum generally provides much better performance than
constant-time AES-CBC or AES-XTS software do without hardware
support, and performance comparable to or better than the
variable-time (i.e., leaky) AES-CBC and AES-XTS software we had
before.  (Note: Adiantum also uses AES as a subroutine, but only once
per disk sector.  It takes only a small fraction of the time spent by
Adiantum, so there's relatively little performance impact to using
constant-time AES software over using variable-time AES software for
it.)

Adiantum naturally scales to essentially arbitrary disk sector sizes;
sizes >=1024-bytes take the most advantage of Adiantum's design for
performance, so 4096-byte sectors would be a natural choice if we
taught cgd to change the disk sector size.  (However, it's a
different cipher for each disk sector size, so it _must_ be a cgd
parameter.)

The paper presents a similar construction HPolyC.  The salient
difference is that HPolyC uses Poly1305 directly, whereas Adiantum
uses Poly1395(NH(...)).  NH is annoying because it requires a
1072-byte key, which means the test vectors are ginormous, and
changing keys is costly; HPolyC avoids these shortcomings by using
Poly1305 directly, but HPolyC is measurably slower, costing about
1.5x what Adiantum costs on 4096-byte sectors.

For the purposes of cgd, we will reuse each key for many messages,
and there will be very few keys in total (one per cgd volume) so --
except for the annoying verbosity of test vectors -- the tradeoff
weighs in the favour of Adiantum, especially if we teach cgd to do
>>512-byte sectors.

For now, everything that Adiantum needs beyond what's already in the
kernel is gathered into a single file, including NH, Poly1305, and
XChaCha12.  We can split those out -- and reuse them, and provide MD
tuned implementations, and so on -- as needed; this is just a first
pass to get Adiantum implemented for experimentation.
2020-06-29 23:44:01 +00:00
fcambus
ad2873740c Add font files for Spleen, which can be loaded into the wsfont pool
or a wscons display device using wsfontload(8).

For example, Spleen 16x32 can be loaded and enabled as follow:

wsfontload -N spleen-16x32 -w 16 -h 32 spleen-16x32.fnt
wsconsctl -dw font=spleen-16x32
2020-06-28 14:26:18 +00:00
rillig
068560b5e3 make(1): demonstrate bug when evaluating conditions 2020-06-28 09:42:40 +00:00
pgoyette
4e70e0c622 Add missing debug entry for new t_mbtowc
XXX Please note that there are now TWO tests named t_mbtowc - this one in
XXX tests/lib/libc/stdlib/ and an older one in tests/lib/libc/locale
XXX I don't know if the functionality is duplicated or not.
2020-06-28 01:38:39 +00:00
christos
465626063e fix the build 2020-06-27 18:03:52 +00:00
jruoho
7725c11dd6 Add also a test that writes random garbage to every ifconfig(8) option that
takes parameters. Based on quick testing, iwn(4) and wm(4) pass, but
urtwn(4) panics. Use at your own risk; in some cases, it may be possible
that horrors are written directly to the hardware.
2020-06-27 13:53:43 +00:00
jruoho
14dd606bd8 Add t_t_mbtowc. 2020-06-27 10:15:50 +00:00
jruoho
f60c53b495 Move the test for mktemp(3) to the right place. 2020-06-27 09:45:57 +00:00
jruoho
313072e773 Add a simple test case that writes random garbage to (almost) every sysctl node.
This test reproduced already at least five unique panics in a few quick runs.
The test is skipped by default as it is not likely safe even without the panics.
2020-06-27 08:50:46 +00:00
jruoho
b61f0fee17 Add a basic test for enabling/disabling network interface capabilities. 2020-06-27 06:57:44 +00:00
rin
77128b9fa3 Remove stale comments. 2020-06-27 05:39:07 +00:00
jruoho
78bd8e59f5 Add a test case for PR kern/53767. 2020-06-27 05:20:34 +00:00
jruoho
dc018d6b62 Add test cases for different 802.11 options. These include cases for
PR kern/35045, PR kern/45745, and PR kern/55424.
2020-06-27 05:07:07 +00:00
jruoho
f5fa72a2a9 Test creating thousands of bridge(4)'s. Unlike with tap(4) (PR kern/55417),
this test succeeeds. It is even possible to have the ultimate ifconfig(8)
output with more than 65,000 devices.
2020-06-25 18:30:42 +00:00
jruoho
9611465bb1 Verify that PR kern/52150 is no longer present. 2020-06-25 17:08:32 +00:00
jruoho
2a70c17495 Add a test case for PR kern/52744, which no longer appears to be present. 2020-06-25 16:16:48 +00:00
jruoho
0f5766374a Add a test case for kern/52771. 2020-06-25 15:41:40 +00:00
jruoho
77e941ddd2 Add a test case for PR kern/53410. 2020-06-25 15:01:35 +00:00
jruoho
5c3bd061a3 Add test cases for PR kern/53546 and PR kern/55417. Both are skipped as
both reproduce panics.
2020-06-25 14:24:45 +00:00
jruoho
55d0ca692c Check that fstat(1) works (cf. PR kern/55407). 2020-06-24 10:05:07 +00:00
jruoho
3f1bde296f Add a few checks for stdethers(8) and stdhosts(8). 2020-06-24 09:47:17 +00:00
jruoho
d60b9b731a Add few basic tests for cpuctl(8). These cover PR kern/45117 and PR bin/54220.
Though, the former is not explicitly tested as it hangs the system.
2020-06-24 09:32:41 +00:00
jruoho
27ee1d2935 Add a test case for bin/54620. 2020-06-24 09:21:43 +00:00
jruoho
6ecb6de692 Add a test case for PR bin/55389. 2020-06-24 09:11:26 +00:00
rin
5d002ee84c Fix prefix for previous. 2020-06-23 21:34:44 +00:00
maxv
61584588ce kernel_sanitizers.7 2020-06-23 16:08:46 +00:00
martin
4a198ac36d Pass the name of the compressor actually used for sets to groff and use
it in the content description (XXX need to adapt a few more copies in,
as of now, unaffected architectures)
2020-06-23 06:28:01 +00:00
maya
76dccf74d6 Mention that USE_XZ_SETS are either always xzipped, and in evbarm might
be xzipped or gzipped.
2020-06-22 12:03:46 +00:00
thorpej
2d473240cd Add evbmips installboot board data. 2020-06-21 17:15:51 +00:00
tsutsui
69b4acc8fa Provide wdboot as a link of sdboot for Milan also in sysinst.
See the following commit log for details:
 https://mail-index.netbsd.org/source-changes/2018/03/04/msg092779.html
2020-06-18 18:14:06 +00:00
thorpej
4abc8d232e Add vmem_xfreeall(), which frees all allocated regions in the specified arena.
All outstanding allocations MUST have been performed with vmem_xalloc() or
else the behavior is undefined.  (This also implies that the arena must also
not have a quantum cache; note this in the documentation.)
2020-06-16 01:29:00 +00:00
christos
29d11e7e15 For MKREPRO builds:
1. compute cur_date from the timestamp
2. pass the date to groff so that it can set its registers
2020-06-16 00:45:56 +00:00
christos
f0e4e4213c Add compatfile to libblacklist 2020-06-15 23:41:55 +00:00
christos
2f0bfbf344 Rename blacklist -> blocklist 2020-06-15 01:57:29 +00:00
christos
6241e0b790 bump libmagic 2020-06-15 00:39:03 +00:00
tsutsui
98121728df Put a message in build error logs to notify what this target builds. 2020-06-14 05:10:33 +00:00
tsutsui
9dd46b30d9 Use more shrinked x_foo binaries. 2020-06-13 19:15:43 +00:00
roy
b05648aa26 Remove in-kernel handling of Router Advertisements
This is much better handled by a user-land tool.
Proposed on tech-net here:
https://mail-index.netbsd.org/tech-net/2020/04/22/msg007766.html

Note that the ioctl SIOCGIFINFO_IN6 no longer sets flags. That now
needs to be done using the pre-existing SIOCSIFINFO_FLAGS ioctl.

Compat is fully provided where it makes sense, but trying to turn on
RA handling will obviously throw an error as it no longer exists.

Note that if you use IPv6 temporary addresses, this now needs to be
turned on in dhcpcd.conf(5) rather than in sysctl.conf(5).
2020-06-12 11:04:44 +00:00
jmcneill
e6ecdc649f Build i.MX7D dtbs for armv7 2020-06-10 18:53:31 +00:00
kamil
4228f24a2e Build and install llvm-symbolizer for MKLLVM=yes
llvm-symbolizer is an alternative for GNU addr2line(1), heavily used by the
LLVM sanitizers.

Do not install it as tools as it is not necessary as of today in that
stage.
2020-06-09 21:50:32 +00:00
maxv
3e534f26ae install fault.h 2020-06-08 16:36:18 +00:00
rin
b7016d1c78 Remove t_proplib.debug from debug/shl.mi, which is built regardless of MKPIC,
and has been moved into debug/mi.
2020-06-08 05:05:43 +00:00
rin
fe5c2a10ab For /usr/libdata/debug/usr/tests/lib/libprop
- Obsolete t_basic.debug and
- Add t_proplib.debug
2020-06-08 02:54:41 +00:00
thorpej
87f84208ec One more libprop-related cat pages fixup. 2020-06-07 14:55:13 +00:00