]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
7 years agoAdd parentheses missed in r320388
andrew [Tue, 27 Jun 2017 16:30:01 +0000 (16:30 +0000)]
Add parentheses missed in r320388

Sponsored by: DARPA, AFRL

7 years agoRevert part of r320359, as suggested by rmacklem@. That case is only used
trasz [Tue, 27 Jun 2017 15:14:06 +0000 (15:14 +0000)]
Revert part of r320359, as suggested by rmacklem@.  That case is only used
for nfsuserd -manage-gids and shouldn't depend on sysctl.

MFC after: 2 weeks
Sponsored by: DARPA, AFRL

7 years agoext2fs: Support e2di_uid_high and e2di_gid_high.
pfg [Tue, 27 Jun 2017 15:07:19 +0000 (15:07 +0000)]
ext2fs: Support e2di_uid_high and e2di_gid_high.

The fields exist on all versions of the filesystem and using them is a mount
option on linux. For FreeBSD, the corresponding i_uid and i_gid are always
long enough so use them by default.

Reviewed by: Fedor Uporov
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D11354

7 years agoRemove CHROOT_MAKEENV from the RPI3 configuration file, to avoid
gjb [Tue, 27 Jun 2017 14:39:00 +0000 (14:39 +0000)]
Remove CHROOT_MAKEENV from the RPI3 configuration file, to avoid
assuming the build host is amd64.

MFC after: 3 days
X-MFC-With: r320252, r320253, r320254
X-MFC-Note: maybe
Sponsored by: The FreeBSD Foundation

7 years agoA little tweak for performance
jwd [Tue, 27 Jun 2017 13:24:06 +0000 (13:24 +0000)]
A little tweak for performance

Reviewed by: adrian
Approved by: rmacklem (mentor)
MFC after: 3 weeks

7 years agoSome of the atomic_clear_* functions were incorrectly defined to be an
andrew [Tue, 27 Jun 2017 10:45:13 +0000 (10:45 +0000)]
Some of the atomic_clear_* functions were incorrectly defined to be an
atomic add. Correct these, fixing a NULL-pointer dereference in netgraph.

PR: 220273
MFC after: 3 days
Sponsored by: DARPA, AFRL

7 years agoAdd initial documentation for procstat_freeptlwpinfo and procstat_getptlwpinfo
ngie [Tue, 27 Jun 2017 08:49:47 +0000 (08:49 +0000)]
Add initial documentation for procstat_freeptlwpinfo and procstat_getptlwpinfo

MFC after: 1 month
MFC with: r316286

7 years agoprocstat_getptlwpinfo(..): clarify the fact that KVM/SYSCTL support
ngie [Tue, 27 Jun 2017 08:18:08 +0000 (08:18 +0000)]
procstat_getptlwpinfo(..): clarify the fact that KVM/SYSCTL support
isn't supported

This will make the error message reported in bug 220023 a bit more
intuitive for end-users that don't have access to the source code to
decode the procstat->type argument.

MFC after: 1 month
MFC with: r316286
PR: 220023

7 years agoReplace AF_INET6 ifdefs with USE_INET6 to be consistent with the rest
cy [Tue, 27 Jun 2017 04:54:58 +0000 (04:54 +0000)]
Replace AF_INET6 ifdefs with USE_INET6 to be consistent with the rest
of the ipfilter souce tree.

7 years agoioctl METEORGBRIG in bktr_core.c forgets to add 128 to value
jpaetzel [Tue, 27 Jun 2017 03:57:31 +0000 (03:57 +0000)]
ioctl METEORGBRIG in bktr_core.c forgets to add 128 to value

PR: 59289
Submitted by: Danovitsch@Vitsch.net

7 years agodriver incorrectly handles the setting of frame rates
jpaetzel [Tue, 27 Jun 2017 03:45:09 +0000 (03:45 +0000)]
driver incorrectly handles the setting of frame rates

PR: 36415
Submitted by: brandt@fokus.gmd.de

7 years agoDisable interrupts when updating the TLB
jhibbits [Tue, 27 Jun 2017 01:57:22 +0000 (01:57 +0000)]
Disable interrupts when updating the TLB

Without disabling interrupts it's possible for another thread to preempt
and update the registers post-read (tlb1_read_entry) or pre-write
(tlb1_write_entry), and confuse the kernel with mixed register states.

MFC after: 2 weeks

7 years agoUpdate comments and simplify conditionals for compat32
jhibbits [Tue, 27 Jun 2017 01:29:10 +0000 (01:29 +0000)]
Update comments and simplify conditionals for compat32

Only amd64 (because of i386) needs 32-bit time_t compat now, everything else is
64-bit time_t.  Rather than checking on all 64-bit time_t archs, only check the
oddball amd64/i386.

Reviewed By: emaste, kib, andrew
Differential Revision: https://reviews.freebsd.org/D11364

