]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
9 years agoChange the type of the first argument to the I/O emulation handlers to
neel [Sun, 26 Oct 2014 19:03:06 +0000 (19:03 +0000)]
Change the type of the first argument to the I/O emulation handlers to
'struct vm *'. Previously it used to be a 'void *' but there is no reason
to hide the actual type from the handler.

Discussed with: tychon
MFC after: 1 week

9 years agoFix CF ERASE breakage caused by 268205.
smh [Sun, 26 Oct 2014 18:41:01 +0000 (18:41 +0000)]
Fix CF ERASE breakage caused by 268205.

This prevents BIO_DELETE requests getting stuck in the TRIM queue which
results in a panic on shutdown due to outstanding requests.

PR: 194606
Reported by: Guido Falsi
Reviewed by: mav
MFC after: 3 days
Sponsored by: Multiplay

9 years agoRemove the ARM_DEVICE_MULTIPASS option and make its effect be the default.
ian [Sun, 26 Oct 2014 18:30:35 +0000 (18:30 +0000)]
Remove the ARM_DEVICE_MULTIPASS option and make its effect be the default.

Multipass device attachment was tested on many arm platforms by users and
only success was reported on the arm@ mailing list.  This is just the
long-delayed followup of making it the default.

Multipass attachment is necessary when using vendor-supplied FDT data,
because our devices may need to be attached in a different order than they
are described in the FDT data.

9 years agoRemove incorrect semicolon.
stefanf [Sun, 26 Oct 2014 17:56:58 +0000 (17:56 +0000)]
Remove incorrect semicolon.

9 years agoBy the time that pmap_init() runs, vm_phys_segs[] has been initialized. Obtaining
alc [Sun, 26 Oct 2014 17:56:47 +0000 (17:56 +0000)]
By the time that pmap_init() runs, vm_phys_segs[] has been initialized.  Obtaining
the end of memory address from vm_phys_segs[] is a little easier than obtaining it
from phys_avail[].

Discussed with: Svatopluk Kraus

9 years agosh: Make getopts memory-safe if with changing arguments.
jilles [Sun, 26 Oct 2014 17:50:33 +0000 (17:50 +0000)]
sh: Make getopts memory-safe if with changing arguments.

POSIX does not permit to continuing a getopts loop with different
arguments. For parsing the positional parameters, we handle this case by
resetting the getopts state when the positional parameters are changed in
any way (and the getopts state is local to a function). However, in the
syntax getopts <optstring> <var> <arg...>, changes could lead to invalid
memory access.

In the syntax getopts <optstring> <var> <arg...>, store a copy of the
arguments and continue to use them until getopts is reset.

9 years agoFix printing non-terminated strings in devlist XML.
mav [Sun, 26 Oct 2014 15:28:07 +0000 (15:28 +0000)]
Fix printing non-terminated strings in devlist XML.

MFC after: 1 week

9 years agoFix up an assertion in kern_setgroups, it should compare with ngroups_max + 1
mjg [Sun, 26 Oct 2014 14:25:42 +0000 (14:25 +0000)]
Fix up an assertion in kern_setgroups, it should compare with ngroups_max + 1

Bug introdued in r273685.

Noted by: Tiwei Bie <btw mail.ustc.edu.cn>

9 years agoMention VAAI and ODX in ctl(4).
trasz [Sun, 26 Oct 2014 13:30:53 +0000 (13:30 +0000)]
Mention VAAI and ODX in ctl(4).

Reviewed by: mav@
MFC after: 1 month
Sponsored by: The FreeBSD Foundation

9 years agoMFV r273688:
delphij [Sun, 26 Oct 2014 09:29:12 +0000 (09:29 +0000)]
MFV r273688:

Update filesystems magic.  This fixes a regression introduced by
libmagic 5.19 which prevents file(1) to show more verbose information
about a MBR.

Submitted by: madpilot
MFC after: 2 weeks

9 years agoAdd "rpm" and "formfactor" LUN options to match istgt functionality.
mav [Sun, 26 Oct 2014 07:40:37 +0000 (07:40 +0000)]
Add "rpm" and "formfactor" LUN options to match istgt functionality.

MFC after: 1 week

9 years agoTidy up sys_setgroups and kern_setgroups.
mjg [Sun, 26 Oct 2014 06:04:09 +0000 (06:04 +0000)]
Tidy up sys_setgroups and kern_setgroups.

- 'groups' initialization to NULL is always ovewrwriten before use, so plug it
- get rid of 'goto out'
- kern_setgroups's callers already validate ngrp, so only assert the condition
- ngrp  is an u_int, so 'ngrp < 1' is more readable as 'ngrp == 0'

No functional changes.

9 years agoUse a temporary buffer in sys_setgroups for requests with <= XU_NGROUPS groups.
mjg [Sun, 26 Oct 2014 05:39:42 +0000 (05:39 +0000)]
Use a temporary buffer in sys_setgroups for requests with <= XU_NGROUPS groups.

Submitted by: Tiwei Bie <btw mail.ustc.edu.cn>
X-Additional: JuniorJobs project
MFC after: 2 weeks

