dragonfly.git
3 years agoTRIM support
Tim [Fri, 7 Oct 2011 18:27:15 +0000 (11:27 -0700)]
TRIM support

Signed-off-by: Samuel J. Greear <sjg@thesjg.com>
3 years agokernel -- Resolve NULL ptr dereference in fill_kinfo_proc.
Venkatesh Srinivas [Fri, 7 Oct 2011 19:45:03 +0000 (12:45 -0700)]
kernel -- Resolve NULL ptr dereference in fill_kinfo_proc.

Reported-by: Justin Sherrill
3 years agokernel - Fix bug in lwkt_token_swap()
Matthew Dillon [Fri, 7 Oct 2011 07:22:09 +0000 (00:22 -0700)]
kernel - Fix bug in lwkt_token_swap()

* Fix a bug where lwkt_token_swap() would incorrectly assign the ref
  pointer when the top two tokens on the stack are the same token.

  When swapping the top two tokens where tok1 == tok2, the token
  can wind up being repointed to the top ref instead of the deeper
  ref.  When the top ref is released this caused the token to also
  release even though there was another deeper ref to the same
  token.

* Effected the vm_object traversal code and could cause an object token
  to be effectively lost without triggering a panic, resulting in
  corruption.

3 years agox86_64 - Remove unneeded globaldata.c file.
Antonio Huete Jimenez [Thu, 6 Oct 2011 15:46:52 +0000 (17:46 +0200)]
x86_64 - Remove unneeded globaldata.c file.

Functions globaldata_find(), cpu_gdinit() and is_globaldata_space()
are correctly defined in machdep.c.

3 years agokernel -- Add pool spinlocks interface.
Venkatesh Srinivas [Thu, 6 Oct 2011 01:40:03 +0000 (18:40 -0700)]
kernel -- Add pool spinlocks interface.

3 years agoMake pkgsrc-2011q3 default instead of 2011q1.
Justin C. Sherrill [Wed, 5 Oct 2011 14:18:04 +0000 (10:18 -0400)]
Make pkgsrc-2011q3 default instead of 2011q1.

3 years agokernel - Fix spin lock held across contigfree/kfree in bounce code
Matthew Dillon [Tue, 4 Oct 2011 14:58:38 +0000 (07:58 -0700)]
kernel - Fix spin lock held across contigfree/kfree in bounce code

* Fix an issue where a spin lock is being held across too-complex a
  procedure call.  The bounce page is isolated once removed from its
  list so we can release the lock while issuing the calls, then
  re-acquire it.

Reported-by: Antonio Huete Jimenez <tuxillo@quantumachine.net>
3 years agoImport proplib from NetBSD
François Tigeot [Sat, 1 Oct 2011 11:07:35 +0000 (13:07 +0200)]
Import proplib from NetBSD

- main change: fix for an implementation inconsistency with the
prop_*_send_syscall() and prop_*_recv_syscall() functions
NetBSD commit message:
http://mail-index.netbsd.org/source-changes/2011/09/30/msg027701.html

- some unrelated minor fixes

3 years agoRaise default .Os value for the manual pages to 2.13 on master.
Sascha Wildner [Tue, 4 Oct 2011 05:33:45 +0000 (07:33 +0200)]
Raise default .Os value for the manual pages to 2.13 on 

3 years ago2.13 update. v2.13.0
Justin C. Sherrill [Tue, 4 Oct 2011 02:45:25 +0000 (19:45 -0700)]
2.13 update.

3 years agofsdb(8): Raise WARNS to 1.
Sascha Wildner [Sat, 1 Oct 2011 19:28:37 +0000 (21:28 +0200)]
fsdb(8): Raise WARNS to 1.

3 years agokernel - VM MPSAFE fixes
Venkatesh Srinivas [Fri, 30 Sep 2011 12:42:00 +0000 (05:42 -0700)]
kernel - VM MPSAFE fixes

* Apply amd64 PMAP fixes from a5fc46c91597d0af0cfa8fd257b4a8ed6e1cf341 to i386

* Hold vm_object in vm_swapcache_cleaning()

3 years agokernel - Numerous VM MPSAFE fixes
Matthew Dillon [Thu, 29 Sep 2011 21:46:42 +0000 (14:46 -0700)]
kernel - Numerous VM MPSAFE fixes

* Remove most critical sections from the VM subsystem, these are no longer
  applicable (vm_token covers the access).

* _pmap_allocpte() for x86-64 - Conditionalize the zeroing of the vm_page
  after the grab.  The grab can race other threads and result in a page
  which had already been zero'd AND populated with pte's, so we can't just
  zero it.

  Use m->valid to determine if the page is actually newly allocated or not.

  NOTE: The 32 bit code already properly zeros the page by detecting whether
the pte has already been entered or not.  The 64-bit code couldn't
do this neatly so we used another method.

* Hold the pmap vm_object in pmap_release() and pmap_object_init_pt() for
  the x86-64 pmap code.  This prevents related loops from blocking on the
  pmap vm_object when freeing VM pages which is not expected by the code.

