Commit Graph

270833 Commits

Author SHA1 Message Date
jhigh
ab00eaeb2d added test cases
invalid version specification
	salt too short
2019-10-14 14:48:48 +00:00
jhigh
b640afc213 added versioning tests for argon2 2019-10-14 14:37:31 +00:00
christos
d08d589de9 remove masking and cast (requested by kre@) 2019-10-14 13:34:14 +00:00
hannken
239a7f3a3b Change dmu_diff() back to use a "file" instead of a "vnode".
Command "zfs diff" calls it with a pipe, not a plain file.

Fixes PR kern/54541: kernel panic using "zfs diff"
2019-10-14 13:18:00 +00:00
jmcneill
97755cb245 Add support for Amazon's Graviton MSI controller.
Graviton has a GICv3 with a modified GICv2m (!) for MSIs. Instead of
sending messages to a fixed address with the SPI as data, the Graviton's
GICv2m uses a different address for each vector with "don't care" as data.
2019-10-14 11:00:13 +00:00
maxv
fabc9bf218 Improve nvmm_vcpu_dump(). 2019-10-14 10:43:40 +00:00
maxv
c496a7b118 Implement XCHG, add associated tests, and add comments to explain. With
this in place the Windows 95 installer completes successfuly.

Part of PR/54611.
2019-10-14 10:39:24 +00:00
jhigh
3f4bc82592 removed incorrectly added file 2019-10-14 06:40:40 +00:00
jhigh
499c4e53b1 adding argon2 tests 2019-10-14 03:47:19 +00:00
christos
85f5895969 add missing initializer 2019-10-14 01:15:32 +00:00
jmcneill
e65703645f The PCI Local Bus Specification says that we should probe devices by
reading PCI_ID_REG. pci_enumerate_bus was incorrectly reading PCI_BHLC_REG
first, which surprisingly has worked for the past 16 years. Unfortunately,
this undefined behavior does the wrong thing on Amazon's Annapurna Labs
PCIe host controller.
2019-10-14 00:20:09 +00:00
jmcneill
4d90935b6d Add quirks for Amazon Graviton PCIe root ports. Configuration space for the
root port is found in a child AMZN0001 resource, not the MCFG table.
2019-10-14 00:16:29 +00:00
jmcneill
a266bf0e60 The MCFG base address field is the physical address of the base of mmio
space relative to bus 0, not the start bus number specified in the table
entry.
2019-10-14 00:15:13 +00:00
christos
af9b8d952e cast function pointer type. there is already an XXX there... 2019-10-13 22:32:09 +00:00
christos
6632d01780 regen 2019-10-13 22:31:31 +00:00
christos
843ff516d3 cast nullop though void * 2019-10-13 22:31:19 +00:00
christos
16b55730f4 Elide function pointer cast errors 2019-10-13 22:30:52 +00:00
joerg
9eb3d41e85 Merge pkg_install-20191008 2019-10-13 21:56:14 +00:00
christos
af4abd50bc make worker thread prototype match the pthread_create signature. 2019-10-13 21:32:07 +00:00
mrg
69f9039379 use GCC_NO_CAST_FUNCTION_TYPE. 2019-10-13 21:24:37 +00:00
mrg
669eddb156 use sanitizer_platform_limits_netbsd.cc.
link asan with libm so it can find signgam.

basic libasan works now.
2019-10-13 21:18:20 +00:00
christos
7043e4b635 use strlcpy instead of strncpy. 2019-10-13 21:12:32 +00:00
christos
7a3a738c59 prevent sign extension from making expression always false. 2019-10-13 20:55:04 +00:00
christos
d3062ef0ff can't happen, but gcc can't figure it out. 2019-10-13 20:43:25 +00:00
mrg
9d7a8fa9a3 use strlcpy to ensure termination.
the buffer is statically sized so that it works without an
allocator, so truncation is the desired effect here.
2019-10-13 20:18:42 +00:00
christos
d24a806584 fool gcc with strncpy. 2019-10-13 19:39:15 +00:00
maxv
416eaf02dc Fix incorrect parsing: the R/M field uses a special GPR map when the
address size is 16 bits, regardless of the actual operating mode. With
this special map there can be two registers referenced at once, and
also disp16-only.

Implement this special behavior, and add associated tests. While here
simplify a few things.

With this in place, the Windows 95 installer initializes correctly.