9 years agoMove the ACPI PM timer emulation into vmm.ko.
neel [Sun, 26 Oct 2014 04:44:28 +0000 (04:44 +0000)]
Move the ACPI PM timer emulation into vmm.ko.

This reduces variability during timer calibration by keeping the emulation
"close" to the guest. Additionally having all timer emulations in the kernel
will ease the transition to a per-VM clock source (as opposed to using the
host's uptime keep track of time).

Discussed with: grehan

9 years agoDon't pass the 'error' return from an I/O port handler directly to vm_run().
neel [Sun, 26 Oct 2014 03:03:41 +0000 (03:03 +0000)]
Don't pass the 'error' return from an I/O port handler directly to vm_run().

Most I/O port handlers return -1 to signal an error. If this value is returned
without modification to vm_run() then it leads to incorrect behavior because
'-1' is interpreted as ERESTART at the system call level.

Fix this by always returning EIO to signal an error from an I/O port handler.

MFC after: 1 week

9 years agoNow that sysctl_root is only called with sysctl lock in shared mode, update
mjg [Sun, 26 Oct 2014 01:47:55 +0000 (01:47 +0000)]
Now that sysctl_root is only called with sysctl lock in shared mode, update
its assertion to require that.

Update comment missed in r273400: sysctl_xlock/unlock -> sysctl_xlock/xunlock

Noted by: jhb

9 years agoFix a few issues with creating VOLUME_LABEL for the
gjb [Sun, 26 Oct 2014 01:41:54 +0000 (01:41 +0000)]
Fix a few issues with creating VOLUME_LABEL for the
installation ISOs:

 - TYPE, BRANCH, and REVISION are only defined if
   OSRELEASE is not defined, so in situations where
   one might set OSRELEASE for an in-house ISO build,
   VOLUME_LABEL would be empty.

 - makefs(8) limits the volume label to 32 characters,
   which for the powerpc64 case, OSRELEASE expands to
   FreeBSD-11.0-CURRENT-powerpc-powerpc64.  Even with
   removing the prefixing 'FreeBSD-', the string is 30
   characters long, leaving zero room for suffixing the
   type of ISO media (BO for bootonly, CD for cdrom, and
   DVD for dvdrom).

Resolve these by defining VOLUME_LABEL when defining
OSRELEASE if unset.  If OSRELEASE is defined by the
builder, use the OSRELEASE from that definition as the
VOLUME_LABEL.

In addition, for cases where both TARGET and TARGET_ARCH
are used for the VOLUME_LABEL, use TARGET_ARCH if it
differs from TARGET.

There are probably a few sharp edges here yet, but these
problems are going to affect the powerpc/powerpc64 builds
for 10.1-RELEASE, so the immediate concern is fixing the
underlying problem at hand quickly, and less so about the
elegance of the fix.

MFC after: 3 days
X-MFC-10.1: yes, asap
Sponsored by: The FreeBSD Foundation

9 years agoSet the caching mode for the usermode mapping of the HPET registers
kib [Sat, 25 Oct 2014 21:01:50 +0000 (21:01 +0000)]
Set the caching mode for the usermode mapping of the HPET registers
page to uncached.

Reviewed by: rpaulo
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

9 years agoUse correct type in __DEVOLATILE().
jhb [Sat, 25 Oct 2014 20:42:47 +0000 (20:42 +0000)]
Use correct type in __DEVOLATILE().

9 years agoClarify that pthread_cleanup_push()/pop() are implemented as macros that
jhb [Sat, 25 Oct 2014 19:31:34 +0000 (19:31 +0000)]
Clarify that pthread_cleanup_push()/pop() are implemented as macros that
create a new code block and thus must be balanced at the same lexical
scope.  (This is also a requirement in POSIX.)

PR: 194280
Submitted by: dr2867.business@pacbell.net
MFC after: 1 week

9 years agoThis change addresses 4 bugs in ZFS exposed by Richard Kojedzinszky's
jpaetzel [Sat, 25 Oct 2014 17:42:44 +0000 (17:42 +0000)]
This change addresses 4 bugs in ZFS exposed by Richard Kojedzinszky's
crash.sh script attached to FreeNAS bug 4109:
https://bugs.freenas.org/issues/4109

Three are in the snapshot layer:
a) AVG explains in his notes: https://wiki.freebsd.org/AvgVfsSolarisVsFreeBSD

"VOP_INACTIVE must not do any destructive actions to a vnode
and its filesystem node, nor invalidate them in any way."
gfs_vop_inactive and zfsctl_snapshot_inactive did just that. In
OpenSolaris VOP_INACTIVE is much closer to FreeBSD's VOP_RECLAIM.
Rename & move them to gfs_vop_reclaim and zfsctl_snapshot_reclaim
and merge in the requisite vnode_destroy from zfsctl_common_reclaim.

b) gfs_lookup_dot and various zfsctl functions do not honor the
FreeBSD VFS convention of only locking from the root downward. When
looking up ".." the convention is to drop the current leaf vnode lock before
acquiring the directory vnode and then subsequently re-acquiring the lock on the
leaf vnode. This fixes that in all the places that our exercised by crash.sh.

c) The snapshot may already be unmounted when the directory vnode is reclaimed.
Check for this case and return.

