]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
7 years agoInclude <sys/types.h> explicitly instead of depending on that
marcel [Mon, 24 Oct 2016 18:12:57 +0000 (18:12 +0000)]
Include <sys/types.h> explicitly instead of depending on that
header being included by <sys/param.h>. When compiled as part
of makefs(8) and on macOS or Linux, <sys/param.h> is not our
own.

7 years agoInclude <stdarg.h> instead of <machine/stdarg.h> when compiled as
marcel [Mon, 24 Oct 2016 18:03:04 +0000 (18:03 +0000)]
Include <stdarg.h> instead of <machine/stdarg.h> when compiled as
part of libsbuf. The former is the standard header, and allows us
to compile libsbuf on macOS/linux.

7 years agoDetect clang on macOS. The version string is slightly different.
marcel [Mon, 24 Oct 2016 17:59:25 +0000 (17:59 +0000)]
Detect clang on macOS. The version string is slightly different.

7 years agoInclude "util.h", not <util.h>. The header is in the same directory
marcel [Mon, 24 Oct 2016 17:57:46 +0000 (17:57 +0000)]
Include "util.h", not <util.h>. The header is in the same directory
as the C file. There may be a <util.h> on the host when compiling
on macOS or Linux, causing conflicts.

7 years agoWhen compiling on macOS or Linux, __dead can be defined already.
marcel [Mon, 24 Oct 2016 17:56:08 +0000 (17:56 +0000)]
When compiling on macOS or Linux, __dead can be defined already.
Conditionally define __dead.

7 years agoFix typo.
kib [Mon, 24 Oct 2016 17:37:21 +0000 (17:37 +0000)]
Fix typo.

Submitted by: alc
MFC after: 3 days

7 years agoHandle broadcast NMIs.
kib [Mon, 24 Oct 2016 16:40:27 +0000 (16:40 +0000)]
Handle broadcast NMIs.

On several Intel chipsets, diagnostic NMIs sent from BMC or NMIs
reporting hardware errors are broadcasted to all CPUs.

When kernel is configured to enter kdb on NMI, the outcome is
problematic, because each CPU tries to enter kdb.  All CPUs are
executing NMI handlers, which set the latches disabling the nested NMI
delivery; this means that stop_cpus_hard(), used by kdb_enter() to
stop other cpus by broadcasting IPI_STOP_HARD NMI, cannot work.  One
indication of this is the harmless but annoying diagnostic "timeout
stopping cpus".

Much more harming behaviour is that because all CPUs try to enter kdb,
and if ddb is used as debugger, all CPUs issue prompt on console and
race for the input, not to mention the simultaneous use of the ddb
shared state.

Try to fix this by introducing a pseudo-lock for simultaneous attempts
to handle NMIs.  If one core happens to enter NMI trap handler, other
cores see it and simulate reception of the IPI_STOP_HARD.  More,
generic_stop_cpus() avoids sending IPI_STOP_HARD and avoids waiting
for the acknowledgement, relying on the nmi handler on other cores
suspending and then restarting the CPU.

Since it is impossible to detect at runtime whether some stray NMI is
broadcast or unicast, add a knob for administrator (really developer)
to configure debugging NMI handling mode.

The updated patch was debugged with the help from Andrey Gapon (avg)
and discussed with him.

Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D8249

7 years agoloader should boot pre-feature flags pools.
tsoome [Mon, 24 Oct 2016 16:28:54 +0000 (16:28 +0000)]
loader should boot pre-feature flags pools.

The feature flags chek is missing the corner case where we have valid pool
version, but feature flags are not enabled - as for example plain v28 pool.

This update does fix the boot support for such pools.

Reviewed by: avg, allanjude
Approved by: allanjude (mentor)
Differential Revision: https://reviews.freebsd.org/D8331

7 years agoMove the LLVM-based libgcc_s to /lib
emaste [Mon, 24 Oct 2016 14:56:13 +0000 (14:56 +0000)]
Move the LLVM-based libgcc_s to /lib

When enabled, it should install in the same location as the existing
library.

Reported by: antoine

7 years agoSet SHLIBDIR before .including src.opts.mk in libcapser services
emaste [Mon, 24 Oct 2016 14:37:18 +0000 (14:37 +0000)]
Set SHLIBDIR before .including src.opts.mk in libcapser services

bsd.own.mk (included from src.opts.mk) sets SHLIBDIR?=${LIBDIR}, so
SHLIBDIR must be set before including either one of them.

MFC with: 305626
Sponsored by: The FreeBSD Foundation

7 years agoRevert 307822
manu [Mon, 24 Oct 2016 14:24:12 +0000 (14:24 +0000)]
Revert 307822

P2WI is almost compatible with RSB which we already support.
I'll add support for P2WI in aw_rsb instead.

Discussed with:  jmcneill

