]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
7 years agoUse provided API (change "dialog" to "$DIALOG")
dteske [Mon, 12 Dec 2016 20:43:09 +0000 (20:43 +0000)]
Use provided API (change "dialog" to "$DIALOG")

7 years agoWhitespace (dialog options separated to minimize diffs)
dteske [Mon, 12 Dec 2016 20:41:27 +0000 (20:41 +0000)]
Whitespace (dialog options separated to minimize diffs)

7 years agoed(1): Simplify some checks.
pfg [Mon, 12 Dec 2016 20:25:59 +0000 (20:25 +0000)]
ed(1): Simplify some checks.

The return type for both fread(3) and fwrite(3) cannot be negative, this
renders some checks invalid and variable 'ct' unnecessary.
Also bump 'len' to size_t to avoid signed/unsigned comparison warnings.

7 years agoUse the spibus accessor when applicable.
manu [Mon, 12 Dec 2016 20:04:31 +0000 (20:04 +0000)]
Use the spibus accessor when applicable.

MFC after: 3 days

7 years agoConsolidate redirects into here documents, with proper code indentation
dteske [Mon, 12 Dec 2016 19:46:49 +0000 (19:46 +0000)]
Consolidate redirects into here documents, with proper code indentation

7 years ago- Refactor listening socket list. All of the listening sockets are
hrs [Mon, 12 Dec 2016 19:33:40 +0000 (19:33 +0000)]
- Refactor listening socket list.  All of the listening sockets are
  now maintained in a single linked-list in a transport-independent manner.
- Use queue.h for linked-list structure.
- Use linked-list for AllowedPeers.
- Use getaddrinfo(8) even for Unix Domain sockets.
- Use macros to type-casting from/to struct sockaddr{,_in,_in6}.
- Define fu_* macro for union f_un to shorten the member names.
- Remove an extra #include <sys/type.h>.
- Add "static" to non-exported symbols.
- !INET support is still incomplete but will be fixed later.

There is no functional change except for some minor debug messages.

7 years agoRemove an unnecessary "return $?" at end of function
dteske [Mon, 12 Dec 2016 19:26:55 +0000 (19:26 +0000)]
Remove an unnecessary "return $?" at end of function

7 years agoTemporarily backout the previous commit because it was totally broken due to
hrs [Mon, 12 Dec 2016 19:24:52 +0000 (19:24 +0000)]
Temporarily backout the previous commit because it was totally broken due to
unresolved merge conflicts.

Pointy hat to: hrs

7 years agoUse ternary operator
dteske [Mon, 12 Dec 2016 19:24:32 +0000 (19:24 +0000)]
Use ternary operator

7 years agovfs: use vrefact in getcwd and fchdir
mjg [Mon, 12 Dec 2016 19:16:35 +0000 (19:16 +0000)]
vfs: use vrefact in getcwd and fchdir

7 years agoIf you're not going to make use of the products of a match() in awk
dteske [Mon, 12 Dec 2016 19:12:31 +0000 (19:12 +0000)]
If you're not going to make use of the products of a match() in awk
(e.g., RSTART and RLENGTH variables) then use ~ instead of match()

7 years agoUndo r309891. Konstantin is right in that this condition normally
trasz [Mon, 12 Dec 2016 19:11:04 +0000 (19:11 +0000)]
Undo r309891.  Konstantin is right in that this condition normally
cannot happen - the um_dev field is assigned at mount and never written
to afterwards.

7 years agoNow that these variables do not contain the --default-item flag itself,
dteske [Mon, 12 Dec 2016 19:10:39 +0000 (19:10 +0000)]
Now that these variables do not contain the --default-item flag itself,
change the name of the variable from $def_item_... to $default_...

7 years ago- Refactor listening socket list. All of the listening sockets are
hrs [Mon, 12 Dec 2016 19:10:14 +0000 (19:10 +0000)]
- Refactor listening socket list.  All of the listening sockets are
  now maintained in a single linked-list in a transport-independent manner.
- Use queue.h for linked-list structure.
- Use linked-list for AllowedPeers.
- Use getaddrinfo(8) even for Unix Domain sockets.
- Use macros to type-casting from/to struct sockaddr{,_in,_in6}.
- Define fu_* macro for union f_un to shorten the member names.
- Remove an extra #include <sys/type.h>.
- Add "static" to non-exported symbols.
- !INET support is still incomplete but will be fixed later.

There is no functional change except for some minor debug messages.

7 years agoAlways pass --default-item parameter to dialog
dteske [Mon, 12 Dec 2016 19:09:17 +0000 (19:09 +0000)]
Always pass --default-item parameter to dialog

