204215 Commits

Author SHA1 Message Date
melifaro
11af63037f Make checks for rt_mtu generic:
Some virtual if drivers has (ab)used ifa ifa_rtrequest hook to enforce
route MTU to be not bigger that interface MTU. While ifa_rtrequest hooking
might be an option in some situation, it is not feasible to do MTU checks
there: generic (or per-domain) routing code is perfectly capable of doing
this.

We currrently have 3 places where MTU is altered:

1) route addition.
 In this case domain overrides radix _addroute callback (in[6]_addroute)
 and all necessary checks/fixes are/can be done there.

2) route change (especially, GW change).
 In this case, there are no explicit per-domain calls, but one can
 override rte by setting ifa_rtrequest hook to domain handler
 (inet6 does this).

3) ifconfig ifaceX mtu YYYY
 In this case, we have no callbacks, but ip[6]_output performes runtime
 checks and decreases rt_mtu if necessary.

Generally, the goals are to be able to handle all MTU changes in
 control plane, not in runtime part, and properly deal with increased
 interface MTU.

This commit changes the following:
* removes hooks setting MTU from drivers side
* adds proper per-doman MTU checks for case 1)
* adds generic MTU check for case 2)

* The latter is done by using new dom_ifmtu callback since
 if_mtu denotes L3 interface MTU, e.g. maximum trasmitted _packet_ size.
 However, IPv6 mtu might be different from if_mtu one (e.g. default 1280)
 for some cases, so we need an abstract way to know maximum MTU size
 for given interface and domain.
* moves rt_setmetrics() before MTU/ifa_rtrequest hooks since it copies
  user-supplied data which must be checked.
* removes RT_LOCK_ASSERT() from other ifa_rtrequest hooks to be able to
  use this functions on new non-inserted rte.

More changes will follow soon.

MFC after:	1 month
Sponsored by:	Yandex LLC
2014-11-06 13:13:09 +00:00
bapt
8f3d66d376 fifolog_reader does not depend on libutil 2014-11-06 13:12:12 +00:00
bz
b9096df681 After the changes in r274118 make NOIP kernels compile by hiding an
otherwise unused variable declaration behind INET6 || INET.

MFC after:	27 days
X-MFS with:	r274118
2014-11-06 12:19:39 +00:00
avg
b98f85d480 fix l2arc compression buffers leak
We have observed that arc_release() can be called concurrently with a
l2arc in-flight write.
Also, we have observed that arc_hdr_destroy() can be called from
arc_write_done() for a zio with ZIO_FLAG_IO_REWRITE flag in similar
circumstances.

Previously the l2arc headers would be freed while leaking their
associated compression buffers.  Now the buffers are placed on
l2arc_free_on_write list for delayed freeing.  This is similar to what
was already done to arc buffers that were supposed to be freed
concurrently with in-flight writes of those buffers.

In addition to fixing the discovered leaks this change also adds some
protective code to assert that a compression buffer associated with a
l2arc header is never leaked.

A new kstat l2_cdata_free_on_write is added.  It keeps a count of
delayed compression buffer frees which previously would have been leaks.

Tested by:	Vitalij Satanivskij <satan@ukr.net> et al
Requested by:	many
MFC after:	2 weeks
Sponsored by:	HybridCluster / ClusterHQ
2014-11-06 11:08:02 +00:00
bapt
8819c14d21 iscsid does not need to link to libssl 2014-11-06 10:30:10 +00:00
bapt
11ce22572d sntp does not depend on libm 2014-11-06 10:16:05 +00:00
bapt
87a929d82d rpcbind does not need to be linked to libutil 2014-11-06 10:07:26 +00:00
mjg
7e57127b46 Add sysctl kern.proc.cwd
It returns only current working directory of given process which saves a lot of
overhead over kern.proc.filedesc if given proc has a lot of open fds.

Submitted by:	Tiwei Bie <btw mail.ustc.edu.cn> (slightly modified)
X-Additional:	JuniorJobs project
2014-11-06 08:12:34 +00:00
mjg
48a19ff17a filedesc: avoid taking fdesc_mtx when not necessary in fddrop
No functional changes.
2014-11-06 07:44:10 +00:00
mjg
355e7bb005 filedesc: just free old tables without altering the list which is freed anyway
No functional changes.
2014-11-06 07:37:31 +00:00
jmg
1e8781c32e remove comment about the bug... I don't remeber what it was...
It may be an issue w/ using awk which is in /usr (and isn't always
present), or another issue...

Suggestion by:	brooks
2014-11-06 07:27:14 +00:00
mav
dd1a76d8cb Add include missed in r274154, breaking the buildworld. 2014-11-06 04:13:28 +00:00
gjb
f931caf8dc Bump __FreeBSD_version after SA-14:23, SA-14:24,
SA-14:25.

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2014-11-06 02:41:38 +00:00
dteske
42d2e36e72 Upon second-thought (following r274144), remove spurious (unused)
line-noise (libdialog never lived in lib/ -- but rather the noise
came from translating a comment that was introduced 16 years ago
via r40306; translation from comment to code occurred via r267511).