7 years agoWith r318394 seems it breaks gpart(8) in some embedded systems such like PCEngines,
araujo [Tue, 27 Jun 2017 01:22:27 +0000 (01:22 +0000)]
With r318394 seems it breaks gpart(8) in some embedded systems such like PCEngines,
RPI1-B, Alix and APU2 boards as well as NanoBSD with the following message:

vnode_pager_generic_getpages_done: I/O read error 5

Seems the breakage was because it was missed to include acr in glabel update.

Reported by: Peter Blok <pblok@bsd4all.org>,
madpilot, imp and trasz.
Reviewed by: trasz
Tested by: Peter Blok and madpilot.
MFC after: 3 days.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D11365

7 years agoSort the compat11.* syscalls I added. Remove duplicate compat11.stat.
imp [Mon, 26 Jun 2017 22:48:04 +0000 (22:48 +0000)]
Sort the compat11.* syscalls I added. Remove duplicate compat11.stat.

Submitted by: jhb@

7 years agoIn _bswap16 and _bswap32 cast constant values to the appropriate type. This is
andrew [Mon, 26 Jun 2017 22:32:52 +0000 (22:32 +0000)]
In _bswap16 and _bswap32 cast constant values to the appropriate type. This is
similar to what is done in the x86 code.

Sponsored by: DARPA, AFRL

7 years ago[arm] Use correct index value when checking range validity
gonzo [Mon, 26 Jun 2017 21:45:33 +0000 (21:45 +0000)]
[arm] Use correct index value when checking range validity

Reviewed by: andrew
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D9145

7 years agoSort SRCS.
markj [Mon, 26 Jun 2017 21:14:33 +0000 (21:14 +0000)]
Sort SRCS.

MFC after: 1 week

7 years agoRevert r319603, r319608, and r319609. Creating a hard link to the
gjb [Mon, 26 Jun 2017 20:17:48 +0000 (20:17 +0000)]
Revert r319603, r319608, and r319609.  Creating a hard link to the
dtb file for the cubieboard2 is no longer needed in 12-CURRENT.

Sponsored by: The FreeBSD Foundation

7 years agoFix a memory leak in ses_get_elm_devnames().
markj [Mon, 26 Jun 2017 19:41:14 +0000 (19:41 +0000)]
Fix a memory leak in ses_get_elm_devnames().

After r307132 the sbuf buffer is malloc()ed, but corresponding
sbuf_delete() call was missing.

Fix a nearby whitespace bug.

MFC after: 3 days
Sponsored by: Dell EMC Isilon

7 years agoAdd IPSEC support to mips ERL kernel config file
lidl [Mon, 26 Jun 2017 18:28:00 +0000 (18:28 +0000)]
Add IPSEC support to mips ERL kernel config file

7 years agoAdd "Terminus BSD Console" size 32
emaste [Mon, 26 Jun 2017 18:11:48 +0000 (18:11 +0000)]
Add "Terminus BSD Console" size 32

Dimitar Toshkov, Terminus' creator, has made size 32 available under the
2-clause BSD license for use by *BSD consoles.

7 years agoImplement parts of the hrtimer API in the LinuxKPI.
markj [Mon, 26 Jun 2017 16:28:46 +0000 (16:28 +0000)]
Implement parts of the hrtimer API in the LinuxKPI.

Reviewed by: hselasky
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D11359

7 years agoImprove terminology in a comment.
trasz [Mon, 26 Jun 2017 16:08:28 +0000 (16:08 +0000)]
Improve terminology in a comment.

Suggested by: ian
MFC after: 2 weeks

7 years agoProvide visual feedback when timezone files are installed.
trasz [Mon, 26 Jun 2017 15:40:24 +0000 (15:40 +0000)]
Provide visual feedback when timezone files are installed.
After r320003 it wasn't being shown in any way.

Submitted by: bdrewery
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D11154

7 years agoMake resizewin(1) do flushing by using TCSAFLUSH instead of TCSANOW
trasz [Mon, 26 Jun 2017 13:14:41 +0000 (13:14 +0000)]
Make resizewin(1) do flushing by using TCSAFLUSH instead of TCSANOW
followed by tcflush(3).  This works just as well and is more elegant.

Suggested by: bde
MFC after: 2 weeks
Sponsored by: DARPA, AFRL

7 years agoAdd vfs.nfsd.nfsd_enable_uidtostring, which works just like
trasz [Mon, 26 Jun 2017 13:11:21 +0000 (13:11 +0000)]
Add vfs.nfsd.nfsd_enable_uidtostring, which works just like
vfs.nfsd.nfsd_enable_stringtouid, but in reverse - when set to 1,
it forces the NFSv4 server to return numeric UIDs and GIDs instead
of "user@domain" strings. This helps with clients that can't
translate returned identifiers, eg when rerooting.

The same can be achieved by just never running nfsuserd(8),
but the sysctl is useful to toggle the behaviour back and forth
without rebooting.

Reviewed by: rmacklem (earlier version)
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D11326

7 years agolinux_getdents, linux_readdir: fix mismatch between malloc and free tags
avg [Mon, 26 Jun 2017 09:13:25 +0000 (09:13 +0000)]
linux_getdents, linux_readdir: fix mismatch between malloc and free tags

