Commit Graph

234802 Commits

Author SHA1 Message Date
oshogbo
41574d7110 capsicum: propagate rights on accept(2)
Descriptor returned by accept(2) should inherits capabilities rights from
the listening socket.

PR:		201052
Reviewed by:	emaste, jonathan
Discussed with:	many
Differential Revision:	https://reviews.freebsd.org/D7724
2016-09-22 09:58:46 +00:00
kevlo
5889bfe98b Add TP-Link Archer T4U.
It will be used by the updated rtwn(4) / urtwn(4) driver.
2016-09-22 09:33:22 +00:00
ed
c862dd3ee0 Make it possible to safely use TPIDRURW from userspace.
On amd64, arm64 and i386, we have the possibility to switch between TLS
areas in userspace. The nice thing about this is that it makes it easier
to do light-weight threading, if we ever feel like doing that. On armv6,
let's go into the same direction by making it possible to safely use the
TPIDRURW register, which is intended for this purpose.

Clean up the ARMv6 code to remove md_tp entirely. Simply add a dedicated
field to the PCB to hold the value of TPIDRURW across context switches,
like we do for any other register. As userspace currently uses the
read-only TPIDRURO register, simply ensure that we keep both values in
sync where possible. The system calls for modifying the read-only
register will simply write the intended value into both registers, so
that it lazily ends up in the PCB during the next context switch.

Reviewed by:	https://reviews.freebsd.org/D7951
Approved by:	andrew
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D7951
2016-09-22 08:14:59 +00:00
trasz
f53d89fe29 Small tweaks to the diskinfo(8) manual page, to make it more consistent
with others.

MFC after:	1 month
2016-09-22 07:55:07 +00:00
trasz
54f79d39a9 Add "diskinfo -i", a simple aio-based IOPS benchmark.
MFC after:	1 month
2016-09-22 07:33:43 +00:00
stevek
f38db92af3 The getsecs() function is implemented in platform- and bootfw-specific
files and, in a number of these places, there were problems with how they
were declared.

Some used int return instead of time_t. On some architectures the bit
width of time_t did not naturally fit into an integer and could lead to
some unexpected behavior. (For example, 32-bit ARM builds uses a 64-bit
time_t.)

Make sure the function prototypes always specify void for the argument
list when they do not have any arguemnts, otherwise some compilers can
complain about the prototype.

Reported by:	Kevin Zheng
Reviewed by:	sjg
Approved by:	sjg (mentor)
Obtained from:	Juniper Networks, Inc.
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D7463
2016-09-22 06:24:40 +00:00
markj
f2a1dd4de8 Regenerate syscall provider argument strings. 2016-09-22 04:50:03 +00:00
markj
5c502043a8 Annotate syscall provider pointer arguments with the "userland" keyword.
This causes dtrace to automatically copyin arguments from userland, so
one no longer has to explicitly use the copyin() action to do so. Moreover,
copyin() on userland addresses is a no-op, so existing scripts should be
unaffected by this change.

Discussed with:	rstone
MFC after:	2 weeks
2016-09-22 04:49:31 +00:00
cem
c07150c5db Revert r306148 to fix build
Requested by:	jpaetzel
Reported by:	Larry Rosenman <ler at lerctr.org>, Jenkins
2016-09-22 00:25:23 +00:00
jpaetzel
c79bb218bb Update oce driver to 11.0.50.0
Submitted by:	Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
2016-09-21 22:53:16 +00:00
jhibbits
cf8ec4e3c3 Revert part of r306065
This is a separate change I was testing.
2016-09-21 22:09:17 +00:00
bdrewery
66ee57c162 Regenerate. 2016-09-21 21:42:06 +00:00
bdrewery
272d3e2ffe SYSTEM_COMPILER is not forced off with META_MODE after r304682.
Sponsored by:	Dell EMC Isilon
2016-09-21 21:32:05 +00:00
adrian
3d3e8fb247 [iwm] use rate control info from the node txrates; use mgmtrate for EAPOL frames
This changes the transmit rate control code to do a few things:

* use fixed rates (mcast, ucast, mgmt) where required.
* Don't use a hard-coded 11a or 11bg rate for non-data frames -
  use what net80211 says we should use.
* use mgmtrate for EAPOL frames.