One in the common layer:
d) Callers of traverse expect the reference to the vnode passed in to be
maintained. Don't release it.

This last one may be an unclear contract. There may in fact be some callers that
do expect the reference to be dropped on success in addition to callers that
expect it to be released. In this case a further audit of the callers is needed
and a consensus on the correct behavior.

PR: 184677
Submitted by: kmacy
Reviewed by: delphij, will, avg
MFC after: 2 weeks
Sponsored by: iXsystems

9 years agoAdd support for 12/16-byte EUI and 16-byte NAA IDs.
mav [Sat, 25 Oct 2014 17:07:35 +0000 (17:07 +0000)]
Add support for 12/16-byte EUI and 16-byte NAA IDs.

MFC after: 1 week

9 years agoRevert somewhat hackish geom_disk optimization, committed as part of r256880,
mav [Sat, 25 Oct 2014 15:16:19 +0000 (15:16 +0000)]
Revert somewhat hackish geom_disk optimization, committed as part of r256880,
and the following r273143 commit, supposed to workaround introduced issue by
quite innocent-looking change.

While there is no clear understanding why, but r273143 is accused in data
corruption in some environments with high I/O load.  I personally don't see
any problem in that commit, and possibly it is just a trigger to some other
bug somewhere, but better safe then sorry for now.

Requested by: scottl@
MFC after: 3 days

9 years agoAdd basic iSNS client to the iSCSI target.
mav [Sat, 25 Oct 2014 12:50:26 +0000 (12:50 +0000)]
Add basic iSNS client to the iSCSI target.

This makes ctld(8) register its iSCSI targets and portals on configured
iSNS servers to allow initiators find them without active discovery.

Fetching of allowed initiators from iSNS is not implemented now, so target
ACLs still should be configured manually.

Reviewed by: trasz@
MFC after: 1 month
Sponsored by: iXsystems, Inc.

9 years agoFix a use of an uninitialized variable by makeing sure
tuexen [Sat, 25 Oct 2014 09:25:29 +0000 (09:25 +0000)]
Fix a use of an uninitialized variable by makeing sure
that sctp_med_chunk_output() always initialized the reason_code
instead of relying on the caller.
The variable is only used for debugging purpose.
This issue was reported by Peter Bostroem from Google.

MFC after: 3 days

9 years agoBail out of the script on FreeBSD due to deterministic panic issue
ngie [Sat, 25 Oct 2014 07:20:46 +0000 (07:20 +0000)]
Bail out of the script on FreeBSD due to deterministic panic issue

PR: 194589
Sponsored by: EMC / Isilon Storage Division

9 years agoBail out of the script on FreeBSD due to deterministic panic issue
ngie [Sat, 25 Oct 2014 06:33:00 +0000 (06:33 +0000)]
Bail out of the script on FreeBSD due to deterministic panic issue

PR: 194587
Sponsored by: EMC / Isilon Storage Division

9 years agoBail out of the script on FreeBSD due to deterministic panic issue
ngie [Sat, 25 Oct 2014 06:28:48 +0000 (06:28 +0000)]
Bail out of the script on FreeBSD due to deterministic panic issue

PR: 194586
Sponsored by: EMC / Isilon Storage Division

9 years agoBail out of the script on FreeBSD due to deterministic panic issue
ngie [Sat, 25 Oct 2014 06:10:01 +0000 (06:10 +0000)]
Bail out of the script on FreeBSD due to deterministic panic issue

PR: 191573
Sponsored by: EMC / Isilon Storage Division

9 years agorlimit: plug duplicate assertion
mjg [Sat, 25 Oct 2014 05:56:21 +0000 (05:56 +0000)]
rlimit: plug duplicate assertion

counter sanity is already checked by refcount_release.

9 years agoMove the redirection to stderr out of the cmd variable assignment
ngie [Sat, 25 Oct 2014 05:31:18 +0000 (05:31 +0000)]
Move the redirection to stderr out of the cmd variable assignment

Putting 2>/dev/null in cmd= escapes the redirection operation, which causes
mdconfig to think it's a filename

MFC after: 2 weeks
X-MFC with: r273627
Sponsored by: EMC / Isilon Storage Division

9 years ago- Print out "Bail out!" in die(..) so prove terminates immediately
ngie [Sat, 25 Oct 2014 04:52:48 +0000 (04:52 +0000)]
- Print out "Bail out!" in die(..) so prove terminates immediately
- Handle the output from newer versions of openssl md5, similar to what
  pjd@ did in r248304

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division

9 years agoMFV r273617: netcat from OpenBSD 5.6.
delphij [Sat, 25 Oct 2014 00:37:35 +0000 (00:37 +0000)]
MFV r273617: netcat from OpenBSD 5.6.

MFC after: 2 weeks

9 years agoFix build.
delphij [Sat, 25 Oct 2014 00:16:36 +0000 (00:16 +0000)]
Fix build.

9 years agocxgbe(4): bump up PF4's share of some global resources.
np [Sat, 25 Oct 2014 00:14:44 +0000 (00:14 +0000)]
cxgbe(4): bump up PF4's share of some global resources.