7 years agoThere is zero harm in always passing --default-item to dialog
dteske [Mon, 12 Dec 2016 19:07:42 +0000 (19:07 +0000)]
There is zero harm in always passing --default-item to dialog

7 years agoCentralize backtitle string
dteske [Mon, 12 Dec 2016 19:01:04 +0000 (19:01 +0000)]
Centralize backtitle string

7 years agoFix regression when stdin/out/err fds are are overridden by shell.
robak [Mon, 12 Dec 2016 18:56:40 +0000 (18:56 +0000)]
Fix regression when stdin/out/err fds are are overridden by shell.

Submitted by: Pawel Biernacki <pawel.biernacki@gmail.com>
Reported by: ngie
Approved by: ngie
Sponsored by: Mysterious Code Ltd.
Differential Revision: https://reviews.freebsd.org/D8543

7 years agoUse provided API instead of hard-coded status integers
dteske [Mon, 12 Dec 2016 18:55:41 +0000 (18:55 +0000)]
Use provided API instead of hard-coded status integers

7 years agoWhitespace
dteske [Mon, 12 Dec 2016 18:52:22 +0000 (18:52 +0000)]
Whitespace

7 years agoRemove unnecessary `-n' parameter to head/tail
dteske [Mon, 12 Dec 2016 18:48:00 +0000 (18:48 +0000)]
Remove unnecessary `-n' parameter to head/tail

7 years agoawk(1) match() takes a regex, use /.../ to remind ourselves of this
dteske [Mon, 12 Dec 2016 18:45:52 +0000 (18:45 +0000)]
awk(1) match() takes a regex, use /.../ to remind ourselves of this
NB: The difference between "..." and /.../ for a regex in awk is that
quoted strings go through escape expansion first (e.g., \\ becomes \)

7 years agoBe internally consistent (": > ..." is used elsewhere in this file)
dteske [Mon, 12 Dec 2016 18:43:42 +0000 (18:43 +0000)]
Be internally consistent (": > ..." is used elsewhere in this file)

7 years ago"echo | sed | sed | awk" is silly (changed to "echo | awk")
dteske [Mon, 12 Dec 2016 18:42:55 +0000 (18:42 +0000)]
"echo | sed | sed | awk" is silly (changed to "echo | awk")

7 years agoAdd missing `-e' parameter to sed invocations
dteske [Mon, 12 Dec 2016 18:39:26 +0000 (18:39 +0000)]
Add missing `-e' parameter to sed invocations

7 years agoAllow $BSDINSTALL_TMPETC to contain whitespace or special chars
dteske [Mon, 12 Dec 2016 18:38:18 +0000 (18:38 +0000)]
Allow $BSDINSTALL_TMPETC to contain whitespace or special chars

7 years agoCS ivar is uint32_t, not int.
manu [Mon, 12 Dec 2016 18:36:46 +0000 (18:36 +0000)]
CS ivar is uint32_t, not int.

MFC after: 3 days

7 years agoGroup fallbacks together
dteske [Mon, 12 Dec 2016 18:34:21 +0000 (18:34 +0000)]
Group fallbacks together

7 years agoRemove unnecessary quotes around number in test
dteske [Mon, 12 Dec 2016 18:33:40 +0000 (18:33 +0000)]
Remove unnecessary quotes around number in test

7 years agoChange "[ ! ... ] && ..." to "[ ... ] || ..."
dteske [Mon, 12 Dec 2016 18:29:24 +0000 (18:29 +0000)]
Change "[ ! ... ] && ..." to "[ ... ] || ..."

7 years agoCollapse tiny if statements
dteske [Mon, 12 Dec 2016 18:28:20 +0000 (18:28 +0000)]
Collapse tiny if statements

7 years agoReplace funny block with something easy to digest
dteske [Mon, 12 Dec 2016 18:24:41 +0000 (18:24 +0000)]
Replace funny block with something easy to digest

7 years agoConsolidate locals
dteske [Mon, 12 Dec 2016 18:21:56 +0000 (18:21 +0000)]
Consolidate locals

7 years agoRemove unnecessary local initializers
dteske [Mon, 12 Dec 2016 18:20:56 +0000 (18:20 +0000)]
Remove unnecessary local initializers

7 years agoChange "[ ! -z ... ]" => "[ ... ]" and "[ -z ... ]" => "[ ! ... ]"
dteske [Mon, 12 Dec 2016 18:17:30 +0000 (18:17 +0000)]
Change "[ ! -z ... ]" => "[ ... ]" and "[ -z ... ]" => "[ ! ... ]"