7 years agoMFV r307859:
mm [Mon, 24 Oct 2016 14:08:05 +0000 (14:08 +0000)]
MFV r307859:
Update libarchive to 3.2.2

7 years agoIncrease CACHE_LINE_SHIFT to 7 as cache lines are 128 bytes on ThunderX.
andrew [Mon, 24 Oct 2016 13:44:24 +0000 (13:44 +0000)]
Increase CACHE_LINE_SHIFT to 7 as cache lines are 128 bytes on ThunderX.

MFC after: 1 week
Sponsored by: ABT Systems Ltd

7 years agoFix panic after ZVOL renamed to name invalid for DEVFS.
mav [Mon, 24 Oct 2016 12:24:24 +0000 (12:24 +0000)]
Fix panic after ZVOL renamed to name invalid for DEVFS.

MFC after: 2 weeks

7 years agohyperv/ic: Rework framework/message version negotiation.
sephe [Mon, 24 Oct 2016 05:36:19 +0000 (05:36 +0000)]
hyperv/ic: Rework framework/message version negotiation.

Submitted by: Hongjiang Zhang <honzhan microsoft com>
Modified by: sephe
MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8280

7 years agohyperv/hn: Nuke unused forward declaration.
sephe [Mon, 24 Oct 2016 05:20:02 +0000 (05:20 +0000)]
hyperv/hn: Nuke unused forward declaration.

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

7 years agohyperv/hn: Fix RX filter settings.
sephe [Mon, 24 Oct 2016 05:10:35 +0000 (05:10 +0000)]
hyperv/hn: Fix RX filter settings.

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

7 years agohyperv/hn: Start link status check, if no network changes were pending.
sephe [Mon, 24 Oct 2016 05:01:34 +0000 (05:01 +0000)]
hyperv/hn: Start link status check, if no network changes were pending.

Link status check is much more lightweight than network change detection.

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

7 years agoAdd a bunch of new default options to MPC85XX* configs
jhibbits [Mon, 24 Oct 2016 04:21:06 +0000 (04:21 +0000)]
Add a bunch of new default options to MPC85XX* configs

These were tested at various points but never merged into the configs at the
time.

7 years agohyperv/hn: Properly handle synthetic parts reattach failure.
sephe [Mon, 24 Oct 2016 03:42:34 +0000 (03:42 +0000)]
hyperv/hn: Properly handle synthetic parts reattach failure.

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

7 years agohyperv/hn: Fix chimney sending buffer leakage upon NVS sending failure.
sephe [Mon, 24 Oct 2016 03:34:19 +0000 (03:34 +0000)]
hyperv/hn: Fix chimney sending buffer leakage upon NVS sending failure.

This will not happen in real world, since TX consumption of the vmbus
TX bufring is limitted.  Better safe than sorry.

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

7 years agohyperv/hn: Move chimney buffer index and size to txdesc.
sephe [Mon, 24 Oct 2016 03:26:34 +0000 (03:26 +0000)]
hyperv/hn: Move chimney buffer index and size to txdesc.

All RNDIS control messages have used SG list for a while.  This makes
the send context suitable for further refactoring.

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

7 years ago[rss] manpage improvements.
adrian [Sun, 23 Oct 2016 20:42:32 +0000 (20:42 +0000)]
[rss] manpage improvements.

Submitted by: gallatin

7 years ago[rss] install the header file.
adrian [Sun, 23 Oct 2016 20:41:25 +0000 (20:41 +0000)]
[rss] install the header file.

Submitted by: gallatin

7 years agoUse the correct name for the qm_portals class.
jhibbits [Sun, 23 Oct 2016 19:59:56 +0000 (19:59 +0000)]
Use the correct name for the qm_portals class.

This file was copy&pasted from bman_fdt, and it still shows.

7 years agoAdd device cpufreq.
jmcneill [Sun, 23 Oct 2016 19:02:19 +0000 (19:02 +0000)]
Add device cpufreq.

7 years agoRemove the powerpcspe Symbol.map, it's identical to powerpc's.
jhibbits [Sun, 23 Oct 2016 18:08:34 +0000 (18:08 +0000)]
Remove the powerpcspe Symbol.map, it's identical to powerpc's.

Reported by: kib

7 years agoUse checkyesno instead of rolling my own..
imp [Sun, 23 Oct 2016 18:00:09 +0000 (18:00 +0000)]
Use checkyesno instead of rolling my own..

7 years agoTweak the UPDATING message a bit about the upgrade path.
imp [Sun, 23 Oct 2016 18:00:08 +0000 (18:00 +0000)]
Tweak the UPDATING message a bit about the upgrade path.
Add some automation into Makefile.inc1 to to enforce known good
upgrade from source paths.

7 years agoThrottle CPU frequency when hot temperature threshold has been reached to
jmcneill [Sun, 23 Oct 2016 17:48:34 +0000 (17:48 +0000)]
Throttle CPU frequency when hot temperature threshold has been reached to
prevent overheating.

