mikeb [Fri, 29 Jul 2016 22:01:57 +0000 (22:01 +0000)]
Disable receive ring slot accounting
In the Netfront case it appears that by having scheduler decide when
to run the workload we don't need to involve additional mechanisms
to artificially limit resource availability to achieve better
performance under heavy load. On the contrary, by performing a
single pass through Rx and Tx completion rings and having scheduler
decide when to run the next attempt, we limit the amount of time
spent in the packet processing and achieve system responsiveness.
mikeb [Fri, 29 Jul 2016 21:27:43 +0000 (21:27 +0000)]
Move xen interrupt handlers to dedicated task queues
Handling receive and transmit for multiple networking interfaces
in a "shared interrupt" within normal interrupt vector code path
introduces too much delay from the hypervisor POV which prevents
it from injecting further completion event interrupts for Rx and
Tx queues.
Additionally, Netfront backend driver includes a mechanism to
detect Rx ring stalls and "turn the carrier off" when the guest
is not replenishing the ring (e.g. due to missing completion
interrupts) that relies on guest waking up periodically and making
sure that the Rx ring completion handling is progressing.
Having tried both task queue + timeout and interrupts + timeout
approaches, it appears that using the task queue is more flexible
and provides superior performance under heavy network load.
mikeb [Fri, 29 Jul 2016 21:05:26 +0000 (21:05 +0000)]
Loop until we've read all available responses
tedu [Fri, 29 Jul 2016 20:44:40 +0000 (20:44 +0000)]
add a check that the arguments to isavail don't overflow.
callers should probably check too, but checking here won't hurt.
possible panic reported by tim newsham.
ok kettenis
rpointel [Fri, 29 Jul 2016 18:57:39 +0000 (18:57 +0000)]
Fix regression introduced by patch to CVE-2016-0718: Tag names were cut off in some cases.
tedu [Fri, 29 Jul 2016 18:35:45 +0000 (18:35 +0000)]
all of the update functions take a size_t. correct type and casts.
ok deraadt millert
mikeb [Fri, 29 Jul 2016 18:33:12 +0000 (18:33 +0000)]
Update TX completion event index when putting a packet on the ring
mikeb [Fri, 29 Jul 2016 18:31:51 +0000 (18:31 +0000)]
Reduce the amount of sent RX producer notifications; from FreeBSD
mikeb [Fri, 29 Jul 2016 18:31:22 +0000 (18:31 +0000)]
Reduce the amount of sent TX producer notifications; from FreeBSD
jmc [Fri, 29 Jul 2016 17:38:41 +0000 (17:38 +0000)]
max name servers is currently 5, not 3, apparently;
from remi locherer
stefan [Fri, 29 Jul 2016 16:36:51 +0000 (16:36 +0000)]
Allow starting a VM again after it was terminated
If a VM exits, terminate it and remove it from the list of
available VMs. That allows a VM with name `foo' to be restarted
after it has exited.
This changes structures shared between vmd and vmctl. You need to
rebuild vmctl also.
ok mlarkin@
reyk [Fri, 29 Jul 2016 10:09:26 +0000 (10:09 +0000)]
Bump copyright in files that I touched last.
(btw. hostated-hoststated-relayd's 10th birthday is on Dec 16.)
reyk [Fri, 29 Jul 2016 10:00:12 +0000 (10:00 +0000)]
Add support for common WebDAV methods; from httpd.
Found and tested by Michael Lechtermann
OK benno@
giovanni [Fri, 29 Jul 2016 08:53:07 +0000 (08:53 +0000)]
log ip addresses as well in authentication phase
ok gilles@
patrick [Fri, 29 Jul 2016 06:46:15 +0000 (06:46 +0000)]
Only flush the virtual page if it was actually mapped. Otherwise
we will run into translation faults.
ok tom@
jsg [Fri, 29 Jul 2016 04:41:53 +0000 (04:41 +0000)]
Reorder code to avoid a divide by zero when there are no sensors.
Tested by and ok mglocker@
kettenis [Thu, 28 Jul 2016 21:57:56 +0000 (21:57 +0000)]
Store the acpi processor ID/UID in struct cpu_info, and use it to attach
acpicpu(4) drivers to the right cpu(4).
ok mlarkin@, guenther@
tedu [Thu, 28 Jul 2016 21:45:00 +0000 (21:45 +0000)]
rework realloc loop. there's no need to shrink the allocation between
calls. if we need a big space once, we'll likely need a big space again.
tedu [Thu, 28 Jul 2016 21:40:25 +0000 (21:40 +0000)]
strncmp is a more reasonable way to check the beginning of a string.
tedu [Thu, 28 Jul 2016 21:37:45 +0000 (21:37 +0000)]
these programs probably do not need to use TMPDIR. ok florian
tedu [Thu, 28 Jul 2016 21:37:10 +0000 (21:37 +0000)]
after getenv, check for empty string too. ok millert
mikeb [Thu, 28 Jul 2016 17:35:13 +0000 (17:35 +0000)]
Remove top level ring processing loops as too ambiguous
zhuk [Thu, 28 Jul 2016 17:19:24 +0000 (17:19 +0000)]
Typo in the installation notes, from Roman Yakovlev.
Too bad this highly critical bugfix will miss release.
okay deraadt@
jmc [Thu, 28 Jul 2016 16:36:02 +0000 (16:36 +0000)]
remove note about command substitution and double quotes: it is probable
that i misunderstood something when i wrote it;
found by guenther and naddy
jmc [Thu, 28 Jul 2016 16:22:06 +0000 (16:22 +0000)]
remove HISTORY: it was a nonsense;
jmc [Thu, 28 Jul 2016 16:20:21 +0000 (16:20 +0000)]
some text cutting, after feedback from jsing;
tedu [Thu, 28 Jul 2016 16:08:56 +0000 (16:08 +0000)]
replace hand rolled physlock with real rwlock. ok mlarkin
bluhm [Thu, 28 Jul 2016 13:05:52 +0000 (13:05 +0000)]
Use long labs(3) for pointer arithmetic.
Found by David Hill with clang.
mikeb [Thu, 28 Jul 2016 12:26:04 +0000 (12:26 +0000)]
Revert previous commit
mikeb [Thu, 28 Jul 2016 12:12:16 +0000 (12:12 +0000)]
Revert previous commit
mikeb [Thu, 28 Jul 2016 12:08:14 +0000 (12:08 +0000)]
Convert ifq_deq_{begin,rollback,commit} dance to a single ifq_dequeue
jmc [Thu, 28 Jul 2016 09:21:01 +0000 (09:21 +0000)]
firmware is the plural;
tedu [Thu, 28 Jul 2016 03:52:41 +0000 (03:52 +0000)]
RMD160Update actually takes size_t length
djm [Wed, 27 Jul 2016 23:18:12 +0000 (23:18 +0000)]
better bounds check on iovcnt (we only ever use fixed, positive values)
mglocker [Wed, 27 Jul 2016 22:03:52 +0000 (22:03 +0000)]
Get interrupts going for the Allwinner-R8 chip.
ok kettenis@, patrick@
patrick [Wed, 27 Jul 2016 21:25:25 +0000 (21:25 +0000)]
Remove a feature to re-use existing early bootstrap mappings. This
allowed you to pass a virtual address, which you received from an
early bootstrap mapping, as physical address to bus_space_map(9).
It breaks bus_space_map(9) for peripherals that are after 0xC0000000,
as it assumes that everything after that address cannot be a real
peripheral. But that's wrong. It does not make sense to pass a
virtual address to bus_space_map(9) anyway, so just get rid of this
whole "feature".
ok kettenis@
kettenis [Wed, 27 Jul 2016 21:13:49 +0000 (21:13 +0000)]
Add interface to facilitate iterating over gpios.
ok patrick@
tedu [Wed, 27 Jul 2016 21:13:39 +0000 (21:13 +0000)]
improve comments a bit. ok mlarkin tom
patrick [Wed, 27 Jul 2016 21:12:49 +0000 (21:12 +0000)]
When pmap_page_remove() is called by UVM, a physical page is to be
removed from pmaps it currently is in. To check if a virtual address
pointing to that physical page has been mapped, the code uses
the l2pte_valid() function. Unfortunately there is a difference
between being valid and the PTE being zero. If a page is mapped
but has never been accessed, it will be non-zero but invalid.
In that case the PTE for that virtual address will not be zeroed
and the virtual address will be removed from the vm page struct.
The next time someone tries to map a page to that virtual address,
other pmap code will consider the virtual address to be already
mapped, even though that assumption is completely wrong.
To make sure this does not happen, check the PTE for zero. This way
the PTE will be zeroed correctly. The check for zero is how other
ARM pmap code also handles this issue.
ok kettenis@ tom@
tedu [Wed, 27 Jul 2016 20:53:47 +0000 (20:53 +0000)]
it should not be necessary for yacc to use TMPDIR, /tmp is good enough.
ok beck deraadt guenther
tedu [Wed, 27 Jul 2016 20:51:46 +0000 (20:51 +0000)]
correct syntax for baddynamic example. from Holger Mikolon
tedu [Wed, 27 Jul 2016 15:12:36 +0000 (15:12 +0000)]
ansify mem.c to the latest fashion. with a fix from mike burns. ok deraadt
tedu [Wed, 27 Jul 2016 14:48:56 +0000 (14:48 +0000)]
check flags with mask instead of equality, in case we decide to mix
another flag in at some point. ok stefan
tedu [Wed, 27 Jul 2016 14:44:59 +0000 (14:44 +0000)]
increase the size of forkstat fields to accomodate large values
phessler [Wed, 27 Jul 2016 13:02:50 +0000 (13:02 +0000)]
document the so_upcall option to socreate
espie [Wed, 27 Jul 2016 13:02:03 +0000 (13:02 +0000)]
checking for firmware works better if I pass thru all options
espie [Wed, 27 Jul 2016 12:58:21 +0000 (12:58 +0000)]
don't include firmwares in the fuzzy auto-reinstall list
espie [Wed, 27 Jul 2016 12:57:10 +0000 (12:57 +0000)]
hunting around for some sporadic error message. Removing the hash entry
entirely is slightly better.
noticed by sthen@
jca [Wed, 27 Jul 2016 12:55:41 +0000 (12:55 +0000)]
Missing word ("no").
patrick [Wed, 27 Jul 2016 11:45:02 +0000 (11:45 +0000)]
Instead of passing the raw reg property to simplebus nodes,
pass a pre-processed array of fdt_reg structs. This means
that the drivers don't have to understand the cell properties
themselves but can rely on the 64-bit addr/size pairs.
ok kettenis@
visa [Wed, 27 Jul 2016 11:28:40 +0000 (11:28 +0000)]
Remove unnecessary remapping of registers.
ok jasper@
reyk [Wed, 27 Jul 2016 11:02:41 +0000 (11:02 +0000)]
According to RFC 7231 4.3.7, OPTIONS may have body. "Although this
specification does not define any use for such a payload, future
extensions to HTTP might use the OPTIONS body to make more detailed
queries about the target resource." The future has arrived.
Found and tested by Michael Lechtermann
OK benno@
reyk [Wed, 27 Jul 2016 06:55:44 +0000 (06:55 +0000)]
Improve parsing of the Host by following RFC 7230 Section 5.4 more strictly:
- Respond with a 400 (Bad Request) if there is more than one Host:
header to prevent ambiguities.
- Make sure that the host in the optional absolute form of
request-target (eg. GET http://www.target.com/ HTTP/1.1) matches the
Host: value. Proxies are supposed to ignore the Host: value if the
request-target exists, but relayd used to ignore the absolute
request-target form instead. In HTTP terminology, relayd is a gateway
and not a proxy, but it has to make sure that the host is validated
consistently.
OK benno@ bluhm@
jcs [Wed, 27 Jul 2016 02:26:26 +0000 (02:26 +0000)]
after system resume, re-write backlight level
tedu [Wed, 27 Jul 2016 01:52:03 +0000 (01:52 +0000)]
fix signed char extension bugs. from fade@cock.li. ok guenther.
As a personal remark, I'll add that it's not necessary to cast a value
to a function's return type. The compiler is happy to do that for you.
But such casts can hide warnings and bugs.
jsg [Wed, 27 Jul 2016 01:36:37 +0000 (01:36 +0000)]
zero sizeof a struct not sizeof the pointer to it
ok mikeb@
patrick [Tue, 26 Jul 2016 22:10:10 +0000 (22:10 +0000)]
Rename struct fdt_memory to fdt_reg to match the member name
used in the fdt attach args and the device tree.
ok kettenis@
guenther [Tue, 26 Jul 2016 19:07:09 +0000 (19:07 +0000)]
Wrap fpgetround() so internal calls to it (seen on arm, powerpc, and sh)
go direct instead of through the PLT.
ok millert@ kettenis@
tedu [Tue, 26 Jul 2016 18:27:42 +0000 (18:27 +0000)]
pool debug dance, part deux
stsp [Tue, 26 Jul 2016 18:18:04 +0000 (18:18 +0000)]
In rsu(4), put code that twiddles HT data in the ic under #ifdef notyet.
Some code paths in this driver peek at ic_htcaps and act upon it, so let's
play it safe until this driver gets its 11n support enabled on purpose.
Spotted while investigating the bug fixed in r1.35.
kettenis [Tue, 26 Jul 2016 18:09:07 +0000 (18:09 +0000)]
Remove the restriction that the kernel needs to be loaded at the bottom of
physical memory. This makes it possible to boot OpenBSD on platforms that
have physical memory start at address 0x00000000 as the EFI bootloader will
only attempt to load kernels at address 0x10000000 and above to work around
a bug in the u-boot EFI API layer.
ok patrick@
kettenis [Tue, 26 Jul 2016 17:57:14 +0000 (17:57 +0000)]
Welcome to 6.0-current.
ok deraadt@
stsp [Tue, 26 Jul 2016 15:37:12 +0000 (15:37 +0000)]
Unbreak rsu(4) which was broken since r1.32. Reported by Jake Swensen.
ok deraadt@
stsp [Tue, 26 Jul 2016 13:00:28 +0000 (13:00 +0000)]
Fix byteswap errors in rtwn(4) and urtwn(4) introduced by me on June 17.
Repairs urtwn(4) on macppc. Problem reported by juanfra@.
ok millert@ deraadt@
guenther [Tue, 26 Jul 2016 02:38:12 +0000 (02:38 +0000)]
Make sure there's space for the PT_OPENBSD_WXNEEDED segment, if requested
problem noted by Juan Francisco Cantero Hurtado (iam (at) juanfra.info)
ok deraadt@
sthen [Mon, 25 Jul 2016 22:49:05 +0000 (22:49 +0000)]
add new mirror in Lithuania to examples/pkg.conf, ok deraadt
deraadt [Mon, 25 Jul 2016 19:52:56 +0000 (19:52 +0000)]
disable tmpfs because it receives zero maintainance.
benno [Mon, 25 Jul 2016 16:44:04 +0000 (16:44 +0000)]
fix revision 1.290 of sys/netinet/ip_carp.c.
diff from jsg@
ok deraadt@, benno@
visa [Mon, 25 Jul 2016 16:28:06 +0000 (16:28 +0000)]
Fix rarpd hang. The receive buffer of a route socket can become full
while rarpd process is idle. To avoid getting stuck in rtmsg(),
the process has to clear the buffer and retry.
ok benno@ deraadt@ millert@
krw [Mon, 25 Jul 2016 15:30:36 +0000 (15:30 +0000)]
Revert change to density calculation. David Vasek points out this
is a more complicated problem than it appears.
ok deraadt@
claudio [Mon, 25 Jul 2016 14:29:28 +0000 (14:29 +0000)]
Initialize the log subsytem in the SE like it is done in the RDE. Without
this all logging is going via stderr to /dev/null which is not helpful.
OK deraadt@ phessler@
natano [Mon, 25 Jul 2016 13:19:32 +0000 (13:19 +0000)]
Make sure closed bpf devices are removed from bpf_d_list to free the
minor number for reuse by the device cloning code. This fixes a panic
reported by bluhm@.
initial diff from tedu
ok deraadt
afresh1 [Mon, 25 Jul 2016 10:53:00 +0000 (10:53 +0000)]
Patch perl CVE-2016-1238
The problem relates to Perl 5 ("perl") loading modules from the
includes directory array ("@INC") in which the last element is the
current directory ("."). That means that, when "perl" wants to
load a module (during first compilation or during lazy loading of
a module in run-time), perl will look for the module in the current
directory at the end, since '.' is the last include directory in
its array of include directories to seek. The issue is with requiring
libraries that are in "." but are not otherwise installed.
The major problem with this behavior is that it unexpectedly puts
a user at risk whenever they execute any Perl scripts from a directory
that is writable by other accounts on the system. For instance, if
a user is logged in as root and changes directory into /tmp or an
account's home directory, it is possible to now run any shell
commands that are written in C, Python or Ruby without fear.
The same isn't true for any shell commands that are written in Perl,
since a significant proportion of Perl scripts will execute code
in the current working directory whenever they are run. For example,
if a user on a shared system creates the file /tmp/Pod/Perldoc/Toterm.pm,
and then I log in as root, change directory to /tmp, and run "perldoc
perlrun", it will execute the code they have placed in the file.
ok deraadt@
deraadt [Mon, 25 Jul 2016 02:35:26 +0000 (02:35 +0000)]
err() instead of errx(); noted by tim
deraadt [Sun, 24 Jul 2016 22:46:32 +0000 (22:46 +0000)]
Split the root vs not-root cases better with regards to chroot setup.
ok kettenis benno tedu canacar
gilles [Sun, 24 Jul 2016 16:04:53 +0000 (16:04 +0000)]
bump version
ok deraadt@
djm [Sun, 24 Jul 2016 11:45:36 +0000 (11:45 +0000)]
openssh-7.3
deraadt [Sun, 24 Jul 2016 02:43:20 +0000 (02:43 +0000)]
sync
jsg [Sun, 24 Jul 2016 02:03:04 +0000 (02:03 +0000)]
add chvgpio.4 overlooked when the file was added
ok deraadt@
jmc [Sat, 23 Jul 2016 19:31:35 +0000 (19:31 +0000)]
rework crl2pkcs7; with help from jsing
espie [Sat, 23 Jul 2016 18:09:47 +0000 (18:09 +0000)]
no quirks in FwUpdate.
okay theo
deraadt [Sat, 23 Jul 2016 17:55:45 +0000 (17:55 +0000)]
Back out the automatic pkg.conf installpath changes; because pkg_add has
an immature heuristic for "what is a release and what is a snapshot".
This change maybe improved the post-release experience, but it damages the
pre-release experience, which may result in less effective pre-release
testing, which risks creating poor releases, which may result in poor
post-release experiences.
Specific case: subtle breakage to fw_update.
jsg [Sat, 23 Jul 2016 16:22:17 +0000 (16:22 +0000)]
Some armv7 machines are shipped with linux images that run USB OTG ports
in client mode and provide serial access to a getty and networking.
Make it clear that a real serial console that can interact with the
firmware is required.
Suggested by and wording tweaks from ian@
stsp [Sat, 23 Jul 2016 15:53:19 +0000 (15:53 +0000)]
Back out the dhclient BPF change. There are DHCP servers out there which
send frames to the ethernet broadcast address, so this will need some more
thought and it's too late for 6.0.
Problem reported by Holger Mikolon.
ok mpi@
patrick [Sat, 23 Jul 2016 15:02:08 +0000 (15:02 +0000)]
Previously the uarts attached in order, so that the first attached uart
is always the serial console. With device tree enumeration, this order
is not given anymore. The serial console might now attach with a
different minor and has to be updated, otherwise there will be no
further output on the serial. Thus, re-create the i.MX6 console with
the correct minor number on attach.
ok jsg@, kettenis@
tedu [Sat, 23 Jul 2016 14:52:39 +0000 (14:52 +0000)]
do the pool debug release dance. ok deraadt
kettenis [Sat, 23 Jul 2016 14:39:10 +0000 (14:39 +0000)]
The linux kernel treated the "phy-reset-gpio" as active-low regardless of what
the device tree says. As a result many device trees encode it as active-high
when active-low is needed. For now just override the device tree.
ok jsg@, patrick@
krw [Sat, 23 Jul 2016 09:12:33 +0000 (09:12 +0000)]
At n2k16 David Vasek pointed out that FFS partitions on 4K disks are
created with far fewer inodes than DEV_BSIZE devices.
Scale the default 'density' value by (sector size)/DEV_BSIZE to
create the same number of inodes. Obviously a NO-OP on DEV_BSIZE
devices.
Thanks David!
ok deraadt@
bluhm [Sat, 23 Jul 2016 08:57:18 +0000 (08:57 +0000)]
Before terminal characteristics are displayed, stty(1) activates
pledge(2). Then the values cannot be modified anymore. Let stty
error out if the display and modify mode are combined on the command
line to avoid a pledge violation later on.
OK deraadt@
mlarkin [Sat, 23 Jul 2016 07:25:29 +0000 (07:25 +0000)]
Fix a few CPUID emulation issues:
Don't advertise a hyperthreaded CPU. This doesn't make a lot of sense now
as we only provide UP guest support. This, combined with the other CPUID
issues fixed, fooled NetBSD's topology enumeration code into thinking we
had an unsupportable core/thread/package configuration.
Also fixed the unsupported CPUID functions by returning 0 in the return
registers instead of leaving whatever trash happened to be there before
the call was made.
mlarkin [Sat, 23 Jul 2016 07:17:21 +0000 (07:17 +0000)]
Dump vcpu state on unknown exit type, and add a diagnostic message
(including vcpu state dump) on failure to enter due to an incorrect
guest state.
Added as a debug facility when diagnosing interruptibility state
problems seen while testing NetBSD guest VMs.
mlarkin [Sat, 23 Jul 2016 07:00:39 +0000 (07:00 +0000)]
Ensure some undesirable entry controls are cleared, instead of relying
on the default settings.
Noticed when booting a NetBSD guest VM.
djm [Sat, 23 Jul 2016 02:54:08 +0000 (02:54 +0000)]
fix pledge violation with ssh -f; reported by Valentin Kozamernik
ok dtucker@
jmc [Sat, 23 Jul 2016 00:10:15 +0000 (00:10 +0000)]
hint at the default for XSRCDIR; from tim kuijsten
allows us to zap some verbiage from the beginning...
ok deraadt
jsg [Fri, 22 Jul 2016 13:40:39 +0000 (13:40 +0000)]
Attach imx(4) on i.mx6 quad plus which appears to be largely compatible
with i.mx6 quad but with more memory bandwidth and some graphics tweaks.
ok kettenis@
krw [Fri, 22 Jul 2016 13:23:38 +0000 (13:23 +0000)]
Actually DECLINE and delete unused offers. Don't just say so in a comment.
In situations where >1 offer is received this will eliminate unbounded memory
growth and make us a more polite netizen. In some corner cases it might
prevent reuse of inappropriate older offers.
ok millert@
jsg [Fri, 22 Jul 2016 13:20:30 +0000 (13:20 +0000)]
Fallback to the known fec irq number on imx.6 if the fdt
interrupts-extended property is missing or not the size we expect.
Some dtbs implement a workaround for "ERR006687 ENET: Only the ENET
wake-up interrupt request can wake the system from Wait mode" suggested
by the IMX6DQCE errata document to set an undocumented gpio mux mode and
handle the interrupt via gpio.
We don't support gpio interrupts yet, hopefully this change is enough
to make interrupts work on wandboard and sabre lite again till we do.
Discussed with kettenis and patrick, tested on sabre lite by patrick.
kettenis [Fri, 22 Jul 2016 13:11:01 +0000 (13:11 +0000)]
Set the vfs_systcl member of the vsfops struct to eopnotsupp. While we check
for a null pointer now, all other filesystems fill in the complete table.
ok deraadt@, tom@
eric [Fri, 22 Jul 2016 12:12:29 +0000 (12:12 +0000)]
Create a smtp transaction context on a session only for the duration of
that transaction.
ok gilles@
mpi [Fri, 22 Jul 2016 11:14:41 +0000 (11:14 +0000)]
Revert in_selectsrc() refactoring, it breaks IPv6.
Reported by Heiko on bugs@.
ok stsp@, claudio@