7 years agoEnable ACPI on arm64. It's not yet functional, but it will help keeping the
andrew [Mon, 12 Dec 2016 18:13:03 +0000 (18:13 +0000)]
Enable ACPI on arm64. It's not yet functional, but it will help keeping the
code building until it is ready.

Obtained from: ABT Systems Ltd
Sponsored by: The FreeBSD Foundation

7 years agoUse $( ... ) instead of `...`
dteske [Mon, 12 Dec 2016 18:10:33 +0000 (18:10 +0000)]
Use $( ... ) instead of `...`

7 years agoComments
dteske [Mon, 12 Dec 2016 18:05:54 +0000 (18:05 +0000)]
Comments

7 years agoEliminate every mention of PG_CACHED pages from the comments in the machine-
alc [Mon, 12 Dec 2016 17:47:09 +0000 (17:47 +0000)]
Eliminate every mention of PG_CACHED pages from the comments in the machine-
independent layer of the virtual memory system.  Update some of the nearby
comments to eliminate redundancy and improve clarity.

In vm/vm_reserv.c, do not use hyphens after adverbs ending in -ly per
The Chicago Manual of Style.

Update the comment in vm/vm_page.h defining the four types of page queues to
reflect the elimination of PG_CACHED pages and the introduction of the
laundry queue.

Reviewed by: kib, markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D8752

7 years agoAdd basic ATF tests for Capability mode .. lookups
cem [Mon, 12 Dec 2016 17:23:09 +0000 (17:23 +0000)]
Add basic ATF tests for Capability mode .. lookups

A follow-up to r309887.

Several tests copied verbatim from
https://github.com/emaste/snippets/blob/master/test_openat.c .

Reviewed by: kib@, ngie@ (earlier version)
X-MFC-With: r309887
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D8748

7 years agoApply clear_mask correctly.
br [Mon, 12 Dec 2016 17:08:52 +0000 (17:08 +0000)]
Apply clear_mask correctly.

Reviewed by: jmcneill, kan
Sponsored by: DARPA, AFRL

7 years agoOn non-Intel platforms don't ignore the PCI root bridge mapping in
andrew [Mon, 12 Dec 2016 16:53:55 +0000 (16:53 +0000)]
On non-Intel platforms don't ignore the PCI root bridge mapping in
acpi_set_resource, the mappings are needed on arm64.

Obtained from: ABT Systenms Ltd
Sponsored by: The FreeBSD Foundation

7 years agoclk_div: Add a div lookup table
manu [Mon, 12 Dec 2016 16:43:31 +0000 (16:43 +0000)]
clk_div: Add a div lookup table

Some clocks on SoC have a diff between the value written in the register
and the real divider.
Add a table that where we can lookup the real value of the divider.

Reviewed by: mmel (earlier revision)
Differential Revision: https://reviews.freebsd.org/D8728

7 years agovfs: add vrefact, to be used when the vnode has to be already active
mjg [Mon, 12 Dec 2016 15:37:11 +0000 (15:37 +0000)]
vfs: add vrefact, to be used when the vnode has to be already active

This allows blind increment of relevant counters which under contention
is cheaper than inc-not-zero loops at least on amd64.

Use it in some of the places which are guaranteed to see already active
vnodes.

Reviewed by: kib (previous version)

7 years agoFix gic_cpu_mask() calculation in ARM GIC
jchandra [Mon, 12 Dec 2016 15:35:57 +0000 (15:35 +0000)]
Fix gic_cpu_mask() calculation in ARM GIC

r309616 changed the definition of GICD_ITARGETSR(n) to take the irq
id as argument, but the usage of the macro in gic_cpu_mask() was not
updated to reflect this. This causes the cpu mask to be computed
incorrectly.

Update the GICD_ITARGETSR() call to fix this, this fixes a hang seen
while booting freebsd on qemu-system-aarch64 with SMP enabled.

7 years agoAvoid dereferencing NULL pointers in devtoname(). I've seen it panic,
trasz [Mon, 12 Dec 2016 15:22:21 +0000 (15:22 +0000)]
Avoid dereferencing NULL pointers in devtoname().  I've seen it panic,
called from ufs_print() in DDB.

MFC after: 1 month

7 years agoIncrease interrupt cells in generic_pcie_fdt_route_interrupt
jchandra [Mon, 12 Dec 2016 15:17:56 +0000 (15:17 +0000)]
Increase interrupt cells in generic_pcie_fdt_route_interrupt

ARM GIC specification in device trees use 3 cells, so the current
limit of 2 causes the last cell to be dropped. This in turn can
cause the interrupt polarity and trigger settings to be incorrect.

Increase the limit to 4 which should handle all reasonable cases.
This fixes issues seen in QEMU when registering PCI interrupts.