This increases the size of the per-port RSS slice and also allows the
driver to use a larger number of tx and rx queues.

MFC after: 2 weeks

9 years agoUse the __DECONST macro rather than hand rolling the same thing.
brooks [Fri, 24 Oct 2014 23:25:44 +0000 (23:25 +0000)]
Use the __DECONST macro rather than hand rolling the same thing.

Sponsored by: DARPA, AFRL

9 years agoFix the build by installing acpi_hpet.h correctly.
rpaulo [Fri, 24 Oct 2014 23:25:11 +0000 (23:25 +0000)]
Fix the build by installing acpi_hpet.h correctly.

Submitted by: jase
MFC after: 1 week

9 years agoRemove an unused variable that would be better spelled __func__.
brooks [Fri, 24 Oct 2014 23:24:47 +0000 (23:24 +0000)]
Remove an unused variable that would be better spelled __func__.

Sponsored by: DARPA, AFRL

9 years agoAdd an iicbus_reset() method to bcm2835_bsc. While it is generally not
loos [Fri, 24 Oct 2014 22:06:21 +0000 (22:06 +0000)]
Add an iicbus_reset() method to bcm2835_bsc.  While it is generally not
used for kernel devices it is used by i2c(8).

This fix the 'error: Device not configured' when i2c(8) tries to reset the
controller, as an example:

# i2c -r
Resetting I2C controller on /dev/iic0: error: Device not configured

For now use conservative settings for default i2c speeds.

MFC after: 1 week

9 years agoAdd a sysctl to control the HPET allow_write behaviour.
rpaulo [Fri, 24 Oct 2014 21:08:36 +0000 (21:08 +0000)]
Add a sysctl to control the HPET allow_write behaviour.

Requested by: kib

9 years agoFix cpsw_detach() to not panic when called from cpsw_attach().
loos [Fri, 24 Oct 2014 21:08:02 +0000 (21:08 +0000)]
Fix cpsw_detach() to not panic when called from cpsw_attach().

For an unkown reason (at moment), sometimes if_cpsw cannot read from PHY
and fails to attach calling cpsw_detach() which end up in a panic.

Fix it by doing the proper check before detach the miibus and also fix the
leak of few variables.

And to actually make it work, ether_ifattach() has to be moved to the end
of cpsw_attach() to avoid a race where calling ether_ifdetach() before
domain_init() (which will only run later on) would make it crash at
INP_INFO_RLOCK() on in_pcbpurgeif0().

Tested on: BBB (am335x)
MFC after: 1 week

9 years agoEliminate conf_lock and instead rely on the NSS write lock to protect
markj [Fri, 24 Oct 2014 20:29:14 +0000 (20:29 +0000)]
Eliminate conf_lock and instead rely on the NSS write lock to protect
NSS configuration state.

As a side effect, this fixes a race condition which can occur if multiple
threads call nsdispatch(3) concurrently before nsswitch.conf has been
parsed. Previously, the thread holding conf_lock could cause other threads
to return from nss_configure() before nsswitch.conf had been parsed, forcing
them to fall back to the default sources for their NSS methods.

Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D994
MFC after: 1 month
Sponsored by: EMC / Isilon Storage Division

9 years agoThe current POSIX semaphore implementation stores the _has_waiters flag
jhb [Fri, 24 Oct 2014 20:02:44 +0000 (20:02 +0000)]
The current POSIX semaphore implementation stores the _has_waiters flag
in a separate word from the _count.  This does not permit both items to
be updated atomically in a portable manner.  As a result, sem_post()
must always perform a system call to safely clear _has_waiters.

This change removes the _has_waiters field and instead uses the high bit
of _count as the _has_waiters flag.  A new umtx object type (_usem2) and
two new umtx operations are added (SEM_WAIT2 and SEM_WAKE2) to implement
these semantics.  The older operations are still supported under the
COMPAT_FREEBSD9/10 options.  The POSIX semaphore API in libc has
been updated to use the new implementation.  Note that the new
implementation is not compatible with the previous implementation.
However, this only affects static binaries (which cannot be helped by
symbol versioning).  Binaries using a dynamic libc will continue to work
fine.  SEM_MAGIC has been bumped so that mismatched binaries will error
rather than corrupting a shared semaphore.  In addition, a padding field
has been added to sem_t so that it remains the same size.

Differential Revision: https://reviews.freebsd.org/D961
Reported by: adrian
Reviewed by: kib, jilles (earlier version)
Sponsored by: Norse

9 years agoAdd COMPAT_FREEBSD9 and COMPAT_FREEBSD10 options to wrap code that
jhb [Fri, 24 Oct 2014 19:58:24 +0000 (19:58 +0000)]
Add COMPAT_FREEBSD9 and COMPAT_FREEBSD10 options to wrap code that
provides compatability for FreeBSD 9.x and 10.x binaries.  Enable
these options in kernel configs that enable other COMPAT_FREEBSD<n>
options.

9 years agoHPET: avoid handling the multiple file-descriptor case.
rpaulo [Fri, 24 Oct 2014 19:58:00 +0000 (19:58 +0000)]
HPET: avoid handling the multiple file-descriptor case.

