jsg [Sun, 12 Apr 2015 11:26:54 +0000 (11:26 +0000)]
change back to wait_for/wait_for_atomic_us
dlg [Sun, 12 Apr 2015 11:12:09 +0000 (11:12 +0000)]
disable the pool gc. there are reports of strange lockups on various mp
archs and this is the only interesting diff in the window.
dlg [Sun, 12 Apr 2015 09:58:46 +0000 (09:58 +0000)]
pull structs and macros that are only used in hfsc.c out of the header
and into the .c file.
ok henning@
dlg [Sun, 12 Apr 2015 09:57:54 +0000 (09:57 +0000)]
dont rely on hfsc.h via pfvar.h to include sys/timeout.h.
jsg [Sun, 12 Apr 2015 05:31:23 +0000 (05:31 +0000)]
Switch back to ioread32 and iowrite32 for cases where bus_space_vaddr is
used instead of bus_space_read/bus_space_write.
jsg [Sun, 12 Apr 2015 03:54:10 +0000 (03:54 +0000)]
make wait_queue_head a struct with a mutex
better matches linux behaviour
jsing [Sat, 11 Apr 2015 17:10:17 +0000 (17:10 +0000)]
Directly handle ioctls issued to a SCSI device associated with a softraid
volume, ignoring any device name specified in the bio(4) ioctl struct.
One of bio(4)'s design flaws is that the device name is hardcoded in many
of the ioctl structs, making it basically unusable with DUIDs. In the case
of `bioctl -d' the bioctl(8) code actually uses opendev(3) on the given
name, then issues the ioctl directly to the resulting device. As such, we
already know which device (or in this case, softraid volume) the ioctl was
intended for, however the current softraid(4) code ignores this and instead
attempts to perform a lookup using the name in the bio(4) ioctl struct.
This diff splits the sr_bio_ioctl() code into two parts - one that implements
the API required by bio(4) and the other that contains the ioctl handling
code, which now takes an optional pointer to the softraid discipline. If an
ioctl is issued to a SCSI device associated with a softraid volume, pass
the corresponding softraid discipline struct through and to the bio ioctl
handler and use it in preference to performing a device name lookup.
Amongst other things, this makes bioctl -d now work with DUIDs.
ok krw@
jsing [Sat, 11 Apr 2015 16:37:34 +0000 (16:37 +0000)]
Re-enable the RAID 5 discipline for softraid(4).
The RAID 5 implementation has been largely rewritten during the last two
hackathons in Dunedin - it now needs further testing and usage.
jsing [Sat, 11 Apr 2015 16:23:34 +0000 (16:23 +0000)]
Add support for restarting rebuilds on RAID 5.
ok krw@
deraadt [Sat, 11 Apr 2015 16:17:45 +0000 (16:17 +0000)]
sync
deraadt [Sat, 11 Apr 2015 16:16:15 +0000 (16:16 +0000)]
Send OPENSSL_issetugid() straight to hell, no final cigarette.
The issetugid() API is supposed to make a strong promise where "0
means it is safe to look at the environment". Way back in the past
someone on the OpenSSL team responded to the environment access danger
by creating a wrapper called OPENSSL_issetugid, and went to use it a
number of places. However, by default on systems lacking true
issetugid(), OPENSSL_issetugid returns 0. 0 indicating safely. False
safety. Which means OPENSSL_issetugid() fails to make any sort of
promise about safety, in fact it is just the opposite.
Can you believe the OpenSSL team?
This nastiness was noticed over the years, however noone could gain traction
and get it fixed in OpenSSL. Also see a paragraph about this in
http://www.tedunangst.com/flak/post/worst-common-denominator-programming
ok jsing
deraadt [Sat, 11 Apr 2015 16:03:21 +0000 (16:03 +0000)]
Remove all getenv() calls, especially those wrapped by issetugid().
getenv()'s wrapped by issetugid() are safe, but issetugid() is correct
difficult to impliment on many operating systems. By accident, a grand
experiment was run over the last year, where issetugid() returned 1 (the
safe value) on a few operating systems. Noone noticed & complained that
certain environment variables were not working.......
ok doug beck jsing, discussion with others
jsing [Sat, 11 Apr 2015 15:41:57 +0000 (15:41 +0000)]
Put back a goto end that was unintentionally removed.
Spotted by doug@
jsing [Sat, 11 Apr 2015 15:21:42 +0000 (15:21 +0000)]
Convert openssl(1) pkeyparam to new option handling.
jsing [Sat, 11 Apr 2015 14:52:49 +0000 (14:52 +0000)]
Always check the return value of proc_composev_imsg() and handle failures
appropriately. Otherwise imsg construction can silently fail, resulting in
non-obvious problems.
Found the hard way by Theodore Wynnychenko.
ok doug@ florian@
jsing [Sat, 11 Apr 2015 14:40:42 +0000 (14:40 +0000)]
Convert lii(4) to if_input().
ok mpi@
jsg [Sat, 11 Apr 2015 14:39:37 +0000 (14:39 +0000)]
rename i915 interrupt handlers from *_intr back to *_irq_handler
dlg [Sat, 11 Apr 2015 13:00:12 +0000 (13:00 +0000)]
the hfsc pools are only used in hfsc.c, so move the init of them
there instead of pf_ioctl.c.
ok henning@
jsg [Sat, 11 Apr 2015 05:10:13 +0000 (05:10 +0000)]
change back to spinlock_t/DEFINE_SPINLOCK
jsg [Sat, 11 Apr 2015 04:36:10 +0000 (04:36 +0000)]
change back to drm_free_large/drm_malloc_ab
jsg [Sat, 11 Apr 2015 02:59:05 +0000 (02:59 +0000)]
add/use max_t()
jsg [Sat, 11 Apr 2015 02:24:43 +0000 (02:24 +0000)]
Rename i915_gem_chipset_flush() to intel_gtt_chipset_flush()
so we can use the inline definition of i915_gem_chipset_flush()
that avoids the flush entirely on gen >= 6.
sf [Fri, 10 Apr 2015 20:00:26 +0000 (20:00 +0000)]
Axe vq_free_entry_locked
A leftover from netbsd
sf [Fri, 10 Apr 2015 19:59:19 +0000 (19:59 +0000)]
Fix typo in macro name
kettenis [Fri, 10 Apr 2015 18:08:31 +0000 (18:08 +0000)]
Don't use pa_to_pvh() if we already have the page. Avoids an unused variable
for non-DIAGNOSTIC kernels.
ok deraadt@
brynet [Fri, 10 Apr 2015 18:05:51 +0000 (18:05 +0000)]
This changes vi to use resizeterm(3) instead of reinitializing curses on
window resizes, which was leaking massive amounts of memory.
Try observing vi in top(1) and while resizing the window a few times
before and aftering applying this diff..
Also some more comment cleanup and another memory leak..
From github.com/lichray/nvi2
879d2ad6dd4a4343eb0a588ebfe637e1c9845bc4
a8c38480adb030a05bbb2aafec6067dd65d8c2eb
ok millert@
mpi [Fri, 10 Apr 2015 16:04:47 +0000 (16:04 +0000)]
Convert to if_input().
Tested by Daniel Jakots, thanks!
nicm [Fri, 10 Apr 2015 16:00:08 +0000 (16:00 +0000)]
Add a -x flag to copy-selection, append-selection and start-named-buffer
to prevent it exiting copy mode after copying. From J Raynor with a few
tweaks by me.
mpi [Fri, 10 Apr 2015 15:33:20 +0000 (15:33 +0000)]
I did quite some changes to this driver, so add copyright.
dlg [Fri, 10 Apr 2015 13:58:20 +0000 (13:58 +0000)]
replace the use of ifqueues for most input queues serviced by netisr
with niqueues.
this change is so big because there's a lot of code that takes
pointers to different input queues (eg, ether_input picks between
ipv4, ipv6, pppoe, arp, and mpls input queues) and falls through
to code to enqueue packets against the pointer. if i changed only
one of the input queues id have to add sepearate code paths, one
for ifqueues and one for niqueues in each of these places
by flipping all these input queues at once i can keep the currently
common code common.
testing by mpi@ sthen@ and rafael zalamena
ok mpi@ sthen@ claudio@ henning@
mpi [Fri, 10 Apr 2015 13:56:42 +0000 (13:56 +0000)]
Full-speed isochronous transfers support with opportunistic micro-frames
scheduling.
More work is required to properly budget and schedule micro-frames, most
of it at the HUB level. But this let people use USB1.1 uaudio(4) devices
on ehci(4)-only systems.
Thanks to all the testers!
ok ratchov@, sthen@, naddy@
dlg [Fri, 10 Apr 2015 12:31:55 +0000 (12:31 +0000)]
replace the guts of tdb_hash with SipHash24
tested by (including some statistical measurement) and ok mikeb@
jsg [Fri, 10 Apr 2015 12:06:52 +0000 (12:06 +0000)]
Move irqs_disabled() and in_dbg_master() out of the i386/amd64 ifdef block
and change drm_can_sleep() to only use in_atomic() on i386/amd64 as
it isn't defined for other archs currently. Unbreaks the sparc64 build.
Found the hard way by benoit@
dlg [Fri, 10 Apr 2015 11:02:12 +0000 (11:02 +0000)]
mpi@ introduced a ph_cookie in mbuf packet headers that can be used
by a subsystem to stash some state while the mbuf gets queued. eg,
net80211 uses it to keep track of the wireless node associated with
a packet before submitting it to a drivers snd queue for transmission.
this makes pipex use ph_cookie to keep track of the pipex session
associated with a packet before submitting it to the softint queues.
this lets us get rid of an mbuf tag type, and avoids the cost of
tag allocation.
ok yasuoka@
mpi [Fri, 10 Apr 2015 08:48:24 +0000 (08:48 +0000)]
Run detach hook and similar before cleaning up any other resource when
an interface is destroyed/removed. This way we can ensure pseudo-driver
changes done after attaching an interface are undone before detaching it.
Note: it is safe to call if_deactivate() multiple times as the interface
should not have any attached pseudo-interface after the first call.
ok deraadt@, dlg@
stsp [Fri, 10 Apr 2015 08:48:08 +0000 (08:48 +0000)]
Add support for CRC-enabled elantech v3 touchpads.
Patch by Fasse <fasse.f2@gmail.com>
ok mpi@
mpi [Fri, 10 Apr 2015 08:41:43 +0000 (08:41 +0000)]
Convert remaining USB Ethernet adapter to if_input().
ok dlg@
nicm [Fri, 10 Apr 2015 07:23:14 +0000 (07:23 +0000)]
in the case -> in this case.
jmc [Fri, 10 Apr 2015 07:06:30 +0000 (07:06 +0000)]
everything else is gone, so remove the man pages too;
jsg [Fri, 10 Apr 2015 06:00:39 +0000 (06:00 +0000)]
Use mdelay(x) instead of delay(x * 1000) for drm_msleep() to better
deal with long delays.
jsg [Fri, 10 Apr 2015 05:52:09 +0000 (05:52 +0000)]
Make drm_can_sleep() match linux. No change in behaviour as it's
only ever used to decide between mdelay and drm_msleep and our
drm_msleep delays instead of sleeping.
jsg [Fri, 10 Apr 2015 05:31:25 +0000 (05:31 +0000)]
add irqs_disabled() and in_dbg_master() using cold and db_is_active
dtucker [Fri, 10 Apr 2015 05:16:50 +0000 (05:16 +0000)]
Don't send hostkey advertisments (hostkeys-00@openssh.com) to current
versions of Tera Term as they can't handle them. Newer versions should
be OK. Patch from Bryan Drewery and IWAMOTO Kouichi, ok djm@
dlg [Fri, 10 Apr 2015 02:08:08 +0000 (02:08 +0000)]
dont inherit the parent interfaces hardmtu as the vlan interfaces
mtu when it gets set up. instead, allow the vlan interfaces mtu to
be raised to the parents hardmtu in SIOCSIFMTU handling.
pointed out by claudio@
djm [Fri, 10 Apr 2015 00:08:55 +0000 (00:08 +0000)]
include port number if a non-default one has been specified;
based on patch from Michael Handler
deraadt [Thu, 9 Apr 2015 23:11:36 +0000 (23:11 +0000)]
sync
okan [Thu, 9 Apr 2015 19:48:25 +0000 (19:48 +0000)]
kflag and wflag don't need to be counters; wflag only needs to know if
greater than 0 for its one test case.
ok deraadt
millert [Thu, 9 Apr 2015 19:37:35 +0000 (19:37 +0000)]
Both more and less accept options beginning with '+'.
From Tim van der Molen
sthen [Thu, 9 Apr 2015 19:29:53 +0000 (19:29 +0000)]
If looking up a string which looks like a gTLD, doesn't match a known set of
existing ones not using the new standard hostnames, and whois.nic.TLD exists,
head straight there for lookups rather than using whois-servers.net (who have
been a bit variable in their speed of picking up new zones). Bug spotted by
giovanni@ and jasper@, ok giovanni@
deraadt [Thu, 9 Apr 2015 18:58:22 +0000 (18:58 +0000)]
Send lmc(4) and san(4) to the HDLC framed bit bucket in the sky.
kettenis [Thu, 9 Apr 2015 16:56:52 +0000 (16:56 +0000)]
Make the sparc64 pmap (more) mpsafe by protecting both the pmap itself and the
pv lists with a mutex. Some minor code adjustments to prevent holding locks
too long. This should make pmap_enter(9), pmap_remove(9) and
pmap_page_protect(9) safe to use without holding the kernel lock.
florian [Thu, 9 Apr 2015 16:48:29 +0000 (16:48 +0000)]
Revert previous as this breaks stuff.
I fscked up the testing, sorry!
Found the hard way by jsg@
mikeb [Thu, 9 Apr 2015 12:04:14 +0000 (12:04 +0000)]
Plug a memory leak in pfr_destroy_kentry
pfi_kif objects allocated for table entries created by route-to or
by specifying weight weren't garbage collected when the table entry
was destroyed.
Spotted by Alexandr Nedvedicky <alexandr ! nedvedicky at oracle ! com>,
thanks! Ok henning, florian
guenther [Thu, 9 Apr 2015 04:46:18 +0000 (04:46 +0000)]
ELF weak symbols are _not_ like a.out indirect symbols. Nothing in ELF is,
so remove N_INDR handling.
ok kettenis@
dlg [Thu, 9 Apr 2015 02:08:55 +0000 (02:08 +0000)]
to quote jim smith:
> fix a regression on re chips which have
> 7k jumbo support (RL_JUMBO_MTU_7K) as reported by daniel jakots
> and emilio perea. the regression was caused because RL_JUMBO_FRAMELEN
> was changed to 9k and i missed fixing up the RL_JUMBO_MTU_7K macro.
nice of him to fix the thing he broke ;)
ok sthen@
sthen [Wed, 8 Apr 2015 21:44:16 +0000 (21:44 +0000)]
Teach the 802.11 printer about Channel Switch Announcements (advertised by
an AP in beacons in the run-up to a channel switch, either for radar avoidance,
or for frequency management). ok stsp@
We don't support these in net80211 yet (as pointed out by stsp a few days ago)
but it's useful to at least have a way to debug why your connection is getting
knocked down!
sthen [Wed, 8 Apr 2015 21:35:57 +0000 (21:35 +0000)]
add a #define for IEEE80211_ELEMID_CSA, 802.11h-2003 Channel Switch Announcement
ok stsp@
florian [Wed, 8 Apr 2015 19:39:29 +0000 (19:39 +0000)]
Do not silently accept multiple Content-Length headers.
Pointed out by Regis Leroy (regis.leroy AT makina-corpus DOT com),
thanks!
Tweak and OK reyk@
millert [Wed, 8 Apr 2015 17:25:58 +0000 (17:25 +0000)]
s/inexistent/nonexistent/
mpi [Wed, 8 Apr 2015 15:58:25 +0000 (15:58 +0000)]
Kill unused function.
jsg [Wed, 8 Apr 2015 15:01:33 +0000 (15:01 +0000)]
Move vmap back to kernel_map/uvm_km_valloc as it's allowed to fail.
This should help dlg's dell 2950 that gets stuck during boot with vmap
in the trace.
ok kettenis@
mikeb [Wed, 8 Apr 2015 14:19:28 +0000 (14:19 +0000)]
Table flags are not looked at when a table entry is created.
Spotted by Alexandr Nedvedicky <alexandr ! nedvedicky at oracle ! com>,
thanks!
kettenis [Wed, 8 Apr 2015 14:02:43 +0000 (14:02 +0000)]
I believe UVM is clean now and no managed pages should be in use anymore
when we call pmap_release(). Turn debug code into printf and remove the code
that tried to mop up. Override Debugger() such that it inserts a trap
instruction directly into the code such that we get useful backtraces.
This way I don't need to worry about pmap_release() removing pv entries when
making this pmap mpsafe.
mpi [Wed, 8 Apr 2015 12:58:24 +0000 (12:58 +0000)]
Convert to if_input().
ok dlg@
mikeb [Wed, 8 Apr 2015 12:50:21 +0000 (12:50 +0000)]
Destination table needs it's own negation flag passed to the pfr_update_stats.
Spotted by Alexandr Nedvedicky <alexandr ! nedvedicky at oracle ! com>,
thanks a lot! Ok florian
mpi [Wed, 8 Apr 2015 10:49:25 +0000 (10:49 +0000)]
Check for link status in tsec_start(). Prevent the watchdog from fireing
when no cable is plugged in but the interface is brough up.
inputs and ok kettenis@
mpi [Wed, 8 Apr 2015 10:07:47 +0000 (10:07 +0000)]
Convert to if_input().
ok dlg@
jasper [Wed, 8 Apr 2015 09:29:49 +0000 (09:29 +0000)]
don't leak the chip's hardware address during scans when a randomized address
is set by the user.
previously the address read from the eeprom would also be used in discovery
frames, even if later data frames would contain the spoofed address.
ok stsp@
jsg [Wed, 8 Apr 2015 04:24:40 +0000 (04:24 +0000)]
change back to udelay/mdelay
guenther [Wed, 8 Apr 2015 04:23:15 +0000 (04:23 +0000)]
Delete another piece of a.out detritus
jsg [Wed, 8 Apr 2015 04:03:06 +0000 (04:03 +0000)]
change back to memcpy_toio/memcpy_fromio/memset_io
jsg [Wed, 8 Apr 2015 03:21:13 +0000 (03:21 +0000)]
change back to using min_t
jsg [Wed, 8 Apr 2015 02:28:13 +0000 (02:28 +0000)]
ttm has it's own version of kmap/kunmap that uses
kernel_map/uvm_km_valloc and i915 has a version that uses
phys_map/uvm_km_valloc_wait as calling code assumes kmap would
sleep if no memory is available.
Move these and ttm's vmap/vunmap into the linux compat files
and make them all use phys_map/uvm_km_valloc_wait.
looks good kettenis@
djm [Tue, 7 Apr 2015 23:00:42 +0000 (23:00 +0000)]
treat Protocol=1,2|2,1 as Protocol=2 when compiled without SSH1
support; ok dtucker@ millert@
sf [Tue, 7 Apr 2015 19:31:42 +0000 (19:31 +0000)]
Use m_defrag when mbuf chains get fragmented.
Patch by Kimberley Manning <kmanning at gmx ! com> with some
additional tweaks.
mpi [Tue, 7 Apr 2015 14:59:06 +0000 (14:59 +0000)]
Keep in sync with the sparc version: convert to if_input().
mpi [Tue, 7 Apr 2015 14:36:34 +0000 (14:36 +0000)]
Remove a lie, the early boot console does not need any mapping.
In fact we even use the firmware interface for "bsd -c" and "bsd -d".
So do the necessary firmware calls before calling initppc() to be able
to use printf() really early in the boot sequence.
mpi [Tue, 7 Apr 2015 14:02:51 +0000 (14:02 +0000)]
Convert to if_input().
Tested with simh using a floppy image built by miod@
nicm [Tue, 7 Apr 2015 13:06:22 +0000 (13:06 +0000)]
When replacing, don't free the old paste until after the new one's name
has been copied. Fixes a use-after-free in window-copy.c. Bug reported
by J Raynor (who also provided a different fix).
dlg [Tue, 7 Apr 2015 11:15:02 +0000 (11:15 +0000)]
nothing uses pool_sleep, so get rid of it
dlg [Tue, 7 Apr 2015 11:07:56 +0000 (11:07 +0000)]
introduce a garbage collector for (very) idle pool pages.
now that idle pool pages are timestamped we can tell how long theyve
been idle. this adds a task that runs every second that iterates
over all the pools looking for pages that have been idle for 8
seconds so it can free them.
this idea probably came from a conversation with tedu@ months ago.
ok tedu@ kettenis@
mpi [Tue, 7 Apr 2015 10:46:20 +0000 (10:46 +0000)]
Do not pass an `ifp' argument to interface input handlers since it
might be overwritten by pseudo-drivers.
ok dlg@, henning@
rpe [Tue, 7 Apr 2015 09:59:38 +0000 (09:59 +0000)]
Tweak previous.
OK halex@ krw@
mpi [Tue, 7 Apr 2015 09:54:11 +0000 (09:54 +0000)]
Mark audio interrupt handlers as MPSAFE, they already grab the right
mutex when necessary.
ok kettenis@, ratchov@
mpi [Tue, 7 Apr 2015 09:52:27 +0000 (09:52 +0000)]
Use appropriate memory barriers.
ok kettenis@, miod@
deraadt [Tue, 7 Apr 2015 06:30:30 +0000 (06:30 +0000)]
sync
guenther [Tue, 7 Apr 2015 05:50:40 +0000 (05:50 +0000)]
Teach libkvm a bit about PAE, making it independent of the kernel defines
and doing runtime detection of what the target kernel is using. Getting
this is now to avoid breakage when kernel bits come.
ok deraadt@
guenther [Tue, 7 Apr 2015 05:37:03 +0000 (05:37 +0000)]
Revert: breaks h2ph handling of symlinks like endian.h --> sys/endian.h
Simply adding -type l mean the problem it was trying to solve is *not*
solved, so just go back to the original set. Sorry, but random files types
in /usr/include are your problem, not the build system's...
lteo [Tue, 7 Apr 2015 02:38:14 +0000 (02:38 +0000)]
Fix miscellaneous factual, grammar, and markup errors.
From Jan Stary.
millert [Tue, 7 Apr 2015 01:49:11 +0000 (01:49 +0000)]
Add support for setting tm_zone now that we have the timezone symbol.
millert [Tue, 7 Apr 2015 01:47:04 +0000 (01:47 +0000)]
Remove obsolete timezone() function.
Add timezone and daylight symbols for XSI compatibility.
guenther [Tue, 7 Apr 2015 01:27:06 +0000 (01:27 +0000)]
Make pthread_atfork() track the DSO that called it like atexit() does,
unregistering callbacks if the DSO is unloaded. Move the callback
handling from libpthread to libc, though libpthread still overrides the
inner call to handle locking and thread-library reinitialization.
Major version bump for both libc and libpthread.
verification that this fixes various ports ajacoutot@
asm assistance miod@; ok millert@ deraadt@
schwarze [Mon, 6 Apr 2015 22:06:06 +0000 (22:06 +0000)]
Do not mistreat empty arguments to font alternating macros
as vertical spacing requests. Bug found with xmahjongg(6).
rpe [Mon, 6 Apr 2015 21:36:56 +0000 (21:36 +0000)]
Moar comments !! Explain what's going on during install / upgrade.
OK krw@
tedu [Mon, 6 Apr 2015 20:49:41 +0000 (20:49 +0000)]
bludgeon DES support out of crypt. long live the bcrypt.
kettenis [Mon, 6 Apr 2015 18:30:22 +0000 (18:30 +0000)]
Add support for an efi-app-x86_64 target. Needed for UEFI bootloader work.
ok mlarkin@
kettenis [Mon, 6 Apr 2015 18:29:27 +0000 (18:29 +0000)]
Add support for an efi-app-x86_64 target. Needed for UEFI bootloader work.
ok mlarkin@
jsg [Mon, 6 Apr 2015 15:43:15 +0000 (15:43 +0000)]
Move almost all of the linux compat from drmP.h to drm_linux.h.
The exception being the barrier defines that are implemented in terms of
DRM_* defines.
ok kettenis@
schwarze [Mon, 6 Apr 2015 14:58:53 +0000 (14:58 +0000)]
On a new RS nesting level, the saved width starts from the default
width, not from the saved width of the previous level.
Improves xterm(1) and XSetEventQueueOwner(3); found in transcode_filter(1).
jsg [Mon, 6 Apr 2015 14:32:55 +0000 (14:32 +0000)]
switch back from roundup2() and roundup() to round_up()