When sensor 0's alarm interrupt is fired, set a throttle flag. Further
requests to set CPU frequency will be rejected until sensor 0's temperature
returns to a level below the hot temperature threshold.

Relnotes: yes

7 years agoUse upstream suffixes for LLVM IR
dim [Sun, 23 Oct 2016 14:28:29 +0000 (14:28 +0000)]
Use upstream suffixes for LLVM IR

In r307676, several make rules were added for LLVM IR files, both in
text and binary format.  Unfortunately these use different suffixes from
what upstream uses:
* Text IR has upstream suffix ".ll", while r307676 uses ".llo"
* Binary IR has upstream suffix ".bc", while r307676 uses ".bco"

Change these to what upstream uses instead.

Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D8326

7 years agoallwinner: Add support for P2WI bus
manu [Sun, 23 Oct 2016 12:48:09 +0000 (12:48 +0000)]
allwinner: Add support for P2WI bus

P2WI (Push-Pull Two Wire Interface) is an I2C-like bus used in sun6i SoC
for talking to power management unit IC.

7 years agoIn the fueword64(9) wrapper for architectures which do not implemented
kib [Sun, 23 Oct 2016 11:23:17 +0000 (11:23 +0000)]
In the fueword64(9) wrapper for architectures which do not implemented
native fueword64(9) still, use proper type for local where fuword64()
result is stored.

Note that fueword64() is unused in the tree.

Submitted by: Chunhui He <hchunhui@mail.ustc.edu.cn>
PR: 212520
MFC after: 1 week

7 years ago[net80211] Add a variant on ieee80211_get_rx_params() that returns a pointer.
adrian [Sun, 23 Oct 2016 08:21:35 +0000 (08:21 +0000)]
[net80211] Add a variant on ieee80211_get_rx_params() that returns a pointer.

Be careful when calling this, as the underlying mbuf may change
afterwards - common in the RX path.

7 years ago[net80211] Add a macro to see if a frame is a management frame or not.
adrian [Sun, 23 Oct 2016 08:19:43 +0000 (08:19 +0000)]
[net80211] Add a macro to see if a frame is a management frame or not.

7 years agoRevert r307813.
jhibbits [Sun, 23 Oct 2016 01:03:17 +0000 (01:03 +0000)]
Revert r307813.

I misread the code, and it shouldn't have compiled (fputhread is just a variable
name).

7 years agoUse the right thread pointer for SPE alignment exceptions.
jhibbits [Sun, 23 Oct 2016 01:01:08 +0000 (01:01 +0000)]
Use the right thread pointer for SPE alignment exceptions.

7 years agoelfcopy: select mode by the end of the program name
emaste [Sat, 22 Oct 2016 23:49:06 +0000 (23:49 +0000)]
elfcopy: select mode by the end of the program name

The mode of operation (elfcopy, mcs, or strip) is chosen based on the
program name.  Broaden this to allow a substring match at the end of the
name to allow prefixes - for example, bsdstrip or aarch64-freebsd-strip.

This improves use of these tools as drop-in replacements for GNU objcopy
and strip, which are often built with a limited set of supported targets
and installed with a target prefix for cross tools.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1663

7 years agoRemove reference to RCS from PSD titles
bapt [Sat, 22 Oct 2016 23:09:06 +0000 (23:09 +0000)]
Remove reference to RCS from PSD titles

7 years agoRemove RCS entry from PSD content file, it is gone along with GNU RCS
bapt [Sat, 22 Oct 2016 23:05:44 +0000 (23:05 +0000)]
Remove RCS entry from PSD content file, it is gone along with GNU RCS

7 years agoEVDEV: ums evdev support improvements: locking and event reporting
gonzo [Sat, 22 Oct 2016 22:55:10 +0000 (22:55 +0000)]
EVDEV: ums evdev support improvements: locking and event reporting

- Use ums lock as evdev lock
- Do not cap axes values to sysmouse limits for evdev reports
- Do not map T-axis events to buttons for evdev reports
- Use shortcuts for event reporting

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>
MFC after: 1 week

7 years agoEVDEV: Add shortcut functions for event types
gonzo [Sat, 22 Oct 2016 22:52:50 +0000 (22:52 +0000)]
EVDEV: Add shortcut functions for event types

Add wrappers around generic evdev_push_event for specific event types:
EV_KEY/EV_REL/EV_ABS etc...

Submitted by: Vladimir Kondratiev <wulf@cicgroup.ru>

7 years agoFix build of tzsetup when WITHOUT_DIALOG is set
bapt [Sat, 22 Oct 2016 22:35:39 +0000 (22:35 +0000)]
Fix build of tzsetup when WITHOUT_DIALOG is set