Reviewed by:	avos
Differential Revision:	https://reviews.freebsd.org/D7994
2016-09-21 20:56:10 +00:00
adrian
4768b99cef [net80211] don't add IBSS node table entries for neighbors from other SSIDs.
The adhoc probe/beacon input path was creating nodes for all SSIDs.
This wasn't a problem when the NICs were configured to only process
frames for the current BSSID, but that didn't allow IBSS merges.
Once avos and I flipped on "beacons from all BSSIDs" to allow for
correct IBSS merging, we found this interesting behaviour.

This adds a check against the current SSID.

* If there's no VAP SSID, allow anything
* If there's a VAP SSID, check if the incoming frame has a suitable
  SSID and if so, allow it.

This prevents nodes being created for other SSIDs in probe and beacon
frames - ie, beacons overlapping IBSSes with different SSIDs, and
probe requests from arbitrary devices.

Tested:

* AR9380, IBSS mode, both local and other IBSSes.

Reviewed by:	avos
Differential Revision:	https://reviews.freebsd.org/D7959
2016-09-21 19:48:07 +00:00
np
284dd5b4f8 Fix typo. 2016-09-21 19:30:34 +00:00
np
a12ea902f4 cxgbetool: Add T6 support to the SGE context decoder.
Obtained from:	Chelsio Communications
Sponsored by:	Chelsio Communications
2016-09-21 19:26:36 +00:00
jrm
30116ed893 Add myself (jrm) to calendar.freebsd
Approved by:    swills (mentor)
2016-09-21 18:52:49 +00:00
gonzo
cb1b3c04ea Add evdev support to ums(4)
event generation is disabled by default in favour of sysmouse. This
behavoiur is controlled by kern.evdev.rcpt_mask sysctl, bit 2 should
be set to give priority to hw over sysmouse

Submitted by:	Vladimir Kondratiev <wulf@cicgroup.ru>
Reviewed by:	hans
Differential Revision:	https://reviews.freebsd.org/D7863
2016-09-21 18:52:03 +00:00
jrm
c536b4f3fd Add myself (jrm) as a ports committer and update mentor/mentee relationships
Approved by:	swills (mentor)
2016-09-21 18:50:11 +00:00
gonzo
d425d46585 Add evdev support to ukbd driver
event generation is disabled by default in favour of kbdmux. This
behavoiur is controlled by kern.evdev.rcpt_mask sysctl, bit 3 should
be set to give priority to hw over mux

Submitted by:	Vladimir Kondratiev <wulf@cicgroup.ru>
Reviewed by:	hans
Differential Revision:	https://reviews.freebsd.org/D7957
2016-09-21 18:47:21 +00:00
asomers
a99aa46ed5 Update mkimg(1) author's contact info
Reviewed by:	marcel, imp
MFC after:	3 days
Sponsored by:	Spectra Logic Corp
Differential Revision:	https://reviews.freebsd.org/D7991
2016-09-21 18:42:17 +00:00
trasz
d535adf723 Reduce code duplication by factoring out the delta_t() function.
No functional changes.

MFC after:	1 month
2016-09-21 18:07:25 +00:00
cem
589ec3ab2d posix_openpt.2: Sort includes per style(9)
Sponsored by:	Dell EMC Isilon
2016-09-21 17:51:27 +00:00
jhb
78dd521b44 Fix invalid vendor ID constant (typo).
During a bus rescan the check for an invalid vendor ID of a subfunction
used the wrong constant.

Submitted by:	Dexuan Cui <decui@microsoft.com>
MFC after:	3 days
2016-09-21 16:51:56 +00:00
ache
98f1d6db5d 1) For already non-standard %z extension implement GNU compatible formats:
+hh and -hh.
2) Check for incorrect values for %z.

MFC after:      7 days
2016-09-21 15:47:40 +00:00
kib
1d47176dd8 Hopefully, fix build of the module outside the kernel tree.
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2016-09-21 14:42:23 +00:00
kevlo
7bdf91c8bf Add support for the TP-Link TG-3468 v2.
This is an RTL8168 chip, which we already support so all we have to do is add
the vendor ID.

PR:	212876
Submitted by:	Tobias Kortkamp <t@tobik.me>
MFC after:	3 days
2016-09-21 14:15:15 +00:00
ed
beffb02f6b Refine the dirname(3) compatibility workaround a bit more.
Right now our workaround is so good that it doesn't throw any warnings
on misuse. This means that people will keep on using the old version
of dirname(3) silently without fixing their code.