MFC after:	3 days
Reviewed by:	ngie
X-MFC-to:	stable/10
2014-11-06 01:46:33 +00:00
mav
e22f45febc Add to CTL support for logical block provisioning threshold notifications.
For ZVOL-backed LUNs this allows to inform initiators if storage's used or
available spaces get above/below the configured thresholds.

MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
2014-11-06 00:48:36 +00:00
marcel
7f33ec799c Document that w(1) supports libxo(3). 2014-11-05 23:59:52 +00:00
marcel
f0f8104fff Convert to use libxo.
Obtained from:  Phil Shafer <phil@juniper.net>
Sponsored by:   Juniper Networks, Inc.
2014-11-05 23:54:33 +00:00
markj
d18a2c8088 Create a directory for the PAM tests. 2014-11-05 22:50:33 +00:00
bapt
f9dd90308a fsirand does not actually use libutil 2014-11-05 22:46:11 +00:00
dteske
b9f2cd3227 Balance DPADD against LDADD for dpv(1,3).
Thanks to:	ngie
MFC after:	21 days
X-MFC-to:	stable/10 stable/9
X-MFC-with:	274116 274120 274121 274123 274144
2014-11-05 20:58:25 +00:00
des
96d30cbc7e Staticize the test plans. 2014-11-05 20:13:18 +00:00
dteske
99e7cb7d65 Fix code-typo; introduced by r267511
MFC after:	3 days
X-MFC-to:	stable/10
2014-11-05 19:54:14 +00:00
ngie
ff8a6081d6 Expect lib.libc.sys.getcontext_test.setcontext_link to fail on amd64; add
additional debugging to make the underlying problem more visible

Calling setcontext(2) on amd64 as shown in the test program is failing on
amd64, not i386, with a return code of -1 and an errno of EINVAL

Further investigation is being done in the PR to determine the root cause for
the failure

PR: 194828
Tested with the following configuration:
- amd64/i386
- 11.0-CURRENT @ r273153
- 100 times in a tight loop as root with the following commands...
-- kyua test lib/libc
-- kyua test lib/libc/sys
-- kyua test lib/libc/sys/getcontext_test
2014-11-05 16:38:57 +00:00
ngie
89aa21925b Remove expected failure from lib.libc.sys.t_mincore:mincore_resid
The failure was added based on observation seen on 11.0-CURRENT @ r273153, not
based on internal testing at EMC/Isilon