MFC after: 3 days

7 years agozfs: port vdev_file part of illumos change 3306
avg [Mon, 26 Jun 2017 09:10:09 +0000 (09:10 +0000)]
zfs: port vdev_file part of illumos change 3306

3306 zdb should be able to issue reads in parallel
illumos/illumos-gate/31d7e8fa33fae995f558673adb22641b5aa8b6e1
https://www.illumos.org/issues/3306

The upstream change was made before we started to import upstream commits
individually.  It was imported into the illumos vendor area as r242733.
That commit was MFV-ed in r260138, but as the commit message says
vdev_file.c was left intact.

This commit actually implements the parallel I/O for vdev_file using a
taskqueue with multiple thread.  This implementation does not depend on
the illumos or FreeBSD bio interface at all, but uses zio_t to pass
around all the relevent data.  So, the code looks a bit different from
the upstream.

This commit also incorporates ZoL commit
zfsonlinux/zfs/bc25c9325b0e5ced897b9820dad239539d561ec9 that fixed
https://github.com/zfsonlinux/zfs/issues/2270
We need to use a dedicated taskqueue for exactly the same reason as ZoL
as we do not implement TASKQ_DYNAMIC.

Obtained from: illumos, ZFS on Linux
MFC after: 2 weeks

7 years agoSolve the y2038 problem for powerpc
jhibbits [Mon, 26 Jun 2017 02:25:19 +0000 (02:25 +0000)]
Solve the y2038 problem for powerpc

AKA Make time_t 64 bits on powerpc(32).

PowerPC currently (until now) was one of two architectures with a 32-bit time_t
on 32-bit archs (the other being i386).  This is an ABI breakage, so all ports,
and all local binaries, *must* be recompiled.

Tested by: andreast, others
MFC after: Never
Relnotes: Yes

7 years agoAdd support to the NFSv4.1/pNFS client for commits through the DS.
rmacklem [Mon, 26 Jun 2017 00:43:04 +0000 (00:43 +0000)]
Add support to the NFSv4.1/pNFS client for commits through the DS.

A NFSv4.1/pNFS server using File Layout can specify that Commit operations
are to be done against the DS instead of MDS. Since no extant pNFS
server did this, the code was untested and "#ifdef notyet".
The FreeBSD pNFS server I am developing does specify that Commits be done
through the DS, so the code has been enabled/tested.
This patch should only affect the case of a pNFS server that specfies
Commits through the DS.

PR: 219551
MFC after: 2 weeks

7 years agoFor now, allow mprotect(2) over the guards to succeed regardless of
kib [Sun, 25 Jun 2017 23:16:37 +0000 (23:16 +0000)]
For now, allow mprotect(2) over the guards to succeed regardless of
the requested protection.

The syscall returns success without changing the protection of the
guard.  This is consistent with the current mprotect(2) behaviour on
the unmapped ranges.  More important, the calls performed by libc and
libthr to allow execution of stacks, if requested by the loaded ELF
objects, do the expected change instead of failing on the grow space
guard.

Reviewed by: alc, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoUpdate to ELF Tool Chain snapshot at r3561
emaste [Sun, 25 Jun 2017 22:39:28 +0000 (22:39 +0000)]
Update to ELF Tool Chain snapshot at r3561

This update is primarily bug fixes in C++ symbol demangling, including:

- rvalue reference
- builtin type auto and decltype(auto)
- revamped support for function return types
- formatting fixes
- omit void when its the only param
- ref-qualifiers and others in function types
- type qualifiers in pointer-to-member function types
- incorrect handling regarding CV-qualifiers in function types
- ref-qualifier found in nested-name
- properly handle <name> ::= <substitute><template-args>
- make sure that nested function name is not a substitute candidate
- correctly handle expression in template args
- skip unknown substitution abbreviations

MFC after: 4 days

7 years agosh: Ignore error when cd writes the directory actually switched to.
jilles [Sun, 25 Jun 2017 21:53:08 +0000 (21:53 +0000)]
sh: Ignore error when cd writes the directory actually switched to.

If CDPATH is used non-trivially or the operand is "-", cd writes the
directory actually switched to. (We currently do this only in interactive
shells, but POSIX requires this in non-interactive shells as well.)

As mentioned in Austin group bug #1045, cd shall not return an error while
leaving the current directory changed. Therefore, ignore any write error.

7 years agoCorrectly handle small MAP_STACK requests.
kib [Sun, 25 Jun 2017 20:06:05 +0000 (20:06 +0000)]
Correctly handle small MAP_STACK requests.

If mmap(2) is called with the MAP_STACK flag and the size which is
less or equal to the initial stack mapping size plus guard,
calculation of the mapping layout created zero-sized guard.  Attempt
to create such entry failed in vm_map_insert(), causing the whole
mmap(2) call to fail.

Fix it by adjusting the initial mapping size to have space for
non-empty guard.  Reject MAP_STACK requests which are shorter or equal
to the configured guard pages size.