It had two bugs: one where mmap was still allowed and another where
D_TRACKCLOSE doesn't handle all cases.

Thanks to jhb and kib for pointing them out.
MFC after: 1 week

9 years agoDon't reference sem(4) from the POSIX semaphore pages. POSIX semaphores
jhb [Fri, 24 Oct 2014 19:55:49 +0000 (19:55 +0000)]
Don't reference sem(4) from the POSIX semaphore pages.  POSIX semaphores
were reimplemented using umtx in FreeBSD 9 and no longer use sem(4).

9 years agoFix a bug where DMA maps created with bus_dmamap_create() won't increment
loos [Fri, 24 Oct 2014 19:18:39 +0000 (19:18 +0000)]
Fix a bug where DMA maps created with bus_dmamap_create() won't increment
the map count and without being able to keep track of the current map
allocation, bus_dma_tag_destroy() will fail to proceed and will return
EBUSY even after all the maps have been correctly destroyed with
bus_dmamap_destroy().

Found while testing the detach method of a NIC.

Tested on: BBB (am335x)
Reviewed by: cognet, ian
MFC after: 1 week

9 years agoHPET: create /dev/hpetN as a way to access HPET from userland.
rpaulo [Fri, 24 Oct 2014 18:39:15 +0000 (18:39 +0000)]
HPET: create /dev/hpetN as a way to access HPET from userland.

In some cases, TSC is broken and special applications might benefit
from memory mapping HPET and reading the registers to count time.
Most often the main HPET counter is 32-bit only[1], so this only gives
the application a 300 second window based on the default HPET
interval.
Other applications, such as Intel's DPDK, expect /dev/hpet to be
present and use it to count time as well.

Although we have an almost userland version of gettimeofday() which
uses rdtsc in userland, it's not always possible to use it, depending
on how broken the multi-socket hardware is.

Install the acpi_hpet.h so that applications can use the HPET register
definitions.

[1] I haven't found a system where HPET's main counter uses more than
32 bit.  There seems to be a discrepancy in the Intel documentation
(claiming it's a 64-bit counter) and the actual implementation (a
32-bit counter in a 64-bit memory area).

MFC after: 1 week
Relnotes: yes

9 years agoFix documentation issue.
melifaro [Fri, 24 Oct 2014 17:06:56 +0000 (17:06 +0000)]
Fix documentation issue.

PR: 194581
Submitted by: madpilot

9 years agoUpdate the network interface baudrate integer according to the actual
hselasky [Fri, 24 Oct 2014 16:39:01 +0000 (16:39 +0000)]
Update the network interface baudrate integer according to the actual
line rate.

Submitted by: jhb @
MFC after: 1 week

9 years ago- Add sys/types.h for the APIs in sys/sysctl.h
ngie [Fri, 24 Oct 2014 16:18:16 +0000 (16:18 +0000)]
- Add sys/types.h for the APIs in sys/sysctl.h
- Poke at VM_MIN_ADDRESS in machine/vmparam.h because FreeBSD doesn't have a
  vm.minaddress sysctl analog
- Expect ENOMEM instead of EAGAIN in mlock_limits
- Provide mlock an mmap'ed page twice to simulate MAP_WIRED on NetBSD

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division

9 years agoCorrect my previous commit:
ngie [Fri, 24 Oct 2014 16:07:31 +0000 (16:07 +0000)]
Correct my previous commit:

- getrusage_utime_back succeeds reliably on FreeBSD
- getrusage_utime_zero passes/fails in a seemingly non-deterministic manner.
  Skip it for now (and fix it later)

In the initial port of this testcase to FreeBSD, the results failed reliably
in the same manner as it does on NetBSD

Sponsored by: EMC / Isilon Storage Division

9 years agoAccept the documented FDT compatible string for the PL310 cache controller
ian [Fri, 24 Oct 2014 15:44:29 +0000 (15:44 +0000)]
Accept the documented FDT compatible string for the PL310 cache controller
as well as the non-standard string we've been using for a couple years.

9 years agoAdd D-Link DWA-123 rev D1 and Elecom WDC-150SU2M.
kevlo [Fri, 24 Oct 2014 15:36:30 +0000 (15:36 +0000)]
Add D-Link DWA-123 rev D1 and Elecom WDC-150SU2M.

9 years agoBump default dynamic limit to 16k entries.
melifaro [Fri, 24 Oct 2014 13:57:15 +0000 (13:57 +0000)]
Bump default dynamic limit to 16k entries.
Print better log message when limit is hit.

PR: 193300
Submitted by: me at nileshgr.com

9 years agoRemove redundant check and m_pullup() call.
ae [Fri, 24 Oct 2014 13:34:22 +0000 (13:34 +0000)]
Remove redundant check and m_pullup() call.

9 years agoFix displaying non-contiguous netmasks.
melifaro [Fri, 24 Oct 2014 13:29:12 +0000 (13:29 +0000)]
Fix displaying non-contiguous netmasks.

Found by: ae
Sponsored by: Yandex LLC

9 years agoImprove ctld.conf example.
trasz [Fri, 24 Oct 2014 12:30:43 +0000 (12:30 +0000)]
Improve ctld.conf example.

