FreeBSD_HEAD_amd64_gcc4.9 - Build #719 - Fixed:

Build information:
Full change log:
Full build log:

Change summaries:

290193 by zbb:
Use PCB/LR from PCB rather from stack on armv7-gdb

The kernel dump does not store these values on the stack.
Use PCB structure to resolve PC and LR properly.

Submitted by:  Wojciech Macek <>
Reviewed by:   jhb, kib
Obtained from: Semihalf
Sponsored by:  Juniper Networks Inc.
Differential Revision:

290192 by zbb:
Workaround KGDB issues on ARM by ignoring ARM EABI version higher than 5

To make KGDB working, it needs to understand kernel ELF image.
By default it is compiled using EABI_5, which is not supported
on the gdb-6. As a workaround, treat these images as EABI_2 because
they share a lot of things in common.

This workaround does not guarantee ALL funtionalities
to work.

Submitted by:  Wojciech Macek <>
Reviewed by:   jhb
Obtained from: Semihalf
Sponsored by:  Juniper Networks Inc.
Differential Revision:

290191 by avg:
l2arc: do not call trim_map_free() for blocks with zero b_asize

b_asize can be zero if the block is compressed into an empty block
(ZIO_COMPRESS_EMPTY) and the trim code asserts that meaningless
zero-sized trimming is not attempted.
The logic for calling trim_map_free() is extracted into a new function
l2arc_trim() to minimize code duplication.

PR:             203473
Reported by:    Willem Jan Withagen <>
Tested by:      Willem Jan Withagen <>
MFC after:      11 days

290190 by ngie:
Fix compiler warnings with open_to_operation.c

Other sidenotes:
- Remove unused variables with main(..)
- Convert errx/exit with -1 to errx/exit with 1
- Fix a bogus test in try_directory_open
  (expected_errno == expected_errno -> errno == expected_errno) [*]
- Fix some warnings related to discarded qualifiers
- Remove a bogus else-statement at the end of check_mmap_exec(..) in the
  successful case. mmap(2), POSIX, Linux, etc all don't state what the
  behavior is when mixing O_WRONLY + PROT_EXEC, so assume success for now to
  get the test program to pass again.

PR: 201286 [*]
MFC after: 1 week
Submitted by: David Binderman <>
Sponsored by: EMC / Isilon Storage Division

290188 by kib:
The prefix for CLFLUSHOPT is 0x66.  It was right on amd64.

Sponsored by:   The FreeBSD Foundation

290186 by ed:
Make truss work for CloudABI processes on aarch64.

This change copies over amd64-cloudabi64.c to aarch64-cloudabi.c and
adjusts it to fetch the proper registers on aarch64. To reduce the
amount of shared code, the errno conversion function is moved into a
separate source file.

Reviewed by:    jhb, andrew
Differential Revision:

290185 by ngie:
Disable h_raw/h_read with gcc

I forgot that these testcases fail with gcc 4.2.1; add a note to that effect

MFC after: never
Sponsored by: EMC / Isilon Storage Division

290184 by ngie:
Fix a set but not used variable warning flagged by gcc 4.9 with

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division

290183 by ngie:
- Re-enable h_raw with clang 3.7.0+
- Fix the compiler check to allow the test to be compiled for gcc

PR: 196430
MFC after: never
Sponsored by: EMC / Isilon Storage Division

290182 by ngie:
Fix rtsold's usage message

- Remove -a from the usage message example dealing with specific
  interfaces. -a only makes sense when not specifying an interface,
  such that it's to be run on all interfaces