PR: 194829
Tested with the following configuration:
- amd64/i386
- 11.0-CURRENT @ r273153
- 100 times in a tight loop as root with the following commands...
-- kyua test lib/libc
-- kyua test lib/libc/sys
-- kyua test lib/libc/sys/mincore_test
2014-11-05 16:30:02 +00:00
des
fc4ab4a932 Hook up OpenPAM's own unit tests to the build. 2014-11-05 16:13:42 +00:00
bapt
0ce449d624 ftp(1) uses nothing from libutil, do not link to it 2014-11-05 15:32:57 +00:00
bapt
c7baf87633 id(1) only uses getaudit(2) from the BSM which is part of the libc 2014-11-05 15:03:58 +00:00
bapt
a8396ef62f Nothing in iconv(1) uses symbols from libcrypt 2014-11-05 14:55:01 +00:00
bapt
bfc0f852ba Avoid installing security.functions with executable bits, periodic(8) will
try to execute all files with an executable bit in /etc/periodic/*/ while
this file is supposed only to be sourced by others

MFC after:	1 week
2014-11-05 06:42:07 +00:00
gnn
c55c1b4d7b Add support for netmap in GENERIC by default. 2014-11-05 06:22:37 +00:00
marcel
5d9c551164 In alloc_pread() and kern_pread(), print errors only when DEBUG is
defined. An error is not fatal and is supposed to be handled by the
caller.

Obtained from:	Juniper Networks, Inc.
2014-11-05 04:18:41 +00:00
marcel
5efa4ea02c Document that wc(1) supports libxo(3). 2014-11-05 04:09:10 +00:00
marcel
9f9da1ab13 Convert to use libxo.
Obtained from:	Phil Shafer <phil@juniper.net>
Sponsored by:	Juniper Networks, Inc.
2014-11-05 04:02:25 +00:00
dteske
73a360052c Temporarily _disable_ compilation of dpv(3) and dpv(1).
Will revisit this to find out how to solve the ordering
issue in buildworld (potentially `make -j' specific).

Reviewed by:	shurd
2014-11-05 02:58:02 +00:00
dteske
cc601efb69 Fix buildworld by adding DPADD= to libdpv [dpv(3)] Makefile
NB: Should also address `make -j' building
Remove "+" from "+=" in assignments to DPADD/LDADD while here.
NB: Also move CFLAGS for style measure.

Reviewed by:	shurd
MFC after:	21 days
X-MFC-to:	stable/10 stable/9
X-MFC-with:	274116 274120 274121
2014-11-05 02:36:28 +00:00
mjg
dd190ce5d4 Extend struct ucred with group table.
This saves one malloc + free with typical cases and better utilizes
memory.

Submitted by:	Tiwei Bie <btw mail.ustc.edu.cn> (slightly modified)
X-Additional:	JuniorJobs project
2014-11-05 02:08:37 +00:00
dteske
aa05a1aea6 Make libdpv [dpv(3)] WARNS=6 clean for clang on -CURRENT.
NB: aka unbreak the build

Reviewed by:	shurd
MFC after:	21 days
X-MFC-to:	stable/10 stable/9
X-MFC-with:	274116 274120
2014-11-05 01:57:32 +00:00
dteske
2d9d595ebb Fix build-error (pointy hat; didn't merge full up-to-date code)
MFC after:	21 days
X-MFC-to:	stable/10 stable/9
X-MFC-with:	274116
2014-11-05 01:47:25 +00:00
dteske
6f8dd8b966 Add EXAMPLES-section entry for new key+=append syntax of sysrc(8).
MFC after:	3 days
X-MFC-to:	stable/10 stable/9
X-MFC-with:	274068
Thanks to:	@SeanChittenden
2014-11-05 01:24:44 +00:00
melifaro
c2069a39a4 Remove old hack abusing domattach from NFS code.
According to IANA RPC uaddr registry, there are no AFs
except IPv4 and IPv6, so it's not worth being too abstract here.

Remove ne_rtable[AF_MAX+1] and use explicit per-AF radix tries.
Use own initialization without relying on domattach code.

While I admit that this was one of the rare places in kernel
networking code which really was capable of doing multi-AF
without any AF-depended code, it is not possible anymore to
rely on dom* code.

While here, change terrifying "Invalid radix node head, rn:" message,
to different non-understandable "netcred already exists for given addr/mask",
but less terrifying. Since we know that rn_addaddr() returns NULL if
the same record already exists, we should provide more friendly error.

MFC after:	1 month
2014-11-05 00:58:01 +00:00
dumbbell
744533d61e vt(4): Support syscons' SC_HISTORY_SIZE to configure history size
Therefore, to set histry size to 2000 lines, add the following line to
your kernel configuration file:
    options SC_HISTORY_SIZE=2000

The default history remains at 500 lines.

MFC after:	1 week
2014-11-04 23:51:35 +00:00
dteske
bf764fc982 Add new libraries/utilities for data throughput visualization.
dpv(3): dialog progress view library
dpv(1): stream data from stdin or multiple paths with dialog progress view
figpar(3): configuration file parsing library

Reviews:	D714
Reviewed by:	jelischer, shurd
Discussed at:	MeetBSD California 2014 Vendor/Dev Summit
Discussed on:	-current
MFC after:	21 days
X-MFC-to:	stable/10 stable/9
2014-11-04 23:46:01 +00:00
des
95b02b5b83 [SA-14:25] Fix kernel stack disclosure in setlogin(2) / getlogin(2).
[SA-14:26] Fix remote command execution in ftp(1).

Approved by:	so (des)
2014-11-04 23:29:29 +00:00
bapt
fbac18d4da Partially fix indentation issues to improve readability helping cooperation with
Dragonfly folks

PR:		194785
Submitted by:	François Tigeot (ftigeot@wolfpond.org)
2014-11-04 23:10:58 +00:00
des
f095756b28 When reseeding the DPRNG, we're supposed to hash the current key and
some accumulated entropy twice and use that as the new key.  Due to a
typo, we were using the output of the first hash round instead of the
second.  Correct this, but eliminate temp[] since we can reuse hash[].
Also add comments explaining what is going on and why.

Noticed by:	Sami Farin <sami.farin@gmail.com>
Reviewed by:	markm@
Approved by:	so (des)
2014-11-04 23:02:19 +00:00
kib
938d2505e3 Fix mis-spelling of bits and types names in the
default_pager_putpages() and swap_pager_putpages().
It is the same fix as was done for vnode_pager_putpages()
in r271586.

Reviewed by:	alc
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2014-11-04 19:56:04 +00:00
alc
26666baef9 Eliminate a stale, i386-specific comment. 2014-11-04 18:52:59 +00:00
gjb
f9cdf3e5ad Fix VOLUME_LABEL when BRANCH contains non-alpha
characters, in particular '-' and '.'.

Submitted by:	des
Tested by:	des
MFC after:	3 days
X-MFC-10.1:	yes
Sponsored by:	The FreeBSD Foundation
2014-11-04 17:24:13 +00:00
jhb
abae099c34 Add a new thread state "spinning" to schedgraph and add tracepoints at the
start and stop of spinning waits in lock primitives.
2014-11-04 16:35:56 +00:00
jhb
0b0514e889 Bind Ctrl-Q as a global hotkey to exit. Bind Ctrl-W as a hotkey to close
dialogs.
2014-11-04 16:30:42 +00:00