MFC after: 1 month
Sponsored by: The FreeBSD Foundation

9 years agoMake the initiator-name and initiator-portal checks a little nicer.
trasz [Fri, 24 Oct 2014 11:40:09 +0000 (11:40 +0000)]
Make the initiator-name and initiator-portal checks a little nicer.

MFC after: 1 month
Sponsored by: The FreeBSD Foundation

9 years agoTidy up the login code; no functional changes.
trasz [Fri, 24 Oct 2014 11:34:55 +0000 (11:34 +0000)]
Tidy up the login code; no functional changes.

MFC after: 1 month
Sponsored by: The FreeBSD Foundation

9 years agoamd64: make uiomove_fromphys functional for pages not mapped by the DMAP
royger [Fri, 24 Oct 2014 09:48:58 +0000 (09:48 +0000)]
amd64: make uiomove_fromphys functional for pages not mapped by the DMAP

Place the code introduced in r268660 into a separate function that can be
called from uiomove_fromphys. Instead of pre-allocating two KVA pages use
vmem_alloc to allocate them on demand when needed. This prevents blocking if
a page fault is taken while physical addresses from outside the DMAP are
used, since the lock is now removed.

Also introduce a safety catch in PHYS_TO_DMAP and DMAP_TO_PHYS.

Sponsored by: Citrix Systems R&D
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D947

amd64/amd64/pmap.c:
 - Factor out the code to deal with non DMAP addresses from pmap_copy_pages
   and place it in pmap_map_io_transient.
 - Change the code to use vmem_alloc instead of a set of pre-allocated
   pages.
 - Use pmap_qenter and don't pin the thread if there can be page faults.

amd64/amd64/uio_machdep.c:
 - Use pmap_map_io_transient in order to correctly deal with physical
   addresses not covered by the DMAP.

amd64/include/pmap.h:
 - Add the prototypes for the new functions.

amd64/include/vmparam.h:
 - Add safety catches to make sure PHYS_TO_DMAP and DMAP_TO_PHYS are only
   used with addresses covered by the DMAP.

9 years ago- Mark signo __unused in the signal handler function
ngie [Fri, 24 Oct 2014 06:57:16 +0000 (06:57 +0000)]
- Mark signo __unused in the signal handler function
- Effectively #if 0 out some code that does not fail on FreeBSD

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division

9 years ago- Add inttypes.h and stdint.h in lieu of int_limits.h from NetBSD
ngie [Fri, 24 Oct 2014 06:53:06 +0000 (06:53 +0000)]
- Add inttypes.h and stdint.h in lieu of int_limits.h from NetBSD
- Use #include "h_macros.h" instead of relative path analog

Sponsored by: EMC / Isilon Storage Division

9 years agoReturn BUS_PROBE_DEFAULT instead of BUS_PROBE_VENDOR or 0 for in-tree
delphij [Fri, 24 Oct 2014 06:27:45 +0000 (06:27 +0000)]
Return BUS_PROBE_DEFAULT instead of BUS_PROBE_VENDOR or 0 for in-tree
driver.  This change was verified by Microsoft.

9 years agoFix a leaked Storage Variable.
araujo [Fri, 24 Oct 2014 05:39:32 +0000 (05:39 +0000)]
Fix a leaked Storage Variable.

Phabric: D981
Submitted by: myself
Reported by: Coverity
CID: 1248848
Reworked by: kevlo
Reviewed by: marcel, davide, ray, kevlo
Approved by: marcel, kevlo

9 years agoFix formatting of vmstat (1) so that it looks cleaner on standard 80
mckusick [Fri, 24 Oct 2014 04:01:14 +0000 (04:01 +0000)]
Fix formatting of vmstat (1) so that it looks cleaner on standard 80
column displays. In particular it wraps far less often.

Submitted by: Andy Kosela <akosela@andykosela.com>
PR:           191976

9 years ago- Test for EINVAL requirement when passing an invalid flag in to msync(2)
ngie [Fri, 24 Oct 2014 03:53:49 +0000 (03:53 +0000)]
- Test for EINVAL requirement when passing an invalid flag in to msync(2)
- Expect ENOMEM instead of EFAULT when msync'ing a previously munmap'ed region
  on FreeBSD

Submitted by: pho
Sponsored by: EMC / Isilon Storage Division

9 years ago- Ignore EINVAL check with mknod(path, S_IFCHR, -1) as the testcase is always
ngie [Fri, 24 Oct 2014 03:42:37 +0000 (03:42 +0000)]
- Ignore EINVAL check with mknod(path, S_IFCHR, -1) as the testcase is always
  executed on a non-devfs filesystem
- Expect mknod(path, S_IFREG, 0) to fail on FreeBSD

Submitted by: pho
Sponsored by: EMC / Isilon Storage Division

9 years agoWhitespace
jhibbits [Fri, 24 Oct 2014 03:34:21 +0000 (03:34 +0000)]
Whitespace

X-MFC-with: r273570
MFC after: 1 week

9 years agoThree updates to PowerPC FBT:
jhibbits [Fri, 24 Oct 2014 03:33:01 +0000 (03:33 +0000)]
Three updates to PowerPC FBT:

* Use a constant to define the number of stack frames in a probe exception.
* Only allow function symbols in powerpc64 ('.' prefixed)
* Set the fbtp_roffset for return probes, so the correct dtrace_probe call is
  made.

MFC after: 1 week

9 years agoMove the duplicated code to a single function.
loos [Thu, 23 Oct 2014 23:20:04 +0000 (23:20 +0000)]
Move the duplicated code to a single function.

No functional changes.

9 years agoHook xo(1) to the build -- it's like echo, but uses libxo to
marcel [Thu, 23 Oct 2014 23:16:21 +0000 (23:16 +0000)]
Hook xo(1) to the build -- it's like echo, but uses libxo to
support emitting machine-readable output.

Sponsored by: Juniper Networks, Inc.

9 years agoHook libxo to the build.
marcel [Thu, 23 Oct 2014 23:14:23 +0000 (23:14 +0000)]
Hook libxo to the build.

Sponsored by: Juniper Networks, Inc.

9 years agoProvide a working GPIOBUS_IVAR() macro for FDT systems.
loos [Thu, 23 Oct 2014 23:12:30 +0000 (23:12 +0000)]
Provide a working GPIOBUS_IVAR() macro for FDT systems.

9 years agoIn all cases except CTLTYPE_STRING, penv is NULL here, so passing it
des [Thu, 23 Oct 2014 22:42:56 +0000 (22:42 +0000)]
In all cases except CTLTYPE_STRING, penv is NULL here, so passing it
indiscriminately to printf() and freeenv() is incorrect.  Add a NULL
check before freeenv(); as for printf(), we could use req.newptr
instead, but we'd have to select the correct format string based on
the type, and that's too much work for an error message, so just
remove it.

9 years agoAdd generated headers xoversion.h and xoconfig.h. These are the result
marcel [Thu, 23 Oct 2014 22:33:27 +0000 (22:33 +0000)]
Add generated headers xoversion.h and xoconfig.h. These are the result
of configuring the source tree:
% automake --add-missing
% autoconf
% ./configure

9 years agoImport libxo 0.1.4
marcel [Thu, 23 Oct 2014 22:30:14 +0000 (22:30 +0000)]
Import libxo 0.1.4

Obtained from: https://github.com/Juniper/libxo
Sponsored by: Juniper Networks, Inc.

9 years agoInstall a temporary workaround to avoid problems in fdt data with linux's
ian [Thu, 23 Oct 2014 22:21:22 +0000 (22:21 +0000)]
Install a temporary workaround to avoid problems in fdt data with linux's
workaround for an imx6 chip erratum.  Linux works around the bug with
changes in fdt data that we can't currently handle, so to enable running
with standard vendor-supplied fdt data, this watches for an attempt to map
the gpio1_6 interrupt and remaps it back to the standard ethernet interrupt.

This can be undone when the intrng project is completed and our gpio drivers
can also be interrupt controllers.

9 years agoUnder PAE ULONG is insufficient for representing the physical memory size. Use QUAD
alc [Thu, 23 Oct 2014 21:02:40 +0000 (21:02 +0000)]
Under PAE ULONG is insufficient for representing the physical memory size.  Use QUAD
for "hw.physmem" so that a physical memory size greater than 4 GB can be specified
from the boot loader.

9 years agoUse a static callout to drive key_timehandler() instead of timeout().
jhb [Thu, 23 Oct 2014 20:43:16 +0000 (20:43 +0000)]
Use a static callout to drive key_timehandler() instead of timeout().
While here, make key_timehandler() private to key.c.

Submitted by: bz (2)
Tested by: bz

9 years agoIn selfdfree re-evaulate sf_si after takin the lock.
mjg [Thu, 23 Oct 2014 19:06:08 +0000 (19:06 +0000)]
In selfdfree re-evaulate sf_si after takin the lock.

Otherwise we can race with doselwakeup.

This is a fixup to r273549

Reviewed by: jhb
Reported by: everyone and their dog

9 years agoTest if 'env' is NULL before doing memset() and strlen(),
delphij [Thu, 23 Oct 2014 18:23:50 +0000 (18:23 +0000)]
Test if 'env' is NULL before doing memset() and strlen(),
the caller may pass NULL to freeenv().

9 years agopuc(4): add an entry for the Oxford Semiconductor OXPCIe952 1S1P card.
rpaulo [Thu, 23 Oct 2014 18:03:27 +0000 (18:03 +0000)]
puc(4): add an entry for the Oxford Semiconductor OXPCIe952 1S1P card.

Submitted by: Alex Burlyga <alex.burlyga.ietf at gmail.com>
MFC after: 1 week

9 years agominor updates to make it more explicit that when using fpu_kern_thread,
jmg [Thu, 23 Oct 2014 17:24:50 +0000 (17:24 +0000)]
minor updates to make it more explicit that when using fpu_kern_thread,
you don't need to use fpu_kern_enter/_leave...

Reviewed by: kib

9 years agoAvoid taking the lock in selfdfree when not needed.
mjg [Thu, 23 Oct 2014 15:35:47 +0000 (15:35 +0000)]
Avoid taking the lock in selfdfree when not needed.