Reported and tested by: Manfred Antar <null@pozo.com>
Reviewed by: alc, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoRemove stale part of the comment.
kib [Sun, 25 Jun 2017 19:59:39 +0000 (19:59 +0000)]
Remove stale part of the comment.

Reviewed by: alc, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoAdd u64_to_user_ptr() to the LinuxKPI.
markj [Sun, 25 Jun 2017 19:30:20 +0000 (19:30 +0000)]
Add u64_to_user_ptr() to the LinuxKPI.

MFC after: 1 week

7 years agoAdd ns_to_ktime() to the LinuxKPI.
markj [Sun, 25 Jun 2017 19:28:01 +0000 (19:28 +0000)]
Add ns_to_ktime() to the LinuxKPI.

MFC after: 1 week

7 years agoAdd a couple of macros to lockdep.h in the LinuxKPI.
markj [Sun, 25 Jun 2017 19:23:14 +0000 (19:23 +0000)]
Add a couple of macros to lockdep.h in the LinuxKPI.

MFC after: 1 week

7 years agoAdd the thaw_early method to struct dev_pm_ops in the LinuxKPI.
markj [Sun, 25 Jun 2017 19:21:59 +0000 (19:21 +0000)]
Add the thaw_early method to struct dev_pm_ops in the LinuxKPI.

MFC after: 1 week

7 years agoAdd noop_lseek() to the LinuxKPI.
markj [Sun, 25 Jun 2017 19:20:12 +0000 (19:20 +0000)]
Add noop_lseek() to the LinuxKPI.

MFC after: 1 week

7 years agoStyle.
kib [Sun, 25 Jun 2017 18:40:59 +0000 (18:40 +0000)]
Style.

Reviewed by: alc, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoPFS_DELEN is the sum of the permanent part of the struct dirent and
dchagin [Sun, 25 Jun 2017 15:21:51 +0000 (15:21 +0000)]
PFS_DELEN is the sum of the permanent part of the struct dirent and
fixed size for the name buffer PFS_NAMELEN.
As r318736 was commited (ino64 project) the size of the permanent part
of the struct dirent was changed, so calulate PFS_DELEN properly.

7 years agoStop calling cpu_dcache_wb_range from PTE_SYNC.
andrew [Sun, 25 Jun 2017 13:22:49 +0000 (13:22 +0000)]
Stop calling cpu_dcache_wb_range from PTE_SYNC.

We set the shareability attributes in TCR_EL1 on boot. These tell the
hardware the pagetables are in cached memory so there is no need to flush
the entries from the cache to memory.

This has about 4.2% improvement in system time and 2.7% improvement in
user time for a buildkernel -j48 on a ThunderX.

Keep the old code for now to allow for further comparisons.

7 years agoRemove ALLWINNER kernel config file, all release image for SMP Allwinner
manu [Sun, 25 Jun 2017 11:31:39 +0000 (11:31 +0000)]
Remove ALLWINNER kernel config file, all release image for SMP Allwinner
board uses GENERIC and it's not updated for newer SoC.

7 years agoProvide sbsetopt() that handles socket buffer related socket options.
glebius [Sun, 25 Jun 2017 01:41:07 +0000 (01:41 +0000)]
Provide sbsetopt() that handles socket buffer related socket options.
It distinguishes between data flow sockets and listening sockets, and
in case of the latter doesn't change resource limits, since listening
sockets don't hold any buffers, they only carry values to be inherited
by their children.

7 years agoAdd RPC count reporting for the two new RPCs added by r320322.
rmacklem [Sat, 24 Jun 2017 20:09:23 +0000 (20:09 +0000)]
Add RPC count reporting for the two new RPCs added by r320322.

This is a content change.

PR: 219550
MFC after: 2 weeks

7 years agoAdd two new compound RPCs to the NFSv4.1/pNFS client.
rmacklem [Sat, 24 Jun 2017 20:01:21 +0000 (20:01 +0000)]
Add two new compound RPCs to the NFSv4.1/pNFS client.

When the NFSv4.1 client is doing pNFS, it needs to get an Open and
a Layout for every file it will be doing I/O on. The current code
does two separate RPCs to get these. This patch adds two new compounds
that do the both the Open and LayoutGet in the same RPC, reducing the
RPC count.
It also factors out the code that sets up and parses the LayoutGet operation
into separate functions, so that the code doesn't get duplicated for
these new RPCs.
This patch is fairly large, but should only affect the NFSv4.1 client
when the "pnfs" option is specified.

PR: 219550
MFC after: 2 weeks

7 years agoClean up stale dependencies after r320278
emaste [Sat, 24 Jun 2017 18:37:51 +0000 (18:37 +0000)]
Clean up stale dependencies after r320278

Our current approach to dependency tracking cannot cope with switching
generated asm syscall stubs into C wrappers. Perpetuate the hack in
Makefile.inc1 to paper over the problem until we can take a holistic
approach to fixing dependency problems.