Go ahead and change the prototype of __old_dirname() to also use a plain
char *, so that we still get a compiler warning. This won't have any
negative effect on building older versions of FreeBSD on HEAD, as those
are built with -Werror disabled.

Differential Revision:	https://reviews.freebsd.org/D7844
2016-09-21 13:03:55 +00:00
ed
8ab365d211 Fix misuse of the basename() and dirname() functions.
These functions are allowed to overwrite their input. Pull a copy of the
input parameter and call dirname() and basename() on that instead. Do
ensure that we reload the pathname value between calls.
2016-09-21 13:02:43 +00:00
br
a26096b692 Use kqueue(2) instead of select(2).
This helps to ensure we will not lose SIGINT sent by parent to child.

Reviewed by:	sbruno, ngie
Sponsored by:	DARPA, AFRL
Sponsored by:	HEIF5
Differential Revision:	https://reviews.freebsd.org/D7892
2016-09-21 11:59:52 +00:00
kib
df422cbea3 Add kernel interfaces to call EFI Runtime Services.
Runtime services require special execution environment for the call.
Besides that, OS must inform firmware about runtime virtual memory map
which will be active during the calls, with the SetVirtualAddressMap()
runtime call, done while the 1:1 mapping is still used.  There are two
complication: the SetVirtualAddressMap() effectively must be done from
loader, which needs to know kernel address map in advance.  More,
despite not explicitely mentioned in the specification, both 1:1 and
the map passed to SetVirtualAddressMap() must be active during the
SetVirtualAddressMap() call.  Second, there are buggy BIOSes which
require both mappings active during runtime calls as well, most likely
because they fail to identify all relocations to perform.

On amd64, we can get rid of both problems by providing 1:1 mapping for
the duration of runtime calls, by temprorary remapping user addresses.
As result, we avoid the need for loader to know about future kernel
address map, and avoid bugs in BIOSes.  Typically BIOS only maps
something in low 4G.  If not runtime bugs, we would take advantage of
the DMAP, as previous versions of this patch did.

Similar but more complicated trick can be used even for i386 and 32bit
runtime, if and when the EFI boot on i386 is supported.  We would need
a trampoline page, since potentially whole 4G of VA would be switched
on calls, instead of only userspace portion on amd64.

Context switches are disabled for the duration of the call, FPU access
is granted, and interrupts are not disabled.  The later is possible
because kernel is mapped during calls.

To test, the sysctl mib debug.efi_time is provided, setting it to 1
makes one call to EFI get_time() runtime service, on success the efitm
structure is printed to the control terminal.  Load efirt.ko, or add
EFIRT option to the kernel config, to enable code.

Discussed with:	emaste, imp
Tested by:	emaste (mac, qemu)
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2016-09-21 11:31:58 +00:00
trasz
98f9f3d700 Cosmetics - add missing newline.
MFC after:	1 month
2016-09-21 11:27:56 +00:00
trasz
93e98dca31 Make the "r/s" and "w/s" fields in "iostat -x" a little bit wider;
five chars is way too narrow for todays disks.

MFC after:	1 month
2016-09-21 11:22:19 +00:00
trasz
d828aedb99 Make it possible for diskinfo(8) to operate on files. This is useful
with -t and upcoming -i.

MFC after:	1 month
2016-09-21 11:17:58 +00:00
br
294a287f3e Disable extattr test on UFS1.
This test supports native extended attributes only (e.g. UFS2)

Reviewed by:	asomers, ngie
Sponsored by:	DARPA, AFRL
Sponsored by:	HEIF5
Differential Revision:	https://reviews.freebsd.org/D7981
2016-09-21 10:58:58 +00:00
kib
eaff6cf773 Rename efi_systbl to efi_systbl_phys, the variable contains the
physical address of the EFI System Table.  Add _KERNEL guard around
its declaration in sys/efi.h.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2016-09-21 10:55:28 +00:00
kib
0b0178b3a6 Add a way for the architecture to specify the calling ABI for methods
in the EFI Runtime Services Table.  On amd64, the calling conventions
are MS.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2016-09-21 10:35:44 +00:00
kib
6a603a9061 Simple post-mortem reporter for amd64 loader.efi.
There is no way to see anything about the faults occuring in
loader.efi. Some intel BIOSes do output a line into serial port at
115200/8/1 regardless of the current port settings with the EFI error
number, but this is too little, and not always available, esp. if the
user does not know where to look.