Hide dialog specific code behind HAVE_DIALOG. It allows to build a stripped
down version (missing the dialog UI) but perfectly function tzsetup when
world is built WITHOUT_DIALOG

Reorganise a bit the code to limit the number of blocks under HAVE_DIALOG

Reviewed by: emaste
Sponsored by: https://reviews.freebsd.org/D8325

7 years agoAlign whitespace.
cy [Sat, 22 Oct 2016 22:29:03 +0000 (22:29 +0000)]
Align whitespace.

MFC after: 2 weeks
X-MFC with: r307800

7 years agoSources from the "current" build tree and generated sources in the
cy [Sat, 22 Oct 2016 22:27:51 +0000 (22:27 +0000)]
Sources from the "current" build tree and generated sources in the
object tree should be used instead of sources and headers from the
already installed source tree on the build host.

This was noticed while addressing issues in the upcoming amd update.

MFC after: 2 weeks

7 years agoReduce code duplication between powerpc and powerpcspe
jhibbits [Sat, 22 Oct 2016 21:51:58 +0000 (21:51 +0000)]
Reduce code duplication between powerpc and powerpcspe

They're nearly identical except for a few files.
Reported by: kib

7 years agoFix typo in the COMPILER_VERSION check
bapt [Sat, 22 Oct 2016 20:00:39 +0000 (20:00 +0000)]
Fix typo in the COMPILER_VERSION check

PR: 213120
Submitted by: Yuta Satoh <nigoro.dev@gmail.com>
MFC after: 3 days

7 years agoDo not install NIS program rc script if WITHOUT_NIS is set
bapt [Sat, 22 Oct 2016 19:51:32 +0000 (19:51 +0000)]
Do not install NIS program rc script if WITHOUT_NIS is set

PR: 213375
Submitted by: sergey@akhmatov.ru
MFC after: 3 days

7 years agoImport pci_vendors 2016.10.20
bapt [Sat, 22 Oct 2016 19:36:12 +0000 (19:36 +0000)]
Import pci_vendors 2016.10.20

7 years agoFix a typo from a manual merge.
jhibbits [Sat, 22 Oct 2016 19:27:49 +0000 (19:27 +0000)]
Fix a typo from a manual merge.

7 years agoImport tzdata 2016h
bapt [Sat, 22 Oct 2016 19:24:46 +0000 (19:24 +0000)]
Import tzdata 2016h

MFC after: 2 days

7 years agoddb(4): Add sleepchains to "show allchains"
cem [Sat, 22 Oct 2016 18:02:20 +0000 (18:02 +0000)]
ddb(4): Add sleepchains to "show allchains"

Reported by: markj
Reviewed by: markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D8320

7 years agoNo functional changes, mostly getting the whitespace changes resulting
tuexen [Sat, 22 Oct 2016 17:21:21 +0000 (17:21 +0000)]
No functional changes, mostly getting the whitespace changes resulting
from an updated formatting tool chain.

MFC after: 1 month

7 years agoFix libusb20_dev_get_desc(3) to use the "vendor product" order, not
trasz [Sat, 22 Oct 2016 14:37:13 +0000 (14:37 +0000)]
Fix libusb20_dev_get_desc(3) to use the "vendor product" order, not
"product vendor". This is consistent with how it's generally done.
The ordering is visible eg in usbconfig(8) output.

Note to self: MFC this to 9 and 8.

Reviewed by: hselasky@
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D8258

7 years agoptrace.S is not needed, libc/sys/ptrace.c exists already.
jhibbits [Sat, 22 Oct 2016 13:11:09 +0000 (13:11 +0000)]
ptrace.S is not needed, libc/sys/ptrace.c exists already.

This was leftovers from the initial branch work.

Reported by: kib

7 years agodaemon: Allow logging daemon stdout/stderr to file or syslog.
jilles [Sat, 22 Oct 2016 11:26:22 +0000 (11:26 +0000)]
daemon: Allow logging daemon stdout/stderr to file or syslog.

There are various new options, documented in the man page, to send the
daemon's standard output and/or standard error to a file or to syslog.

Submitted by: ank at iki.fi
Reviewed by: wblock (man page only)
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D7993

7 years agojedec_ts: a driver for thermal sensors on memory modules
avg [Sat, 22 Oct 2016 08:00:46 +0000 (08:00 +0000)]
jedec_ts: a driver for thermal sensors on memory modules

The driver currently supports chips that are fully compliant with the
JEDEC SPD / EEPROM / TS standard (JEDEC Standard 21-C,
TSE2002 Specification, frequenlty referred to as JEDEC JC 42.4).

Additionally some chips from STMicroelectronics are supported as well.
They are compliant except for their Device ID pattern.

Given the continued lack of any common sensor infrastructure, the driver
uses an ad-hoc sysctl to report the temperature.