Differential Revision: https://reviews.freebsd.org/D11344

7 years agoIncrease the pageout cluster size to 32 pages.
alc [Sat, 24 Jun 2017 17:10:33 +0000 (17:10 +0000)]
Increase the pageout cluster size to 32 pages.

Decouple the pageout cluster size from the size of the hash table entry
used by the swap pager for mapping (object, pindex) to a block on the
swap device(s), and keep the size of a hash table entry at its current
size.

Eliminate a pointless macro.

Reviewed by: kib, markj (an earlier version)
MFC after: 4 weeks
Differential Revision: https://reviews.freebsd.org/D11305

7 years agoUse address space guard to implement inter-segment gap.
kib [Sat, 24 Jun 2017 17:04:27 +0000 (17:04 +0000)]
Use address space guard to implement inter-segment gap.

Rtld checks and use old MAP_ANON/PROT_NONE method of creating gap if
running on old kernel.

Reviewed by: alc, markj
Tested by: pho, Qualys
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoImplement address space guards.
kib [Sat, 24 Jun 2017 17:01:11 +0000 (17:01 +0000)]
Implement address space guards.

Guard, requested by the MAP_GUARD mmap(2) flag, prevents the reuse of
the allocated address space, but does not allow instantiation of the
pages in the range.  It is useful for more explicit support for usual
two-stage reserve then commit allocators, since it prevents accidental
instantiation of the mapping, e.g. by mprotect(2).

Use guards to reimplement stack grow code.  Explicitely track stack
grow area with the guard, including the stack guard page.  On stack
grow, trivial shift of the guard map entry and stack map entry limits
makes the stack expansion.  Move the code to detect stack grow and
call vm_map_growstack(), from vm_fault() into vm_map_lookup().

As result, it is impossible to get random mapping to occur in the
stack grow area, or to overlap the stack guard page.

Enable stack guard page by default.

Reviewed by: alc, markj
Man page update reviewed by: alc, bjk, emaste, markj, pho
Tested by: pho, Qualys
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D11306 (man pages)

7 years agoDo not try to unmark MAP_ENTRY_IN_TRANSITION marked by other thread.
kib [Sat, 24 Jun 2017 16:47:41 +0000 (16:47 +0000)]
Do not try to unmark MAP_ENTRY_IN_TRANSITION marked by other thread.

The issue is catched by "vm_map_wire: alien wire" KASSERT at the end
of the vm_map_wire().  We currently check for MAP_ENTRY_WIRE_SKIPPED
flag before ensuring that the wiring_thread is curthread. For HOLESOK
wiring, this means that we might see WIRE_SKIPPED entry from different
wiring.

The fix it by only checking WIRE_SKIPPED if the entry is put
IN_TRANSITION by us.  Also fixed a typo in the comment explaining the
situation.

Reported and tested by: pho
Reviewed by: alc
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoAllwinner: Add support for H2 Plus SoC
manu [Sat, 24 Jun 2017 16:41:26 +0000 (16:41 +0000)]
Allwinner: Add support for H2 Plus SoC

H2+ SoC is a stripped down version of H3 without gigabit ethernet and 4K HDMI.
Also add sun8i-h2-plus-orangepi-zero.dts to the build as we run on this board.

7 years agoRemove the description of MAP_HASSEMAPHORE.
kib [Sat, 24 Jun 2017 16:36:30 +0000 (16:36 +0000)]
Remove the description of MAP_HASSEMAPHORE.

The flag is not implemented, all FreeBSD architectures correctly
handle locks on normal cacheable mappings.  On the other hand, the
flag was specified by some software, so it is kept in the header as
nop.  Removal from the man page should discourage its use.

Reviewed by: alc, bjk, emaste, markj, pho
MFC after: 3 days
X-Differential revision: https://reviews.freebsd.org/D11306

7 years agoFix typo.
kib [Sat, 24 Jun 2017 16:21:34 +0000 (16:21 +0000)]
Fix typo.

Noted by: alc
MFC after: 3 days

7 years agoDocument that the dependencies aren't quite right for non-clean build.
imp [Sat, 24 Jun 2017 14:32:57 +0000 (14:32 +0000)]
Document that the dependencies aren't quite right for non-clean build.

7 years agoTranslate between abridged and full x87 tags for compat32
kib [Sat, 24 Jun 2017 11:38:31 +0000 (11:38 +0000)]
Translate between abridged and full x87 tags for compat32
ptrace(PT_GETFPREGS).

Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoFix indent.
kib [Sat, 24 Jun 2017 10:19:06 +0000 (10:19 +0000)]
Fix indent.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days

7 years agoloader.efi: Disable smbios for arm
manu [Sat, 24 Jun 2017 09:33:25 +0000 (09:33 +0000)]
loader.efi: Disable smbios for arm

The smbios code does a lot of unaligned access, since we don't really
care about smbios info on ARM (not all board expose information and those
who does don't expose useful ones) disable smbios for this arch (at least
for now).