- Fix the pidfile option (it's -p, not -P)
- Change `interfaces` to `interface` to match the manpage

MFC after: 3 days
PR: 173744
Sponsored by: EMC / Isilon Storage Division

290181 by ngie:
Unbreak with PROGS (but not PROGS_CXX) and when invoking the
"one of many" targets, e.g. `make hello_world`, where hello_world is a C

Tested with: PROGS and PROGS_CXX
MFC after: 1 week
X-MFC with: r289289
Sponsored by: EMC / Isilon Storage Division

290180 by ngie:
Follow up to roundup feature addition in r289203

- Rename -r to -R to avoid the clash with makefs -r in NetBSD
- Note that -R is an FFS-specific option because it's not implemented
  in cd9660 today
- Rename the roundup variable to "roundup-size" in the manpage and help
  text for consistency with other variables.
- Bump .Dd (missed in r289203)

PR: 203707
MFC after: 1 week
X-MFC with: r289203
Differential Revision:
Reviewed by: adrian (earlier patch), emaste
Sponsored by: EMC / Isilon Storage Division

290179 by ngie:
Remove a set but unused variable in __getgroupmembership to fix a gcc 4.9+ 

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

290178 by ngie:
Fix GOST engine cipher linkage by adding e_gost_err.c to SRCS so it
picks up undefined symbols, like "ERR_load_GOST_strings"

MFC after: 3 days
PR: 184805
Submitted by: Ivan IvanZhdanov <>
Sponsored by: EMC / Isilon Storage Division

290177 by ngie:
Integrate contrib/netbsd-tests/lib/libc/rpc into the FreeBSD test suite
as lib/libc/rpc

This testcase requires rpcbind be up in running; otherwise the testcases
will time out and be skipped

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division

290176 by gonzo:
Fix BULK read transfer if destination buffer is not cache line-aligned.

We can't use copyout because destination memory is userland address
in another process but we have reference to respective page so map
the page into kernel address space and copy fragments there

290175 by np:
cxgbe/tom: decide whether to shove segments or not only if there is
payload to transmit.

MFC after:      1 week

290174 by delphij:
In pw_userlock, set 'name' to NULL when we encounter an all number string
because it is also used as an indicator of whether a name or an UID is
being used and we may have undefined results as 'name' may contain
uninitialized stack contents.

MFC after:      2 weeks

290173 by delphij:
Use strlcpy().

MFC after:      2 weeks

290171 by gonzo:
Fix framebuffer compatibility with new RPi firmware. Framebuffer driver
receives video memory address from VideoCore through property mailbox
channel. Older versions of firmware (and the one that is currently part
of sysutils/u-boot-rpi and sysutils/u-boot-rpi2) returned real physical
address, newer one returns VideoCore bus address, so we need to convert
it to actual physical address. this version works with both older and
newer interface.

290170 by bdrewery:
Remove unneeded NULL as this is initialized with M_ZERO.

MFC after:      2 weeks
Sponsored by:   EMC / Isilon Storage Division

290169 by bdrewery:
Use memmove(3) to avoid overlapping copy.

Reported by:    valgrind
MFC after:      2 weeks
X-MFC-With:     r290168

290168 by bdrewery:
Fix several memory leaks, and crashes, in iconvlist(3).

- Both curitem and curitem (via the names list) was always leaked.
- malloc(3) failures lead to some leaks.
- __bsd___iconv_get_list() failure lead to a crash since its error was not
  handles and __bsd___iconv_free_list() is not NULL-safe.

I have slightly refactored this to avoid extra malloc and free logic in cases
of malloc(3) failing.

There are still bad assumptions here that I did not deal with.  One of which is
that the data will always have a '/' so the strchr(3) will not return NULL.

Coverity CID:   1130055 1130054 1130053

290167 by gonzo:
Fix LEAVE_HYP macro: spsr is not guaranteed to contain valid value at this
point, e.g. on RaspberryPi 2 when control is passed from loader to kernel
it contains garbage. So we use cpsr as a base for new cpsr value: if we
have reached this point it means current value is OK

Reviewed by:    andrew

290166 by skra:
Install myself as src committer.

Approved by:    kib (mentor)

290165 by gnn:
Set the proper direction to check for policies in this one case.

Pointed out by: eri
Sponsored by:   Rubicon Communications (Netgate)

290164 by jhb:
Use movw instead of movl (or plain mov) when moving segment registers
into memory.  This is a nop on clang's assembler, but some assemblers
complain if the size suffix is incorrect.

Submitted by:   bde

290163 by dteske:
Ignore per-mdN settings in mdconfig[2] startup

PR:             base/189696
Submitted by:
MFC after:      3 days
X-MFC-to:       stable/10 stable/9

290162 by jtl:
Add myself (jtl) and my mentor to the file.

Approved by:    gnn (mentor)
Differential Revision:

290161 by kp:
pf: Fix IPv6 checksums with route-to.

When using route-to (or reply-to) pf sends the packet directly to the output
interface. If that interface doesn't support checksum offloading the checksum
has to be calculated in software.
That was already done in the IPv4 case, but not for the IPv6 case. As a result
we'd emit packets with pseudo-header checksums (i.e. incorrect checksums).

This issue was exposed by the changes in r289316 when pf stopped performing full
checksum calculations for all packets.

Submitted by:   Luoqi Chen
MFC after:      1 week

290160 by mav:
Remove some unneeded code.

290159 by mav:
Remove reset delays for which I see neither explanation nor need.

290158 by cem:
ntb: Revert r290130 now that r290156 has landed

Nagged by:      vangyzen
Sponsored by:   EMC / Isilon Storage Division

290157 by bdrewery:
Check archive_entry_new() result.

Coverity CID:   1331341

290156 by cem:
pmap_change_attr: Only fixup DMAP for DMAPed ranges

pmap_change_attr must change the memory type of both the requested KVA
and the corresponding DMAP mappings (if such mappings exist), to satisfy
an Intel requirement that two or more mappings to the same physical
pages must have the same memory type.

However, not all kernel mapped pages have corresponding DMAP mappings --
for example, 64-bit BARs.  Skip fixing up the DMAP for out-of-bounds

Submitted by:   Steve Wahl <>
Reviewed by:    alc, jhb
Sponsored by:   Dell Compellent
Differential Revision:

290155 by bdrewery:
getnewbuf: Initialize bp to avoid uninitialized pointer dereference and 

This came in recently in r289279.

Coverity CID:   1331561

290154 by bdrewery:
Avoid passing an uninitialized 'i'.  Currently nothing was depending on it

Coverity CID:   1331562

290153 by bdrewery:
Fix unlikely memory leak.

It is unlikely since the first check in the function is that dir[0] is '/',
but later code changes may make it real.

Coverity CID:   1332104

290148 by imp:
PC Card and Cardbus are now in extended maintenance mode. No need to
have them cluttering up MAINTAINERS.

290147 by mav:
Fix and improve error masking and reporting.

290144 by jhb:
Update for LINUX32 rename.  The assembler didn't complain about undefined
symbols but just used 0 after the rename.

290143 by jhb:
Fix build with DEBUG defined.

Reported by:    hselasky

290140 by hselasky:
Add missing NULL check in physio().

When destroying a character device the si_devsw field is set to NULL
before all references are gone, to indicate the character device is
going away. This can cause a NULL-dereference fault inside physio().

The callers of physio() should own a thread reference on the cdev and
if si_devsw is seen as non-NULL, it is usable during the execution of
the function. Else an ENXIO error code is returned.

Reviewed by:    kib
MFC after:      2 weeks

290139 by mav:
Some minor additions to r290138,

290138 by mav:
Some updates to isp(4) manual page.

290136 by hselasky:
Add myself to MAINTAINERS.

290135 by hselasky:
Finish process of moving the LinuxKPI module into the default kernel build.

- Move all files related to the LinuxKPI into sys/compat/linuxkpi and
  its subfolders.
- Update sys/conf/files and some Makefiles to use new file locations.
- Added description of COMPAT_LINUXKPI to sys/conf/NOTES which in turn
  adds the LinuxKPI to all LINT builds.
- The LinuxKPI can be added to the kernel by setting the
  COMPAT_LINUXKPI option. The OFED kernel option no longer builds the
  LinuxKPI into the kernel. This was done to keep the build rules for
  the LinuxKPI in sys/conf/files simple.
- Extend the LinuxKPI module to include support for USB by moving the
  Linux USB compat from usb.ko to linuxkpi.ko.
- Bump the FreeBSD_version.
- A universe kernel build has been done.

Reviewed by:    np @ (cxgb and cxgbe related changes only)
Sponsored by:   Mellanox Technologies

290134 by kevlo:
Remove the static function declaration.

290133 by kevlo:
- Add a missing prototype
- Fix typos

290132 by cem:
ioat_test: Handled forced hardware resets gracefully

Sponsored by:   EMC / Isilon Storage Division

290131 by cem:
ioat: Drain/quiesce the device less racily

On detach and during a forced HW reset.

Sponsored by:   EMC / Isilon Storage Division

290130 by cem:
ntb: Do not attempt to set write-combining on MWs

AMD64 pmap assumes ranges will be in the DMAP, which isn't necessarily
true for NTB memory windows (especially 64-bit BARs).

Suggested by:   pmap_change_attr_locked -> kassert_panic
Sponsored by:   EMC / Isilon Storage Division

290129 by cem:
ioatcontrol(8): Add and document "raw" testing mode

Allows DMA from/to arbitrary KVA or physical address.  /dev/ioat_test
must be enabled by root and is only R/W root, so this is approximately
as dangerous as /dev/mem and /dev/kmem.

Sponsored by:   EMC / Isilon Storage Division

290128 by kevlo:
Add MLINKS for if_otus(4), if_rsu(4) and if_urtwn(4).

290127 by kevlo:
Xref otus(4).

290126 by bdrewery:
Fix regression from using .USEBEFORE in _SUBDIR in r289705.

Using .USEBEFORE had the unintended side-effect of changing the directory for
the real target ran in the current directory.  For example this meant that
the 'make clean' would run in one of the SUBDIR.

Sponsored by:   EMC / Isilon Storage Division
Pointyhat to:   bdrewery

290123 by adrian:
Oops - use the wrong array offset.

290122 by hiren:
Calculate the correct amount of bytes that are in-flight for a connection as
suggested by RFC 6675.

Currently differnt places in the stack tries to guess this in suboptimal ways.
The main problem is that current calculations don't take sacked bytes into
account. Sacked bytes are the bytes receiver acked via SACK option. This is
suboptimal because it assumes that network has more outstanding (unacked) bytes
than the actual value and thus sends less data by setting congestion window
lower than what's possible which in turn may cause slower recovery from losses.

As an example, one of the current calculations looks something like this:
snd_nxt - snd_fack + sackhint.sack_bytes_rexmit
New proposal from RFC 6675 is:
snd_max - snd_una - sackhint.sacked_bytes + sackhint.sack_bytes_rexmit
which takes sacked bytes into account which is a new addition to the sackhint
struct. Only thing we are missing from RFC 6675 is isLost() i.e. segment being
considered lost and thus adjusting pipe based on that which makes this
calculation a bit on conservative side.

The approach is very simple. We already process each ack with sack info in
tcp_sack_doack() and extract sack blocks/holes out of it. We'd now also track
this new variable sacked_bytes which keeps track of total sacked bytes reported.

One downside to this approach is that we may get incorrect count of sacked_bytes
if the other end decides to drop sack info in the ack because of memory pressure
or some other reasons. But in this (not very likely) case also the pipe
calculation would be conservative which is okay as opposed to being aggressive
in sending packets into the network.

Next step is to use this more accurate pipe estimation to drive congestion
window adjustments.

In collaboration with:  rrs
Reviewed by:            jason_eggnet dot com, rrs
MFC after:              2 weeks
Sponsored by:           Limelight Networks
Differential Revision:

290121 by jkim:
Define endianness for non-x86 platforms.

MFC after:      3 days

290120 by jah:
Retire pmap_dmap_iscurrent().  It is only a wrapper around pmap_is_current(), 
and is no longer called.

290119 by imp:
BUS_ADD_CHILD calls device_add_child. device_add_child does not call
BUS_ADD_CHILD. Make it explicit since it follows the command paradigm
rather than the callback paradigm. Add other clarifying notes as well.

290118 by mav:
Change the way how target mode is enabled on 23xx chips.

Without docs I am not completely sure about this, but on my tests new
method works better then previous, at least with our latest firmware.

290117 by imp:
Add a note to the effect that BUS_ADD_CHILD calls
device_add_child_ordered to add the child. device_add_child_ordered
doesn't call BUS_ADD_CHILD.

290116 by ae:
Check the size of data available in mbuf, before using them.

PR:             202667
MFC after:      1 week

290115 by bdrewery:
Include libutil's headers directly from src to avoid recording a dirdeps
dependency for META MODE.

290113 by bdrewery:
Connect mpsutil for META MODE.

290112 by vangyzen:
Fix spelling and grammer in tools/test/README.

Reviewed by:    gnn

290110 by ache:
Add _flags2 per jhb@ suggestion since no room left in _flags.
Rewrite O_APPEND flag checking using new __S2OAP flag.

MFC after:      3 weeks

290106 by andrew:
Remove the s3c2xx0 code, it's no longer used. As far as I know I as the
main user of this code, however I haven't used it in over two years, and
don't expect to in the future.

290105 by andrew:
Start to remove support for the XScale i80321. As far as I can tell nobody
uses this which makes it difficult to support.

290104 by mav:
Improve/fix loop scanning routine.

For the most of chips (except anscient ones) port handlers have no relation
to port IDs.  In such situation old code scanning first 125 handlers was
quite naive.  Instead of doing that, send to chip single request to get full
list of port handlers available on specific virtual port and scan only them.

Old code had problems with case of several virtual ports enabled, when port
handlers allocated from global address space could easily go above 125.
This change was successfully tested on 23xx, 24xx and 25xx chips in loop
mode with 4 virtual initiator ports, each seing 50 virtual target ports.

290103 by bapt:
Connect mpsutil(8) to the build

Sponsored by:

290102 by bapt:
Merge mpsutil(8) branch

mpsutil(8)/mprutil(8) are new utilities for managing LSI Fusion-MPT
2/3 controllers (mps(4) and mpr(4))

For now only informational commands have been implemented.

This utility has been written by scottl@ [1] and polished by myself[2]

Submitted by:   scottl
Discussed with: scottl
Relnotes:       yes
Sponsored by:   Netflix [1]
Sponsored by: [2]

290101 by hselasky:
Build fix for i386/XBOX and pc98/GENERIC.

Reviewed by:    kib

290090 by adrian:
Add some debugging code (under ARGE_DEBUG) that counts each interrupt source.

This should make it easier to track down interrupt storms from arge.


* AP135 (QCA955x) SoC - defaults to ARGE_DEBUG enabled
* Carambola2 (AR9331 SoC) - defaults to ARGE_DEBUG disabled

290089 by gnn:
Add a test for the listen queue using two test programs,
listen, and connect.  The listen program is a simple server that
accepts and closes sockets, until a fixed limit, then sets the listen
queue to 0 and counts how many remaining connections it processes.

The connect program repeatedly opens connections and closes them
serving as the driver for the listen program.

Sponsored by:   Limelight Networks

290088 by gnn:
Update the README to describe all the current tests in this directory.

290087 by cem:
ioat: Define DMACAPABILITY bits

Check for BFILL capability before initiating blockfill operations.

Sponsored by:   EMC / Isilon Storage Division

290086 by bdrewery:
Use proper CONFDIR after r289148

290085 by andrew:
Start to remove support for the Samsung s3c24x0 SoCs by removing the kernel
config, and support from NOTES.

290084 by bdrewery:
Remove unneeded NAME override.

MFC after:      2 weeks
Sponsored by:   EMC / Isilon Storage Division

290083 by bdrewery:
Use more appropriate ${SHAREDIR} rather than /usr/share.

MFC after:      2 weeks
Sponsored by:   EMC / Isilon Storage Division

290082 by adrian:
mips: use the correct va for wbinv flushing.

arge doesn't trigger this, but ath(4) does.


* AR9331 SoC (Carambola2); ath(4) hostap

Submitted by:   ian

290081 by mckusick:
Bring the tags and links entries for amd64 up to date.
Based on how out of date it is, I doubt that anyone
other than me and my code-reading students still use it.

290079 by andrew:
Mark functions as such. This means we call them directly rather than have
the dynamic linker copy them, but not relocate them at the new location.
This allows us to run sqlite3 without it crashing.

Sponsored by:   ABT Systems Ltd

290075 by melifaro:
Use m_cat() to reassembly IPv6 packets.

Submitted by:
MFC after:      2 weeks
Differential Revision:

290073 by delphij:
Update NetBSD RCS IDs to reflect the changes being upstreamed.

MFC after:      13 days
X-MFC-With:     r290024

290072 by melifaro:
Eliminate last rtalloc_ign() caller.

Differential Revision:

290071 by bapt:
Update libucl to latest git snapshot (20151027)

290070 by dumbbell:
drm/i915: Reduce diff with Linux 3.8

There is no functional change. The goal is to ease the future update to
Linux 3.8's i915 driver.

MFC after:      2 months

290065 by jilles:
libedit: Use correct buffer lengths in vi mode v command.

Libedit's vi mode provides a v command to edit the current line in vi(1)
(hard-coded to vi, in fact).

When Unicode/wide character mode was added, this command started truncating
and/or corrupting the edited text.

This commit fixes v if the text fits into the buffer. If the text is longer,
it is truncated.

PR:             203743
Obtained from:  NetBSD (originally submitted by me)

290059 by emaste:

290058 by avos:
net80211: add ieee80211_restart_all() call.

This call may be used when device cannot continue to operate normally
(e.g., throws firmware error, watchdog timer expires)
and need to be restarted.

Approved by:    adrian (mentor)
Differential Revision:

290055 by dumbbell:
drm/i915: Reduce diff with Linux 3.8

There is no functional change. The goal is to ease the future update to
Linux 3.8's i915 driver.

MFC after:      2 months

_______________________________________________ mailing list
To unsubscribe, send any mail to ""

Reply via email to