* pmap_copy() for x86-64 needs the vm_token, critical sections are no longer
  sufficient.

* Assert that PG_MANAGED is set when clearing pte's out of a pmap via the
  PV entries.  The pte's must exist in this case and it's a critical panic
  if they don't.

* pmap_replacevm() for x86-64 - Adjust newvm->vm_sysref prior to assigning
  it to p->p_vmspace to handle any potential MP races with other sysrefs
  on the vmspace.

* faultin() needs p->p_token, not proc_token.

* swapout_procs_callback() needs p->p_token.

* Deallocate the VM object associated with a vm_page after freeing the
  page instead of before freeing the page.  This fixes a potential
  use-after-refs-transition-to-0 case if a MP race occurs.

3 years agoResurrect z*grep script to support gzip'ped files.
YONETANI Tomokazu [Thu, 29 Sep 2011 00:00:41 +0000 (09:00 +0900)]
Resurrect z*grep script to support gzip'ped files.

3 years agohammer(8): snaprm: fix edge case
Thomas Nikolajsen [Tue, 27 Sep 2011 05:35:01 +0000 (07:35 +0200)]
hammer(8): snaprm: fix edge case

Ensure that @@transid is at end of symlink.

3 years agohammer(8): fix snaprm argument parsing
Thomas Nikolajsen [Mon, 26 Sep 2011 19:20:27 +0000 (21:20 +0200)]
hammer(8): fix snaprm argument parsing

Parse arguments according to SYNOPSIS.
snaprm didn't parse arguments fully:
e.g. PFS symlink was deleted if given as only argument.

DragonFly-bug: <http://bugs.dragonflybsd.org/issue2111>
Submitted-by: fix based on patch from "sgaerner@gmx.net"
3 years agohammer(8): whitespace cleanup: delete blank at end of line
Thomas Nikolajsen [Mon, 26 Sep 2011 19:18:11 +0000 (21:18 +0200)]
hammer(8): whitespace cleanup: delete blank at end of line

3 years agoSync zoneinfo database with tzdata2011k from elsie.nci.nih.gov
Sascha Wildner [Mon, 26 Sep 2011 15:27:01 +0000 (17:27 +0200)]
Sync zoneinfo database with tzdata2011k from elsie.nci.nih.gov

asia:           8.65 -> 8.68
europe:         8.34 -> 8.38
northamerica:   8.48 -> 8.49
zone.tab:       8.47 -> 8.49

* asia: Palestine suspends DST during Ramadan in 2011; Gaza and Hebron
    split in 2011, leading to a new Asia/Hebron zone (thanks to
    Steffen Thorsen and Alexander Krivenshev). The different end of DST
    in Gaza and Hebron in 2008 is also reflected.

* europe: Belarus adopts permanent DST in 2011 (thanks to Yauhen Kharuzhy,
    Alexander Bokovoy, Alexander Krivenyshev, and Kirill A. Shutemov).
    Ukraine adopts permanent DST in 2011 (thanks to Alexander Krivenyshev).
    "Russia" rules changed to reflect end of use in 2010. "FET" used as
    abbreviation for Belarus, Ukraine, and western Russia (thanks to
    Paul Eggert). Also: a comment typo is fixed.

* northamerica: Updated comment on Newfoundland's 2011 change of time of
    day when DST starts and ends (thanks to Michael Pelley).

* zone.tab: New Asia/Hebron zone (thanks to Alexander Krivenshev).

3 years agokernel -- vfs_bio.c: Rework bread() in terms of breadn().
Venkatesh Srinivas [Mon, 26 Sep 2011 02:12:20 +0000 (19:12 -0700)]
kernel -- vfs_bio.c: Rework bread() in terms of breadn().

3 years agopoll(2): Set POLLERR properly
Sepherosa Ziehau [Sun, 25 Sep 2011 14:19:19 +0000 (22:19 +0800)]
poll(2): Set POLLERR properly

If the other side closed the connection and error happens (so_error != 0)
POLLERR is turned on accordingly.

3 years agotruss(1): On a second thought, keep the old entries.
Sascha Wildner [Sun, 25 Sep 2011 00:29:55 +0000 (02:29 +0200)]
truss(1): On a second thought, keep the old entries.

3 years agotruss(1): Remove an 'a' that sneaked in.
Sascha Wildner [Sun, 25 Sep 2011 00:21:58 +0000 (02:21 +0200)]
truss(1): Remove an 'a' that sneaked in.

3 years agotruss(1): Adjust for 315b8b8b77c1101b25fef36483a8d0474a1befb2.
Sascha Wildner [Sun, 25 Sep 2011 00:18:49 +0000 (02:18 +0200)]
truss(1): Adjust for 315b8b8b77c1101b25fef36483a8d0474a1befb2.

We changed to "DragonFly ELF{32,64}."