Reviewed by: wblock (documentation)
MFC after: 2 weeks
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D8174

7 years agoInitialize the ofw_bus_devinfo on the portals to prevent a crash.
jhibbits [Sat, 22 Oct 2016 02:11:53 +0000 (02:11 +0000)]
Initialize the ofw_bus_devinfo on the portals to prevent a crash.

If the device tree doesn't contain a cpu-handle field in any bman-portal or
qman-portal, it will exit without setting up the devinfo, leaving it
uninitialized.  This will lead to attempts to free random memory, and ultimately
panic.

7 years agoCreate a new MACHINE_ARCH for Freescale PowerPC e500v2
jhibbits [Sat, 22 Oct 2016 01:57:15 +0000 (01:57 +0000)]
Create a new MACHINE_ARCH for Freescale PowerPC e500v2

Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU.  The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive.  Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement.  setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).

Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.

Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.

Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used.  However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.

Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI.  Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.

Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683

7 years agocxgbe(4): Dump any mailbox command that times out.
np [Sat, 22 Oct 2016 00:48:58 +0000 (00:48 +0000)]
cxgbe(4): Dump any mailbox command that times out.

7 years agoDefine max_align_t for C11.
jhb [Fri, 21 Oct 2016 23:50:02 +0000 (23:50 +0000)]
Define max_align_t for C11.

libc++'s stddef.h includes an existing definition of max_align_t for
C++11, but it is only defined for C++, not for C.  In addition, GCC and
clang both define an alternate version of max_align_t that uses a
union of multiple types rather than a plain long double as in libc++.
This adds a __max_align_t to <sys/_types.h> that matches the GCC and
clang definition that is mapped to max_align_t in <stddef.h>.

PR: 210890
Reviewed by: dim
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D8194

7 years agoswapoff: Remove only late devices with -aL.
jilles [Fri, 21 Oct 2016 21:55:50 +0000 (21:55 +0000)]
swapoff: Remove only late devices with -aL.

Currently, '/etc/rc.d/swaplate stop' removes all swap devices. This can be
very slow and may not even be possible if there is a lot of swap space in
use. However, removing swap devices is only needed for late swap devices
that may depend on daemons that subsequent shutdown steps stop. Normal swap
devices such as hard disk partitions will remain available throughout the
shutdown process and need not be removed.

In swapoff, interpret -aL to remove late swap devices only, and use this in
etc/rc.d/swaplate. The meaning of -aL in swapon remains unchanged (add all
swap devices, both normal and late).

PR: 187081
Reviewed by: wblock (man page only), ngie
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D8126

7 years agoFix building of many ports that use make from base, such as devel/apr1,
dim [Fri, 21 Oct 2016 21:52:22 +0000 (21:52 +0000)]
Fix building of many ports that use make from base, such as devel/apr1,
after r307676, which added transformation rules for .llo and .bco files.

These suffixes also have to be added the the global .SUFFIXES target,
otherwise the various suffix-transformation rules would be interpreted
as literal targets.  E.g.,

.c.bco:
... commands ...

would actually to build a file named ".c.bco".

7 years agoClose some file descriptor leaks in pw
asomers [Fri, 21 Oct 2016 20:17:19 +0000 (20:17 +0000)]
Close some file descriptor leaks in pw

MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D8245

7 years agoFix a problem in camcontrol(8) that cropped up with r307684.
ken [Fri, 21 Oct 2016 18:54:56 +0000 (18:54 +0000)]
Fix a problem in camcontrol(8) that cropped up with r307684.

In r307684, I changed rescan_or_reset_bus() to bzero stack-allocated CCBs
before sending them to the kernel because there was stack garbage in there
that wound up meaning that bogus CCB flags were set.

While this fixed the 'camcontrol rescan all' case (XPT_DEV_MATCH CCBs were
failing previously), it broke the 'camcontrol rescan 0' (or any other
number) case when INVARIANTS are turned on.  Rescanning a single bus
reliably produced an assert in cam_periph_runccb():

panic: cam_periph_runccb: ccb=0xfffff80044ffe000, func_code=0x708, flags=0xffffdde0

The flags values don't make sense from the code.  Changing the CCBs in
rescan_or_reset_bus() from stack to heap allocated avoids the problem.

It would be better to understand why userland stack allocated CCBs don't
work properly, since there may be other code that breaks if stack allocated
CCBs don't work.

sbin/camcontrol/camcontrol.c:
In rescan_or_reset_bus(), allocate the CCBs using malloc(3) instead
of on the stack to avoid an assertion in cam_periph_runccb().

MFC after: 3 days
Sponsored by: Spectra Logic

7 years agoFix a grammar error.
tuexen [Fri, 21 Oct 2016 18:45:09 +0000 (18:45 +0000)]
Fix a grammar error.

Reported by:i hiren, vangyzen
MFC after: 1 month
X-MFC: r307727
Sponsored by: Netflix