7 years agoModify IPv6 statistic accounting in ip6_input().
ae [Mon, 12 Dec 2016 11:26:59 +0000 (11:26 +0000)]
Modify IPv6 statistic accounting in ip6_input().

Add rcvif local variable to keep inbound interface pointer. Count
ifs6_in_discard errors in all "goto bad" cases. Now it will count
errors even if mbuf was freed. Modify all places where m->m_pkthdr.rcvif
is used to use local rcvif variable.

Obtained from: Yandex LLC
MFC after: 1 month

7 years agoEnable lookup_cap_dotdot and lookup_cap_dotdot_nonlocal.
kib [Mon, 12 Dec 2016 11:12:04 +0000 (11:12 +0000)]
Enable lookup_cap_dotdot and lookup_cap_dotdot_nonlocal.

Requested and reviewed by: cem
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D8746

7 years agoWhen a zombie gets reparented due to the parent exit, send SIGCHLD to
kib [Mon, 12 Dec 2016 11:11:50 +0000 (11:11 +0000)]
When a zombie gets reparented due to the parent exit, send SIGCHLD to
the reaper.

The traditional reaper init(8) is aware of zombies silently reparented
to it after the parents exit, it loops around waitpid(2) to collect
them.  For other reapers, the silent reparenting is surprising and
collecting zombies requires a thread blocking in waitpid(2) just for
that purpose.  It seems that sending second SIGCHLD is a better
workaround than forcing all reapers to obey the setup.

Reported by:  Michael Zuo <muh.muhten@gmail.com>, jilles
PR: 213928
Reviewed by: jilles (previous version)
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks

7 years agoAdd ip6_tryforward() - a run to completion forwarding implementation
ae [Mon, 12 Dec 2016 10:57:32 +0000 (10:57 +0000)]
Add ip6_tryforward() - a run to completion forwarding implementation
for IPv6.

It gets performance benefits from reduced number of checks. It doesn't
copy mbuf to be able send ICMPv6 error message, because it keeps mbuf
unchanged until the moment, when the route decision has been made.
It doesn't do IPsec checks, and when some IPsec security policies present,
ip6_input() uses normal slow path.

Reviewed by: bz, gnn
Obtained from: Yandex LLC
MFC after: 1 month
Sponsored by: Yandex LLC
Differential Revision: https://reviews.freebsd.org/D8527

7 years agohyperv/hn: Add polling support
sephe [Mon, 12 Dec 2016 05:18:03 +0000 (05:18 +0000)]
hyperv/hn: Add polling support

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

7 years agohyperv/vmbus: Add channel polling support.
sephe [Mon, 12 Dec 2016 05:04:55 +0000 (05:04 +0000)]
hyperv/vmbus: Add channel polling support.

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

7 years agoed(1): Prevent possible overflows during allocation.
pfg [Mon, 12 Dec 2016 03:46:40 +0000 (03:46 +0000)]
ed(1): Prevent possible overflows during allocation.

Make sure the parameters used for malloc(3) can hold size_t sizes.
This should help ed(1) handle bigger data in the future.

MFC after: 2 weeks

7 years agoMerge changes from vendor to address several Coverity issues with
ngie [Mon, 12 Dec 2016 02:21:56 +0000 (02:21 +0000)]
Merge changes from vendor to address several Coverity issues with
contrib/libarchive's tests

MFC after: 2 weeks
Obtained from: libarchive (ebe29c, fd0ea2, f9e3de)
Reported by: Coverity

7 years agoWe currently don't do TSO if ip options are present. In case of IPv6, we look at
hiren [Sun, 11 Dec 2016 23:14:47 +0000 (23:14 +0000)]
We currently don't do TSO if ip options are present. In case of IPv6, we look at
in6p_options to check that. That is incorrect as we carry ip options in
in6p_outputopts. Also, just checking for in6p_outputopts being NULL won't
suffice as we combine ip options and ip header fields both in that one field.
The commit fixes this by using ip6_optlen() which correctly calculates length
of only ip options for IPv6.

Reviewed by:     ae, bz
MFC after:     3 weeks
Sponsored by:     Limelight Networks

7 years agoPostpone ZVOL media/block size caching till first open.
mav [Sun, 11 Dec 2016 19:50:39 +0000 (19:50 +0000)]
Postpone ZVOL media/block size caching till first open.

At least on FreeBSD there are no legal way to access media or get its
size without opening device/provider first.  Postponing this caching
allows to skip several disk seeks per ZVOL/snapshot during import.

For HDD pool with 1 ZVOL in dev mode with 1000 snapshots this reduces
pool import time from 40 to 10 seconds.

