18714 Commits

Author SHA1 Message Date
cem
2c9ae2323b mallocarray(9): panic if the requested allocation would overflow
Additionally, move the overflow check logic out to WOULD_OVERFLOW() for
consumers to have a common means of testing for overflowing allocations.
WOULD_OVERFLOW() should be a secondary check -- on 64-bit platforms, just
because an allocation won't overflow size_t does not mean it is a sane size
to request.  Callers should be imposing reasonable allocation limits far,
far, below overflow.

Discussed with:	emaste, jhb, kp
Sponsored by:	Dell EMC Isilon
2018-01-10 21:49:45 +00:00
emaste
e4f179f29f regen src.conf.5 after r327783, WITH_LLD_BOOTSTRAP default
(I missed the Reviewed by and review link from r327783.)

Reviewed by:	brooks, dim, bapt
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D13827
2018-01-10 20:36:16 +00:00
emaste
09b6125fd0 Enable ld.lld as bootstrap linker by default on amd64
For some time we have been planning to migrate to LLVM's lld linker.
Having a man page was the last blocking issue for using ld.lld to link
the base system kernel + userland, now addressed by r327770.  Link the
kernel and userland libraries and binaries with ld.lld by default, for
additional test coverage.

This has been a long time in the making.  On 2013-04-13 I submitted an
upstream tracking issue in LLVM PR 23214: [META] Using LLD as FreeBSD's
system linker.  Since then 85 individual issues were identified, and
submitted as dependencies.  These have been addressed along with two
and a half years of other lld development and improvement.

I'd like to express deep gratitude to upstream lld developers Rui
Ueyama, Rafael Espindola, George Rimar and Davide Italiano.  They put in
substantial effort in addressing the issues we found affecting
FreeBSD/amd64.

To revert to using ld.bfd as the bootstrap linker, in /etc/src.conf set

    WITHOUT_LLD_BOOTSTRAP=yes

If you need to set this, please follow up with a PR or post to the
freebsd-toolchain mailing list explaining how default WITH_LLD_BOOTSTRAP
failed for your use case.

Note that GNU ld.bfd is still installed as /usr/bin/ld, and will still
be used for linking ports.  ld.lld can be installed as /usr/bin/ld by
setting in /etc/src.conf

    WITH_LLD_IS_LLD=yes

A followup commit will set WITH_LLD_IS_LD by default, possibly after
Clang/LLVM/lld 6.0 is merged to FreeBSD.

Release notes:	Yes
Sponsored by:	The FreeBSD Foundation
2018-01-10 20:28:01 +00:00
emaste
1344a9964c src.conf.5: regen after r325692 and r326888
Sponsored by:	The FreeBSD Foundation
2018-01-10 18:15:00 +00:00
kib
216c49d92e Fix year.
Noted by:	oshogbo
Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
2018-01-09 16:28:45 +00:00
markj
8b210be68e Generalize the gzio API.
We currently use a set of subroutines in kern_gzio.c to perform
compression of user and kernel core dumps. In the interest of adding
support for other compression algorithms (zstd) in this role without
complicating the API consumers, add a simple compressor API which can be
used to select an algorithm.

Also change the (non-default) GZIO kernel option to not enable
compressed user cores by default. It's not clear that such a default
would be desirable with support for multiple algorithms implemented,
and it's inconsistent in that it isn't applied to kernel dumps.

Reviewed by:	cem
Differential Revision:	https://reviews.freebsd.org/D13632
2018-01-08 21:27:41 +00:00
kp
69291826ac Introduce mallocarray() in the kernel
Similar to calloc() the mallocarray() function checks for integer
overflows before allocating memory.
It does not zero memory, unless the M_ZERO flag is set.

Reviewed by:	pfg, vangyzen (previous version), imp (previous version)
Obtained from:	OpenBSD
Differential Revision:	https://reviews.freebsd.org/D13766
2018-01-07 13:21:01 +00:00
kevans
2207d053fe aw_sid(4): Add support for Allwinner H3
The sid controller on the H3 is generally identical in location, size, and
efuse offset to the a64 and the a83t. The main difference is that the H3 has
a silicon bug that sometimes causes the rootkey (at least) to be garbled
unless first read by the prctl registers.

This device is currently not in our DTS and, as of now, is not yet present
in mainline Linux DTS.

Tested on:	OrangePi One
2018-01-07 04:59:28 +00:00
kib
5274803f49 Document kern.smp.disabled tunable.
Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
2018-01-06 16:29:00 +00:00
junovitch
940b8981c3 Remove myself from ports-secteam
I will be moving on to other life commitments this year and will not have
the time to support contributions as a ports committer, if able, until life
settles at the end of the year.

Discussed with:	portmgr
2018-01-04 17:58:48 +00:00
np
ecc16fc696 cxgbe(4): Add a knob to enable/disable PCIe relaxed ordering. Disable it by
default when running on Intel CPUs.

This is a crude fix for the performance issues alluded to in these Linux commits:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=87e09cdec4dae08acdb4aa49beb793c19d73e73e
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a99b646afa8a02571ea298bedca6592d818229cd