Part of PR/54611.
2019-10-13 17:32:15 +00:00
mrg
69f74cd544 make GCC_NO_STRINGOP_OVERFLOW apply to gcc 7 too. 2019-10-13 10:12:13 +00:00
kre
e61903222f This previously had -Wno-format-truncation so I am presuming it should
have been converted to GCC_NO_FORMAT_TRUNCATION rather than
GCC_NO_STRINGOP_TRUNCATION which is what happened.   This might unbreak
the build (olr at least get it further).
2019-10-13 10:07:27 +00:00
kamil
bec2cbec70 Fix race in t_ptrace_wait* LWP tests
Increment the done variable under a mutex. This variable was updated
non-atomically and sometimes not reaching the expected treshold.
2019-10-13 09:42:15 +00:00
mrg
4e545ef793 ifr_name is nul terminated. make it so. 2019-10-13 07:46:16 +00:00
mrg
4efb79b1f1 set ADM1026_ADDRMASK as 0x2f, not 0x3f8.
GCC-8 complained about always false condition, which indicated
the bug.  patch from jdc@.
2019-10-13 07:44:51 +00:00
mrg
b609b30b6c adjust a fallthru comment and add a missing break. 2019-10-13 07:42:57 +00:00
mrg
9ded70a5ef expand a buffer size to properly handle full-size 64 bit values 2019-10-13 07:42:27 +00:00
mrg
de11d87641 introduce some common variables for use in GCC warning disables:
GCC_NO_FORMAT_TRUNCATION    -Wno-format-truncation (GCC 7/8)
GCC_NO_STRINGOP_TRUNCATION  -Wno-stringop-truncation (GCC 8)
GCC_NO_STRINGOP_OVERFLOW    -Wno-stringop-overflow (GCC 8)
GCC_NO_CAST_FUNCTION_TYPE   -Wno-cast-function-type (GCC 8)

use these to turn off warnings for most GCC-8 complaints.  many
of these are false positives, most of the real bugs are already
commited, or are yet to come.


we plan to introduce versions of (some?) of these that use the
"-Wno-error=" form, which still displays the warnings but does
not make it an error, and all of the above will be re-considered
as either being "fix me" (warning still displayed) or "warning
is wrong."
2019-10-13 07:28:04 +00:00
skrll
2e65b46d20 Restore %# for PRIxBUSADDR 2019-10-13 06:11:31 +00:00
skrll
b815897ed1 Use PRIxBUSADDR 2019-10-13 05:57:14 +00:00
skrll
32ae129a8c Trailing whitespace 2019-10-13 05:56:52 +00:00
kamil
1f5d3e8c5d Enable TEST_LWP_ENABLED in t_ptrace_wait*
The LWP events (created, exited) are now reliable in my local tests.

PR kern/51420
PR kern/51995
2019-10-13 04:05:39 +00:00
kamil
5a3fb2eb52 Bump the number of threads in LWP t_ptrace_wait*() tests from to 100
This is a torture, but on purpose to catch LWP_CREATED and LWP_EXITED bugs.
The threads do nothing other than calling sched_yield() in a loop.

MAXLWP is now defined to 2048 on all ports.

This change effects the following tests:

 - trace_thread_nolwpevents
 - trace_thread_lwpexit
 - trace_thread_lwpcreate
 - trace_thread_lwpcreate_and_exit
2019-10-13 04:00:12 +00:00
kamil
305335a1e9 Avoid double lwp_exit() in eventswitch()
For the PTRACE_LWP_EXIT event, the eventswitch() call is triggered from
lwp_exit(). In the case of setting the program status to PS_WEXIT, do not
try to demise in place, by calling lwp_exit() as it causes panic.

In this scenario bail out from the function and resume the lwp_exit()
procedure.
2019-10-13 03:50:26 +00:00
kamil
130e572a10 Fix one the the root causes of unreliability of the ptrace(2)ed threads
In case of sigswitchin away in issignal() and continuing the execution on
PT_CONTINUE (or equivalent call), there is a time window when another
thread could cause the process state to be changed to PS_STOPPING.

In the current logic, a thread would receive signal 0 (no-signal) and exit
from issignal(), returning to userland and never finishing the process of
stopping all LWPs. This causes hangs waitpid() waiting for SIGCHLD and
the callout polling for the state of the process in an infinite loop.

Instead of prompting for a returned signal from a debugger, repeat the
issignal() loop, this will cause checking the PS_STOPPING flag again and
sigswitching away in the scenario of stopping the process.
2019-10-13 03:19:57 +00:00
kamil
0998dd273e Add sigswitch_unlock_and_switch_away(), extracted from sigswitch()
Use sigswitch_unlock_and_switch_away() whenever there is no need for
sigswitch().
2019-10-13 03:10:22 +00:00
mrg
0889f52374 remove dated commented warning disable. 2019-10-13 01:17:24 +00:00
kamil
9ac229fe32 Welcome to 9.99.17!
struct proc change
sigswitch() removed from public API
2019-10-12 19:59:57 +00:00
kamil
1249b6bf7e Refactor sigswitch()
Make the function static as it is now local to kern_sig.c.

Rename the 'relock' argument to 'proc_lock_held' as it is more verbose.
This was suggested by mjg@freebsd. While there this flips the users between
true<->false.

Add additional KASSERT(9) calls here to validate whethe proc_lock is used
accordingly.
2019-10-12 19:57:09 +00:00
kamil
3e825e2715 Remove now unused p_oppid from struct proc 2019-10-12 19:38:57 +00:00
christos
e39c833946 new openssh 2019-10-12 18:35:52 +00:00
christos
10efdc47b0 bump libssh 2019-10-12 18:34:14 +00:00
christos
cd4ada6a2b merge openssh-8.1 2019-10-12 18:32:21 +00:00