7 years agoBe sure to free allocated statfs11 buffer.
imp [Sat, 24 Jun 2017 00:28:35 +0000 (00:28 +0000)]
Be sure to free allocated statfs11 buffer.

Submitted by: Alistair Crooks

7 years agoDoh, fix some botched "fix" in r320277.
sobomax [Fri, 23 Jun 2017 23:11:05 +0000 (23:11 +0000)]
Doh, fix some botched "fix" in r320277.

Reported by: cem
MFC after: 6 weeks

7 years agoHandle sctp_get_next_param() in a consistent way.
tuexen [Fri, 23 Jun 2017 21:01:57 +0000 (21:01 +0000)]
Handle sctp_get_next_param() in a consistent way.

This addresses an issue found by Felix Weinrank using libfuzz.
While there, use also consistent nameing.

MFC after: 3 days

7 years agodtc: Update to upstream 9ce35ff8
manu [Fri, 23 Jun 2017 20:21:53 +0000 (20:21 +0000)]
dtc: Update to upstream 9ce35ff8

 - Add "compatible with gpl dtc X.Y.Z" to version output so U-Boot doesn't complain
 - Fix cross reference node

This fixes some Allwinner DTS (and probably others).

7 years agoNO_ROOT: Remove excessive // when DESTDIR/DISTDIR are empty.
bdrewery [Fri, 23 Jun 2017 19:03:31 +0000 (19:03 +0000)]
NO_ROOT: Remove excessive // when DESTDIR/DISTDIR are empty.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agomakefs: add copies of NetBSD makefs msdos source files
emaste [Fri, 23 Jun 2017 18:58:28 +0000 (18:58 +0000)]
makefs: add copies of NetBSD makefs msdos source files

We do not treat makefs as contrib code.  Import copies of makefs msdos
files from NetBSD so that we can track our changes to these files.

These are copied from NetBSD, with only a change to use __FBSDID and
$FreeBSD$ instead of __KERNEL_RCSID and $NetBSD$.  A copy of the
original $NetBSD$ tag remains in each source file.

These two files were missed in r320212.  Also remove a stray blank line
added in msdosfs_vfsops.c.

Submitted by: Siva Mahadevan
Sponsored by: The FreeBSD Foundation

7 years agoInclude WORLD_FLAGS in CHROOT_IMAKEFLAGS and CHROOT_DMAKEFLAGS, to
gjb [Fri, 23 Jun 2017 18:42:47 +0000 (18:42 +0000)]
Include WORLD_FLAGS in CHROOT_IMAKEFLAGS and CHROOT_DMAKEFLAGS, to
allow passing '-jN' to the installworld and distributeworld targets.

Submitted by: bdrewery
Sponsored by: The FreeBSD Foundation

7 years agoAllow Clang's integrated assembler to assemble boot0
emaste [Fri, 23 Jun 2017 18:41:49 +0000 (18:41 +0000)]
Allow Clang's integrated assembler to assemble boot0

dim@ compared clang IAS-built and GNU as-built boot0 and found them
equivalent.  IAS encoded one instruction using two bytes where GNU as
used three, and another instruction using three bytes where GNU as used
two.  The net result is equivalent and tested, so there is no need to
force IAS off for boot0.

7 years agoRemove redundant wording, minor edits for clarity.
wblock [Fri, 23 Jun 2017 18:38:27 +0000 (18:38 +0000)]
Remove redundant wording, minor edits for clarity.

MFC after: 1 week
Sponsored by: iXsystems

7 years agocompiler-metadata: Properly handle cross-build OBJDIR.
bdrewery [Fri, 23 Jun 2017 18:27:03 +0000 (18:27 +0000)]
compiler-metadata: Properly handle cross-build OBJDIR.

MFC after: 3 days
Sponsored by: Dell EMC Isilon

7 years agoExpose only the create-packages-* targets since they set needed DEST/DIRDIR.
bdrewery [Fri, 23 Jun 2017 18:27:00 +0000 (18:27 +0000)]
Expose only the create-packages-* targets since they set needed DEST/DIRDIR.

The other targets just fail confusingly otherwise.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agopackages: Parallelize individual kernel packaging.
bdrewery [Fri, 23 Jun 2017 18:26:57 +0000 (18:26 +0000)]
packages: Parallelize individual kernel packaging.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agopackages: Allow actually building individual world packages in parallel.
bdrewery [Fri, 23 Jun 2017 18:26:54 +0000 (18:26 +0000)]
packages: Allow actually building individual world packages in parallel.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agopackages: Allow creating kernel/world packages in parallel.
bdrewery [Fri, 23 Jun 2017 18:26:51 +0000 (18:26 +0000)]
packages: Allow creating kernel/world packages in parallel.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agopackages: Allow staging world/kernel in parallel.
bdrewery [Fri, 23 Jun 2017 18:26:47 +0000 (18:26 +0000)]
packages: Allow staging world/kernel in parallel.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agopackages: Allow stageworld/stagekernel to run with make jobs.
bdrewery [Fri, 23 Jun 2017 18:26:33 +0000 (18:26 +0000)]
packages: Allow stageworld/stagekernel to run with make jobs.