MFC after: 2 weeks
Sponsored by: iXsystems, Inc.

7 years agoWhen tmpfs and POSIX shm pagein a page for the sole purpose of performing
alc [Sun, 11 Dec 2016 19:24:41 +0000 (19:24 +0000)]
When tmpfs and POSIX shm pagein a page for the sole purpose of performing
truncation, immediately queue the page for asynchronous laundering rather
than making the page pass through inactive queue first.

Reviewed by: kib, markj

7 years agoPrefix hex memory addresses with 0x in diagnostic messages from the
kib [Sun, 11 Dec 2016 19:01:27 +0000 (19:01 +0000)]
Prefix hex memory addresses with 0x in diagnostic messages from the
SRAT parser.

Submitted by: Oliver Pinter
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D8750

7 years agorsu: fix and enable Rx TCP checksum offloading.
avos [Sun, 11 Dec 2016 17:15:25 +0000 (17:15 +0000)]
rsu: fix and enable Rx TCP checksum offloading.

Tested with Asus USB-N10, STA mode.

7 years agoEnsure that the reported ppid and tsn are taken from the first fragment.
tuexen [Sun, 11 Dec 2016 13:26:35 +0000 (13:26 +0000)]
Ensure that the reported ppid and tsn are taken from the first fragment.

This fixes a bug where the wrong ppid was reported, if
* I-DATA was used on the first fragement was not received first
* DATA was used and different ppids where used.

Thanks to Julian Cordes for making me aware of the issue.

MFC after: 1 week

7 years agoCut to the chase and just call free instead of free(x) + x = NULL
ngie [Sat, 10 Dec 2016 23:58:14 +0000 (23:58 +0000)]
Cut to the chase and just call free instead of free(x) + x = NULL

NULLing out x wasn't required as the memory was immediately scribbled
over with strdup in the following call.

MFC after: 1 week
Submitted by: imp

7 years agofree/NULL out variables prior to calling strdup to avoid leaking memory
ngie [Sat, 10 Dec 2016 23:26:34 +0000 (23:26 +0000)]
free/NULL out variables prior to calling strdup to avoid leaking memory
if arguments are specified more than once with "camcontrol timestamp".

CID: 13668291366831
MFC after: 1 week

7 years agorsu: various initialization fixes.
avos [Sat, 10 Dec 2016 22:31:49 +0000 (22:31 +0000)]
rsu: various initialization fixes.

- Do not ignore initialization errors; call ieee80211_stop()
when initialization failed.
- Use usb_pause_mtx() instead of DELAY() while waiting for firmware
loading; this fixes system freeze during firmware startup.
- Do not execute rsu_stop() when device is powered off; fixes
'unknown board type (rfconfig=0xff)' error when the device is
reattached.

Tested with Asus USB-N10.

7 years agoChange the process limits for RLIMIT_MEMLOCK to RLIM_INFINITY when
ngie [Sat, 10 Dec 2016 22:08:33 +0000 (22:08 +0000)]
Change the process limits for RLIMIT_MEMLOCK to RLIM_INFINITY when
executing :mincore_resid

The default process limits in FreeBSD is 64kB for unprivileged users,
which empirically is too low to run the :mincore_resid testcase.

Process limits are inherited, so even though the default limit for
root users is RLIM_INFINITY, the inherited limit with "sudo" with the
default login.conf will be 64kB.

Use setrlimit to set rlim_max for RLIMIT_MEMLOCK to RLIM_INFINITY to
avoid ENOMEM issues when calling mlock to wire the mmap'ed address
space.

setrlimit requires root access to increase rlim_max, so require root
privileges when running the test

Discovered when executing the tests with sudo, e.g.
"sudo kyua test -k /usr/tests/lib/libc/sys/Kyuafile mincore_test"

MFC after: 2 weeks

7 years agoAdd some tests for reaper functionality (in procctl()).
jilles [Sat, 10 Dec 2016 22:05:24 +0000 (22:05 +0000)]
Add some tests for reaper functionality (in procctl()).

MFC after: 1 week

7 years agoTentatively apply https://reviews.llvm.org/D18730 to work around gcc PR
dim [Sat, 10 Dec 2016 22:03:44 +0000 (22:03 +0000)]
Tentatively apply https://reviews.llvm.org/D18730 to work around gcc PR
70528 (bogus error: constructor required before non-static data member).
This should fix buildworld with the external gcc package.

Reported by: https://jenkins.freebsd.org/job/FreeBSD_HEAD_amd64_gcc/