The patch adds a simple facility to grab exceptions and at least dump
generic registers and some exception details.  Due to the relative
complexity of correctly taking over the BIOS IDT setup, only install
the facility on user request.

Two new commands, 'grab_faults' and 'ungrab_faults' are provided,
first one takes over, second undoes the first. It is supposed that
user would execute 'grab' by the developer direction of collecting the
debugging data.  The 'fault' command generates exception to test the
setup.

Fault handlers use dedicated stack to improve chances of catching
stack/TSS exceptions.  Due to this, BIOS IDT is duplicated into a
private copy, and debugger needs to find a free GDT slot for TSS. This
is done in somewhat complicated efi_redirect_exceptions().

Reviewed by:	jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D7935
2016-09-21 10:22:46 +00:00
kib
a9f3b66fee Make resettodr_lock accessible outside subr_rtc.c. Protect
CLOCK_GETTIME() with the lock.

Now all time-related accesses to the CMOS for RTC should be under the
lock.  This is needed to allow upcoming EFI Runtime Services support
to provide required execution environment for the firmware calls.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2016-09-21 10:15:08 +00:00
kib
ff88ae0aef Add amd64 functions to load/store GDT register, store IDT and TR registers.
Note that lgdt() name is already used for function which, besides
loading GDT, also reloads segment descriptors cache, thus new function
is named bare_lgdt().

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2016-09-21 10:10:36 +00:00
kib
5aff5acf9c Export the pmap_cache_bits() and pmap_pinit_pml4() functions from the
amd64 pmap.

The new pmap_pinit_pml4() function initializes the level 4 page table
with entries for the kernel mappings.  Both functions are needed for
upcoming EFI Runtime Services support.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2016-09-21 10:05:51 +00:00
andrew
96792f0216 Update the device tree source files to a Linux 4.7-RC.
MFC after:	2 weeks
Sponsored by:	ABT Systems Ltd
2016-09-21 08:54:08 +00:00
tuexen
ca10f858be Fix the handling of unordered fragmented user messages using DATA chunks.
There were two bugs:
* There was an accounting bug resulting in reporting a too small a_rwnd.
* There are a bug when abandoning messages in the reassembly queue.

MFC after:	4 weeks
2016-09-21 08:28:18 +00:00
kib
262f303ffc Add PROC_TRAPCAP procctl(2) controls and global sysctl kern.trap_enocap.
Both can be used to cause processes in capability mode to receive
SIGTRAP when ENOTCAPABLE or ECAPMODE errors are returned from
syscalls.

Idea by:	emaste
Reviewed by:	oshogbo (previous version), emaste
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D7965
2016-09-21 08:23:33 +00:00
kib
e9e29e2686 MFC r305939:
Remove trailing space.
2016-09-21 08:14:55 +00:00
trasz
90a415a7a3 Bump __FreeBSD_version after r305988, removal of bio_taskqueue().
Suggested by:	asomers@
2016-09-21 07:25:05 +00:00
sephe
6db214c947 hyperv/hn: Put debug messages under bootverbose
While I'm here, strip blank line.

MFC after:	1 week
Sponsored by:	Microsoft
Differential Revision:	https://reviews.freebsd.org/D7963
2016-09-21 06:54:26 +00:00
ache
451206213b 1) Microoptimize %p case.
2) Implememt %u for GNU compatibility.
3) Don't forget to advance buf for %w/%u.
4) Fail with incomplete week (week 0) request and no such week in the
year.
5) Fix yday formula when Sunday requested and the week started from Monday.
6) Fail with impossible yday for incomplete week (week 0) and direct %w/%u
request.
7) Shift yday/wday to the first day of the year, if incomplete week
(week 0) requested and no %w/%u used.

MFC after:      7 days
2016-09-21 06:44:32 +00:00
sephe
dabe14a5c1 hyperv/vmbus: Assert that the bufring address is page aligned.
MFC after:	1 week
Sponsored by:	Microsoft
Differential Revision:	https://reviews.freebsd.org/D7962
2016-09-21 06:43:52 +00:00