7 years agoRework r306337.
hiren [Fri, 21 Oct 2016 18:27:30 +0000 (18:27 +0000)]
Rework r306337.

In sendit(), if mp->msg_control is present, then in sockargs() we are
allocating mbuf to store mp->msg_control. Later in kern_sendit(), call
to getsock_cap(), will check validity of file pointer passed, if this
fails EBADF is returned but mbuf allocated in sockargs() is not freed.
Made code changes to free the same.

Since freeing control mbuf in sendit() after checking (control != NULL)
may lead to double freeing of control mbuf in sendit(), we can free
control mbuf in kern_sendit() if there are any errors in the routine.

Submitted by:     Lohith Bellad <lohith.bellad@me.com>
Reviewed by:     glebius
MFC after:     3 weeks
Differential Revision:     https://reviews.freebsd.org/D8152

7 years agoAllow all subdirectories to be optional via SUBDIR.${MK_*}
emaste [Fri, 21 Oct 2016 17:25:19 +0000 (17:25 +0000)]
Allow all subdirectories to be optional via SUBDIR.${MK_*}

Reviewed by: br, imp
Tested by: br
Pointy hat to: emaste
Differential Revision: https://reviews.freebsd.org/D8317

7 years agoFix few sentence in the man page.
oshogbo [Fri, 21 Oct 2016 16:31:58 +0000 (16:31 +0000)]
Fix few sentence in the man page.

Pointed out by: wblock

7 years agocapsicum: perform copyout without the fildesc lock held in sys_cap_ioctls_get
oshogbo [Fri, 21 Oct 2016 16:12:23 +0000 (16:12 +0000)]
capsicum: perform copyout without the fildesc lock held in sys_cap_ioctls_get

Reviewed by: pjd

7 years agoAdd names for some DASP devices.
mav [Fri, 21 Oct 2016 15:23:54 +0000 (15:23 +0000)]
Add names for some DASP devices.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 1 week

7 years agonetmap: if_ptnet depends on inet
emaste [Fri, 21 Oct 2016 15:17:42 +0000 (15:17 +0000)]
netmap: if_ptnet depends on inet

7 years agonetmap: fix kernel build on GCC-using architectures
emaste [Fri, 21 Oct 2016 13:51:47 +0000 (13:51 +0000)]
netmap: fix kernel build on GCC-using architectures

GCC produced a multiple declaration warning from the
SYSCTL_DECL(_dev_netmap).

7 years agoDocument the TCP sysctl variables insecure_rst and insecure_syn.
tuexen [Fri, 21 Oct 2016 11:29:25 +0000 (11:29 +0000)]
Document the TCP sysctl variables insecure_rst and insecure_syn.

MFC after: 1 month
Sponsored by: netflix

7 years agoMake ICMPv6 hard error handling for TCP consistent with the ICMPv4
tuexen [Fri, 21 Oct 2016 10:32:57 +0000 (10:32 +0000)]
Make ICMPv6 hard error handling for TCP consistent with the ICMPv4
handling. Ensure that:
* Protocol unreachable errors are handled by indicating ECONNREFUSED
  to the TCP user for both IPv4 and IPv6. These were ignored for IPv6.
* Communication prohibited errors are handled by indicating ECONNREFUSED
  to the TCP user for both IPv4 and IPv6. These were ignored for IPv6.
* Hop Limited exceeded errors are handled by indicating EHOSTUNREACH
  to the TCP user for both IPv4 and IPv6.
  For IPv6 the TCP connected was dropped but errno wasn't set.

Reviewed by: gallatin, rrs
MFC after: 1 month
Sponsored by: Netflix
Differential Revision: 7904

7 years agohyperv/hn: Function renaming; consistent w/ hardware capabilities query.
sephe [Fri, 21 Oct 2016 08:21:23 +0000 (08:21 +0000)]
hyperv/hn: Function renaming; consistent w/ hardware capabilities query.

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

7 years agoRemove /usr/libexec/bsdinstall/hardening if MK_BSDINSTALL == no
ngie [Fri, 21 Oct 2016 08:12:18 +0000 (08:12 +0000)]
Remove /usr/libexec/bsdinstall/hardening if MK_BSDINSTALL == no

MFC after: 3 days
Sponsored by: Dell EMC Isilon

7 years agohyperv/hn: Add network change support.
sephe [Fri, 21 Oct 2016 08:02:05 +0000 (08:02 +0000)]
hyperv/hn: Add network change support.

Currently the network change is simulated by link status changes.

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

7 years agohyperv/hn: Check NVS version for HASHVAL pktinfo on sending path.
sephe [Fri, 21 Oct 2016 07:46:35 +0000 (07:46 +0000)]
hyperv/hn: Check NVS version for HASHVAL pktinfo on sending path.

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