MFC after:	1 week
Sponsored by:	Chelsio Communications
2018-01-03 19:24:57 +00:00
eadler
3ac39f375e bsd-family-tree: revert r327333
bsd-family-tree should only contain projects that have had actual
releases.

Requested by:	core
2018-01-03 03:46:28 +00:00
karels
95cd76bc3b make SW_WATCHDOG dynamic
Enable the hardclock-based watchdog previously conditional on the
SW_WATCHDOG option whenever hardware watchdogs are not found, and
watchdogd attempts to enable the watchdog. The SW_WATCHDOG option
still causes the sofware watchdog to be enabled even if there is a
hardware watchdog. This does not change the other software-based
watchdog enabled by the --softtimeout option to watchdogd.

Note that the code to reprime the watchdog during kernel core dumps is
no longer conditional on SW_WATCHDOG. I think this was previously a bug.

Reviewed by:	imp alfred bjk
MFC after:	1 week
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D13713
2018-01-03 00:56:30 +00:00
kevans
a234d3194c aw_sid: Add man page for this driver
Reviewed by:	manu, bjk (both earlier version), brueffer (manpages)
Differential Revision:	https://reviews.freebsd.org/D13720
2018-01-02 14:54:54 +00:00
imp
ce0177be39 Be less verbose and more precise. 2018-01-01 19:04:40 +00:00
imp
a51c04d842 Add note that assert.h may be included multiple times
with and without NDEBUG defined.
2018-01-01 18:59:11 +00:00
imp
e94754fd31 assert(3) appeared first in the 7th Edition Unix, not the 6th, at
least according to the extant distributions preserved at tuhs.org.

Obtained from: http://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/include/assert.h
2018-01-01 18:55:13 +00:00
eadler
8b2675fc39 ieee80211(9): update man page
This copies changes from NetBSD into FreeBSD's man page.  I compared the
proposed changes against FreeBSD headers and modified them to match.

