]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
7 years agoChange all uses of 'debugger' to kdb_active and remove this variable. This
bde [Mon, 15 Aug 2016 14:28:16 +0000 (14:28 +0000)]
Change all uses of 'debugger' to kdb_active and remove this variable.  This
restores avoidance of doing dangerous things like calling wakeup() and
callouts while in ddb.

Initialization of 'debugger' was broken by removing the cndbctl() console
method that was used mainly in this driver to initialize 'debugger' and
switch to the console screen on entry to ddb.  The screen switch was
restored using the cngrab() method, but cngrab() is more general so it
should not initialize 'debugger' and never did.  'debugger' was just
an over-engineered alias for kdb_active anyway.  It existed because
kdb_active (when it was named ddb_active) was considered as a private
kdb variable, and there are ordering problems initializing the variables
atomically with the state that they represent, but an extra variable and
method to set it increased these problems.

The bug caused LORs, but WITNESS is normally misconfigured with
WITNESS_SKIPSIN so it doesn't check the spinlocks used by wakeup() and
callouts.

7 years agoelfcopy: add elf64-littleaarch64 output target support
emaste [Mon, 15 Aug 2016 14:28:08 +0000 (14:28 +0000)]
elfcopy: add elf64-littleaarch64 output target support

Sponsored by: The FreeBSD Foundation

7 years agoFix command: ipfw set (enable|disable) N (where N > 4).
oleg [Mon, 15 Aug 2016 13:06:29 +0000 (13:06 +0000)]
Fix command: ipfw set (enable|disable) N (where N > 4).
enable_sets() expects set bitmasks, not set numbers.

MFC after: 3 days

7 years agoQuick fix for locking fixes in r172250. The lock added there was per-
bde [Mon, 15 Aug 2016 12:56:45 +0000 (12:56 +0000)]
Quick fix for locking fixes in r172250.  The lock added there was per-
virtual-device, but needs to be per-physical-device so that it protects
shared data.  Usually, scp->sc->write_in_progress got corrupted first
and further corruption was limited when this variable was left at nonzero
with no write in progress.

Attempt to fix missing lock destruction in r162285.  Put it with the
lock destruction for r172250 after moving the latter.  Both might be
unreachable.

To demonstrate the bug, find a buggy syscall or sysctl that calls
printf(9) and run this often.  Run hd /dev/zero >/dev/ttyvN for any
N != 0.  The console spam goes to ttyv0 and the non-console spam goes
to ttyvN, so the lock provided no protection (but it helped for
N == 0).

7 years agopf: Add missing byte-order swap to pf_match_addr_range
kp [Mon, 15 Aug 2016 12:13:14 +0000 (12:13 +0000)]
pf: Add missing byte-order swap to pf_match_addr_range

Without this, rules using address ranges (e.g. "10.1.1.1 - 10.1.1.5") did not
match addresses correctly on little-endian systems.

PR: 211796
Obtained from: OpenBSD (sthen)
MFC after: 3 days

7 years agoelfcopy: silence GCC 5.3 unitialized variable warning
emaste [Mon, 15 Aug 2016 11:54:39 +0000 (11:54 +0000)]
elfcopy: silence GCC 5.3 unitialized variable warning

Although it's a false positive there is little cost to initializing it
always.

Submitted by: adrian

7 years agoe1000: Add support for Kaby Lake IDs
sbruno [Mon, 15 Aug 2016 11:24:30 +0000 (11:24 +0000)]
e1000:  Add support for Kaby Lake IDs

Fixup some errors when transitioning to/from low power states.

Submitted by: erj
Reviewed by: Jeffery Piper (jeffrey.e.piper@intel.com)
MFC after: 3 days
Relnotes: yes
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D7478

7 years agoRemove duplicate definition of get_pcb_td(). gcc works for detecting
bde [Mon, 15 Aug 2016 10:46:33 +0000 (10:46 +0000)]
Remove duplicate definition of get_pcb_td().  gcc works for detecting
this error.