3 years agopatch(1): Don't try to mmap a zero length file.
Sascha Wildner [Sun, 25 Sep 2011 00:14:58 +0000 (02:14 +0200)]
patch(1): Don't try to mmap a zero length file.

Found-in: NetBSD

3 years agosys_socketpair: Free socketpair file descriptors if copyout() fails.
Venkatesh Srinivas [Sat, 24 Sep 2011 18:02:48 +0000 (11:02 -0700)]
sys_socketpair: Free socketpair file descriptors if copyout() fails.

3 years agofifo: Restore the old semantics of select(2)/poll(2) for reading
Sepherosa Ziehau [Sat, 24 Sep 2011 14:16:13 +0000 (22:16 +0800)]
fifo: Restore the old semantics of select(2)/poll(2) for reading

select(2)/poll(2) for reading on a fifo should not return "ready
to read" if all of the writers have closed the fifo.

DragonFly-Bug: http://bugs.dragonflybsd.org/issue2028

3 years agokernel -- vm_page_dontneed: Fix interaction with vm_page_madvise and pagedaemon
Venkatesh Srinivas [Sat, 24 Sep 2011 13:41:13 +0000 (06:41 -0700)]
kernel -- vm_page_dontneed: Fix interaction with vm_page_madvise and pagedaemon

vm_page_dontneed didn't clear the PG_REFERENCED flag on pages it is
deactivating. The pagedaemon would see references on the page (via
PG_REFERENCED) and reactivate it, undoing the effect of vm_page_dontneed.

3 years agostdio: Add __printflike for dprintf(3) and vdprintf(3)
Sepherosa Ziehau [Fri, 23 Sep 2011 08:54:59 +0000 (16:54 +0800)]
stdio: Add __printflike for dprintf(3) and vdprintf(3)

Noticed-by: "Xia Zuoling" <zeroxia@gmail.com>
3 years agokevent: Restore old EV_EOF semantics
Sepherosa Ziehau [Fri, 23 Sep 2011 06:23:53 +0000 (14:23 +0800)]
kevent: Restore old EV_EOF semantics

- EV_EOF should be set when the other side closed the connection, even
  if there are data pending in the read buffer (the old semantics).
- EV_NODATA is added to indicate there are no more data pending in the
  buffer and EOF is detected (EV_EOF is also set in this situation).

Kernel code now tests EV_NODATA instead of EV_EOF, since EV_NODATA
delivers the information which was delivered by the EV_EOF before
this commit.

DragonFly-Bug: http://bugs.dragonflybsd.org/issue1998

3 years agoselect(2)/kevent: Bail out immediately if EV_ERROR is set.
Sepherosa Ziehau [Fri, 23 Sep 2011 03:54:02 +0000 (11:54 +0800)]
select(2)/kevent: Bail out immediately if EV_ERROR is set.

By setting *res to -1, if kevent registration failed, select(2)
will return error properly.

3 years agoAdd header guard to mntopts.h
Venkatesh Srinivas [Fri, 23 Sep 2011 03:52:47 +0000 (20:52 -0700)]
Add header guard to mntopts.h

3 years agokevent(2): Set errno properly
Sepherosa Ziehau [Fri, 23 Sep 2011 01:51:05 +0000 (09:51 +0800)]
kevent(2): Set errno properly

If we can't deliver the registration failure information in the
changelist, then we should set the errno properly.

3 years ago<ucontext.h>: Conditionalize prototypes for {get,set,make,swap}context().
Sascha Wildner [Wed, 21 Sep 2011 05:48:43 +0000 (07:48 +0200)]
<ucontext.h>: Conditionalize prototypes for {get,set,make,swap}context().

They are gone per OpenGroup Specifications Issue 7.

However, keep them visible in our default environment.

3 years agoUpdate files for file-5.09 import.
Peter Avalos [Wed, 21 Sep 2011 02:34:55 +0000 (19:34 -0700)]
Update files for file-5.09 import.

3 years agoMerge branch 'vendor/FILE'
Peter Avalos [Wed, 21 Sep 2011 02:34:15 +0000 (19:34 -0700)]
Merge branch 'vendor/FILE'

3 years agoImport file-5.09.
Peter Avalos [Wed, 21 Sep 2011 02:25:31 +0000 (19:25 -0700)]
Import file-5.09.

* Don't wait for any subprocess, just the one we forked.
* If the application name is not set in a cdf file, try to see
  if it has a directory with the application name on it.