PR:		214602
Submitted by:	fehmi noyan isi <fnoyanisi@yahoo.com>
2018-01-01 00:20:35 +00:00
bryanv
e5fc4ae5ef Add rc.conf vxlan example
PR:	206288
Submitted by:	james@lodge.me.uk
MFC after:	2 weeks
2017-12-31 21:23:14 +00:00
gonzo
e4c96e30be vt(4): add support for configurable console palette
Introduce new set of loader tunables kern.vt.color.N.rgb, where N is a
number from 0 to 15. The value is either comma-separated list decimal
numbers ranging from 0 to 255 that represent values of red, green, and
blue components respectively (i.e. "128,128,128") or 6-digit hex triplet
commonly used to represent colors in HTML or xterm settings (i.e. #808080)

Each tunable overrides one of the 16 hardcoded palette codes and can be set
in loader.conf(5)

Reviewed by:	bcr(docs), jilles, manu, ray
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D13645
2017-12-31 20:21:05 +00:00
ian
b2e803acfb Allow use of .WAIT in the LOCAL_DIRS and LOCAL_LIB_DIRS lists.
A comment in Makefile.inc1 has long stated that LOCAL_DIRS are built last,
after the base system.  Incremental improvements in parallel building over
the years have led to LOCAL_DIRS being built in parallel with base system
directories.  This change allows the .WAIT directive to appear in LOCAL_DIRS
and LOCAL_LIB_DIRS lists to give the user some control over parallel
building of local additions.

Differential Revision:	https://reviews.freebsd.org/D13622
2017-12-31 18:53:13 +00:00
eadler
5208acaebb skel: Quote PAGER in dot.shrc
PR:		181853
Submitted by:	pl@catslair.org
MFC After:	1 week
2017-12-31 06:58:58 +00:00
eadler
a43c6cbebd examples: fix typo 2017-12-29 23:58:05 +00:00
maxim
e088266700 Sort by time. 2017-12-29 21:37:36 +00:00
ian
8ab18e7cfb Correct a mistake and reword a couple sentences to clarify that "the value"
refers to the scale value, not the kmem_arena size that results from scaling.

Suggested by: alc@
2017-12-29 20:00:19 +00:00
eadler
70e4615719 locale: add cnr (Montenegrin)
See https://www.loc.gov/standards/iso639-2/php/code_changes.php
2017-12-29 15:04:49 +00:00
eadler
3538cb35ad bsd-family-tree: add NetBSD 7.1.1; correct NetBSD abbrev
Reported by:	Herbert J. Skuhra <herbert@gojira.at>
Reported by:	N.J. Mann <njm@njm.me.uk>
2017-12-29 14:31:43 +00:00
eadler
5a0f1503fc bsd-family-tree: add NetBSD 6.0.6
This was a missing release. Released on the same day as 6.1.5 per
https://blog.netbsd.org/tnf/entry/netbsd_6_1_5_and
2017-12-29 05:01:07 +00:00
eadler
7ead2e12b8 bsd-family-tree: add HardenedBSD
This adds HardenedBSD which is a pseudo-fork of FreeBSD. It hasn't had a
release yet, but does does have active users and a community. As such
document it as a branch off of FreeBSD-stable. Ideally this adds enough
space so that future releases are easy enough to add.
2017-12-29 04:49:59 +00:00
eadler
57c437bda4 Update pci_vendors to 2017.12.20 2017-12-28 08:25:47 +00:00
eadler
48140559e0 Fix a few speelling errors
- man pages
- bin/sh

Reviewed by:		jilles
2017-12-28 08:22:26 +00:00
delphij
32a7549145 Replace send-mail with the more standarized sendmail, we do not create
links for send-mail in mailwrapper so it did not work anyway.

MFC after:	2 weeks
2017-12-27 06:23:50 +00:00
ian
d6156b173d Add a section describing how to tune ARM kernel options to use an MD_ROOT
filesystem larger than about 50-55 MiB.

The description of VM_KMEM_SIZE_SCALE is roughly as hand-wavy as my
understanding of the option, but at least mentioning that it's a factor
and giving an empirical datapoint that works will give folks some idea
of what to tweak if they have problems.
2017-12-26 22:05:55 +00:00
ian
0257de5eba Complete the changing of the old "i2c-address" property to the modern "reg"
property by updating the description text to match the updated example.

This should have been part of r327220
2017-12-26 18:42:29 +00:00
ian
81b67ff259 Update the FDT example for the lm75 sensor to match current devicetree
standards and what the existing driver expects.

Also change 'like' to 'such as' where the text is providing an example
rather than a simile.
2017-12-26 18:34:07 +00:00
manu
c84c5fb74b man4: Move back allwinner man page to share/man/man4
But only install them for arm or aarch64 since they are used on both arch.
2017-12-26 16:50:49 +00:00
manu
ec6ed33713 Move arm specific man page to man4.arm subfolder
Reported by:	ian
2017-12-26 16:13:20 +00:00
manu
e730baec03 Allwinner: gpio: Rename driver to aw_gpio and add man page for it
Reviewed by:	bcr (manpages)
Differential Revision:	https://reviews.freebsd.org/D13617
2017-12-26 12:11:04 +00:00
manu
9f4d9f8078 Allwinner: mmc: Rename driver to aw_mmc and add a man page for it
Reviewed by:	bcr (manpages)
Differential Revision:	https://reviews.freebsd.org/D13616
2017-12-26 12:06:56 +00:00
manu
18edda5c9d aw_rtc.4: Correct some error/style found by mandoc -Tlint 2017-12-26 10:59:54 +00:00
manu
f0a0d0e54d aw_rsb.4: Remove useless .Re 2017-12-25 23:01:09 +00:00
manu
b5e61ae93c aw_rtc: Add man page for this driver
Reviewed by:	bcr
Differential Revision:	https://reviews.freebsd.org/D13621
2017-12-25 19:42:04 +00:00
dim
883c38feed Follow-up to r326375, by moving the block that disables errors on the
new clang 6.0.0 -Wtautological-constant-compare warning to the WARNS <=
6 level.  (This warning is still being worked on upstream to reduce
false positives, but it is currently still too trigger happy.)
2017-12-24 16:34:54 +00:00
sevan
faaff34387 Drop the NetBSD rcs tag introduced in r326868.
Approved by:    bcr (mentor)
Differential Revision:  https://reviews.freebsd.org/D13511
2017-12-22 21:54:39 +00:00
kib
8398445a05 Update HISTORY section for the atomic(9) page.
In collaboration with:	alc
Sponsored by:	The FreeBSD Foundation (kib)
MFC after:	1 week
2017-12-22 17:52:38 +00:00
imp
fa3e727156 Provide a nda man page. Add cross referneces. Bump dates.
Also, CAM is a storage subsystem, not a SCSI/ATA one these days.

Sponsored by: Netflix
2017-12-21 04:23:00 +00:00
imp
1054b74653 Add nvme wiring example
Add NVMe and MMC/SD card support info.

Sponsored by: Netflix
2017-12-20 19:14:20 +00:00
imp
63d7c3c67d Document new pci device hints wiring.
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D13546
2017-12-20 19:14:11 +00:00
ian
783b0eb845 Add a new kernel config option, MD_ROOT_READONLY, which forces on the
MD_READONLY flag for the md device automatically instantiated during
kernel init for an mdroot filesystem.

Note that there is specifically and by design no tunable or sysctl
control over this feature.  Without this option, you already have control
over whether the mdroot fs is writeable using vfs.root.mountfrom.options
from loader(8), the root_rw_mount rcvar, and by using "mount -u[rw] /"
or equivelent on the fly.  This option is being added to provide a way
to make the mdroot fs truly immutable before userland code begins running.

Differential Revision:	https://reviews.freebsd.org/D13411
2017-12-20 18:23:22 +00:00
shurd
0cf83abb13 Update Matthew Macy contact info
Email address has changed, uses consistent name (Matthew, not Matt)

Reported by:	Matthew Macy <mmacy@mattmacy.io>
Differential Revision:	https://reviews.freebsd.org/D13537
2017-12-19 17:59:00 +00:00