Refactor the code a little bit to avoid NULL deference when
allocation was failed.

Reported by:	Coverity
CID:		1238915
MFC after:	1 week
Use strlcpy(). I don't believe these are real problems but it's better
to use a safe idiom.

Reported by:	Coverity
CID:		1238914
MFC after:	1 week
Use a char * as iterator over a bounded string.

MFC after:	1 week
The strtol(3) family of functions would set errno when it hits one.
Check errno and handle it as invalid input.

Obtained from:	HardenedBSD
Submitted by:	David CARLIER <devnexen@gmail.com>
MFC after:	2 weeks
Explicitly set errno to 0 before calling strto*.

Suggested by:	mjg
MFC after:	2 weeks
Revert r272122

The patch still needs to be more robust and it broke the
build on MIPS so revert it for now while all the issues
are fixed.

Reported by:	ache, davide
PR:		137307
Fix description of mutex acquisition.

Reviewed by:	kib
X-MFC with:	r272070
Sponsored by:	Nginx, Inc.
Refactor the code a little bit to reduce duplicated code.

Reviewed by:	mjg
MFC after:	2 weeks
Fix the description of the -h option.

Reported by:	swills
MFC after:	3 days
Make lagg protocols detach methods returning void.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
Make lagg protos a enum.
Add new (untested) device IDs to smsc(4)

MFC after:	1 week
- When reconfiguring protocol on a lagg, first set it to LAGG_PROTO_NONE,
  then drop lock, run the attach routines, and then set it to specific
  proto. This removes tons of WITNESS warnings.
- Make lagg protocol attach handlers not failing and allocate memory
  with M_WAITOK.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
xen: add proper copyright attribution

Noted by:	jmallett
Fix typos.
Fix the size of AT91SAM9260_PIT_SIZE.
Add very basic outline man page for smsc(4).

MFC after:	6 days
Correctly enumerate primes between 4295098369 and 3825123056546413050.

Prior to this commit, primes(6) relied solely on sieving with primes up
to 65537, with the effect that composite numbers which are the product
of two non-16-bit primes would be incorrectly identified as prime.  For
example,
# primes 1099511627800 1099511627820
would output
1099511627803
1099511627807
1099511627813
when in fact only the first of those values is prime.

This commit adds strong pseudoprime tests to validate the candidates
which pass the initial sieving stage, using bases of 2, 3, 5, 7, 11,
13, 17, 19, and 23.  Thanks to papers from C. Pomerance, J.L. Selfridge,
and S.S. Wagstaff, Jr.; G. Jaeschke; and Y. Jiang and Y. Deng, we know
that the smallest value which passes these tests is 3825123056546413051.

At present we do not know how many strong pseudoprime tests are required
to prove primality for values larger than 3825123056546413050, so we
force primes(6) to stop at that point.

Reviewed by:	jmg
Relnotes:	primes(6) now correctly enumerates primes up to
		3825123056546413050
MFC after:	7 days
Sponsored by:	EuroBSDCon devsummit
Add MLINKS for if_ipheth(4) and if_smsc(4).

Submitted by:	brueffer
MFC after:	6 days
- Mechanically convert to if_inc_counter() the rest of counters.
- Do not set if_collisions on interrupt, read them in ti_get_counter().
- Add missing bus_dmamap_sync(BUS_DMASYNC_PREREAD) in ti_ioctl2(). [1]

Submitted by:	mav [1]