tom [Thu, 22 Jun 2017 05:32:47 +0000 (05:32 +0000)]
Fix another ;; in sys/dev
deraadt [Thu, 22 Jun 2017 02:44:37 +0000 (02:44 +0000)]
double ;;. xhci one found by geoffhill
dlg [Thu, 22 Jun 2017 02:30:34 +0000 (02:30 +0000)]
items get returns to pools with pool_put, not pool_get.
deraadt [Thu, 22 Jun 2017 01:26:28 +0000 (01:26 +0000)]
Only print the magic '&' letter on a disk if the hibernate partition is
valid. This is an undocumented little debugging diagnostic, much like
the '*'.
schwarze [Thu, 22 Jun 2017 00:30:06 +0000 (00:30 +0000)]
Fix font selection for text boxes in the terminal formatter.
Issue reported by bentley@.
The AST data structure is powerful enough that all required
information can easily be provided in the parser, and no change
of the formatting code is needed.
deraadt [Wed, 21 Jun 2017 23:54:19 +0000 (23:54 +0000)]
/var/db/kernel.SHA256 contains the hash of the /bsd kernel. Upon
install or upgrade, set it correctly.
diff from rpe, also thanks tb for comments and review
deraadt [Wed, 21 Jun 2017 23:52:55 +0000 (23:52 +0000)]
When building a snapshot, install the compile.tgz file to builder's
/usr/share/ so that next boot will find it and perhaps use it.
ok tb rpe
deraadt [Wed, 21 Jun 2017 23:21:35 +0000 (23:21 +0000)]
Better off padding with 0x0. 0x0 = "break 0,0".
(BTW, the binutils disasm cannot handle that instruction with those
parameters, because the decoder logic is wrong..)
schwarze [Wed, 21 Jun 2017 20:47:46 +0000 (20:47 +0000)]
Outside explicit font context, give every letter its own box.
The formatters need this to correctly select fonts.
Missing feature reported by bentley@.
deraadt [Wed, 21 Jun 2017 20:31:46 +0000 (20:31 +0000)]
elf64_x86_64_plt0_entry had a hardcoded nop-sled, before the subsequent
plt entry. Since previous effective instruction is a a jmp, this can be
a sequence of traps.
ok mlarkin
deraadt [Wed, 21 Jun 2017 20:29:39 +0000 (20:29 +0000)]
Intra-segment traps instead of nops. Similar to kernel change, further
reduction in nopsleds in code and data segments (if those data segments
ever become X, that is)
ok mlarkin
deraadt [Wed, 21 Jun 2017 20:08:53 +0000 (20:08 +0000)]
Fill space between sections with traps, rather than nops.
anton [Wed, 21 Jun 2017 19:36:23 +0000 (19:36 +0000)]
Minor style(9) corrections and whitespace cleanup to csh.
ok deraadt@ tb@
deraadt [Wed, 21 Jun 2017 19:23:12 +0000 (19:23 +0000)]
Large nopsleds make it easier for ROP machinery to sloppily reach targets.
Convert these to "trapsleds' instead. Since these can occur inside
fall-through blocks of code (and gcc sure isn't helping us by identifying
those), convert most to "short jump over" followed a sequence of int3.
This works for sled sizes 3-15, for i386 and amd64. Work by Todd Mortimer
ok mlarkin
anton [Wed, 21 Jun 2017 19:03:30 +0000 (19:03 +0000)]
Add regression tests for the filec feature in csh.
anton [Wed, 21 Jun 2017 18:55:15 +0000 (18:55 +0000)]
Replace usage of TIOCSTI in csh using a more common IO-loop where ICANON is
disabled and a single char of input is read at a time. This requires the line
editing capabilities provided when ICANON is enabled to be implemented.
With help and feedback from deraadt@
schwarze [Wed, 21 Jun 2017 18:37:38 +0000 (18:37 +0000)]
quoted words are not parsed for defined keys
mikeb [Wed, 21 Jun 2017 18:18:08 +0000 (18:18 +0000)]
Don't confuse SCSI command status and transfer error code.
While here, make SCSI command completion routine more robust.
schwarze [Wed, 21 Jun 2017 18:03:50 +0000 (18:03 +0000)]
Recognize well-known functions names (the same that Heirloom recognizes,
which includes those recognized by groff) and wrap them in a roman box
unless they already are in roman context.
Missing feature reported by bentley@.
deraadt [Wed, 21 Jun 2017 17:13:20 +0000 (17:13 +0000)]
Permit TIOCSTAT on a tty.
tedu [Wed, 21 Jun 2017 16:51:07 +0000 (16:51 +0000)]
For a decade or more, we've patched gcc to make -fno-ident the default.
clang doesn't seem to have a command line option for the feature,
so just hard wire it off. We don't need advertisements in our binaries.
ok deraadt
krw [Wed, 21 Jun 2017 16:39:05 +0000 (16:39 +0000)]
Teach get_recorded_lease() that static leases do not
expire.
mikeb [Wed, 21 Jun 2017 16:37:48 +0000 (16:37 +0000)]
Return early from NVS command submission if no response is required
krw [Wed, 21 Jun 2017 15:49:27 +0000 (15:49 +0000)]
No need to manually check validity of ifi->active when
REBOOT'ing. It will be pointing to a recorded lease if
anything. So rely on get_recorded_lease() to return the
next valid candidate lease, which might be the lease
ifi->active was pointing at.
bluhm [Wed, 21 Jun 2017 15:29:23 +0000 (15:29 +0000)]
Fix kernel diagnostic assertion "(sk->inp == NULL) || (sk->inp->inp_pf_sk
== NULL)". The problem was that setting the inp pointer in the
statekey to NULL was delayed until the statekey refcounter reached
0. So the inp could get linked to another statekey while an mbuf
in the socket buffer was keeping the refcounter at 1. Set the
statekey inp pointer to NULL in pf_state_key_detach() immediately,
then the kassert can be even stricter.
OK sashan@
krw [Wed, 21 Jun 2017 15:24:34 +0000 (15:24 +0000)]
Consistently use time(&var) idiom rather than tossing in a few
var = time(NULL). Flip "struct interface *" to be the first
parameter in set_timeout(), as in other functions taking the
state info.
krw [Wed, 21 Jun 2017 12:37:24 +0000 (12:37 +0000)]
Allow familiar idiom free_client_lease(NULL).
mikeb [Wed, 21 Jun 2017 11:35:11 +0000 (11:35 +0000)]
Include the request id in the I/O debug output
akfaew [Wed, 21 Jun 2017 08:21:14 +0000 (08:21 +0000)]
List all five devices, not just the first two.
OK jmc@ sf@
deraadt [Wed, 21 Jun 2017 06:24:28 +0000 (06:24 +0000)]
sync
espie [Wed, 21 Jun 2017 00:11:36 +0000 (00:11 +0000)]
error out if an exists condition tests an empty path, because that makes
zero sense.
this would have caught DEPENDSFILE in gnu/cc/cc_tools
okay guenther@, also tested by krw@
espie [Wed, 21 Jun 2017 00:10:23 +0000 (00:10 +0000)]
DEPENDSFILE comes from FreeBSD, we don't have it. replace it with its
value .depend, so that the conditional is really used.
okay guenther@
deraadt [Tue, 20 Jun 2017 21:05:46 +0000 (21:05 +0000)]
use [] instead of * for reaching regions to unmap, making this more
similar to smashing versions written by visa
akfaew [Tue, 20 Jun 2017 20:40:54 +0000 (20:40 +0000)]
Fix a path in Makequest and remove hack.sh (it never worked).
OK tb@
akfaew [Tue, 20 Jun 2017 20:24:07 +0000 (20:24 +0000)]
Remove locate.concatdb, it never worked.
OK millert@
ajacoutot [Tue, 20 Jun 2017 18:32:26 +0000 (18:32 +0000)]
Set SRCDIR according to build type and s/X11SRC/XSRCDIR
ok robert@
espie [Tue, 20 Jun 2017 18:05:44 +0000 (18:05 +0000)]
trim more error messages
- if we can't retrieve the package, of course signify will say it's truncated
so that's redundant.
- if you give a full package name, can_be_empty should make directories
vanish.
(landry just discovered 6.1/packages-stable by accident, make it vanish
again so he can't find it back... :D )
tj [Tue, 20 Jun 2017 18:02:26 +0000 (18:02 +0000)]
doas won't be configured after the first boot, so stop recommending
use of it to change root's password. remove a leftover sentence and
apply minor grammar tweaks while here.
ok deraadt
brynet [Tue, 20 Jun 2017 17:32:20 +0000 (17:32 +0000)]
'^T' is documented to be bounded to transpose-chars while in emacs
mode, not "stuff". While here, remove the poorly described "stuff"
and "stuff" bind functions as well..
In the unlikely event anyone has those in .kshrc, they'll need to
be removed.
ok anton@
schwarze [Tue, 20 Jun 2017 17:24:09 +0000 (17:24 +0000)]
KNF: remove parentheses from switch case labels; no binary change
bluhm [Tue, 20 Jun 2017 17:13:21 +0000 (17:13 +0000)]
In ddb print socket bit field so_state in hex to match SS_ defines.
anton [Tue, 20 Jun 2017 16:46:51 +0000 (16:46 +0000)]
Fix EOL tests for ksh vi mode.
anton [Tue, 20 Jun 2017 16:44:06 +0000 (16:44 +0000)]
Don't try to close every single file descriptor up to _SC_OPEN_MAX in csh.
Instead, close the fds that reside in between the gaps of used fds and once the
largest used fd is reached call closefrom().
ok deraadt@
visa [Tue, 20 Jun 2017 15:49:00 +0000 (15:49 +0000)]
Check the validity of the `qtd' pointer after each interrupt case
and bail out if the pointer has become invalid. This prevents
use-after-free memory accesses that corrupted the dwc2qtd pool.
This fix improves stability on the Raspberry Pi 3.
From Linux commit
dc8730846948e517169f630826cd2c97615f5ee8
OK kettenis@
gerhard [Tue, 20 Jun 2017 14:11:46 +0000 (14:11 +0000)]
Do not touch file pointers for which FILE_IS_USABLE() is false.
They're might not be fully constructed.
ok mpi@ deraadt@ bluhm@
stsp [Tue, 20 Jun 2017 13:52:40 +0000 (13:52 +0000)]
Remove the IWM_FLAG_HW_INITED flag from iwm(4). This flag was redundant.
The IFF_RUNNING flag in struct ifnet serves the same purpose.
ok mpi@ kettenis@ deraadt@
stsp [Tue, 20 Jun 2017 13:51:46 +0000 (13:51 +0000)]
Initialize the link state of a wireless interface to DOWN when the
interface is attached to the net80211 layer. Prevents confusion
in cases where drivers forget to initialize the link state.
ok mpi@ kettenis@
tom [Tue, 20 Jun 2017 12:39:20 +0000 (12:39 +0000)]
Fix a couple of comment typos in amd64 and i386 biosvar.h
bluhm [Tue, 20 Jun 2017 11:12:13 +0000 (11:12 +0000)]
Do not use the interface pointer after if_put(). Rename ipip_input_gif()
to ipip_input_if() and always pass the ifp. Only dump the packet
to bpf if we are called with a gif(4) interface.
OK mpi@
mpi [Tue, 20 Jun 2017 09:10:04 +0000 (09:10 +0000)]
Convert sodidle() to timeout_set_proc(9), it needs a process context
to grab the rwlock.
Problem reported by Rivo Nurges.
ok bluhm@
mpi [Tue, 20 Jun 2017 09:03:39 +0000 (09:03 +0000)]
Remove KERNEL_LOCK() asserts.
pf table code iterates on a radix tree and currently relies on the
NET_LOCK() to do the serialization.
Found the hardway by jasper@
bentley [Tue, 20 Jun 2017 07:32:56 +0000 (07:32 +0000)]
Better document the :s ex command and its variants.
ok jmc@
jsg [Tue, 20 Jun 2017 06:37:30 +0000 (06:37 +0000)]
sync
mlarkin [Tue, 20 Jun 2017 06:25:01 +0000 (06:25 +0000)]
remove some magic numbers in the flush-by-asid code and check if the CPU
supports that feature before we try to use it.
discussed with deraadt
mlarkin [Tue, 20 Jun 2017 05:34:41 +0000 (05:34 +0000)]
SVM: better cleanbits handling. Fixes an issue on Bulldozer CPUs causing
#TF exceptions during guest VM boot
ok brynet
jmatthew [Tue, 20 Jun 2017 04:37:17 +0000 (04:37 +0000)]
fix some nits
ok dlg@
mlarkin [Tue, 20 Jun 2017 01:59:12 +0000 (01:59 +0000)]
Revert a previous commit that increased the virtio queue size since it
appears to be causing some instability.
dlg [Mon, 19 Jun 2017 23:57:12 +0000 (23:57 +0000)]
dynamically scale the size of the per cpu cache lists.
if the lock around the global depot of extra cache lists is contented
a lot in between the gc task runs, consider growing the number of
entries a free list can hold.
the size of the list is bounded by the number of pool items the
current set of pages can represent to avoid having cpus starve each
other. im not sure this semantic is right (or the least worst) but
we're putting it in now to see what happens.
this also means reality matches the documentation i just committed
in pool_cache_init.9.
tested by hrvoje popovski and amit kulkarni
ok visa@
dlg [Mon, 19 Jun 2017 23:48:49 +0000 (23:48 +0000)]
s/a active/an active/
dlg [Mon, 19 Jun 2017 23:45:42 +0000 (23:45 +0000)]
s/pool_set_hardlimit/pool_sethardlimit/
from schwarze@
dlg [Mon, 19 Jun 2017 23:45:13 +0000 (23:45 +0000)]
s/can be from process context/can be called from process context/
from schwarze@
dlg [Mon, 19 Jun 2017 23:44:11 +0000 (23:44 +0000)]
talk about the per cpu caches in pools by documenting pool_cache_init()
this describes what the per cpu caches do, and has some bonus doco about
what the sysctls provide thanks to a suggestion from mikeb@
some tweaks are coming, but this is mostly right.
ok jmc@ schwarze@
deraadt [Mon, 19 Jun 2017 22:50:50 +0000 (22:50 +0000)]
As early as possible, create a link /bsd.booted to the /bsd kernel we
presume we booted from. If you boot from another kernel, we cannot help
you later with hibernate, sorry -- The kernel does not get a useable
filename from the bootblocks.
In the bootblocks, detect a live hibernate signature and boot from
/bsd.booted instead.
with yasuoka, lots of discussion with mlarkin, ok tom
friehm [Mon, 19 Jun 2017 19:55:57 +0000 (19:55 +0000)]
Import route priority support from ospfd to ospf6d.
Also remove the RTF_UP flag from hdr.rtm_flags in send_rtmsg() since
ospfd and bgpd don't set the flag.
OK bluhm@ claudio@
krw [Mon, 19 Jun 2017 19:28:35 +0000 (19:28 +0000)]
Various KNF nits.
jmc [Mon, 19 Jun 2017 18:36:13 +0000 (18:36 +0000)]
missing letter in previous;
bluhm [Mon, 19 Jun 2017 18:35:05 +0000 (18:35 +0000)]
Terminate pledge log(9) with newline. This fixes dmesg(8) output.
found by regress/sys/kern/pledge/generic; OK deraadt@
bluhm [Mon, 19 Jun 2017 17:58:49 +0000 (17:58 +0000)]
When dealing with mbuf pointers passed down as function parameters,
bugs could easily result in use-after-free or double free. Introduce
m_freemp() which automatically resets the pointer before freeing
it. So we have less dangling pointers in the kernel.
OK krw@ mpi@ claudio@
deraadt [Mon, 19 Jun 2017 17:35:04 +0000 (17:35 +0000)]
delete accidental blank line
bluhm [Mon, 19 Jun 2017 17:00:16 +0000 (17:00 +0000)]
The IP multicast forward functions return an errno, call the variable
error. Make the ip_mforward() return value consistent. Simplify
the caller logic in ipv6_input() like in IPv4.
OK mpi@
visa [Mon, 19 Jun 2017 14:47:27 +0000 (14:47 +0000)]
Fix the timecounter register on CN72xx/CN73xx.
visa [Mon, 19 Jun 2017 14:25:53 +0000 (14:25 +0000)]
Use octeon_model_family() for SoC identification as in the rest
of the code.
visa [Mon, 19 Jun 2017 13:54:55 +0000 (13:54 +0000)]
Use type register_t instead of __register_t. Drop unneeded __unused.
visa [Mon, 19 Jun 2017 13:45:22 +0000 (13:45 +0000)]
There is no RTC on the E1000 board.
visa [Mon, 19 Jun 2017 13:31:04 +0000 (13:31 +0000)]
Use a consistent naming for fdt attach arguments.
deraadt [Mon, 19 Jun 2017 13:00:54 +0000 (13:00 +0000)]
sync
schwarze [Mon, 19 Jun 2017 12:53:50 +0000 (12:53 +0000)]
Fix a regression in the previous revision:
When there is no link description, reuse the URI.
Reported by tj@ and bentley@.
fcambus [Mon, 19 Jun 2017 11:03:30 +0000 (11:03 +0000)]
Add a handler for the WSDISPLAYIO_GINFO ioctl in radeondrm, allowing
to retrieve basic information about a framebuffer display.
OK visa@, deraadt@
fcambus [Mon, 19 Jun 2017 11:00:18 +0000 (11:00 +0000)]
Add a handler for the WSDISPLAYIO_GINFO ioctl in inteldrm, allowing
to retrieve basic information about a framebuffer display.
OK visa@, tedu@
mpi [Mon, 19 Jun 2017 09:42:45 +0000 (09:42 +0000)]
Make rn_match() and rn_lookup() safe to be used in parrallel, when
different trees are manipulated:
- Stop writting to global variables
- Use a buffer on the stack
- Anotate read/only arrays as such
While here introduce a SALEN() macro and assert that the KERNEL_LOCK()
is held when a tree is modified.
ok bluhm@
mpi [Mon, 19 Jun 2017 09:36:27 +0000 (09:36 +0000)]
Do not call txeof nor rxeof in the watchdog routine.
They cannot be serialized with the interrupt routine and are
useless because the driver is reinitialized right after.
Pointed by and ok mikeb@
gilles [Mon, 19 Jun 2017 08:35:56 +0000 (08:35 +0000)]
fix descriptor leak in the smtp congestion mechanism
diff from Henri Kemppainen; ok gilles@ eric@
mpi [Mon, 19 Jun 2017 08:35:24 +0000 (08:35 +0000)]
g/c ASPICFLAG.
This used to be necessary a long time ago in the... gcc 2.95 days.
from miod@
bentley [Mon, 19 Jun 2017 06:05:33 +0000 (06:05 +0000)]
Mark up "am i" as Cm, not Ar.
While here, remove a leftover Tn macro.
ok jmc@
bentley [Mon, 19 Jun 2017 06:04:16 +0000 (06:04 +0000)]
No need for a conditional to choose between nroff and troff.
ok jmc@
dlg [Mon, 19 Jun 2017 03:06:26 +0000 (03:06 +0000)]
port the RBT code to userland by making it part of libc.
src/lib/libc/gen/tree.c is a copy of src/sys/kern/subr_tree.c, but with
annotations for symbol visibility. changes to one should be reflected
in the other.
the malloc debug code that uses RB code is ported to RBT.
because libc provides the RBT code, procmap doesn't have to reach into
the kernel and build subr_tree.c itself now.
mild enthusiasm from many
ok guenther@
krw [Mon, 19 Jun 2017 01:09:09 +0000 (01:09 +0000)]
Erroneous host names in various options should be ignored
and not cause the lease to be declined. Restore inadvertantly
changed behaviour. Tweak logic to also ignore invalid
host names in domain-search.
Reported by Christer Solskogen via misc@
krw [Sun, 18 Jun 2017 21:08:15 +0000 (21:08 +0000)]
Move the timeout information into struct interface_info with
the rest of the dhcp state. One less struct (dhcp_timeout) to
worry about, one less field (ifi) to keep track of.
anton [Sun, 18 Jun 2017 17:49:44 +0000 (17:49 +0000)]
Don't write input if ICANON is enabled. Also, write one byte at a time.
schwarze [Sun, 18 Jun 2017 17:35:40 +0000 (17:35 +0000)]
Implement appending to standard man(7) and mdoc(7) macros with .am.
With roff_getstrn(), provide finer control which definitions
can be used for what:
* All definitions can be used for .if d tests and .am appending.
* User-defined for \* expansion, .dei expansion, and macro calling.
* Predefined for \* expansion.
* Standard macros, original or renamed, for macro calling.
Several related improvements while here:
* Do not return string table entries that have explicitly been removed.
* Do not create a rentab entry when trying to rename a non-existent macro.
* Clear an existing rentab entry when the external interface
roff_setstr() is called with its name.
* Avoid trailing blanks in macro lines generated from renamed
and from aliased macros.
* Delete the duplicate __m*_reserved[] tables, just use roff_name[].
krw [Sun, 18 Jun 2017 17:01:46 +0000 (17:01 +0000)]
Convert last set_timeout() use to set_timeout_interval() and
then remove set_timeout() and rename set_timeout_interval() to
set_timeout().
krw [Sun, 18 Jun 2017 16:37:19 +0000 (16:37 +0000)]
Drop (int) casts of (time_t - time_t) calculations that
are assigned to an int variable.
krw [Sun, 18 Jun 2017 14:54:19 +0000 (14:54 +0000)]
Nuke stray and misleading comment.
visa [Sun, 18 Jun 2017 13:58:44 +0000 (13:58 +0000)]
Split octeon interrupt code into a glue layer and a CIU driver.
This makes possible to add drivers for other interrupt controllers
on the platform.
The glue layer has been derived from arm64/armv7.
bru [Sun, 18 Jun 2017 13:34:03 +0000 (13:34 +0000)]
pms/alps: configure compat mode
bru [Sun, 18 Jun 2017 13:21:48 +0000 (13:21 +0000)]
Remove remnants of old versions.
visa [Sun, 18 Jun 2017 12:48:13 +0000 (12:48 +0000)]
Move IPI control entry points into octeon_intr.c.
Needed by upcoming driver changes.
benno [Sun, 18 Jun 2017 12:03:47 +0000 (12:03 +0000)]
update log.c in ifstated to the same used in bgpd etc.
Done by Rob Pierce <rob AT 2keys DOT ca>, thanks
krw [Sun, 18 Jun 2017 11:26:14 +0000 (11:26 +0000)]
Make 'DEBUG' compile again.
krw [Sun, 18 Jun 2017 11:21:39 +0000 (11:21 +0000)]
Nuke unused pointer to non-existant struct.