7 years agoAdd missed vfs.zfs.zfetch.max_idistance sysctl.
mav [Sat, 10 Dec 2016 21:19:27 +0000 (21:19 +0000)]
Add missed vfs.zfs.zfetch.max_idistance sysctl.

7 years agorsu: use bitmap for all debug messages.
avos [Sat, 10 Dec 2016 20:19:57 +0000 (20:19 +0000)]
rsu: use bitmap for all debug messages.

- Replace all remaining DPRINTF(N)'s with RSU_DPRINTF.
- Add new RSU_DEBUG_USB flag to track error codes returned by
usbd_do_request_flags().
- Improve few messages.

7 years agorsu(4): refresh the manpage.
avos [Sat, 10 Dec 2016 19:14:51 +0000 (19:14 +0000)]
rsu(4): refresh the manpage.

- Add monitor mode into the list of supported modes.
- Describe promiscuous mode limitations in CAVEATS section.

Reported by: adrian

7 years agorsu: add promiscuous mode support.
avos [Sat, 10 Dec 2016 18:47:13 +0000 (18:47 +0000)]
rsu: add promiscuous mode support.

- Add partial promiscuous mode support (no management frames;
they cannot be received by the firmware and net80211 at the same time).
- Add monitor mode support (all frames).

Tested with Asus, USB-N10.

7 years agoNow that external gcc directly natively links to libc++ we can remove
bapt [Sat, 10 Dec 2016 18:29:39 +0000 (18:29 +0000)]
Now that external gcc directly natively links to libc++ we can remove
the dirty hack made to fake libstdc++

7 years ago[evdev] Adds evdev support to sysmouse(4) driver
gonzo [Sat, 10 Dec 2016 18:07:16 +0000 (18:07 +0000)]
[evdev] Adds evdev support to sysmouse(4) driver

For horizontal (T-axis) wheel reporting which is not supported by
sysmouse protocol kern.evdev.sysmouse_t_axis sysctl is introduced.
It can take following values:

0 - no T-axis events (default)
1 - T-axis events are originated in ums(4) driver.
2 - T-axis events are originated in psm(4) driver.

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D8597

7 years ago[iwn] Perform BUS_DMASYNC_PREREAD when initializing RX buffer
gonzo [Sat, 10 Dec 2016 17:59:34 +0000 (17:59 +0000)]
[iwn] Perform BUS_DMASYNC_PREREAD when initializing RX buffer

BUS_DMASYNC_PREREAD is required when setting up RX buffer, otherwise
data provided by card can be overwritten by data evicted from cache

Also use proper tag when setting up RX descriptor

Reviewed by: adrian, avos, ivadasz
Differential Revision: https://reviews.freebsd.org/D8717

7 years agorsu: increase Rx buffer size from 8k to 30k.
avos [Sat, 10 Dec 2016 17:06:55 +0000 (17:06 +0000)]
rsu: increase Rx buffer size from 8k to 30k.

This is required for USB Rx aggregation
(and fixes 'could not allocate RX mbuf' / few other failures).

While here, reduce the number of Rx buffers from 100 to 1 -
the driver never uses more than one Rx buffer.

Tested with Asus USB-N10.

7 years agoAdd support for encrypted kernel crash dumps.
def [Sat, 10 Dec 2016 16:20:39 +0000 (16:20 +0000)]
Add support for encrypted kernel crash dumps.

Changes include modifications in kernel crash dump routines, dumpon(8) and
savecore(8). A new tool called decryptcore(8) was added.

A new DIOCSKERNELDUMP I/O control was added to send a kernel crash dump
configuration in the diocskerneldump_arg structure to the kernel.
The old DIOCSKERNELDUMP I/O control was renamed to DIOCSKERNELDUMP_FREEBSD11 for
backward ABI compatibility.

dumpon(8) generates an one-time random symmetric key and encrypts it using
an RSA public key in capability mode. Currently only AES-256-CBC is supported
but EKCD was designed to implement support for other algorithms in the future.
The public key is chosen using the -k flag. The dumpon rc(8) script can do this
automatically during startup using the dumppubkey rc.conf(5) variable.  Once the
keys are calculated dumpon sends them to the kernel via DIOCSKERNELDUMP I/O
control.

When the kernel receives the DIOCSKERNELDUMP I/O control it generates a random
IV and sets up the key schedule for the specified algorithm. Each time the
kernel tries to write a crash dump to the dump device, the IV is replaced by
a SHA-256 hash of the previous value. This is intended to make a possible
differential cryptanalysis harder since it is possible to write multiple crash
dumps without reboot by repeating the following commands:
# sysctl debug.kdb.enter=1
db> call doadump(0)
db> continue
# savecore