The -B was originally added in projects/release-pkg r289381 as a copy
of what 'make world' did at the time.  The -B was removed from
the 'installworld' call in 'world' in r303844 though.  The staging
of files is safe to run in parallel.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agoDecode FreeBSD 11 compat stat, fstat and lstat calls.
imp [Fri, 23 Jun 2017 18:06:46 +0000 (18:06 +0000)]
Decode FreeBSD 11 compat stat, fstat and lstat calls.

7 years agoForward compatibility for ino64.
imp [Fri, 23 Jun 2017 18:06:20 +0000 (18:06 +0000)]
Forward compatibility for ino64.

Add forward compatibility so that new binaries can run on old
kernels. If the new system call from ino64 isn't available on your
system, then the old one will be used and the results translated.  The
stat and statfs families of functions are fully emulated. While not
required by policy, in this case it is helpful to our users to provide
this compatibility. In this case, it allows rollback of the kernel
after installing a new userland should a problem be discovered. It
also prevents foot-shooting if a user does an install before rebooting
with the new kernel. Finally, it allows the use case where one needs
to run new binaries on an old kernel as part of an upgrade process.

The getdirentries family uses tricks that may not work on remote
filesystems. Specifically, it uses a buffer 1/4 the size requested to
get the data from he old syscall.

The code carefully uses direct syscalls for old system calls to avoid
referencing freebsd11_* symbols, which contaminate ld-elf.so.1's
export table due to its use of stat functions, which causes errno to
be incorrect in client programs due to the wrong *stat* function being
resolved in some cases.

This code should removed sometime after 12 is branched.

Tested on: 12-current binaries on a 10.3-beta kernel run and return
       consistent results. 12-current kernel and userland with
       packages from before ino64 was committed also work.

Differential Revision: https://reviews.freebsd.org/D11185
Reviewed by: kib@, emaste@

7 years agoDon't leak file descriptor in some cases.
sobomax [Fri, 23 Jun 2017 17:39:00 +0000 (17:39 +0000)]
Don't leak file descriptor in some cases.

Reported by: cem
MFC after: 6 weeks

7 years agoipfw: Note that bandwidth can take G suffix in the manpage
manu [Fri, 23 Jun 2017 17:31:07 +0000 (17:31 +0000)]
ipfw: Note that bandwidth can take G suffix in the manpage

Reported by: Jose Luis Duran (github)

7 years agoIntroduce LINKER_FEATURES to avoid duplicating version logic
emaste [Fri, 23 Jun 2017 17:21:37 +0000 (17:21 +0000)]
Introduce LINKER_FEATURES to avoid duplicating version logic

Submitted by: bdrewery
Reported by: kib

7 years agoSet compiler metadata for stageworld/distributeworld.
bdrewery [Fri, 23 Jun 2017 16:38:46 +0000 (16:38 +0000)]
Set compiler metadata for stageworld/distributeworld.

This fixes LD errors during 'make packages' but also for the unlikely case of
'buildworld' on 1 system and 'packages' on another [1].

PR: 212877 [1]
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agoAllow ALWAYS_BOOTSTRAP_MAKE to force bmake bootstrapping.
bdrewery [Fri, 23 Jun 2017 16:38:18 +0000 (16:38 +0000)]
Allow ALWAYS_BOOTSTRAP_MAKE to force bmake bootstrapping.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agoenable --build-id for the kernel link
emaste [Fri, 23 Jun 2017 15:57:58 +0000 (15:57 +0000)]
enable --build-id for the kernel link

A Build-ID is an identifier generated at link time to uniquely identify
ELF binaries.  It allows efficient confirmation that an executable or
shared library and a corresponding standalone debuginfo file match.
(Otherwise, a checksum of the debuginfo file must be calculated when
opening it in a debugger.)

The FreeBSD base system includes GNU bfd ld 2.17.50 as the linker for
architectures other than arm64.  Build-ID support was added to bfd ld
shortly after that version, so was not previously available to us.

We can now start making use of Build-ID as we migrate to using lld or
bfd ld from ports, conditionally enabled based on the LINKER_TYPE and
LINKER_VERSION make variables added in r320244 and subsequent commits.

Reviewed by: dim
MFC after: 3 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D11314

7 years agosesutil no longer depends on libsbuf
bapt [Fri, 23 Jun 2017 15:27:23 +0000 (15:27 +0000)]
sesutil no longer depends on libsbuf

Sponsored by: Gandi.net

7 years agoDirectly print the extra status instead of filling a buffer
bapt [Fri, 23 Jun 2017 15:09:08 +0000 (15:09 +0000)]
Directly print the extra status instead of filling a buffer
then printing it.

This prepares the code to make it libxo friendly

Reviewed by: manu, Nikita Kozlov (nikita elyzion.net)
MFC after: 2 weeks
Sponsored by: Gandi.net

