krw [Sat, 16 Dec 2017 20:47:53 +0000 (20:47 +0000)]
With leases no longer in dhclient.conf, rename a bunch of
functions and fields to more obvious names reflecting this
separation.
guenther [Sat, 16 Dec 2017 20:06:55 +0000 (20:06 +0000)]
Move __cxa_thread_atexit* to its own .c file to avoid pulling the code
(w/ _dlctl reference) into static executables. It's all Mark's code so
put his preferred copyright on it.
ok kettenis@
deraadt [Sat, 16 Dec 2017 19:45:52 +0000 (19:45 +0000)]
sync
jmc [Sat, 16 Dec 2017 18:28:16 +0000 (18:28 +0000)]
tweak previous;
kettenis [Sat, 16 Dec 2017 14:15:56 +0000 (14:15 +0000)]
Enable sxirsb(4).
millert [Sat, 16 Dec 2017 13:01:22 +0000 (13:01 +0000)]
Update with changes from FreeBSD via NetBSD. From Sevan Janiyan.
florian [Sat, 16 Dec 2017 11:01:34 +0000 (11:01 +0000)]
hookup execpromise
florian [Sat, 16 Dec 2017 11:00:49 +0000 (11:00 +0000)]
execpromise regress
anton [Sat, 16 Dec 2017 10:27:21 +0000 (10:27 +0000)]
Passing NULL to free() is fine; from Michael W. Bombardieri.
kettenis [Sat, 16 Dec 2017 10:23:07 +0000 (10:23 +0000)]
acrtc(4), sxirsb(4)
kettenis [Sat, 16 Dec 2017 10:22:13 +0000 (10:22 +0000)]
Add a driver for the RSB controller found on various Allwinner SoCs.
Add a driver for the RTC part of the AC100 chip.
Together this turns my Cubieboard4 into a real computer by giving it
a proper clock.
ok patrick@
kettenis [Sat, 16 Dec 2017 09:25:43 +0000 (09:25 +0000)]
Don't use _libc_ prefix when referencing "builtin" symbols with clang.
Slightly tweaked diff from guenther@
jmc [Fri, 15 Dec 2017 20:51:28 +0000 (20:51 +0000)]
oops - previous should have been a list item;
jmc [Fri, 15 Dec 2017 18:08:47 +0000 (18:08 +0000)]
typo; from alexander kuleshov
jca [Fri, 15 Dec 2017 16:42:21 +0000 (16:42 +0000)]
sync
jca [Fri, 15 Dec 2017 16:40:33 +0000 (16:40 +0000)]
Export only symbols to what's declared in fuse.h/fuse_opt.h
While here, use guenther's magic recipe to avoid the PLT when calling
exported symbols from within the library.
ok kettenis@ for v1, ok guenther@ helg@
tb [Fri, 15 Dec 2017 15:24:15 +0000 (15:24 +0000)]
replace a hardcoded jot with ${JOT}
bluhm [Fri, 15 Dec 2017 14:45:51 +0000 (14:45 +0000)]
The pledge(2) regress tests fail since the second parameter has
been converted from paths to execpromises. Remove the test fragments
for the non-existing paths feature.
OK semarie@ florian@
tb [Fri, 15 Dec 2017 14:20:52 +0000 (14:20 +0000)]
Use the canonical idiom to check strlcat(3). An unchecked strlcat call
led to unexpected output: compare 'jot -w $(printf %1020s)%d%' 1 1'
with 'jot -w $(printf %1019s)%d%' 1 1'.
found by & ok martijn
tb [Fri, 15 Dec 2017 13:04:11 +0000 (13:04 +0000)]
Instead of pointlessly falling through other cases and ending up doing
goto fmt_broken, do it explicitly. Makes following the code path through
the switch a bit easier.
Prompted by a request by martijn
tb [Fri, 15 Dec 2017 12:19:01 +0000 (12:19 +0000)]
enable the 'wDn' test now that jot has been fixed.
tb [Fri, 15 Dec 2017 12:17:49 +0000 (12:17 +0000)]
Make sure the double is cast to a long if the format string is %D, %O, %U.
Fixes output of e.g. 'jot -w %D 11 -5'.
ok martijn
helg [Fri, 15 Dec 2017 12:08:22 +0000 (12:08 +0000)]
Fix formatting of libfuse version info.
ok mpi@
kettenis [Fri, 15 Dec 2017 09:15:36 +0000 (09:15 +0000)]
Add a few more Allwinner A80 clocks.
dlg [Fri, 15 Dec 2017 05:56:08 +0000 (05:56 +0000)]
put where im up to into the tree so jmatthew@ can look at it.
dlg [Fri, 15 Dec 2017 01:40:39 +0000 (01:40 +0000)]
ifq_barrier should be callable by any nic, not just MPSAFE ones.
if (when) tx mitigation goes in again, all nics will have deferred
work that will need a barrier to ensure isn't running anymore.
found by bluhm@ when tx mit was in.
dlg [Fri, 15 Dec 2017 01:37:30 +0000 (01:37 +0000)]
add ifiqueues for mp safety and nics with multiple rx rings.
currently there is a single mbuf_queue per interface, which all
rings on a nic shove packets onto. while the list inside this queue
is protected by a mutex, the counters around it (ie, ipackets,
ibytes, idrops) are not. this means updates can be lost, and reading
the statistics is also inconsistent. having a single queue means
that busy rx rings can dominate and then starve the others.
ifiqueue structs are like ifqueue structs. they provide per ring
queues, and independent counters for each ring. when ifdata is read
for userland, these counters are aggregated. having a queue per
ring now allows for per ring backpressure to be applied. MCLGETI
will have it's day again.
right now we assume every interface wants an input queue and
unconditionally provide one. individual interfaces can opt into
more.
im not completely happy about the shape of this atm, but shuffling
it around more makes the diff bigger.
ok visa@
dlg [Thu, 14 Dec 2017 23:21:04 +0000 (23:21 +0000)]
make sched_barrier use cond_wait/cond_signal.
previously the code was using a percpu flag to manage the sleeps/wakeups,
which means multiple threads waiting for a barrier on a cpu could
race. moving to a cond struct on the stack fixes this.
while here, get rid of the sbar taskq and just use systqmp instead.
the barrier tasks are short, so there's no real downside.
ok mpi@
benno [Thu, 14 Dec 2017 21:19:47 +0000 (21:19 +0000)]
set Location header for 307 and 308 status codes
ok sthen@ phessler@
naddy [Thu, 14 Dec 2017 21:07:39 +0000 (21:07 +0000)]
Replace
ED25519's private SHA-512 implementation with a call to the
regular digest code. This speeds up compilation considerably.
ok markus@
deraadt [Thu, 14 Dec 2017 20:23:13 +0000 (20:23 +0000)]
Don't bother using DETACH_FORCE for the softraid luns at reboot
time; the aggressive mountpoint destruction seems to hit insane
use-after-frees when we are already far on the way down.
deraadt [Thu, 14 Dec 2017 20:20:38 +0000 (20:20 +0000)]
Give vflush_vnode() a hint about vnodes we don't need to account as "busy".
Change mountpoint to RDONLY a little later. Seems to improve the
rw->ro transition a bit.
stsp [Thu, 14 Dec 2017 20:12:32 +0000 (20:12 +0000)]
Make roaming after a background scan work while tcpbench -u is running
over iwn(4), in the same way as this was done for iwm(4).
I forgot about making iwn(4) heed the IEEE80211_F_TX_MGMT_ONLY flag which
is used to disable queueing of new data frames during an AP switch.
Found due to a problem report by naddy@
ok phessler@ tb@
jca [Thu, 14 Dec 2017 18:56:22 +0000 (18:56 +0000)]
Simplify and unify timespec variables used in those event loops
ok millert@
stsp [Thu, 14 Dec 2017 18:52:17 +0000 (18:52 +0000)]
My previous commit broke the ramdisk build; fix it
jasper [Thu, 14 Dec 2017 18:03:03 +0000 (18:03 +0000)]
when -h is passed don't print any header, as is common practise in other systems too.
adjust uptime.1 while here as pointed out by martijn@
ok tb@ jca@ martijn@
deraadt [Thu, 14 Dec 2017 17:48:47 +0000 (17:48 +0000)]
sync
guenther [Thu, 14 Dec 2017 17:25:39 +0000 (17:25 +0000)]
If switching RW->RO, then stop deferring timestamp writes...and possibly
other pending inode attribute changes. We appear to be missing UFS_UPDATE()
calls in some paths with the result that bsd.rd remounting the newly
created /mnt to RO would lose the GID changes on device inodes there.
This only affected devices, as they're the only inodes where timestamp
writes are delayed.
ok deraadt@
guenther [Thu, 14 Dec 2017 17:06:33 +0000 (17:06 +0000)]
Add Symbols.map to explicitly define the ABIs, hiding linker defined symbols.
Use hidden aliases for internal invocations of exported symbols to avoid PLT.
ok deraadt@ kettenis@ jca@
deraadt [Thu, 14 Dec 2017 16:57:59 +0000 (16:57 +0000)]
sync
jca [Thu, 14 Dec 2017 16:55:44 +0000 (16:55 +0000)]
Use CLOCK_MONOTONIC for the rpc event loops
From Scott Cheloha, ok deraadt@ tb@
helg [Thu, 14 Dec 2017 14:50:02 +0000 (14:50 +0000)]
Add a missing call to fuse_set_signal_handlers(3) in fuse_setup(3) so that
any file systems that call fuse_setup(3) or fuse_main(3) trap signals
gracefully.
ok mpi@
stsp [Thu, 14 Dec 2017 14:27:10 +0000 (14:27 +0000)]
Stop printing debug info about stations leaving a wifi network when
we aren't running in hostap or ibss mode.
bluhm [Thu, 14 Dec 2017 14:26:50 +0000 (14:26 +0000)]
The pf code marks ICMP packets belonging to an TCP or UDP divert
state as diverted. This is necessary for IP input to accept the
packet as ours. But it must not be used to match the ICMP packet
to a raw socket. Clear the PF_TAG_DIVERTED mbuf pf flag for the
special ICMP and ICMP6 packets in icmp_input_if() and icmp6_input().
The m_tag_delete_chain() caused an inconsistent PF_TAG_DIVERTED
mbuf pf flag and PACKET_TAG_PF_DIVERT mbuf tag which triggered an
assert in rip_input(). Deleting all mbuf tags can have undesired
side effects and is not necessary anymore since icmp_reflect() calls
m_resethdr(). Do not touch the mbuf tags and adjust the mbuf pf
flags for the correct behavior of rip_input() and rip6_input().
reported by Chris Eidem, James Turner, vicviq, Scott Vanderbilt
OK mpi@
stsp [Thu, 14 Dec 2017 14:21:11 +0000 (14:21 +0000)]
Add background scanning support to iwn(4), as was done for iwm(4) recently.
Tested on following devices by various people: 6300, 6200, 6205, 2200, 5100
ok phessler@ tb@
jca [Thu, 14 Dec 2017 13:50:13 +0000 (13:50 +0000)]
Drop -g from CFLAGS, bsd.lib.mk adds it by default
ok mpi@ helg@
jca [Thu, 14 Dec 2017 13:23:30 +0000 (13:23 +0000)]
fuse_opt_add_opt_escaped needs to allocate space for the terminating NUL
Spotted by malloc.conf -> S, ok helg@
helg [Thu, 14 Dec 2017 13:11:37 +0000 (13:11 +0000)]
Free FUSE channel if fuse_new(3) fails in fuse_setup(3).
ok mpi@
martijn [Thu, 14 Dec 2017 10:02:53 +0000 (10:02 +0000)]
Enable the awk scripts to generate ex_def.h and options_def.h.
These scripts generate the enums required for the ex commands and vi
options.
Before these lists had to be maintained either by hand or someone had to
stumble upon these scripts and figure out how to use them. By enabling them
these headers are now always in sync based on the comments in the
corresponding source files, which are a lot harder to miss during an
update than an extra file.
Update the awk scripts to the new enum style introduced by bentley@ with
his update on options_def.h r1.7
Feedback Makefile semantics by espie@
Original diff and OK tb@
OK millert@
kettenis [Thu, 14 Dec 2017 09:27:44 +0000 (09:27 +0000)]
Make a few internal symbols static and add a Symbols.map version script
to control which symbols are exported from the shared library.
ok guenther@, deraadt@, jca@
benno [Thu, 14 Dec 2017 09:26:11 +0000 (09:26 +0000)]
let urtwn(4) find my TP-LINK TL-WN722N v2
ok deraadt@ phessler@ kettenis@
benno [Thu, 14 Dec 2017 09:25:31 +0000 (09:25 +0000)]
sync
benno [Thu, 14 Dec 2017 09:22:16 +0000 (09:22 +0000)]
add usb id for TP-LINK TL-WN722N v2
ok deraadt@ phessler@ kettenis@
fcambus [Thu, 14 Dec 2017 09:14:30 +0000 (09:14 +0000)]
Change bcopy to memcpy in the i386 version of the VIA PadLock driver.
It was done a while ago in the amd64 version.
OK mlarkin@, deraadt@, dlg@
jmc [Thu, 14 Dec 2017 06:43:44 +0000 (06:43 +0000)]
zap trailing whitespace;
deraadt [Thu, 14 Dec 2017 06:21:04 +0000 (06:21 +0000)]
Repair flushcache/standby operations to not convert AT_WAIT operations
to AT_POLL, which some chip driver underneath cannot handle.
tested by bluhm also
guenther [Thu, 14 Dec 2017 03:30:43 +0000 (03:30 +0000)]
fcntl(F_SETFL) invokes the FIONBIO and FIOASYNC ioctls internally, so
the memory devices (/dev/null, /dev/zero, etc) need to permit them.
problem noted, tweak, and testing by jeremy@
ok deraadt@
dlg [Thu, 14 Dec 2017 02:42:18 +0000 (02:42 +0000)]
i forgot to convert timeout_proc_barrier to cond_signal
dlg [Thu, 14 Dec 2017 02:40:51 +0000 (02:40 +0000)]
i forgot to convert ifq_barrier_task to cond_signal.
dlg [Thu, 14 Dec 2017 00:45:16 +0000 (00:45 +0000)]
replace the bare sleep state handling in barriers with wait cond code
dlg [Thu, 14 Dec 2017 00:41:58 +0000 (00:41 +0000)]
add code to provide simple wait condition handling.
this will be used to replace the bare sleep_state handling in a
bunch of places, starting with the barriers.
krw [Wed, 13 Dec 2017 18:53:04 +0000 (18:53 +0000)]
Fix whitespace botch that snuck in.
krw [Wed, 13 Dec 2017 18:45:08 +0000 (18:45 +0000)]
Simplifiy parser by not worrying about nesting 'interface <if> {}'
statements. They are silly but harmless and work fine.
beck [Wed, 13 Dec 2017 16:38:34 +0000 (16:38 +0000)]
Fix a softdep bug exposed by our recent changes to make reboot drop to read-only
The deadlock happens when softdep gets the same buffer in the BMSAFEMAP case
that it already called getdirtybuf() on and made busy at the top of the loop.
when this is the case, skip the BMSAFEMAP case and simply write the buffer
out at the bottom of the loop as always. This avoids calling getdirtybuf()
a second time on the same buffer we already took for exclusive use ourself
and have not yet written out.
While I'm in here add a KASSERT for the similar case above, which I don't
think can happen but we would deadlock in the same way if it does.
testing by and ok bluhm@
millert [Wed, 13 Dec 2017 16:07:54 +0000 (16:07 +0000)]
Fix array index by signed char; from martijn@
millert [Wed, 13 Dec 2017 16:06:34 +0000 (16:06 +0000)]
Fix sign compare warnings; OK martijn@
millert [Wed, 13 Dec 2017 16:06:05 +0000 (16:06 +0000)]
Enable compiler warnings; OK martijn@
helg [Wed, 13 Dec 2017 12:30:18 +0000 (12:30 +0000)]
Add support for the -d (-o debug) option to libfuse. Currently works for FUSE
file systems that call fuse_parse_cmdline(3), fuse_main(3) or
fuse_setup(3).
ok mpi@, jca@
helg [Wed, 13 Dec 2017 12:23:48 +0000 (12:23 +0000)]
If the list of templates 'o' passed to fuse_opt_parse(3) is NULL then
the processing function should be called in the same way as if no match
was found.
ok mpi@
kettenis [Wed, 13 Dec 2017 10:38:06 +0000 (10:38 +0000)]
Fix stray return; hopefully this makes the internal PHY actually work now.
mpi [Wed, 13 Dec 2017 08:59:02 +0000 (08:59 +0000)]
Spacing from kshe59@zoho.eu.
mpi [Wed, 13 Dec 2017 08:54:59 +0000 (08:54 +0000)]
Sizes for free in route_output().
From kshe59@zoho.eu.
mpi [Wed, 13 Dec 2017 08:34:04 +0000 (08:34 +0000)]
Add 'bt' an alias for 'trace'.
ok pirofti@
patrick [Wed, 13 Dec 2017 08:27:06 +0000 (08:27 +0000)]
getsockname(2) needs to be passed the length of the input struct.
ok jca@
dlg [Wed, 13 Dec 2017 00:12:03 +0000 (00:12 +0000)]
report Oracle as the vendor is the produce starts with ORCL,
makes it consistent with reporting Sun or Fujitsu based on produce
prefixes.
ok kettenis@
kettenis [Tue, 12 Dec 2017 22:31:44 +0000 (22:31 +0000)]
Add more Allwinner A80 clocks.
bluhm [Tue, 12 Dec 2017 19:49:19 +0000 (19:49 +0000)]
Fix pfloadanchors tests when running with obj directory.
Remove unused file.
otto [Tue, 12 Dec 2017 19:08:57 +0000 (19:08 +0000)]
Use bn_checkp() always; from kshe
otto [Tue, 12 Dec 2017 19:07:10 +0000 (19:07 +0000)]
Minor cleanup from kshe
otto [Tue, 12 Dec 2017 18:58:59 +0000 (18:58 +0000)]
optimize add, sub and mul; from kshe; ok tom@
schwarze [Tue, 12 Dec 2017 18:41:44 +0000 (18:41 +0000)]
Consistently use .Va for "errno";
patch from Jan Stary <hans at stare dot cz>;
"I think it makes sense to speak about errno as a variable (.Va)" jca@.
stsp [Tue, 12 Dec 2017 15:57:11 +0000 (15:57 +0000)]
Only trigger background scans while we are in RUN state, and do not update
a node's RSSI info while we are still in INIT state.
ok phessler@
stsp [Tue, 12 Dec 2017 15:52:49 +0000 (15:52 +0000)]
Make ieee80211_chan2ieee() panic if a bogus channel pointer is detected.
ok patrick@
stsp [Tue, 12 Dec 2017 15:50:39 +0000 (15:50 +0000)]
Make IEEE80211_CHAN_ANYC be a NULL pointer instead of a pointer to 0xffff.
Should speed up debugging.
ok phessler patrick
deraadt [Tue, 12 Dec 2017 15:33:34 +0000 (15:33 +0000)]
ld.so's syscall _dl_* API/ABI doesn't reurn errno, but -errno.
Reviewing behaviour artifacts with pledge, I discover a close(-ENOSYS)..
ok guenther
naddy [Tue, 12 Dec 2017 15:06:12 +0000 (15:06 +0000)]
Create a persistent umac128.c source file: #define the output size and
the name of the entry points for UMAC-128 before including umac.c.
Idea from FreeBSD.
ok dtucker@
stsp [Tue, 12 Dec 2017 13:58:19 +0000 (13:58 +0000)]
Don't dereference IEEE80211_CHAN_ANYC pointer in ieee80211_node_checkrssi().
Problem reported by Gregoire Jadi on bugs@
phessler [Tue, 12 Dec 2017 13:38:10 +0000 (13:38 +0000)]
Allow interfaces that aren't SCANNALLBAND drivers to benefit from the
strongest received signal.
OK stsp@
martijn [Tue, 12 Dec 2017 12:52:01 +0000 (12:52 +0000)]
Fix 2 bugs introduced by previous.
Pointed out by kshe59 <at> zoho <dot> eu
OK millert@
krw [Tue, 12 Dec 2017 12:33:36 +0000 (12:33 +0000)]
Nuke some forward-only struct's and functions and functions thereby
made empty. Found by new ctfconv(1) feature and validated by clang.
ok mpi@
tb [Tue, 12 Dec 2017 11:34:38 +0000 (11:34 +0000)]
Document change in the default shell prompts.
Discussed with and ok jmc
mpi [Tue, 12 Dec 2017 11:18:32 +0000 (11:18 +0000)]
Remove unused variable defined with an unexisting type.
Found with ctfconv(1).
ok jsg@, dlg@
jmc [Tue, 12 Dec 2017 11:11:18 +0000 (11:11 +0000)]
space required between macro arg and punctuation;
kettenis [Tue, 12 Dec 2017 10:25:39 +0000 (10:25 +0000)]
Fix typo. Unbreaks building a kernel on arm64/clang.
kettenis [Tue, 12 Dec 2017 10:06:45 +0000 (10:06 +0000)]
Avoid undefined behaviour in rorate_left() macro. From NetBSD via FreeBSD.
Makes gas work when compiled with clang.
ok patrick@, millert@
deraadt [Tue, 12 Dec 2017 07:55:36 +0000 (07:55 +0000)]
stray , snuck in
deraadt [Tue, 12 Dec 2017 07:47:58 +0000 (07:47 +0000)]
spacing
deraadt [Tue, 12 Dec 2017 01:13:14 +0000 (01:13 +0000)]
sync
deraadt [Tue, 12 Dec 2017 01:12:34 +0000 (01:12 +0000)]
pledge()'s 2nd argument becomes char *execpromises, which becomes the
pledge for a new execve image immediately upon start. Also introduces
"error" which makes violations return -1 ENOSYS instead of killing the
program ("error" may not be handed to a setuid/setgid program, which
may be missing/ignoring syscall return values and would continue with
inconsistant state)
Discussion with many
florian has used this to improve the strictness of a daemon
jcs [Tue, 12 Dec 2017 00:24:21 +0000 (00:24 +0000)]
Fix the behavior of preferring weaker-but-still-good 5Ghz APs over
2Ghz APs because the 5Ghz band is generally less saturated.
The previous implementation was dependent upon the order of walking
APs.
ok stsp