7 years agohyperv/hn: Always query RSS capabilities.
sephe [Fri, 21 Oct 2016 07:37:29 +0000 (07:37 +0000)]
hyperv/hn: Always query RSS capabilities.

- This avoid distributing NDIS version check.
- Only NDIS 6.20 required (earlier NDIS uses different indirect table
  format).

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

7 years agoLINT: Unhook netmap from LINT-NOIP and LINT-NOINET temporarily.
sephe [Fri, 21 Oct 2016 07:35:49 +0000 (07:35 +0000)]
LINT: Unhook netmap from LINT-NOIP and LINT-NOINET temporarily.

After fixing ptnet NOINET support, netmap can be linked back to
these two LINTs.

Sponsored by: Microsoft

7 years agoClean up and add some test cases for ALU instructions.
jkim [Fri, 21 Oct 2016 06:56:30 +0000 (06:56 +0000)]
Clean up and add some test cases for ALU instructions.

7 years agoImplement BPF_MOD and BPF_XOR instructions.
jkim [Fri, 21 Oct 2016 06:55:07 +0000 (06:55 +0000)]
Implement BPF_MOD and BPF_XOR instructions.

These two ALU instructions first appeared on Linux.  Then, libpcap adopted
and made them available since 1.6.2.  Now more platforms including NetBSD
have them in kernel.  So do we.
 --이 줄 이하는 자동으로 제거됩니다--
> Description of fields to fill in above:                     76 columns --|
> PR:                       If and which Problem Report is related.
> Submitted by:             If someone else sent in the change.
> Reported by:              If someone else reported the issue.
> Reviewed by:              If someone else reviewed your modification.
> Approved by:              If you needed approval for this commit.
> Obtained from:            If the change is from a third party.
> MFC after:                N [day[s]|week[s]|month[s]].  Request a reminder email.
> MFH:                      Ports tree branch name.  Request approval for merge.
> Relnotes:                 Set to 'yes' for mention in release notes.
> Security:                 Vulnerability reference (one per line) or description.
> Sponsored by:             If the change was sponsored by an organization.
> Differential Revision:    https://reviews.freebsd.org/D### (*full* phabric URL needed).
> Empty fields above will be automatically removed.

M    share/man/man4/bpf.4
M    sys/amd64/amd64/bpf_jit_machdep.c
M    sys/amd64/amd64/bpf_jit_machdep.h
M    sys/i386/i386/bpf_jit_machdep.c
M    sys/i386/i386/bpf_jit_machdep.h
M    sys/net/bpf_filter.c

7 years agonetmap: Unbreak LINT-VIMAGE building
sephe [Fri, 21 Oct 2016 06:32:45 +0000 (06:32 +0000)]
netmap: Unbreak LINT-VIMAGE building

Sponsored by: Microsoft

7 years agoRedude code for conditional jumps.
jkim [Fri, 21 Oct 2016 06:09:30 +0000 (06:09 +0000)]
Redude code for conditional jumps.

7 years agoFix compiler warnings for user land.
jkim [Fri, 21 Oct 2016 06:06:54 +0000 (06:06 +0000)]
Fix compiler warnings for user land.

7 years agonetmap: Unbreak i386 LINT building
sephe [Fri, 21 Oct 2016 06:05:16 +0000 (06:05 +0000)]
netmap: Unbreak i386 LINT building

Sponsored by: Microsoft

7 years agoIntegrate contrib/netbsd-tests/fs/tmpfs into the FreeBSD test suite
ngie [Fri, 21 Oct 2016 05:24:08 +0000 (05:24 +0000)]
Integrate contrib/netbsd-tests/fs/tmpfs into the FreeBSD test suite
as tests/sys/fs

These testcases exercise tmpfs support

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agoExpect tests/sys/fs/tmpfs/link_test:kqueue to fail
ngie [Fri, 21 Oct 2016 05:21:20 +0000 (05:21 +0000)]
Expect tests/sys/fs/tmpfs/link_test:kqueue to fail

It fails with: "dir/b did not receive NOTE_LINK"

Also, add needed cleanup logic to cleanup the mountpoint after the fact

MFC after: 2 weeks
PR: 213662
Sponsored by: Dell EMC Isilon

7 years agoOnly build lib/libc/tests/iconv if MK_ICONV != no
ngie [Fri, 21 Oct 2016 04:54:43 +0000 (04:54 +0000)]
Only build lib/libc/tests/iconv if MK_ICONV != no

MFC after: 1 week
Reported by: damian@damianek.be
Sponsored by: Dell EMC Isilon

7 years agoRevert r307689
ngie [Fri, 21 Oct 2016 04:49:39 +0000 (04:49 +0000)]
Revert r307689