9 years agoChange the code to use the openpty(3) API which uses the pts(4) driver
emax [Thu, 23 Oct 2014 15:16:40 +0000 (15:16 +0000)]
Change the code to use the openpty(3) API which uses the pts(4) driver
instead of the pty(4) driver.

PR: 184597
Submitted by: tobias.rehbein
MFC after: 2 weeks

9 years agoMove if_get_counter initialization from if_attach into if_alloc.
ae [Thu, 23 Oct 2014 14:29:52 +0000 (14:29 +0000)]
Move if_get_counter initialization from if_attach into if_alloc.
Also, initialize all counters before ifnet will become available in the system.
This fixes possible access to uninitialized ifned fields.

PR: 194550

9 years agoFix a bug where some DTS layouts could cause the premature ending of the
loos [Thu, 23 Oct 2014 13:47:19 +0000 (13:47 +0000)]
Fix a bug where some DTS layouts could cause the premature ending of the
search (i.e. without returning any result) and you would end up with a
random MAC address.

Change the search algorithm to a recursive one to ensure that all the nodes
on DTS will be verified.

The previous algorithm could not keep up if the DTS has too many sub-nodes.

While here, fix the punctuation on comments.

9 years agovt(4): Add PIO_VFONT_DEFAULT ioctl to restore the default builtin font
dumbbell [Thu, 23 Oct 2014 12:38:05 +0000 (12:38 +0000)]
vt(4): Add PIO_VFONT_DEFAULT ioctl to restore the default builtin font

To restore the default font using vidcontrol(1), use the "-f" flag
without an argument:
    vidcontrol -f < /dev/ttyv0

PR: 193910
Differential Revision: https://reviews.freebsd.org/D971
Submitted by: Marcin Cieslak <saper@saper.info>
Reviewed by: ray@, emaste@
Approved by: ray@
MFC after: 1 week

9 years agoClean up (refactor) discovery a little; no functional changes.
trasz [Thu, 23 Oct 2014 12:02:27 +0000 (12:02 +0000)]
Clean up (refactor) discovery a little; no functional changes.

MFC after: 1 month
Sponsored by: The FreeBSD Foundation

9 years agoShow SFP+/QSFP memory map dump on higher verbose levels.
melifaro [Thu, 23 Oct 2014 11:01:49 +0000 (11:01 +0000)]
Show SFP+/QSFP memory map dump on higher verbose levels.

Sponsored by: Yandex LLC
MFC after: 1 week

9 years agoOmit the mprotect_exec testcase on FreeBSD
ngie [Thu, 23 Oct 2014 08:29:09 +0000 (08:29 +0000)]
Omit the mprotect_exec testcase on FreeBSD

Sponsored by: EMC / Isilon Storage Division

9 years agoMark signum __unused
ngie [Thu, 23 Oct 2014 08:13:07 +0000 (08:13 +0000)]
Mark signum __unused

Sponsored by: EMC / Isilon Storage Division

9 years agoFix a typo (__FreeBSD__ -> __NetBSD__ when omitting setrlimit_nthr)
ngie [Thu, 23 Oct 2014 08:12:31 +0000 (08:12 +0000)]
Fix a typo (__FreeBSD__ -> __NetBSD__ when omitting setrlimit_nthr)

9 years agoAdd limits.h #include for SSIZE_MAX
ngie [Thu, 23 Oct 2014 08:06:34 +0000 (08:06 +0000)]
Add limits.h #include for SSIZE_MAX

Sponsored by: EMC / Isilon Storage Division

9 years agoAdd limits.h #include for SSIZE_MAX
ngie [Thu, 23 Oct 2014 08:05:47 +0000 (08:05 +0000)]
Add limits.h #include for SSIZE_MAX

Sponsored by: EMC / Isilon Storage Division

9 years ago- Omit setrlimit_nthr testcase on FreeBSD (requires lwp.h, et al)
ngie [Thu, 23 Oct 2014 08:05:03 +0000 (08:05 +0000)]
- Omit setrlimit_nthr testcase on FreeBSD (requires lwp.h, et al)
- Expect overflow with rlim_max at INT64_MAX, not UINT64_MAX (rlim_t is int64_t
on FreeBSD)

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division

9 years ago- Mark sig/signo __unused
ngie [Thu, 23 Oct 2014 07:59:59 +0000 (07:59 +0000)]
- Mark sig/signo __unused
- Do not provide a relative path via #include "h_macros.h"

Sponsored by: EMC / Isilon Storage Division

9 years agoUse <atf_srcdir>/truncate_test.root_owned instead of /usr/bin/fpr as fpr does
ngie [Thu, 23 Oct 2014 07:54:46 +0000 (07:54 +0000)]
Use <atf_srcdir>/truncate_test.root_owned instead of /usr/bin/fpr as fpr does
not exist on FreeBSD

truncate_test.root_owned will be generated at build time and owned by root

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division

9 years agoAdd limits.h #include for INT_MAX
ngie [Thu, 23 Oct 2014 07:22:18 +0000 (07:22 +0000)]
Add limits.h #include for INT_MAX

Sponsored by: EMC / Isilon Storage Division