marius [Tue, 22 Apr 2014 13:02:06 +0000 (13:02 +0000)]
MFC: r264257, r264327, r264514
Distinguish between the different variants and configurations of Sunix
{MIO,SER}5xxxx chips instead of treating all of them as PUC_PORT_2S.
Among others, this fixes the hang seen when trying to probe the none-
existent second UART on an actually 1-port chip.
Obtained from: NetBSD (BAR layouts)
Sponsored by: Bally Wulff Games & Entertainment GmbH
MFC r264293:
Add workaround for MCP61 Ethernet controller found on MSI K9
motherboard. PHY hardware used for the controller responded at
all possible addresses which in turn resulted in having 32 PHYs
for the controller. If driver detects "MSI K9N6PGM2-V2 (MS-7309)"
motherboard, tell miibus(4) PHY is located at 0.
MFC r264062:
Correct endianness handling in getting station address from EEPROM.
While I'm here, remove aue_eeprom_getword() as its only usage is to
read station address and make it more readable. This change is
inspired by NetBSD.
With this change, aue(4) should work on big endian architectures.
This is a direct commit to stable/9, since these documents have
changed drastically, and merge conflicts are too irrelevant to
deal with for a 14-character removal.
When merging docsinstall and zfsboot updates to stable/9 it was discovered
that the slightly older dialog(1) requires --separate-output when using the
--checklist widget to force response to produce unquoted values (whereas in
stable/10 --checklist widget without --separate-output will only quote the
checklist labels in the response if the label is multi-word (contains any
whitespace).
Since these enhancements (see revisions 263956 and 264437) were developed
originally on 10, the --separate-output option was omitted. When merged to
stable/9, we (Allan Jude) and I found during testing that the "always-
quoting" of the response was causing things like struct interpolation to
fail (`f_struct device_$dev' would produce `f_struct device_\"da0\"' for
example -- literal quotes inherited from dialog(1) --checklist response).
To see the behavior, execute the following on stable/9 versus stable/10:
dialog --checklist disks: 0 0 0 da0 "" off da1 "" off
Check both items and hit enter. On stable/10, the response is:
da0 da1
On stable/9 the response is:
"da0" "da1"
If you use the --separate-output option, the response is the same for both:
da0
da1
So applying --separate-output on every platform until either one of two
things occurs 1) dialog(1,3) gets synchronized between stable/9, higher or
2) we drop support for stable/9.
====
Author: Dr. Stephen Henson <steve@openssl.org>
Treat a zero length passed to ssleay_rand_add a no op: the existing logic
zeroes the md value which is very bad. OpenSSL itself never does this
internally and the actual call doesn't make sense as it would be passing
zero bytes of entropy.
Thanks to Marcus Meissner <meissner@suse.de> for reporting this bug.
====
This is a direct commit to stable/8 and stable/9. -HEAD and stable/10
already have this fix as part of OpenSSL 1.0.1g.
Create a symlink to sys/elf32.h, sys/elf64.h, and sys/elf_common.h.
When building libelf in the bootstrap stage this would include the tree
versions of, for example, sys/_types.h. This would work as long as the
tree's version of this file was close enough to the system's version of
the file. If, however, there was a change in the tree such that the location
of a typedef was moved this would cause problems. In this case the version
of sys/_types.h in the tree no longer defines __wchar_t and expects it to
to be defined in machine/_types.h, however we pick up machine/_types.h from
the system and find it is not defined there. The solution is to restrict the
parts of sys er include from the tree to those that are needed.
This fixes the recent Tinderbox failure.
MFC r237531:
Add the sys directory we create to the list of items to clean.
MFC r238741:
Don't ever build files depending on the directory where they are placed in.
It is obvious that its modification time will change with each such file
builded.
This bug cause whole libelf to rebuild itself each second make run
(and relink that files on each first make run) in the loop.
Don't pass a timeout of 0 ticks to pause() for a delay of less than 1
hz tick. On 8.x this results in an infinite sleep as pause() does not
support a delay of 0 ticks. Since all delay values are converted from
nanoseconds to ticks using a floor function, skipping the sleep for a
delay smaller than 1 tick is the more consistent than rounding up to a
single tick.
This is a direct commit to 8 and 9 as 10.x and later use pause_sbt()
instead.
dim [Mon, 14 Apr 2014 17:54:01 +0000 (17:54 +0000)]
MFC r264345:
Amend r263891, by making clang default to DWARF2 debug info format for
all FreeBSD versions, not just 10.x and earlier. Apparently too many
people seem to have trouble with post-1993 formats.
Also remove the related notes about messing with kernel configuration
files from UPDATING, which are now superfluous.
ray [Mon, 14 Apr 2014 12:49:18 +0000 (12:49 +0000)]
MFC 264242,264244,264259
Fix panic on load new driver while vt(4) is in VGA textmode.
o Mute terminal while vt(4) driver change in progress.
o Reset VDF_TEXTMODE before init new driver.
o Assign default font, if new driver is not in TEXTMODE.
o Do not update screen while driver changing.
o Unmute terminal when done with driver replacement.
o Move init fonts to early point.
o Minor cleanup.
o Do not fill screen, while muted. (kern/subr_terminal.c)
MFC r260429:
m_defrag(9) does not touch original mbuf chain when it can't
allocate new mbuf. Free original mbuf chain when driver is not
able to send the packet.
MFC r259543:
Failed m_devget(9) indicates lack of free mbuf cluster. Update
if_iqdrops counter for that case since the received frame is ok.
While here, simplify updating counter logic.
MFC r263957:
Increase the number of TX DMA segments from 32 to 35. It turned
out 32 is not enough to support a full sized TSO packet.
While I'm here fix a long standing bug introduced in r169632 in
bce(4) where it didn't include L2 header length of TSO packet in
the maximum DMA segment size calculation.
MFC r264343:
Add SRC_UPDATE_SKIP, DOC_UPDATE_SKIP, and PORTS_UPDATE_SKIP
variables. These are intended to allow bypassing the
'svn co /usr/{src,doc,ports}' step in the chroot when the
tree exists from external means.
The use case here is that /usr/src, /usr/doc, and /usr/ports
in the chroot exist as result of zfs dataset clones, so it
is possible (and happens quite often) that the included
distributions may not be consistent. (This is not the case
for -RELEASE builds, but does happen for snapshot builds.)
Loosen the processing of *_IF_aliasN vars to be less strict. Previously,
the first alias had to be _alias0 and processing stopped at the first non-
defined variable (preventing gaps). Allowing gaps gives the administrator
the ability to group aliases in an adhoc manner and also lifts the
requirement to renumber aliases simply to comment-out an existing one.
Aliases are processed in numerical ascending order.
NB: Also Patches mdconfig{,2} rc(8) boot scripts to loosen the numbering
scheme for mdconfig_mdN settings to be less strict in the same manner.
MFC r256343,256540-256541,256544,256549,256551,256553,257939,258021,258927,
259144,259148,259470,259472,259474,259476-259478,259480-259481,259570,
259597-259598, and 261960 (24 revisions; summarized below)...
r256343: Add zfsboot module as an option for automatic configuration
r256540: Add zpool_cache_* variables to loader.conf(5)
r256541: Document BSDINSTALL_TMPBOOT in bsdinstall.8
r256544: Fix a typo when setting up loader.conf(5) GELI entries
r256549: Document zfsboot in bsdinstall.8
r256551: Bump .Dd date in bsdinstall.8
r256553: Align ZFSBOOT_BEROOT_NAME with sysutils/beadm + Solaris beadm
r257939: Validate scripted partition entry before acting on disks
r258021: Switch default MBR bootcode from /boot/boot0 to /boot/mbr
r258927: Fix early regression in enabling the Encryption feature
r259144: Fix early regression in entering passphrase for Encryption
r259148: Fix typo that broke booting from Encrypted setup
r259470: Add default /var/mail with atime=on for mail apps
r259472: Accept NULL input as also meaning zero swap
r259474: Bug fixes and debugging improvements
r259476: Improve default ZFS disk layout
r259477: fletcher4 is currently the default
r259478: De-uglify the geli(8)-setup infobox by adding a newline
r259480: Fix ghosted zroot pool issue
r259481: Auto-enable 4k alignment with Encryption
r259570: Fix "[: -eq: argument expected" error
r259597: Fix installation to 3-4+ disks
r259598: Set the cachefile property so bootpools get imported
r261960: Add zfsboot to scripted interface of bsdinstall
Add $VAR_ZFSINTERACTIVE (zfsInteractive) and new f_zfsinteractive() for
determining when a script wants to be nonInteractive but selectively
wants ZFS operations to be *interactive* (this is analgous to already
existing $VAR_NETINTERACTIVE (netInteractive) and f_netinteractive()
used for the same purpose (script wants to be nonInteractive but wants
network operations to be *interactive*).
If the kernel is compiled with VMIMAGE support, the first attempt of
mounting smbfs share will cause a panic. Fix setting/restoring vnet
context when needed.
MFC r238468: sh: Expand assignment-like words specially for
export/readonly/local.
Examples:
export x=~
now expands the tilde
local y=$1
is now safe, even if $1 contains IFS characters or metacharacters.
For a word to "look like an assignment", it must start with a name followed
by an equals sign, none of which may be quoted.
The special treatment applies when the first word (potentially after
"command") is "export", "readonly" or "local". There may be quoting
characters but no expansions. If "local" is overridden with a function there
is no special treatment ("export" and "readonly" cannot be overridden with a
function).
If things like
local arr=(1 2 3)
are ever allowed in the future, they cannot call a "local" function. This
would either be a run-time error or it would call the builtin.
This matches Austin Group bug #351, planned for the next issue of POSIX.1.
As for the MFC, it is easy to depend on this feature inadvertently, and
adding this fixes a regression from stable/8 that may be apparent in things
like
local x=${y+a @}.
MFC r264146:
Fix a race between kqueue_register() and kqueue_scan() setting KN_INFLUX
flag while knlist is not locked, which caused lost notifications from
parallel knote().
Fix kern/187712: config(8) does not respect KERNCONFDIR.
The impact of this bug is that you cannot build a kernel if both of the
following are true:
1) The kernel config file is in a non-default location
2) The kernel config file uses the "include" statement from config(5).
usr.sbin/config/main.c
usr.sbin/config/config.8
usr.sbin/config/config.h
usr.sbin/config/lang.l
Added a "-I path" option to config(8). By analogy to cc(1), it adds
an extra path in which the "include" statement will search for
files.
Makefile.inc1
Pass "-I ${KERNCONFDIR}" to config(8).
dim [Thu, 10 Apr 2014 07:00:24 +0000 (07:00 +0000)]
MFC r264238:
For GNU as, add two missing modes for each of the fcomip and fucomip
instructions. Partially obtained from OpenBSD by Pedro Giffuni, while I
added the fcomip variants.
Apparently this should help with compiling certain variants of WebKit.
MFC r261193: login: Clean up PAM and audit, then exit, on SIGHUP and SIGTERM
This avoids leaving stale entries in utmpx after the connection is closed on
an open login session. It also allows a clean way (SIGTERM) to forcibly
terminate a user's terminal session.
This does not affect the situation for "hung" processes after the connection
is closed. The foreground process group receives SIGHUP and the tty becomes
inaccessible.
Also replace all use of the obsolete signal() function with sigaction() (not
only the part where it is actually required: SIGHUP and SIGTERM must mask
the other as well when caught).
dim [Wed, 9 Apr 2014 18:16:58 +0000 (18:16 +0000)]
MFC r263778:
Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process
all the SUBDIR entries in parallel, instead of serially. Apply this
option to a selected number of Makefiles, which can greatly speed up the
build on multi-core machines, when using make -j.
This can be extended to more Makefiles later on, whenever they are
verified to work correctly with parallel building.
I tested this on a 24-core machine, with make -j48 buildworld (N = 6):
before stddev after stddev
======= ====== ======= ======
real time 1741.1 16.5 959.8 2.7
user time 12468.7 16.4 14393.0 16.8
sys time 1825.0 54.8 2110.6 22.8
(user+sys)/real 8.2 17.1
E.g. the build was approximately 45% faster in real time. On machines
with less cores, or with lower -j settings, the speedup will not be as
impressive. But at least you can now almost max out a machine with
buildworld!
Submitted by: jilles
MFC r263833:
Enable parallel building for gnu/usr.bin and usr.bin/clang too.
MFC r257350:
In r257079, SRCDIR is pointed to ${.CURDIR} when not set. However,
Makefile.inc1 is being called in sub-make's where make(1) would,
by default, implicitly chdir(2) to ${.OBJDIR} before executing any
targets. This would make some targets, like delete-old, when trying
to derive various variables introduced by change r256921 using
``make -f Makefile.inc1'' that also rely on SRCDIR to fail.
This changeset adds an explicit cd ${.CURDIR} before these unwrapped
make calls, making them in line with the other ones that are already
being wrapped with the explicit chdir's.
Submitted by: Jeremy Chadwick
Helped by: Ben Morrow
Sponsored by: The FreeBSD Foundation
MFC a modified version of r258588 (modification suggested by Mikolaj
Golub; tested stable both original and modified versions) that fixes
kernel panic when starting/stopping VIMAGE jails.
ray [Fri, 4 Apr 2014 11:19:02 +0000 (11:19 +0000)]
MFC r263885
o Add new vd_driver method to do bitblt with mask, named vd_maskbitbltchr.
o Move vd_bitbltchr vga's driver method to vd_maskbitbltchr.
o Implement new vd_bitbltchr method for vga driver. (It do single write for 8
pixels, have to be a bit faster).
ray [Thu, 3 Apr 2014 12:03:30 +0000 (12:03 +0000)]
MFC r263809
Fix crash on resume in vt(9).
Statically allocated terminal window have not initialized callout handler, so we
have to initialize it even for existing window if it is console window.
dim [Wed, 2 Apr 2014 06:17:57 +0000 (06:17 +0000)]
MFC r263775:
Avoid "cc1: warning: is shorter than expected" when using GNU cpp in
combination with dtrace scripts, which have "#!/usr/sbin/dtrace -Cs"
shebang lines. This is because dtrace positions the file pointer after
the shebang line, before passing the file to GNU cpp.
To fix the warning, adjust the size downwards by the current position,
after a bit of sanity checking.
r250143 (benno):
Optimize SUBDIR_OVERRIDE such that SUBDIR isn't automatically
defined if SUBDIR_OVERRIDE is defined.
r257079:
Fix build host pollution by avoiding calling 'uname -srp' to
determine values for 'VERSION'.
r262670 (marcel):
Use ${MAKE} so that we always use the same version/implementation
of make.
r258086 (cperciva):
Strip the -pN patch level from the VERSION string which gets
encoded into CTF data. Otherwise FreeBSD Update builds think every
kernel file has changed every time there's a security advisory,
since the FreeBSD Update build code isn't smart enough to look inside
CTF data to ignore those changes.
Tested on: stable/9@r263881
Sponsored by: The FreeBSD Foundation
dim [Tue, 1 Apr 2014 08:19:30 +0000 (08:19 +0000)]
MFC r263891:
Make clang default to DWARF2 debug info format for FreeBSD 10.x and
earlier. For head, this commit does not change anything, but it is
purely meant to be MFC'd.
des [Mon, 31 Mar 2014 14:39:56 +0000 (14:39 +0000)]
MFH (r237568, r255422, r255460, r255766, r255767, r255774, r255829,
r256126, r257954, r261320, r261499, r263691, r263712): upgrade to
OpenSSH 6.6p1 via 6.3p1, 6.4p1 and 6.5p1.
Differences relative to head:
- No DNSSEC support since stable/9 does not have LDNS
- Sandboxing off by default, and uses rlimit instead of Capsicum
- ED25519 moved to the bottom of the order of preference to avoid
"new public key" warnings
ae [Mon, 31 Mar 2014 09:37:11 +0000 (09:37 +0000)]
MFC r263468:
When loader(8) inspects MBR, it chooses GPT as main partition table,
when MBR contains only PMBR entry or it is bootcamp-compatible.
If MBR has PMBR entry and some other, the loader rejects it.
Make these checks to be less strict. If loader decided that PMBR
isn't suitable for GPT, it will use MBR.
dteske [Mon, 31 Mar 2014 01:04:40 +0000 (01:04 +0000)]
MFC revisions 230804,254265,255908,256338,256345,256347-256348,256489,
257842-257845,257872,259115,259143,259276,259468-259469,259572,259686,
260260-260262,260866, and 260900 (25 revisions; summarized below)...
r230804: Fix a whitespace nit (kevlo)
r254265: (recording mergeinfo only)
r255908: Remove the is (Iceland) mirror per mail from the admins (brd)
r256338: Dump 4096 bytes from /dev/random to /entropy (des)
r256345: Rewrite the keymap module
r256347: Detect when an interface is wireless (Warren Block)
r256348: Merge dumpdev into regular services; enable (Allan Jude)
r256489: Add executable bit to docsinstall and entropy scripts
r257842: Performance and debugging enhancements
r257843: Remove ttys(5) munging from previous commit
r257844: Copy install log to deployed /var/log for debugging
r257845: Fixup to last commit
r257872: Doc fixup -- add missing .El (joel)
r259115: Prevent log file from becoming truncated
r259143: Use sed(1) /i instead of /I (eadler)
r259276: Fix `local: Not in a function' error in logfile
r259468: Ignore mouse-release command from VMware
r259469: Mask error from newaliases(1) when hostname not fully qualified
r259572: Fix `rm: /tmp/bsdinstall_etc/fstab: ..." error in logfile
r259686: Move VMware mouse-release solution
r260260: Remove what appears to be a stray debugging printf
r260261: Lower priority of open wireless access policy (gavin)
r260262: Allow bsdinstall to use WPA-Enterprise networks (gavin)
r260866: Fix bad comparison and fix file comment (Christoph Mallon)
r260900: Whitespace and style nits
dim [Sat, 29 Mar 2014 17:18:23 +0000 (17:18 +0000)]
MFC r260880 (by kaiw, from projects/elftoolchain):
* Make die_mem_offset() be able to handle DW_AT_data_member_location
attributes generated by Clang 3.4.
* Document how different compilers generate DW_AT_data_member_location
attributes differently.
* Document the quirks about DW_FORM_data[48].
This is a slightly modified version, adapted to work with the old
libdwarf in stable/9 and stable/10. It should fix DTrace on these
branches, when the kernel is compiled with clang 3.4.
Note that you have to build *and* install the CTF tools first, before
building the kernel. Otherwise you can possibly still get error
messages similar to "failed to copy type of 'pr_uid': Type information
is in parent and unavailable", when attempting to run dtrace(1).
dim [Sat, 29 Mar 2014 11:33:52 +0000 (11:33 +0000)]
MFC r263774:
Revert r263694, and apply a better fix to squelch unnecessary warnings
from clang about possible keywords being treated as identifiers for the
remainder of the translation unit (a.k.a. -Wkeyword-compat), when using
libstdc++ in combination with -Wsystem-headers. This will not only fix
devd, but any C++ program using libstdc++.
asomers [Fri, 28 Mar 2014 15:41:04 +0000 (15:41 +0000)]
MFC r262912
cddl/contrib/opensolaris/lib/libuutil/common/uu_avl.c
Fix a memory leak in uu_avl_pool_create: pthread_mutex_init without
a corresponding pthread_mutex_destroy. It shows up, among other
places, when doing "zfs list
kib [Fri, 28 Mar 2014 15:38:54 +0000 (15:38 +0000)]
MFC r263475:
Fix two issues with /dev/mem access on amd64, both causing kernel page
faults.
First, for accesses to direct map region should check for the limit by
which direct map is instantiated.
Second, for accesses to the kernel map, use a new thread private flag
TDP_DEVMEMIO, which instructs vm_fault() to return error when fault
happens on the MAP_ENTRY_NOFAULT entry, instead of panicing.
MFC r263498:
Add change forgotten in r263475. Make dmaplimit accessible outside
amd64/pmap.c.