7 years agostyle fixes in bin/echo/tests
asomers [Fri, 23 Jun 2017 15:02:49 +0000 (15:02 +0000)]
style fixes in bin/echo/tests

Submitted by: shivansh
Reviewed by: asomers
MFC after: 2 weeks
X-MFC-With: 319626
Sponsored by: Google, Inc (GSoC 2017)
Differential Revision: https://reviews.freebsd.org/D11318

7 years agoipfw: dummynet: Add 'G' and 'g' suffix for bandwidth configuration/display
manu [Fri, 23 Jun 2017 14:00:28 +0000 (14:00 +0000)]
ipfw: dummynet: Add 'G' and 'g' suffix for bandwidth configuration/display

MFC after: 2 weeks
Sponsored by: Gandi.net

7 years agoDo not use sprintf(3) when not needed, while here,
bapt [Fri, 23 Jun 2017 13:26:13 +0000 (13:26 +0000)]
Do not use sprintf(3) when not needed, while here,
prefer snprintf(3) over sprintf(3)

7 years agojedec_ts: add support for devices manufactured by IDT
avg [Fri, 23 Jun 2017 11:55:43 +0000 (11:55 +0000)]
jedec_ts: add support for devices manufactured by IDT

Full manufacturer name is Integrated Device Technology, Inc.
Supported devices include TSE2002B3C and TS3000B3A.

MFC after: 1 week

7 years agoFix caveat in new implementation of linprocfs_docpuinfo():
mmokhi [Fri, 23 Jun 2017 10:36:27 +0000 (10:36 +0000)]
Fix caveat in new implementation of linprocfs_docpuinfo():
Prevent kernel panic in case that extended-cpuid isn't supported by CPU

Reviewed by: kib, ngie, trasz
Approved by: trasz
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D11294

7 years agoCheck the length of a COOKIE chunk before accessing fields in it.
tuexen [Fri, 23 Jun 2017 10:09:49 +0000 (10:09 +0000)]
Check the length of a COOKIE chunk before accessing fields in it.

Thanks to Felix Weinrank for reporting the issue he found by using
libFuzzer.

MFC after: 3 days

7 years agoUse a longer buffer for messages in ERROR chunks.
tuexen [Fri, 23 Jun 2017 09:27:31 +0000 (09:27 +0000)]
Use a longer buffer for messages in ERROR chunks.

This allows them to be sent in a non truncated way and addresses a warning
given by newver versions of gcc.
Thanks to Anselm Jonas Scholl for reporting it and providing a patch.

7 years agofix gcc-specific fallout from r320156, MFV of r318946, ZFS ABD
avg [Fri, 23 Jun 2017 08:42:53 +0000 (08:42 +0000)]
fix gcc-specific fallout from r320156, MFV of r318946, ZFS ABD

Reported by: jhibbits
MFC after: 1 week
X-MFC with: r320156

7 years agoHonor the backlog field.
tuexen [Fri, 23 Jun 2017 08:35:54 +0000 (08:35 +0000)]
Honor the backlog field.

7 years agoImprove compilation on platforms different from FreeBSD.
tuexen [Fri, 23 Jun 2017 08:34:01 +0000 (08:34 +0000)]
Improve compilation on platforms different from FreeBSD.

7 years agojedec_ts: read device id from the correct register
avg [Fri, 23 Jun 2017 06:25:39 +0000 (06:25 +0000)]
jedec_ts: read device id from the correct register

Due to my braino / typo the driver was reading the Vendor ID register
twice.

MFC after: 3 days

7 years agochange GNU ld LINKER_TYPE from binutils to bfd
emaste [Fri, 23 Jun 2017 03:55:00 +0000 (03:55 +0000)]
change GNU ld LINKER_TYPE from binutils to bfd

GNU binutils includes two linkers: ld.bfd and ld.gold.  For clarity use
LINKER_TYPE=bfd to refer to ld.bfd, the original binutils linker that
identifies itself as "GNU ld".

Discussed with: bdrewery

7 years agoReplace AF_INET6 ifdefs with USE_INET6 ifdefs. This is more consistent
cy [Fri, 23 Jun 2017 02:42:04 +0000 (02:42 +0000)]
Replace AF_INET6 ifdefs with USE_INET6 ifdefs. This is more consistent
and guaranteed to build everywhere in ipfilter.

Not all of this commit can be MFCed. Some is original code while others
are not.

7 years agoReplace the leap-seconds file in r320242 from USNO -
cy [Fri, 23 Jun 2017 01:05:49 +0000 (01:05 +0000)]
Replace the leap-seconds file in r320242 from USNO -
ftp://tycho.usno.navy.mil/pub/ntp/leap-seconds.3701462400 - with a
leap-seconds file from NIST at ftp://time.nist.gov/pub/. The USNO
version of the file changes the last documented leap second update
time whereas the NIST version does not. The expiration of the USNO
version of the file is also one month short.

Requested by: ian@
Obtained from: ftp://time.nist.gov/pub/leap-seconds.3676924800
MFC after: 3 days