The proposed change ("Fix building of llvm's unwind if gcc has been
also built") breaks the build with clang/llvm.

Tested with...

(
export SRCCONF=/dev/null WITH_CLANG=
cd gnu/lib/libgcc; make obj; make depend; make all
)

MFC after: 3 days
X-MFC with: r307689
Pointyhat to: bapt
Reported by: Jenkins, O. Hartmann <ohartman@zedat.fu-berlin.de>
Sponsored by: Dell EMC Isilon

7 years ago- Add required header for fixing `make` in sys/modules/gpio
lwhsu [Fri, 21 Oct 2016 03:23:17 +0000 (03:23 +0000)]
- Add required header for fixing `make` in sys/modules/gpio

Reviewed by: imp, loos
Differential Revision: https://reviews.freebsd.org/D7815

7 years agoRemove a hack requiring dtsec0 to always be enabled for mdio.
jhibbits [Fri, 21 Oct 2016 02:16:11 +0000 (02:16 +0000)]
Remove a hack requiring dtsec0 to always be enabled for mdio.

Instead replace it with a different hack, that turns fman into a simplebus
subclass, and maps its children within its address space.

Since all PHY communication is done through dtsec0's mdio space, the FDT
contains a reference to the dtsec0 mdio handle in all nodes that need it.
Instead of using Freescale's implementation for MII access, use our own (copied
loosely from the eTSEC driver, and could possibly be merged eventually).  This
lets us access the registers directly rather than needing a full dtsec interface
just to access the registers.

Future directions will include turning fman into more of a simplebus, and not
mapping the region and playing games.  This will require changes to the dtsec
driver to make it a child of fman, and possibly other drivers as well.

7 years agoRemove an unnecessary debug printf.
jhibbits [Fri, 21 Oct 2016 02:07:03 +0000 (02:07 +0000)]
Remove an unnecessary debug printf.

7 years agoA problem w.r.t. interoperation between the FreeBSD NFSv4.1 server with
rmacklem [Thu, 20 Oct 2016 23:53:16 +0000 (23:53 +0000)]
A problem w.r.t. interoperation between the FreeBSD NFSv4.1 server with
delegations enabled and the Linux NFSv4.1 client was reported in
reviews.freebsd.org/D7891.
I believe that the FreeBSD server behaviour conforms to the RFC and that
the Linux client has a bug. Therefore, I do not think the proposed patch
is appropriate. When nfsrv_writedelegifpos is non-zero, the FreeBSD
server will issue a write delegation for a read open if possible.
The Linux client then erroneously assumes that the credentials used for
the read open can write the file.
This patch reverses the default value for nfsrv_writedelegifpos to 0 so
that the default behaviour is Linux compatible and adds a sysctl that can
be used to set nfsrv_writedelegifpos.

This change should only affect users that are mounting a FreeBSD server
with delegations enabled (they are not enabled by default) with a Linux
NFSv4.1 client mount.

Reported by: fatih.acar@gandi.net
Tested by: fatih.acar@gandi.net
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D7891

7 years agoSimplify keg_drain() a bit by using LIST_FOREACH_SAFE.
markj [Thu, 20 Oct 2016 23:10:27 +0000 (23:10 +0000)]
Simplify keg_drain() a bit by using LIST_FOREACH_SAFE.

MFC after: 1 week

7 years agogmirror: Add a subroutine to free synchronization BIOs.
markj [Thu, 20 Oct 2016 23:08:40 +0000 (23:08 +0000)]
gmirror: Add a subroutine to free synchronization BIOs.

This addresses a memory leak that occurs upon an I/O error during a mirror
synchronization.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agogmirror: Release pending regular requests when synchronization stops.
markj [Thu, 20 Oct 2016 23:02:30 +0000 (23:02 +0000)]
gmirror: Release pending regular requests when synchronization stops.

Normally gmirror allows colliding requests to proceed whenever a
synchronization request completes and advances to the next offset. However
if an I/O request collides with one of the final g_mirror_syncreqs, nothing
releases it once synchronization completes, resulting in an apparent I/O
hang. The same problem can occur if synchronization is aborted by an
I/O error. Therefore, be sure to requeue pending requests when
mirror synchronization is stopped for any reason.

While here, remove some dead code from g_mirror_regular_release().

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agoDon't build libssp as a prereq lib if WITHOUT_SSP is set
emaste [Thu, 20 Oct 2016 21:29:59 +0000 (21:29 +0000)]
Don't build libssp as a prereq lib if WITHOUT_SSP is set

Reviewed by: brooks
Differential Revision: https://reviews.freebsd.org/D8301

7 years agoFix building of llvm's unwind if gcc has been also built
bapt [Thu, 20 Oct 2016 21:12:50 +0000 (21:12 +0000)]
Fix building of llvm's unwind if gcc has been also built

when building gcc an unwind.h header is generate in the cc_tool directory
which is included in the CFLAGS before the path where the llvm's unwind.h file
lives

Reviewed by: emaste
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D7357