* Fix ELF lseek(2) madness. Inspired by PR/134 by Jan Kaluza
* Don't use variable string formats.
* Fix detection of Zip files (Mantis #128).
* Make some minor improvements to file(1).
* Rename MIME types for filesystem objects for consistency with
  xdg-utils. Typically this means that application/x-foo becomes
  inode/foo, but some names also change slightly, e.g.
  application/x-character-device becomes inode/chardevice.

3 years agoUpdate files for OpenSSL-1.0.0e import.
Peter Avalos [Wed, 21 Sep 2011 02:14:37 +0000 (19:14 -0700)]
Update files for OpenSSL-1.0.0e import.

3 years agoMerge branch 'vendor/OPENSSL'
Peter Avalos [Wed, 21 Sep 2011 00:38:06 +0000 (17:38 -0700)]
Merge branch 'vendor/OPENSSL'

3 years agoImport OpenSSL-1.0.0e.
Peter Avalos [Wed, 21 Sep 2011 00:22:53 +0000 (17:22 -0700)]
Import OpenSSL-1.0.0e.

      o Fix for CRL vulnerability issue CVE-2011-3207
      o Fix for ECDH crashes CVE-2011-3210
      o Protection against EC timing attacks.
      o Support ECDH ciphersuites for certificates using SHA2 algorithms.
      o Various DTLS fixes.

3 years agoUpdate files for OpenSSH-5.9p1 import.
Peter Avalos [Tue, 20 Sep 2011 23:58:41 +0000 (16:58 -0700)]
Update files for OpenSSH-5.9p1 import.

3 years agoMerge branch 'vendor/OPENSSH'
Peter Avalos [Tue, 20 Sep 2011 23:41:15 +0000 (16:41 -0700)]
Merge branch 'vendor/OPENSSH'

3 years agoBring in a compat file needed for latest OpenSSH import.
Peter Avalos [Tue, 20 Sep 2011 23:39:31 +0000 (16:39 -0700)]
Bring in a compat file needed for latest OpenSSH import.

3 years agoMerge branch 'vendor/OPENSSH'
Peter Avalos [Tue, 20 Sep 2011 22:50:56 +0000 (15:50 -0700)]
Merge branch 'vendor/OPENSSH'

3 years agoImport OpenSSH-5.9p1.
Peter Avalos [Tue, 20 Sep 2011 22:19:10 +0000 (15:19 -0700)]
Import OpenSSH-5.9p1.

 * Introduce sandboxing of the pre-auth privsep child using an optional
   sshd_config(5) "UsePrivilegeSeparation=sandbox" mode that enables
   mandatory restrictions on the syscalls the privsep child can perform.
   This intention is to prevent a compromised privsep child from being
   used to attack other hosts (by opening sockets and proxying) or
   probing local kernel attack surface.

   The rlimit sandbox is a fallback choice for platforms that don't
   support a better one; it uses setrlimit() to reset the hard-limit
   of file descriptors and processes to zero, which should prevent
   the privsep child from forking or opening new network connections.

 * Add new SHA256-based HMAC transport integrity modes from
   http://www.ietf.org/id/draft-dbider-sha2-mac-for-ssh-02.txt
   These modes are hmac-sha2-256, hmac-sha2-256-96, hmac-sha2-512,
   and hmac-sha2-512-96, and are available by default in ssh(1) and
   sshd(8)

 * The pre-authentication sshd(8) privilege separation slave process
   now logs via a socket shared with the master process, avoiding the
   need to maintain /dev/log inside the chroot.

 * ssh(1) now warns when a server refuses X11 forwarding

 * sshd_config(5)'s AuthorizedKeysFile now accepts multiple paths,
   separated by whitespace. The undocumented AuthorizedKeysFile2
   option is deprecated (though the default for AuthorizedKeysFile
   includes .ssh/authorized_keys2)

 * sshd_config(5): similarly deprecate UserKnownHostsFile2 and
   GlobalKnownHostsFile2 by making UserKnownHostsFile and
   GlobalKnownHostsFile accept multiple options and default to
   include known_hosts2

 * Retain key comments when loading v.2 keys. These will be visible
   in "ssh-add -l" and other places. bz#439

 * ssh(1) and sshd(8): set IPv6 traffic class from IPQoS (as well as
   IPv4 ToS/DSCP). bz#1855

 * ssh_config(5)'s ControlPath option now expands %L to the host
   portion of the destination host name.

 * ssh_config(5) "Host" options now support negated Host matching, e.g.

     Host *.example.org !c.example.org
        User mekmitasdigoat

   Will match "a.example.org", "b.example.org", but not "c.example.org"

 * ssh_config(5): a new RequestTTY option provides control over when a
   TTY is requested for a connection, similar to the existing -t/-tt/-T
   ssh(1) commandline options.

 * sshd(8): allow GSSAPI authentication to detect when a server-side
   failure causes authentication failure and don't count such failures
   against MaxAuthTries; bz#1244

 * ssh-keygen(1): Add -A option. For each of the key types (rsa1, rsa,
   dsa and ecdsa) for which host keys do not exist, generate the host
   keys with the default key file path, an empty passphrase, default
   bits for the key type, and default comment. This is useful for
   system initialization scripts.

 * ssh(1): Allow graceful shutdown of multiplexing: request that a mux
   server removes its listener socket and refuse future multiplexing
   requests but don't kill existing connections. This may be requested
   using "ssh -O stop ..."

 * ssh-add(1) now accepts keys piped from standard input. E.g.
   "ssh-add - < /path/to/key"

 * ssh-keysign(8) now signs hostbased authentication
   challenges correctly using ECDSA keys; bz#1858

 * sftp(1): document that sftp accepts square brackets to delimit
   addresses (useful for IPv6); bz#1847a

 * ssh(1): when using session multiplexing, the master process will
   change its process title to reflect the control path in use and
   when a ControlPersist-ed master is waiting to close; bz#1883 and
   bz#1911

 * Other minor bugs fixed: 1849 1861 1862 1869 1875 1878 1879 1892
   1900 1905 1913

3 years agolibarchive: Bump WARNS down for vendor-induced warnings.
Peter Avalos [Tue, 20 Sep 2011 21:51:40 +0000 (14:51 -0700)]
libarchive: Bump WARNS down for vendor-induced warnings.

3 years agoMerge branch 'vendor/LIBARCHIVE'
Peter Avalos [Tue, 20 Sep 2011 21:36:20 +0000 (14:36 -0700)]
Merge branch 'vendor/LIBARCHIVE'

3 years agoImport libarchive-2.8.5.
Peter Avalos [Tue, 20 Sep 2011 21:15:23 +0000 (14:15 -0700)]
Import libarchive-2.8.5.

* Now reads ISO images created by NetBSD makefs and other tools.
* Relax an lzma compression test to remove false negatives.
* Better handling of open failures and interrupted writes.
* Corrected compile warnings on various platforms.

3 years agolibc/x86_64: Remove duplicate file in a Makefile.
Sascha Wildner [Tue, 20 Sep 2011 20:20:26 +0000 (22:20 +0200)]
libc/x86_64: Remove duplicate file in a Makefile.

3 years agoubsec(4) - update man page
Alex Hornung [Tue, 20 Sep 2011 10:00:23 +0000 (11:00 +0100)]
ubsec(4) - update man page

Obtained-from: FreeBSD

3 years agoubsec - Fix & update
Alex Hornung [Tue, 20 Sep 2011 09:14:29 +0000 (10:14 +0100)]
ubsec - Fix & update

 * Fix ubsec(4) to work with our updated opencrypto. The main problem
   was that the argument to newsession, freesession, process and
   kprocess changed from an arbitrary arg (set to softc) to a device_t.

 * Update bits and pieces from FreeBSD, such as cleaning up the code a
   bit and adding support for bcm5825.

Tested with a BCM5821 PCI-x card.

3 years agomachintr/x86_64: Function renaming; no functional changes
Sepherosa Ziehau [Sun, 18 Sep 2011 13:10:32 +0000 (21:10 +0800)]
machintr/x86_64: Function renaming; no functional changes

3 years agoclock: register_int and unregister_int will enable/disable interrupt
Sepherosa Ziehau [Sun, 18 Sep 2011 13:14:42 +0000 (21:14 +0800)]
clock: register_int and unregister_int will enable/disable interrupt

3 years agomachintr/i386: Function renaming; no functional changes
Sepherosa Ziehau [Sun, 18 Sep 2011 12:05:32 +0000 (20:05 +0800)]
machintr/i386: Function renaming; no functional changes

3 years agotcp.4: Add document for TCP_KEEP{INIT,IDLE,INTVL,CNT}
Sepherosa Ziehau [Fri, 16 Sep 2011 08:44:56 +0000 (16:44 +0800)]
tcp.4: Add document for TCP_KEEP{INIT,IDLE,INTVL,CNT}

3 years agotcp.4: Document net.inet.tcp.keepcnt
Sepherosa Ziehau [Fri, 16 Sep 2011 08:27:17 +0000 (16:27 +0800)]
tcp.4: Document net.inet.tcp.keepcnt

3 years agotcp: Add comment for the keepinit and keepalive related stuffs
Sepherosa Ziehau [Fri, 16 Sep 2011 08:13:23 +0000 (16:13 +0800)]
tcp: Add comment for the keepinit and keepalive related stuffs

3 years agotcp: Remove no longer used tcp_slowtimo
Sepherosa Ziehau [Fri, 16 Sep 2011 08:06:03 +0000 (16:06 +0800)]
tcp: Remove no longer used tcp_slowtimo

3 years agotcp: Allow per-tcpcb keepintvl and keepcnt
Sepherosa Ziehau [Fri, 16 Sep 2011 07:53:37 +0000 (15:53 +0800)]
tcp: Allow per-tcpcb keepintvl and keepcnt

- Expose tcp_keepcnt
- Add t_keepintvl, t_keepcnt and t_maxidle to tcpcb.  t_keepintvl and
  t_keepcnt is initialized to tcp_keepintvl and tcp_keepcnt respectively.
  t_maxidle is initialized to t_keepcnt * t_keepintvl
- The accepted socket's t_keepintvl, t_keepcnt and t_maxidle is inherited
  from the listen socket
- Add IPPROTO_TCP/TCP_KEEPINTVL and IPPROTO_TCP.TCP_KEEPCNT socket options
  to get and set t_keepintvl and t_keepcnt.  TCP_KEEPINTVL's unit is
  milliseconds, which is as same as the unit of the sysctl node
  net.inet.tcp.keepintvl
- Remove no longer used tcp_maxidle

3 years agotcp: Allow per-tcpcb keepidle
Sepherosa Ziehau [Fri, 16 Sep 2011 07:13:22 +0000 (15:13 +0800)]
tcp: Allow per-tcpcb keepidle

- Add t_keepidle to tcpcb, it is initialized to tcp_keepidle
- The accepted socket's t_keepidle is inherited from the listen socket
- Add IPPROTO_TCP/TCP_KEEPIDLE socket option to get and set t_keepidle.
  The unit is milliseconds, which is as same as the unit of the sysctl
  node net.inet.tcp.keepidle

3 years agotcp: Allow per-tcpcb keepinit
Sepherosa Ziehau [Fri, 16 Sep 2011 06:41:13 +0000 (14:41 +0800)]
tcp: Allow per-tcpcb keepinit

- Add t_keepinit to tcpcb, it is initialized to tcp_keepinit
- The accepted socket's t_keepinit is inherited from the listen socket
- Add IPPROTO_TCP/TCP_KEEPINIT socket option to get and set t_keepinit.
  The unit is milliseconds, which is as same as the unit of the sysctl
  node net.inet.tcp.keepinit

3 years agotcp: Expose tcp_keepcnt through sysctl net.inet.tcp.keepcnt
Sepherosa Ziehau [Fri, 16 Sep 2011 06:06:46 +0000 (14:06 +0800)]
tcp: Expose tcp_keepcnt through sysctl net.inet.tcp.keepcnt

3 years agokernel - Fix various memory & swap leaks in tmpfs
Matthew Dillon [Thu, 15 Sep 2011 06:25:03 +0000 (23:25 -0700)]
kernel - Fix various memory & swap leaks in tmpfs

* tmpfs was using a vref() instead of a vget() (cache_vget() to be precise)
  which does not necessarily reactivate an inactive vnode.  This can cause
  the vnode to languish in the vnode cache even when the underlying file
  has been removed and no longer has any open() descriptors.

* tmpfs_nrmdir(), tmpfs_nremove(), and tmpfs_nrename() (for target replacement
  renames) was effected.

Reported-by: sephe and others, tested by sephe, dillon
3 years agoMachIntrABI: Field rename; no functional changes
Sepherosa Ziehau [Wed, 14 Sep 2011 13:32:37 +0000 (21:32 +0800)]
MachIntrABI: Field rename; no functional changes

3 years agoi386/files: isa/clock.c is clean enough to compile w/ -Werror
Sepherosa Ziehau [Wed, 14 Sep 2011 13:31:12 +0000 (21:31 +0800)]
i386/files: isa/clock.c is clean enough to compile w/ -Werror

3 years agoopen_memstream.3: A little bit of cleanup.
Sascha Wildner [Tue, 13 Sep 2011 02:33:35 +0000 (04:33 +0200)]
open_memstream.3: A little bit of cleanup.

3 years agolibc: Prototype and manual page for open_memstream.
Venkatesh Srinivas [Mon, 12 Sep 2011 20:35:15 +0000 (13:35 -0700)]
libc: Prototype and manual page for open_memstream.

3 years agoSync zoneinfo database with tzdata2011j from elsie.nci.nih.gov
Sascha Wildner [Mon, 12 Sep 2011 14:02:12 +0000 (16:02 +0200)]
Sync zoneinfo database with tzdata2011j from elsie.nci.nih.gov

africa:         8.32 -> 8.33
australasia:    8.25 -> 8.27

* africa: Four instances of 2:44:45 changed to 2:45 (one in a comment,
    one each in zones Africa/Dar_es_Salaam, Africa/Kampala, Africa/Nairobi)
    (thanks to Jules Descartes)

* australasia: Samoa uses DST in 2011-2012 (thanks to Laupue Raymond Hughes)

3 years agoMachIntrABI: Split vectorctl into intr_setup and intr_teardown
Sepherosa Ziehau [Mon, 12 Sep 2011 12:57:34 +0000 (20:57 +0800)]
MachIntrABI: Split vectorctl into intr_setup and intr_teardown

3 years agoUPDATING: Add some words about the ISA only drivers I removed recently.
Sascha Wildner [Mon, 12 Sep 2011 11:53:09 +0000 (13:53 +0200)]
UPDATING: Add some words about the ISA only drivers I removed recently.

3 years agolibc: Initial implementation of open_memstream.
Venkatesh Srinivas [Mon, 12 Sep 2011 05:12:47 +0000 (22:12 -0700)]
libc: Initial implementation of open_memstream.

open_memstream allows wrapping a buffer via the FILE * interface; the
buffer is dynamically allocated and automatically expanding. The interface
appeared in POSIX 2008.

This implementation doesn't validate seek offsets and doesn't currently
handle SEEK_END.

3 years agokernel: mmap -- Return EINVAL for len = 0 mmap.
Venkatesh Srinivas [Mon, 12 Sep 2011 03:46:07 +0000 (20:46 -0700)]
kernel: mmap -- Return EINVAL for len = 0 mmap.

Closes bug: 2131

3 years agoUpdate fmemopen from NetBSD.
Venkatesh Srinivas [Mon, 12 Sep 2011 02:33:22 +0000 (19:33 -0700)]
Update fmemopen from NetBSD.

NetBSD's version of fmemopen() was more correct than our own wrt error
handling and handling seeks at the tail of buffers. We now pass the ATF
fmemopen test set, with the exception of test08; that problem is related to
malloc return for SIZE_MAX requests.

Changes:
* Modified NetBSD's fmemopen to work with our libc's private FILE struct
* Modified fmemopen_read() to use bcopy() rather than a byte-at-a-time loop

3 years agoSome cleanup in the ndis manpages.
Sascha Wildner [Sat, 10 Sep 2011 18:13:00 +0000 (20:13 +0200)]
Some cleanup in the ndis manpages.

3 years agondis(4): Remove comment that doesn't apply to us.
Sascha Wildner [Sat, 10 Sep 2011 18:12:24 +0000 (20:12 +0200)]
ndis(4): Remove comment that doesn't apply to us.

3 years agokernel: Fix UP remove the "race averted" msg in callout_terminate().
Sascha Wildner [Fri, 9 Sep 2011 16:42:16 +0000 (18:42 +0200)]
kernel: Fix UP remove the "race averted" msg in callout_terminate().

3 years agoFix the VKERNEL/VKERNEL64 build.
Sascha Wildner [Thu, 8 Sep 2011 17:16:42 +0000 (19:16 +0200)]
Fix the VKERNEL/VKERNEL64 build.

Stuff dt_lock into <machine/segments.h>.

3 years agokernel - Add missing prototype for last commit
Matthew Dillon [Wed, 7 Sep 2011 22:54:54 +0000 (15:54 -0700)]
kernel - Add missing prototype for last commit

* Add missing prototype for last commit

3 years agokernel - Fix panic related to kqueue-based timers
Matthew Dillon [Wed, 7 Sep 2011 22:48:07 +0000 (15:48 -0700)]
kernel - Fix panic related to kqueue-based timers

* Fix a panic related to kqueue-based timers.  When a knote is destroyed it
  is possible for the callout_stop() to race a callout on another cpu that
  is blocked on a lock.

* Introduce callout_terminate() which stops a callout and ensures that no
  function calls for the callout is still in progress before returning.
  The kevent code now uses this function instead of callout_stop().

* We can't have this assurance for the normal callout_stop() function because
  it can deadlock a backend stuck waiting for a lock when a frontend holding
  that lock calls callout_stop().

Reported-by: Antonio Huete Jimenez <tuxillo@quantumachine.net>
3 years agoSync ndis(4) and tools with FreeBSD and hook it all back into the build.
Sascha Wildner [Wed, 7 Sep 2011 20:28:06 +0000 (22:28 +0200)]
Sync ndis(4) and tools with FreeBSD and hook it all back into the build.

It supports NDIS 5.x drivers, that means Windows XP and Server 2003.
The latter is an educated guess by me. No testing has actually been
done using Windows Server 2003 drivers.

It is tested on i386 with the following PCI adapters:

* D-Link DWL-G520+ (Texas Instruments ACX111 chip), aka acx(4).

* Linksys WMP600N (Ralink RT2860 chip).

* Planex GW-DS54GR (Realtek RTL8185 chip) which was kindly donated by
  sephe.

Thanks to Max Herrgard <herrgard@gmail.com> for testing it on x86_64
with a CNet CWP-854 (Ralink RT2561T chip), aka ral(4).

Note that this port has the following caveats:

* PCI adapters need hw.ioapic_enable=0 in /boot/loader.conf but worked
  great then. Without it, the box will completely freeze after a while.
  This has been observed on both my own testing box as well as on a
  different box by Max Herrgard. The cause is yet unknown. :-(

* PC Card adapters are untested (they might just work).

* USB adapters are not yet stable at all. Panics might ensue.

Taken-from: FreeBSD

3 years agokernel: Add dt_lock (for GDT and LDT).
Sascha Wildner [Wed, 7 Sep 2011 20:10:53 +0000 (22:10 +0200)]
kernel: Add dt_lock (for GDT and LDT).

3 years agokernel: Add m_extadd().
Sascha Wildner [Thu, 30 Dec 2010 08:16:56 +0000 (09:16 +0100)]
kernel: Add m_extadd().

3 years agoFix some typos: in to -> into.
Sascha Wildner [Wed, 7 Sep 2011 14:11:08 +0000 (16:11 +0200)]
Fix some typos: in to -> into.

3 years agoetc/rc.d/wpa_supplicant: Fix broken check for ndis(4) interfaces.
Sascha Wildner [Wed, 7 Sep 2011 13:26:53 +0000 (15:26 +0200)]
etc/rc.d/wpa_supplicant: Fix broken check for ndis(4) interfaces.

With the new wlan stack, we need to check a sysctl to determine if it
is an ndis(4) interface because it is now wlanX that gets passed to
the script.

Depending on this, wpa_supplicant(8) will be started with either
"-D bsd" or "-D ndis".

Reported-by: Max Herrgard <herrgard@gmail.com>
Taken-from:  FreeBSD

3 years agoinstall.1: One more markup fix.
Sascha Wildner [Wed, 7 Sep 2011 09:00:53 +0000 (11:00 +0200)]
install.1: One more markup fix.

3 years agoinstall.1: A little cleanup.
Sascha Wildner [Wed, 7 Sep 2011 08:53:18 +0000 (10:53 +0200)]
install.1: A little cleanup.

3 years agoAdd a -D option to install(1)
François Tigeot [Wed, 7 Sep 2011 07:37:22 +0000 (09:37 +0200)]
Add a -D option to install(1)

This option is implemented for compatibility with the NetBSD version of
install(1). Even though its code is fully operating, it is only useful
when used in combination with the non-implemented -M NetBSD flag.

Thus, it is effectively a dummy as of the present commit.

3 years agokernel: Add linker_file_foreach() (taken from FreeBSD).
Sascha Wildner [Wed, 29 Dec 2010 16:39:38 +0000 (17:39 +0100)]
kernel: Add linker_file_foreach() (taken from FreeBSD).

3 years ago<net/ethernet.h>: Add ETHER_MAX_FRAME (taken from FreeBSD).
Sascha Wildner [Wed, 29 Dec 2010 15:55:59 +0000 (16:55 +0100)]
<net/ethernet.h>: Add ETHER_MAX_FRAME (taken from FreeBSD).

3 years agomachintr.h: Add header guardian
Sepherosa Ziehau [Mon, 5 Sep 2011 11:52:13 +0000 (19:52 +0800)]
machintr.h: Add header guardian

3 years agoMachIntrABI: Remove unused setvar/getvar interfaces
Sepherosa Ziehau [Mon, 5 Sep 2011 11:42:41 +0000 (19:42 +0800)]
MachIntrABI: Remove unused setvar/getvar interfaces

3 years agomachintr.h: Remove unnecessary inclusion
Sepherosa Ziehau [Mon, 5 Sep 2011 11:21:24 +0000 (19:21 +0800)]
machintr.h: Remove unnecessary inclusion

3 years agobfq.4: Fix and improve a bit.
Sascha Wildner [Sat, 3 Sep 2011 18:18:32 +0000 (20:18 +0200)]
bfq.4: Fix and improve a bit.

3 years agodsched.4: Add a reference to bfq(4).
Sascha Wildner [Sat, 3 Sep 2011 18:17:13 +0000 (20:17 +0200)]
dsched.4: Add a reference to bfq(4).

3 years agopsm.4: Use %O for URLs. We don't have %U yet.
Sascha Wildner [Sat, 3 Sep 2011 18:16:25 +0000 (20:16 +0200)]
psm.4: Use %O for URLs. We don't have %U yet.

3 years agousb.4: Add a reference to lgue(4).
Sascha Wildner [Fri, 2 Sep 2011 20:12:30 +0000 (22:12 +0200)]
usb.4: Add a reference to lgue(4).

3 years agokernel: Use NULL for DRIVER_MODULE()'s evh & arg (which are pointers).
Sascha Wildner [Fri, 2 Sep 2011 20:07:03 +0000 (22:07 +0200)]
kernel: Use NULL for DRIVER_MODULE()'s evh & arg (which are pointers).

3 years agonetif/e1000: Add a missing include file to the Makefile.
Sascha Wildner [Fri, 2 Sep 2011 18:41:12 +0000 (20:41 +0200)]
netif/e1000: Add a missing include file to the Makefile.

Reported-by: Miro Svetlik <miro@svetlik.be>
3 years agoacpi/pcib: Use DEFINE_CLASS_1 to define acpi_pcib driver
Sepherosa Ziehau [Fri, 2 Sep 2011 11:48:11 +0000 (19:48 +0800)]
acpi/pcib: Use DEFINE_CLASS_1 to define acpi_pcib driver

This avoids code duplication and maintenance headache

3 years agopci: Declare pcib_driver
Sepherosa Ziehau [Fri, 2 Sep 2011 11:47:56 +0000 (19:47 +0800)]
pci: Declare pcib_driver

3 years agoThird parameter of VFS_STATFS is no longer struct proc *
François Tigeot [Thu, 1 Sep 2011 21:48:59 +0000 (23:48 +0200)]
Third parameter of VFS_STATFS is no longer struct proc *