A kernel dump key consists of an algorithm identifier, an IV and an encrypted
symmetric key. The kernel dump key size is included in a kernel dump header.
The size is an unsigned 32-bit integer and it is aligned to a block size.
The header structure has 512 bytes to match the block size so it was required to
make a panic string 4 bytes shorter to add a new field to the header structure.
If the kernel dump key size in the header is nonzero it is assumed that the
kernel dump key is placed after the first header on the dump device and the core
dump is encrypted.

Separate functions were implemented to write the kernel dump header and the
kernel dump key as they need to be unencrypted. The dump_write function encrypts
data if the kernel was compiled with the EKCD option. Encrypted kernel textdumps
are not supported due to the way they are constructed which makes it impossible
to use the CBC mode for encryption. It should be also noted that textdumps don't
contain sensitive data by design as a user decides what information should be
dumped.

savecore(8) writes the kernel dump key to a key.# file if its size in the header
is nonzero. # is the number of the current core dump.

decryptcore(8) decrypts the core dump using a private RSA key and the kernel
dump key. This is performed by a child process in capability mode.
If the decryption was not successful the parent process removes a partially
decrypted core dump.

Description on how to encrypt crash dumps was added to the decryptcore(8),
dumpon(8), rc.conf(5) and savecore(8) manual pages.

EKCD was tested on amd64 using bhyve and i386, mipsel and sparc64 using QEMU.
The feature still has to be tested on arm and arm64 as it wasn't possible to run
FreeBSD due to the problems with QEMU emulation and lack of hardware.

Designed by: def, pjd
Reviewed by: cem, oshogbo, pjd
Partial review: delphij, emaste, jhb, kib
Approved by: pjd (mentor)
Differential Revision: https://reviews.freebsd.org/D4712

7 years agoRegen after 309805
bapt [Sat, 10 Dec 2016 13:30:18 +0000 (13:30 +0000)]
Regen after 309805

7 years agorsu: add TSF field into Rx radiotap.
avos [Sat, 10 Dec 2016 13:30:16 +0000 (13:30 +0000)]
rsu: add TSF field into Rx radiotap.

Tested with Asus USB-N10.

7 years agoMake WITHOUT_CAPSICUM implying WITHOUT_CASPER
bapt [Sat, 10 Dec 2016 13:29:51 +0000 (13:29 +0000)]
Make WITHOUT_CAPSICUM implying WITHOUT_CASPER

PR: 214562
Reported by: dewayne@heuristicsystems.com.au
MFC after: 2 days

7 years agoFix pkg groupshow <gid>
bapt [Sat, 10 Dec 2016 12:48:48 +0000 (12:48 +0000)]
Fix pkg groupshow <gid>

PR: 204676
Submitted by: longwitz@incore.de
MFC after: 2 days

7 years agoRespect WITHOUT_FINGER in src.conf when running make delete-old
bapt [Sat, 10 Dec 2016 12:28:43 +0000 (12:28 +0000)]
Respect WITHOUT_FINGER in src.conf when running make delete-old

PR: 213719
Submitted by: philippe.michel7@sfr.fr
MFC after: 2 days

7 years agoRespect WITHOUT_BOOTPD in src.conf when running make delete-old
bapt [Sat, 10 Dec 2016 12:26:49 +0000 (12:26 +0000)]
Respect WITHOUT_BOOTPD in src.conf when running make delete-old

PR: 213720
Submitted by: philippe.michel7@sfr.fr
MFC after: 2 days

7 years agoRespect WITHOUT_BOOTPARAMD in src.conf when running make delete-old
bapt [Sat, 10 Dec 2016 12:24:31 +0000 (12:24 +0000)]
Respect WITHOUT_BOOTPARAMD in src.conf when running make delete-old

PR: 213721
Submitted by: philippe.michel7@sfr.fr
MFC after: 2 days

7 years agoRespect WITHOUT_RBOOTD in src.conf when running make delete-old
bapt [Sat, 10 Dec 2016 12:21:24 +0000 (12:21 +0000)]
Respect WITHOUT_RBOOTD in src.conf when running make delete-old

PR: 213722
Submitted by: philippe.michel7@sfr.fr
MFC after: 2 days

7 years agoAlso remove auditdistd files if src.conf has WITHOUT_AUDIT
bapt [Sat, 10 Dec 2016 12:18:03 +0000 (12:18 +0000)]
Also remove auditdistd files if src.conf has WITHOUT_AUDIT

PR: 213723
Submitted by: philippe.michel7@sfr.fr
MFC after: 2 days

7 years agoAdd entries to remove timed files with make delete-old if WITHOUT_TIMED is set
bapt [Sat, 10 Dec 2016 12:14:41 +0000 (12:14 +0000)]
Add entries to remove timed files with make delete-old if WITHOUT_TIMED is set