7 years agoEnsure that sctp_it_ctl.cur_it does not point to a free object (during
tuexen [Mon, 15 Aug 2016 10:16:08 +0000 (10:16 +0000)]
Ensure that sctp_it_ctl.cur_it does not point to a free object (during
a small time window).
Thanks to Byron Campen for reporting the issue and
suggesting a fix.

MFC after: 3 days

7 years agoEnsure that the sector size is a multiple of 4096 to avoid creating
des [Mon, 15 Aug 2016 09:30:21 +0000 (09:30 +0000)]
Ensure that the sector size is a multiple of 4096 to avoid creating
unaligned partitions when the actual sector size is hidden from us.

PR: 211361
MFC after: 3 days

7 years agoAdd the ARMv8.1 identification registers to the list we print when booting.
andrew [Mon, 15 Aug 2016 09:23:08 +0000 (09:23 +0000)]
Add the ARMv8.1 identification registers to the list we print when booting.

MFC after: 1 week
Sponsored by: ABT Systems Ltd

7 years agohyperv/hn: Switch to vmbus xact APIs for sub-channel alloc request.
sephe [Mon, 15 Aug 2016 05:08:41 +0000 (05:08 +0000)]
hyperv/hn: Switch to vmbus xact APIs for sub-channel alloc request.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7480

7 years agohyperv/hn: Simplify chimney sending buffer disconnection.
sephe [Mon, 15 Aug 2016 05:00:37 +0000 (05:00 +0000)]
hyperv/hn: Simplify chimney sending buffer disconnection.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7479

7 years agoUnbreak LINT build.
sephe [Mon, 15 Aug 2016 04:59:38 +0000 (04:59 +0000)]
Unbreak LINT build.

Sponsored by: Microsoft

7 years agoAdd timingsafe_bcmp and timingsafe_memcmp.
delphij [Sun, 14 Aug 2016 23:38:50 +0000 (23:38 +0000)]
Add timingsafe_bcmp and timingsafe_memcmp.

Obtained from: OpenBSD
Reviewed by: trasz
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D7280

7 years agoEliminate unneeded vm_page_xbusy() and vm_page_xunbusy() operations when
alc [Sun, 14 Aug 2016 22:00:45 +0000 (22:00 +0000)]
Eliminate unneeded vm_page_xbusy() and vm_page_xunbusy() operations when
neither vm_pager_has_page() nor vm_pager_get_pages() is called.

Reviewed by: kib, markj
MFC after: 3 weeks

7 years ago[mips] convert over =v to =r for the inline assembly.
adrian [Sun, 14 Aug 2016 19:04:37 +0000 (19:04 +0000)]
[mips] convert over =v to =r for the inline assembly.

Later gcc and clang have deprecated =v (which maps to a specific temp
register) and instead we should just use =r to have the assembler
(hopefully!) save/restore things appropriately after choosing
a register.

Tested:

* AR9344 SoC, with userreg support
* AR9331 SoC, with no userreg support

Sponsored by: Sponsored by: DARPA, AFRL (MIPS TLS user register work)

7 years agoAdd an ability to attach comment to check-state rules.
ae [Sun, 14 Aug 2016 18:34:16 +0000 (18:34 +0000)]
Add an ability to attach comment to check-state rules.

MFC after: 1 week

7 years agoDo not warn about ambiguous state name when we inspect a comment token.
ae [Sun, 14 Aug 2016 18:05:41 +0000 (18:05 +0000)]
Do not warn about ambiguous state name when we inspect a comment token.

Reported by: lev

7 years agoFix the variables $esp, $ds, $es, $fs, $gs and $ss in vm86 mode.
bde [Sun, 14 Aug 2016 16:51:25 +0000 (16:51 +0000)]
Fix the variables $esp, $ds, $es, $fs, $gs and $ss in vm86 mode.

Fix PC_REGS() so that printing of instructions works in some useful
cases.  ddb only understands a single flat address space, but this
macro allows mapping $cs:$eip into vm86's flat address space well
enough for the MI parts of ddb.  This doesn't work for the MD parts
that do stack traces, and there are no similar macros for data addresses.

PC_REGS() has to use the trapframe pointer instead of the pcb for this.
For other CPUs, the trapframe pointer is not available except by tracing
back to it.  But tracing back through vm86 trapframes is broken even
starting with one.

7 years agoPrint the tid of curthread in "show pcpu" in ddb.
bde [Sun, 14 Aug 2016 15:52:00 +0000 (15:52 +0000)]
Print the tid of curthread in "show pcpu" in ddb.

It was remarkably hard to trace all current threads.  "show pcpu" only
showed the pid, and there was nothing (?) better than searching ps output
to find the tids on CPUs.  This change simplifies the search, but you
still have to trace the tid for each CPU manually.

7 years agoIn ddb ps, left justify the non-numeric fields 'state' and 'wmesg' and
bde [Sun, 14 Aug 2016 15:26:40 +0000 (15:26 +0000)]
In ddb ps, left justify the non-numeric fields 'state' and 'wmesg' and
the fixed-width numeric field 'wchan', as in ps(1).  They were sort
of centered, although the template shows 'state' as right-justified.
The `wmesg' field very rarely has a prefix of '*' (for lock names)
that is still to the left of the header, and the width of this field
is reduced from 8 to 7 (more than 6 is an error).

The 'wmesg' and 'wchan' fields are still misnamed and poorly handled.
They are named sort of backwards relative to ps(1):
- wmesg in ddb = mwchan in ps
- wmesg in ddb = wchan in ps (if it is a wait channel name, not a lock name)
- wchan in ddb = nwchan in ps
ddb ps wastes lots of space for the unimportant 'wchan' field (20
columns altogether on 64-bit arches).  ps(1) documents using a
compressed format, but the compression only omits leading nybbles of
0 so it has neveqr worked on arches that put the kernel in the top half
of the address space.  It just avoids wasting space for an 0x prefix.

7 years agoDon't print an extra newline after the instruction when printing for
bde [Sun, 14 Aug 2016 13:23:02 +0000 (13:23 +0000)]
Don't print an extra newline after the instruction when printing for
single stepping of multiple instructions (e.g., s/p,<count> and n/p).
db_print_loc_and_inst() already prints a newline on all arches although
it probably shouldn't.

Especially on SMP systems, single stepping tends to deadlock or panic
too quickly to be useful for anything except finding bugs in itself,
but with printing "itself" includes console drivers so it is useful
for generating stress tests for console drivers.

7 years agoCorrect the size of the softc in a10_ehci
manu [Sun, 14 Aug 2016 13:17:59 +0000 (13:17 +0000)]
Correct the size of the softc in a10_ehci

Reported by: andrew
MFC after: 1 week

7 years agoMake statistics nat64lsn, nat64stl an nptv6 output netstat-like:
ae [Sun, 14 Aug 2016 13:17:55 +0000 (13:17 +0000)]
Make statistics nat64lsn, nat64stl an nptv6 output netstat-like:
 "@value @description" and fix build due to -Wformat errors.

7 years agoMFV r304060:
mm [Sun, 14 Aug 2016 09:26:10 +0000 (09:26 +0000)]
MFV r304060:
Sync libarchive with vendor including three security fixes

Vendor issues fixed:

Issue #744: Very long pathnames evade symlink checks
Issue #748: libarchive can compress, but cannot decompress zip some files
PR #750: ustar: fix out of bounds read on empty string ("") filename
PR #755: fix use of acl_get_flagset_np() on FreeBSD

MFC after: 3 days

7 years agoNow that the portsnap buildbox is generating the raw bits for INDEX-12,
delphij [Sun, 14 Aug 2016 05:18:38 +0000 (05:18 +0000)]
Now that the portsnap buildbox is generating the raw bits for INDEX-12,
add it to the set of INDEX files built by portsnap.

Switch to INDEX-12 for head/.

7 years agoOFWPCI: Don't strip RF_ACTIVE from flags when parent bus method is called.
mmel [Sun, 14 Aug 2016 05:10:26 +0000 (05:10 +0000)]
OFWPCI: Don't strip RF_ACTIVE from flags when parent bus method is called.

Reviewed by: nwhitehorn
MFC after: 3 weeks

7 years agoReturn 0 instead of an error code on failure to find dcsr.
jhibbits [Sun, 14 Aug 2016 04:11:36 +0000 (04:11 +0000)]
Return 0 instead of an error code on failure to find dcsr.

mpc85xx_map_dcsr() returns a vm_offset_t, not an error code.
mpc85xx_fix_errata() will gracefully exit if mpc85xx_map_dcsr() returns 0, as
that indicates an error (NULL pointer).

7 years agoOnly flush bp_kernload from the dcache, no need to sync the icache on the boot CPU.
jhibbits [Sun, 14 Aug 2016 03:49:37 +0000 (03:49 +0000)]
Only flush bp_kernload from the dcache, no need to sync the icache on the boot CPU.

__syncicache() only syncs the icache on the current CPU, it doesn't touch the
cache on any other core.  Replace the call with cpu_flush_dcache() instead.
Since bp_kernload is not touched again by the boot CPU in this code path, dcbf
is no less efficient than the dcbst from __syncicache() by invalidating the
cache line.

7 years agonfsstat depends on libdevstat as of r304058.
markj [Sun, 14 Aug 2016 00:24:00 +0000 (00:24 +0000)]
nfsstat depends on libdevstat as of r304058.

X-MFC-With: r304058

7 years agoCorrect date ov VJ day (1945-08-15, about 03:00 UTC).
grog [Sat, 13 Aug 2016 23:35:20 +0000 (23:35 +0000)]
Correct date ov VJ day (1945-08-15, about 03:00 UTC).

7 years agoUse %ju to print unsigned 64-bit value.
ae [Sat, 13 Aug 2016 22:14:16 +0000 (22:14 +0000)]
Use %ju to print unsigned 64-bit value.

Reported by: kib

7 years agoUpdate vendor/libarchive to git 6a0d970f70102fe50ee9f1e51a2e4c048985e616
mm [Sat, 13 Aug 2016 21:20:06 +0000 (21:20 +0000)]
Update vendor/libarchive to git 6a0d970f70102fe50ee9f1e51a2e4c048985e616

Vendor issues fixed:

Issue #744: Very long pathnames evade symlink checks
Issue #748: libarchive can compress, but cannot decompress zip some files
PR #750: ustar: fix out of bounds read on empty string ("") filename
PR #755: fix use of acl_get_flagset_np() on FreeBSD

7 years agoUpdate the man page to descibe the "-d" option added by r304058.
rmacklem [Sat, 13 Aug 2016 20:21:32 +0000 (20:21 +0000)]
Update the man page to descibe the "-d" option added by r304058.

This is a content change.

Submitted by: will (earlier version)
Reviewed by: ken, wblock
MFC after: 1 month
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D1626

7 years agoUpdate nfsstat.c to use the new kernel nfsstat structure and
rmacklem [Sat, 13 Aug 2016 20:14:44 +0000 (20:14 +0000)]
Update nfsstat.c to use the new kernel nfsstat structure and
add the new "-d" flag from D1626.
The man page will be updated in a subsequent commit.

Submitted by: will (earlier version)
Reviewed by: ken
MFC after: 1 month
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D1626

7 years agoFix handling of forward enum declarations in the CTF tools.
markj [Sat, 13 Aug 2016 19:51:00 +0000 (19:51 +0000)]
Fix handling of forward enum declarations in the CTF tools.

Reported by: mmacy
MFC after: 2 weeks

7 years agoStrengthen assertions about the busy state of newly-allocated pages.
markj [Sat, 13 Aug 2016 19:49:32 +0000 (19:49 +0000)]
Strengthen assertions about the busy state of newly-allocated pages.

Reviewed by: alc
MFC after: 1 week

7 years agoInitialize page busy lock state in vm_phys_add_page().
markj [Sat, 13 Aug 2016 19:48:43 +0000 (19:48 +0000)]
Initialize page busy lock state in vm_phys_add_page().

MFC after: 1 week

7 years agoAdd missing pmap_kenter() method for book-e.
jhibbits [Sat, 13 Aug 2016 18:57:14 +0000 (18:57 +0000)]
Add missing pmap_kenter() method for book-e.

This isn't added to AIM yet, because it's not yet needed.  It's needed for
Book-E ePAPR boot support.

X-MFC With: r304047

7 years agoAdd a kdb show command to print arbitrary SPRs on PowerPC
jhibbits [Sat, 13 Aug 2016 18:46:49 +0000 (18:46 +0000)]
Add a kdb show command to print arbitrary SPRs on PowerPC

Summary:
There is often a need at the debugger to print arbitrary special
purpose registers (SPRs) on PowerPC.  Using a rewritable asm stub, print any SPR
provided on the command line.

Note, as there is no checking in this, attempting to print a nonexistent SPR
may cause a Program exception (illegal instruction, or boundedly undefined).

Note also that this relies on the kernel text pages being writable.  If in the
future this is made not the case, this will need to be reworked.

Test Plan:
Printing the Processor Version Register (PVR, SPR 287):

db> show spr 11f
SPR 287(11f): 80240012

Differential Revision: https://reviews.freebsd.org/D7403

7 years agoEliminate two calls to vm_page_xunbusy() that are both unnecessary and
alc [Sat, 13 Aug 2016 18:10:32 +0000 (18:10 +0000)]
Eliminate two calls to vm_page_xunbusy() that are both unnecessary and
incorrect from the error cases in exec_map_first_page().  They are
unnecessary because we automatically unbusy the page in vm_page_free()
when we remove it from the object.  The calls are incorrect because they
happen after the page is freed, so we might actually unbusy the page
after it has been reallocated to a different object.  (This error was
introduced in r292373.)

Reviewed by: kib
MFC after: 1 week

7 years agoAdd `stats reset` command implementation to NPTv6 module
ae [Sat, 13 Aug 2016 16:45:14 +0000 (16:45 +0000)]
Add `stats reset` command implementation to NPTv6 module
to be able reset statistics counters.

Obtained from: Yandex LLC
Sponsored by: Yandex LLC

7 years agoReplace __noinline with special debug macro NAT64NOINLINE.
ae [Sat, 13 Aug 2016 16:26:15 +0000 (16:26 +0000)]
Replace __noinline with special debug macro NAT64NOINLINE.

7 years agoAdd ePAPR boot support for PowerPC book-E (MPC85xx) hardware
jhibbits [Sat, 13 Aug 2016 16:16:02 +0000 (16:16 +0000)]
Add ePAPR boot support for PowerPC book-E (MPC85xx) hardware

Summary:
u-boot, following the ePAPR specification, puts secondary cores into a
spinloop at boot, rather than leaving them shut off.  It then relies on the host
OS to write the correct values to a special spin table, located in coherent
memory (on newer implementations), or noncoherent memory (older
implementations).

This supports both implementations of ePAPR, as well as continuing to support
non-ePAPR booting, by first attempting to use the spintable, and falling back to
expecting non-started CPUs.

Test Plan:
Booted on a P5020 board.  Tested before and after the changes.
Before the changes, prints the error "SMP: CPU 1 already out of hold-off state!"
and panics shortly thereafter.  After the changes, same boot method lets it
complete boot.

Reviewed by: nwhitehorn
MFC after: 2 weeks
Relnotes: Yes
Sponsored by: Alex Perez/Inertial Computing
Differential Revision: https://reviews.freebsd.org/D7494

7 years agoAdd ipfw_nat64 module that implements stateless and stateful NAT64.
ae [Sat, 13 Aug 2016 16:09:49 +0000 (16:09 +0000)]
Add ipfw_nat64 module that implements stateless and stateful NAT64.

The module works together with ipfw(4) and implemented as its external
action module.

Stateless NAT64 registers external action with name nat64stl. This
keyword should be used to create NAT64 instance and to address this
instance in rules. Stateless NAT64 uses two lookup tables with mapped
IPv4->IPv6 and IPv6->IPv4 addresses to perform translation.

A configuration of instance should looks like this:
 1. Create lookup tables:
 # ipfw table T46 create type addr valtype ipv6
 # ipfw table T64 create type addr valtype ipv4
 2. Fill T46 and T64 tables.
 3. Add rule to allow neighbor solicitation and advertisement:
 # ipfw add allow icmp6 from any to any icmp6types 135,136
 4. Create NAT64 instance:
 # ipfw nat64stl NAT create table4 T46 table6 T64
 5. Add rules that matches the traffic:
 # ipfw add nat64stl NAT ip from any to table(T46)
 # ipfw add nat64stl NAT ip from table(T64) to 64:ff9b::/96
 6. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96
    via NAT64 host.

Stateful NAT64 registers external action with name nat64lsn. The only
one option required to create nat64lsn instance - prefix4. It defines
the pool of IPv4 addresses used for translation.

A configuration of instance should looks like this:
 1. Add rule to allow neighbor solicitation and advertisement:
 # ipfw add allow icmp6 from any to any icmp6types 135,136
 2. Create NAT64 instance:
 # ipfw nat64lsn NAT create prefix4 A.B.C.D/28
 3. Add rules that matches the traffic:
 # ipfw add nat64lsn NAT ip from any to A.B.C.D/28
 # ipfw add nat64lsn NAT ip6 from any to 64:ff9b::/96
 4. Configure DNS64 for IPv6 clients and add route to 64:ff9b::/96
    via NAT64 host.

Obtained from: Yandex LLC
Relnotes: yes
Sponsored by: Yandex LLC
Differential Revision: https://reviews.freebsd.org/D6434

7 years agoSet date and time formats back to what they were before CLDR
bapt [Sat, 13 Aug 2016 15:59:18 +0000 (15:59 +0000)]
Set date and time formats back to what they were before CLDR

While CLDR brings us a good and up to date source data to generate locales for
all databses we are using for locales, it is not the case of LC_TIME. Where it
does not defines the informations we need.

Put back all the date and time formats from the old locales.
Make it statically for now (in order to be able to merge it now into
11.0-RELEASE). The generation tools will be updated soon.

That gives us time to properly work on LC_TIME during the 12 timeframe.

While here fix abbreviated month for af_ZA (which are already fixed in CLDR
data upstream)

In locales where AP/PM was not defined before CLDR data, remove again the AP/PM
informations

For locales where AP/PM was defined before CLDR data, keep the CLDR information
which was properly translated.

MFC after: 3 days

7 years agoAdd three helper function to manage tables from external modules.
ae [Sat, 13 Aug 2016 15:48:56 +0000 (15:48 +0000)]
Add three helper function to manage tables from external modules.

ipfw_objhash_lookup_table_kidx does lookup kernel index of table;
ipfw_ref_table/ipfw_unref_table takes and releases reference to table.

Obtained from: Yandex LLC
Sponsored by: Yandex LLC

7 years agoMove logging via BPF support into separate file.
ae [Sat, 13 Aug 2016 15:41:04 +0000 (15:41 +0000)]
Move logging via BPF support into separate file.

* make interface cloner VNET-aware;
* simplify cloner code and use if_clone_simple();
* migrate LOGIF_LOCK() to rmlock;
* add ipfw_bpf_mtap2() function to pass mbuf to BPF;
* introduce new additional ipfwlog0 pseudo interface. It differs from
  ipfw0 by DLT type used in bpfattach. This interface is intended to
  used by ipfw modules to dump packets with additional info attached.
  Currently pflog format is used. ipfw_bpf_mtap2() function uses second
  argument to determine which interface use for dumping. If dlen is equal
  to ETHER_HDR_LEN it uses old ipfw0 interface, if dlen is equal to
  PFLOG_HDRLEN - ipfwlog0 will be used.

Obtained from: Yandex LLC
Sponsored by: Yandex LLC

7 years agoRedirect the output of the testcases to stderr instead of
ngie [Sat, 13 Aug 2016 06:26:33 +0000 (06:26 +0000)]
Redirect the output of the testcases to stderr instead of
redirecting it to /dev/null

This will aid in debugging failures

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

7 years agoInitialize `ai` to NULL and test for `ai` with type-appropriate values
ngie [Sat, 13 Aug 2016 02:05:06 +0000 (02:05 +0000)]
Initialize `ai` to NULL and test for `ai` with type-appropriate values

Depending on the address family and ai_flags containing AI_V4MAPPED,
it might not do a proper DNS lookup on the provided DNS address

Convert some `ai` boolean true/false checks to NULL/non-NULL while here.

MFC after: 1 week
PR: 211790
Reported by: Herbie.Robinson@stratus.com
Sponsored by: EMC / Isilon Storage Division

7 years agoIncrease timeout from 10 minutes to 20 minutes for all tests
ngie [Sat, 13 Aug 2016 01:49:11 +0000 (01:49 +0000)]
Increase timeout from 10 minutes to 20 minutes for all tests

On particular slow networks, it can (on average) take longer to
resolve hosts to IP* addresses. 20 minutes seemed reasonable for
my work network

This will be solved in a more meaningful way (if possible) using
concurrency in the near future

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

7 years agoUpdate the nfsstats structure to include the changes needed by
rmacklem [Fri, 12 Aug 2016 22:44:59 +0000 (22:44 +0000)]
Update the nfsstats structure to include the changes needed by
the patch in D1626 plus changes so that it includes counts for
NFSv4.1 (and the draft of NFSv4.2).
Also, make all the counts uint64_t and add a vers field at the
beginning, so that future revisions can easily be implemented.
There is code in place to handle the old vesion of the nfsstats
structure for backwards binary compatibility.

Subsequent commits will update nfsstat(8) to use the new fields.

Submitted by: will (earlier version)
Reviewed by: ken
MFC after: 1 month
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D1626

7 years agoReviewed by: allanjude
tsoome [Fri, 12 Aug 2016 22:25:01 +0000 (22:25 +0000)]
Reviewed by:    allanjude
Approved by: allanjude (mentor)
Differential Revision: https://reviews.freebsd.org/D7491

7 years agoRemove unused "X" vnode lock assertion, somehow missed in r303743.
trasz [Fri, 12 Aug 2016 22:22:11 +0000 (22:22 +0000)]
Remove unused "X" vnode lock assertion, somehow missed in r303743.

MFC after: 1 month

7 years agoPrint vnode details when vnode locking assertion gets triggered.
trasz [Fri, 12 Aug 2016 22:20:52 +0000 (22:20 +0000)]
Print vnode details when vnode locking assertion gets triggered.

MFC after: 1 month

7 years agoUpdate iflib to support more NIC designs
shurd [Fri, 12 Aug 2016 21:29:44 +0000 (21:29 +0000)]
Update iflib to support more NIC designs

- Move group task queue into kern/subr_gtaskqueue.c
- Change intr_enable to return an int so it can be detected if it's not
  implemented
- Allow different TX/RX queues per set to be different sizes
- Don't split up TX mbufs before transmit
- Allow a completion queue for TX as well as RX
- Pass the RX budget to isc_rxd_available() to allow an earlier return
  and avoid multiple calls

Submitted by: shurd
Reviewed by: gallatin
Approved by: scottl
Differential Revision: https://reviews.freebsd.org/D7393

7 years agoAdd defines needed to export SMBIOS serial numbers
jhb [Fri, 12 Aug 2016 19:47:20 +0000 (19:47 +0000)]
Add defines needed to export SMBIOS serial numbers

Some defines needed for exporting serial numbers from the SMBIOS were
missed during integration of SMBIOS support in the EFI boot loader (r281138).
This is needed for getting the hostid set from the system hardware UUID.

PR: 206031
Submitted by: Thomas Eberhardt <sneakywumpus@gmail.com>
MFC after: 1 week

7 years agoMove defines common between rtld and libsysdecode into the header,
kib [Fri, 12 Aug 2016 19:31:41 +0000 (19:31 +0000)]
Move defines common between rtld and libsysdecode into the header,
instead of copying inline into sources.

Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoFill phdr and phsize for rtld object. It is needed for
kib [Fri, 12 Aug 2016 18:31:44 +0000 (18:31 +0000)]
Fill phdr and phsize for rtld object.  It is needed for
dl_iterate_phdr() reporting the correct values.

PR: 211367
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoRemove all remaining uses of TAILQ_FOREACH_FROM() from rtld-elf.
kib [Fri, 12 Aug 2016 18:29:11 +0000 (18:29 +0000)]
Remove all remaining uses of TAILQ_FOREACH_FROM() from rtld-elf.

Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoRemove description of P_FOLLOWFORK as this flag was removed.
jhb [Fri, 12 Aug 2016 16:13:50 +0000 (16:13 +0000)]
Remove description of P_FOLLOWFORK as this flag was removed.

7 years agoAvoid taking PROC_LOCK in syscalls if not being traced.
bdrewery [Fri, 12 Aug 2016 16:05:53 +0000 (16:05 +0000)]
Avoid taking PROC_LOCK in syscalls if not being traced.

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

7 years agoCorrect the history of where ps first appeared.
wblock [Fri, 12 Aug 2016 14:10:11 +0000 (14:10 +0000)]
Correct the history of where ps first appeared.

PR: 211741
Submitted by: Sevan Janiyan <venture37@geeklan.co.uk>
MFC after: 1 week

7 years agoAvoid showing the bootstrap make command for check-old, etc.
bdrewery [Fri, 12 Aug 2016 13:52:51 +0000 (13:52 +0000)]
Avoid showing the bootstrap make command for check-old, etc.

Reported by: koobs
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

7 years agoPORTS_MODULES: Don't leak in CC/CXX/CPP.
bdrewery [Fri, 12 Aug 2016 11:06:54 +0000 (11:06 +0000)]
PORTS_MODULES: Don't leak in CC/CXX/CPP.

These may have ccache in them or -target/--sysroot from external
compiler or SYSTEM_COMPILER support.  Many ports do not support
a CC with spaces in it, such as emulators/virtualbox-ose-kmod.
Passing --sysroot to ports makes no sense as ports doesn't support
--sysroot currently.
If these variables need to be overridden for ports then they can
be set in make.conf or passed as make arguments.

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

7 years agoImplement promotions and demotions in the arm64 pmap code. For now we don't
andrew [Fri, 12 Aug 2016 10:29:34 +0000 (10:29 +0000)]
Implement promotions and demotions in the arm64 pmap code. For now we don't
promote memory as I am not sure all the demotion cases are handled, however
it is useful to implement pmap_page_set_memattr. This is used, for example,
when mapping uncached memory for bus_dma(9).

pmap_page_set_memattr needs to demote the DMAP region as on ARM we need to
ensure all mappings to the same physical address have the same attributes.

Reviewed by: kib
Obtained from: ABT Systems Ltd
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6987

7 years agohyperv/hn: Simplify RXBUF disconnection.
sephe [Fri, 12 Aug 2016 08:29:26 +0000 (08:29 +0000)]
hyperv/hn: Simplify RXBUF disconnection.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7472

7 years agohyperv/hn: Switch to vmbus xact APIs for NVS chimney buffer connection.
sephe [Fri, 12 Aug 2016 08:21:02 +0000 (08:21 +0000)]
hyperv/hn: Switch to vmbus xact APIs for NVS chimney buffer connection.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7470

7 years agoo Move tmpstr varibale initialization out of assert(3) call.
maxim [Fri, 12 Aug 2016 08:16:35 +0000 (08:16 +0000)]
o Move tmpstr varibale initialization out of assert(3) call.

This fixes acpidump(8) compiled with "WITHOUT_ASSERT_DEBUG=yes" that
removes assert(3)'s from the code.

Submitted by: Alexander Nedotsukov

7 years agohyperv/hn: Switch to vmbus xact APIs for NVS RXBUF connection.
sephe [Fri, 12 Aug 2016 08:07:56 +0000 (08:07 +0000)]
hyperv/hn: Switch to vmbus xact APIs for NVS RXBUF connection.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7469

7 years agohyperv/hn: Simplify NDIS initialization.
sephe [Fri, 12 Aug 2016 07:57:03 +0000 (07:57 +0000)]
hyperv/hn: Simplify NDIS initialization.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7467

7 years agoDecode 32bit utrace records on the 64bit host.
kib [Fri, 12 Aug 2016 07:54:59 +0000 (07:54 +0000)]
Decode 32bit utrace records on the 64bit host.

Suppose that ktrace is performed on 32bit binary running on 64bit
host.  In this case, the kernel records are 64bit, while utrace
records from rtld and malloc are 32bit.  Make kdump useful to see
decoded utrace data in that case.

Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoRemove unused prototypes.
kib [Fri, 12 Aug 2016 07:52:13 +0000 (07:52 +0000)]
Remove unused prototypes.

Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agohyperv/hn: Simplify NDIS configuration.
sephe [Fri, 12 Aug 2016 07:14:40 +0000 (07:14 +0000)]
hyperv/hn: Simplify NDIS configuration.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7466

7 years agoReimplement dirname(3) to be thread-safe.
ed [Fri, 12 Aug 2016 07:03:58 +0000 (07:03 +0000)]
Reimplement dirname(3) to be thread-safe.

Now that we've updated the prototypes of the basename(3) and dirname(3)
functions to conform to POSIX, let's go ahead and reimplement dirname(3)
in such a way that it's thread-safe, but also guaranteed to succeed. C
libraries like glibc, musl and the one that's part of Solaris already
follow such an approach.

Move the existing implementation to another source file,
freebsd11_dirname.c to keep existing users of the API that pass in a
constant string happy, using symbol versioning.

Put a new version of the function in dirname.c, obtained from CloudABI's
C library. This version scans through the pathname string from left to
right, normalizing it, while discarding the last pathname component.

Reviewed by: emaste, jilles
Differential Revision: https://reviews.freebsd.org/D7355

7 years agoCorrect errors and clean up the comments on the active queue scan.
alc [Fri, 12 Aug 2016 03:22:58 +0000 (03:22 +0000)]
Correct errors and clean up the comments on the active queue scan.

Eliminate some unnecessary blank lines.

Reviewed by: kib, markj
MFC after: 1 week

7 years agoPrint out some more fields.
adrian [Fri, 12 Aug 2016 01:13:34 +0000 (01:13 +0000)]
Print out some more fields.

Tested:

* AR9331 SoC (Carambola 2) - specifically looking for the tuning caps fields.

7 years agoFix kernel build with TCP_RFC7413 option
karels [Thu, 11 Aug 2016 23:52:24 +0000 (23:52 +0000)]
Fix kernel build with TCP_RFC7413 option

The current in_pcb.h includes route.h, which includes sockaddr structures.
Including <sys/socketvar.h> should require <sys/socket.h>; add it in
the appropriate place.

PR: 211385
Submitted by: Sergey Kandaurov and iron at mail.ua
Reviewed by: gnn
Approved by: gnn (mentor)
MFC after: 1 day

7 years agoRename pcduino3b.dts to pcduino3.dts
manu [Thu, 11 Aug 2016 23:04:26 +0000 (23:04 +0000)]
Rename pcduino3b.dts to pcduino3.dts
The only difference between 3 and 3B is the size of the RJ45 port.
And now we have a uboot port that expect pcduino3.dts to be present.

Reported by: imp

7 years agoFix vtnet hang with max_virtqueue_pairs > VTNET_MAX_QUEUE_PAIRS
smh [Thu, 11 Aug 2016 21:13:58 +0000 (21:13 +0000)]
Fix vtnet hang with max_virtqueue_pairs > VTNET_MAX_QUEUE_PAIRS

Correctly limit npairs passed to vtnet_ctrl_mq_cmd. This ensures that
VQ_ALLOC_INFO_INIT is called with the correct value, preventing the system
from hanging when max_virtqueue_pairs > VTNET_MAX_QUEUE_PAIRS.

Add new sysctl requested_vq_pairs which allow the user to configure
the requested number of virtqueue pairs. The actual value will still take
into account the system limits.

Also missing sysctls for the current tunables so their values can be seen.

PR: 207446
Reported by: Andy Carrel
MFC after: 3 days
Relnotes: Yes
Sponsored by: Multiplay

7 years agoPROGS: Support INTERNALPROG.prog=yes to not install it.
bdrewery [Thu, 11 Aug 2016 17:06:48 +0000 (17:06 +0000)]
PROGS: Support INTERNALPROG.prog=yes to not install it.

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division

7 years agoRevert r303890 for now here as camdd fails to build on powerpc*
bz [Thu, 11 Aug 2016 15:06:12 +0000 (15:06 +0000)]
Revert r303890 for now here as camdd fails to build on powerpc*
due to device_t only being available under _KERNEL.

Reported by: bde (_KERNEL in general), kib (build failure)
MFC after: 1 day
X-MFC with: r303890

7 years agoAdd the missing space between .asciz directive and opening quote for some
stevek [Thu, 11 Aug 2016 15:00:55 +0000 (15:00 +0000)]
Add the missing space between .asciz directive and opening quote for some
lines within #ifdef BTXLDR_VERBOSE/#endif

Reported by: Kevin Zheng <kzheng@juniper.net>
Reviewed by: jhb
Approved by: sjg (mentor)
Obtained from: Juniper Networks, Inc.
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D7464

7 years agoImplement autofs_print(), for improved debugging experience.
trasz [Thu, 11 Aug 2016 14:27:23 +0000 (14:27 +0000)]
Implement autofs_print(), for improved debugging experience.

MFC after: 1 month

7 years agoRevert r303911 "Remove extra -msoft-float flags settings."
br [Thu, 11 Aug 2016 13:42:31 +0000 (13:42 +0000)]
Revert r303911 "Remove extra -msoft-float flags settings."
This was not properly tested.

7 years agoThe pmap_delayed_invl_wait() function blocks on turnstile, it does not
kib [Thu, 11 Aug 2016 12:37:11 +0000 (12:37 +0000)]
The pmap_delayed_invl_wait() function blocks on turnstile, it does not
spin, in the committed version.  Remove stray '*' in the text.

Sponsored by: The FreeBSD Foundation.
MFC after: 3 days

7 years agoRestore "nat global" support.
ae [Thu, 11 Aug 2016 10:10:10 +0000 (10:10 +0000)]
Restore "nat global" support.

Now zero value of arg1 used to specify "tablearg", use the old "tablearg"
value for "nat global". Introduce new macro IP_FW_NAT44_GLOBAL to replace
hardcoded magic number to specify "nat global". Also replace 65535 magic
number with corresponding macro. Fix typo in comments.

PR: 211256
Tested by: Victor Chernov
MFC after: 3 days

7 years agoRemove b_pin_count from struct buf.
markj [Thu, 11 Aug 2016 07:58:23 +0000 (07:58 +0000)]
Remove b_pin_count from struct buf.

It was added in r153192 for XFS and doesn't appear to have been used for
anything else. XFS was disconnected in r241607 and removed entirely in
r247631.

Reported by: mlaier
Reviewed by: imp, kib
Differential Revision: https://reviews.freebsd.org/D7468

7 years agoRemove unused textvp_fullpath() macro.
trasz [Thu, 11 Aug 2016 07:11:15 +0000 (07:11 +0000)]
Remove unused textvp_fullpath() macro.

MFC after: 1 month

7 years agohyperv/vmbus: Use xact APIs to implement post message Hypercall APIs
sephe [Thu, 11 Aug 2016 06:24:17 +0000 (06:24 +0000)]
hyperv/vmbus: Use xact APIs to implement post message Hypercall APIs

Avoid code duplication.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7458

7 years agohyperv/hn: Switch to vmbus xact APIs for NVS initialization
sephe [Thu, 11 Aug 2016 06:14:54 +0000 (06:14 +0000)]
hyperv/hn: Switch to vmbus xact APIs for NVS initialization

Reviewed by: Jun Su <junsu microsoft com>
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7457

7 years agohyperv/vmbus: Add APIs for various types of transactions.
sephe [Thu, 11 Aug 2016 05:49:49 +0000 (05:49 +0000)]
hyperv/vmbus: Add APIs for various types of transactions.

Reviewed by: Jun Su <junsu microsoft com>
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7456

7 years agoRemove files unused after pulling system call names from libsysdecode.
jhb [Thu, 11 Aug 2016 05:18:09 +0000 (05:18 +0000)]
Remove files unused after pulling system call names from libsysdecode.

7 years agohyperv/vmbus: Add macro to get channel packet data length.
sephe [Thu, 11 Aug 2016 03:20:38 +0000 (03:20 +0000)]
hyperv/vmbus: Add macro to get channel packet data length.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D7455

7 years agocam/da: Add quirk for I-O Data USB Flash Disk
sephe [Thu, 11 Aug 2016 03:12:56 +0000 (03:12 +0000)]
cam/da: Add quirk for I-O Data USB Flash Disk

PR: 211716
Submitted by: Jun Su <junsu microsoft com>
Reported by: Jun Su <junsu microsoft com>
MFC after: 1 week
Sponsored by: Microsoft

7 years agoAllow enforce_statfs (see jail(8)) to be set per jail
dteske [Wed, 10 Aug 2016 23:24:21 +0000 (23:24 +0000)]
Allow enforce_statfs (see jail(8)) to be set per jail

Reviewed by: jelischer
MFC after: 3 days

7 years agoFix sorting in r303934.
bdrewery [Wed, 10 Aug 2016 21:59:59 +0000 (21:59 +0000)]
Fix sorting in r303934.

Reported by: jhb
X-MFC-With: r303934
MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division

7 years agoProvide the CloudABI vDSO to its executables.
ed [Wed, 10 Aug 2016 21:02:41 +0000 (21:02 +0000)]
Provide the CloudABI vDSO to its executables.

CloudABI executables already provide support for passing in vDSOs. This
functionality is used by the emulator for OS X to inject system call
handlers. On FreeBSD, we could use it to optimize calls to
gettimeofday(), etc.

Though I don't have any plans to optimize any system calls right now,
let's go ahead and already pass in a vDSO. This will allow us to
simplify the executables, as the traditional "syscall" shims can be
removed entirely. It also means that we gain more flexibility with
regards to adding and removing system calls.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D7438

7 years agoUse proper argument length for rmdir(2) for r303934.
bdrewery [Wed, 10 Aug 2016 18:45:26 +0000 (18:45 +0000)]
Use proper argument length for rmdir(2) for r303934.

Reported by: kib
X-MFC-With: r303934
MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division