PR: 213724
Submitted by: philippe.michel7@sfr.fr
MFC after: 2 days

7 years agoPerl is not available in base fix scripts depending on it to use
bapt [Sat, 10 Dec 2016 12:02:32 +0000 (12:02 +0000)]
Perl is not available in base fix scripts depending on it to use
the version from ports

PR: 215159
Reported by: Anatoly Kamchatnov <akamch@gmail.com>
MFC after: 2 days

7 years agoUpdate pci ids database to 2016.11.21
bapt [Sat, 10 Dec 2016 11:41:26 +0000 (11:41 +0000)]
Update pci ids database to 2016.11.21

MFC after: 2 days

7 years agoThis adds a configuration for arm64 users that track CURRENT but
gnn [Sat, 10 Dec 2016 10:00:27 +0000 (10:00 +0000)]
This adds a configuration for arm64 users that track CURRENT but
don't need the extra debug facilities.  Copied from the amd64
configuration of the same name.

Submitted by: Nikolai Lifanov
Reviewed by: emaste
MFC after: 2 weeks

7 years agoAdd Genesys Logic USB hub.
phk [Sat, 10 Dec 2016 09:10:48 +0000 (09:10 +0000)]
Add Genesys Logic USB hub.

Make two other USB hub descriptions more precise.

7 years agoImprove upon r309394
marcel [Sat, 10 Dec 2016 03:31:38 +0000 (03:31 +0000)]
Improve upon r309394

Instead of taking an extra reference to deal with pfsync_q_ins()
and pfsync_q_del() taken and dropping a reference (resp,) make
it optional of those functions to take or drop a reference by
passing an extra argument.

Submitted by: glebius@

7 years agoDon't create FBT probes for lock owner methods.
markj [Sat, 10 Dec 2016 03:13:11 +0000 (03:13 +0000)]
Don't create FBT probes for lock owner methods.

These functions may be called in DTrace probe context, so they cannot be
safely traced. Moreover, they are currently only used by DTrace, so their
corresponding FBT probes are not particularly useful.

MFC after: 2 weeks

7 years agoConsistently use fbt_excluded() on all architectures.
markj [Sat, 10 Dec 2016 03:11:05 +0000 (03:11 +0000)]
Consistently use fbt_excluded() on all architectures.

MFC after: 2 weeks

7 years agoUse a consistent snapshot of the lock state in owner_mtx().
markj [Sat, 10 Dec 2016 02:59:34 +0000 (02:59 +0000)]
Use a consistent snapshot of the lock state in owner_mtx().

MFC after: 2 weeks

7 years agoReturn a non-NULL owner only if the lock is exclusively held in owner_sx().
markj [Sat, 10 Dec 2016 02:56:44 +0000 (02:56 +0000)]
Return a non-NULL owner only if the lock is exclusively held in owner_sx().

Fix some whitespace bugs while here.

MFC after: 2 weeks

7 years agolibelftc: add elf{32,64}-tradlittlemips target emulation names
emaste [Sat, 10 Dec 2016 01:40:10 +0000 (01:40 +0000)]
libelftc: add elf{32,64}-tradlittlemips target emulation names

Sponsored by: The FreeBSD Foundation

7 years agoUse _test_unmount instead of test_unmount in cleanup to avoid
ngie [Fri, 9 Dec 2016 23:44:25 +0000 (23:44 +0000)]
Use _test_unmount instead of test_unmount in cleanup to avoid
false positives with atf_check when tmpfs is not loaded, etc

MFC after: 1 week

7 years ago- Ignore errors from umount
ngie [Fri, 9 Dec 2016 23:43:33 +0000 (23:43 +0000)]
- Ignore errors from umount
- Use _test_unmount instead of test_unmount in cleanup

MFC after: 1 week

7 years agoMake test_unmount usable in cleanup subroutines
ngie [Fri, 9 Dec 2016 23:42:04 +0000 (23:42 +0000)]
Make test_unmount usable in cleanup subroutines

- Duplicate test_unmount to _test_unmount
- Remove atf_check calls
- Call _test_unmount from test_unmount, checking the exit code
  at the end, and returning it to maintain the test_unmount
  "contract"

MFC after: 1 week

7 years agoImplement Intel's log page 0xc1 (Read Command Latency Log) and page
imp [Fri, 9 Dec 2016 23:37:14 +0000 (23:37 +0000)]
Implement Intel's log page 0xc1 (Read Command Latency Log) and page
0xc1 (Write Command Latency Log).

Sponsored By: Netflix, Inc