summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cddl/contrib/opensolaris/cmd/zfs/zfs_main.c8
-rw-r--r--cddl/contrib/opensolaris/cmd/zpool/zpool_main.c2
-rw-r--r--contrib/binutils/bfd/elf.c4
-rwxr-xr-xetc/periodic/daily/800.scrub-zfs5
-rw-r--r--lib/libc/db/hash/hash.c6
-rw-r--r--release/doc/en_US.ISO8859-1/errata/article.xml6
-rw-r--r--release/doc/en_US.ISO8859-1/hardware/article.xml2
-rw-r--r--release/doc/en_US.ISO8859-1/readme/article.xml2
-rw-r--r--release/doc/en_US.ISO8859-1/relnotes/article.xml79
-rw-r--r--release/doc/share/xml/catalog.xml3
-rw-r--r--release/doc/share/xml/errata.xml93
-rw-r--r--release/doc/share/xml/release.ent8
-rw-r--r--release/doc/share/xml/security.xml111
-rw-r--r--sbin/ifconfig/ifclone.c5
-rw-r--r--sbin/ifconfig/ifconfig.c20
-rw-r--r--sbin/ifconfig/ifconfig.h1
-rw-r--r--sys/boot/common/load_elf_obj.c3
-rw-r--r--sys/cam/ata/ata_all.c60
-rw-r--r--sys/cam/ctl/ctl_frontend_iscsi.c1
-rw-r--r--sys/dev/ata/ata-all.c100
-rw-r--r--sys/dev/usb/controller/xhci.c13
-rw-r--r--sys/dev/usb/controller/xhci.h1
-rw-r--r--sys/dev/usb/net/if_smsc.c2
-rw-r--r--sys/dev/usb/usb_hid.c3
-rw-r--r--sys/kern/link_elf_obj.c29
-rw-r--r--sys/sys/ata.h3
-rw-r--r--usr.bin/cap_mkdb/cap_mkdb.c2
-rw-r--r--usr.sbin/ctld/login.c7
-rw-r--r--usr.sbin/pwd_mkdb/pwd_mkdb.c8
-rw-r--r--usr.sbin/services_mkdb/services_mkdb.c2
30 files changed, 272 insertions, 317 deletions
diff --git a/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c b/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
index e0fb953..54135f1 100644
--- a/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
+++ b/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
@@ -1712,7 +1712,7 @@ zfs_do_get(int argc, char **argv)
default:
(void) fprintf(stderr,
gettext("invalid column name "
- "'%s'\n"), value);
+ "'%s'\n"), suboptarg);
usage(B_FALSE);
}
}
@@ -1749,7 +1749,7 @@ zfs_do_get(int argc, char **argv)
default:
(void) fprintf(stderr,
gettext("invalid source "
- "'%s'\n"), value);
+ "'%s'\n"), suboptarg);
usage(B_FALSE);
}
}
@@ -1785,7 +1785,7 @@ zfs_do_get(int argc, char **argv)
default:
(void) fprintf(stderr,
gettext("invalid type '%s'\n"),
- value);
+ suboptarg);
usage(B_FALSE);
}
}
@@ -3155,7 +3155,7 @@ zfs_do_list(int argc, char **argv)
default:
(void) fprintf(stderr,
gettext("invalid type '%s'\n"),
- value);
+ suboptarg);
usage(B_FALSE);
}
}
diff --git a/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c b/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
index 6e1670e..c666263 100644
--- a/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
+++ b/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
@@ -5431,7 +5431,7 @@ zpool_do_get(int argc, char **argv)
default:
(void) fprintf(stderr,
gettext("invalid column name "
- "'%s'\n"), value);
+ "'%s'\n"), suboptarg);
usage(B_FALSE);
}
}
diff --git a/contrib/binutils/bfd/elf.c b/contrib/binutils/bfd/elf.c
index bbf1617..ed09cb5 100644
--- a/contrib/binutils/bfd/elf.c
+++ b/contrib/binutils/bfd/elf.c
@@ -8934,14 +8934,14 @@ elf_create_symbuf (bfd_size_type symcount, Elf_Internal_Sym *isymbuf)
shndx_count++;
ssymbuf = bfd_malloc ((shndx_count + 1) * sizeof (*ssymbuf)
- + (indbufend - indbuf) * sizeof (*ssymbuf));
+ + (indbufend - indbuf) * sizeof (*ssym));
if (ssymbuf == NULL)
{
free (indbuf);
return NULL;
}
- ssym = (struct elf_symbuf_symbol *) (ssymbuf + shndx_count);
+ ssym = (struct elf_symbuf_symbol *) (ssymbuf + shndx_count + 1);
ssymbuf->ssym = NULL;
ssymbuf->count = shndx_count;
ssymbuf->st_shndx = 0;
diff --git a/etc/periodic/daily/800.scrub-zfs b/etc/periodic/daily/800.scrub-zfs
index 359be13..b7a009d 100755
--- a/etc/periodic/daily/800.scrub-zfs
+++ b/etc/periodic/daily/800.scrub-zfs
@@ -63,6 +63,11 @@ case "$daily_scrub_zfs_enable" in
_last_scrub=$(zpool history ${pool} | \
sed -ne '2s/ .*$//p')
fi
+ if [ -z "${_last_scrub}" ]; then
+ echo " skipping scrubbing of pool '${pool}':"
+ echo " can't get last scrubbing date"
+ continue
+ fi
# Now minus last scrub (both in seconds) converted to days.
_scrub_diff=$(expr -e \( $(date +%s) - \
diff --git a/lib/libc/db/hash/hash.c b/lib/libc/db/hash/hash.c
index af80929..333b1a1 100644
--- a/lib/libc/db/hash/hash.c
+++ b/lib/libc/db/hash/hash.c
@@ -422,8 +422,10 @@ hdestroy(HTAB *hashp)
if (hashp->tmp_buf)
free(hashp->tmp_buf);
- if (hashp->fp != -1)
+ if (hashp->fp != -1) {
+ (void)_fsync(hashp->fp);
(void)_close(hashp->fp);
+ }
free(hashp);
@@ -458,6 +460,8 @@ hash_sync(const DB *dbp, u_int32_t flags)
return (0);
if (__buf_free(hashp, 0, 1) || flush_meta(hashp))
return (ERROR);
+ if (hashp->fp != -1 && _fsync(hashp->fp) != 0)
+ return (ERROR);
hashp->new_file = 0;
return (0);
}
diff --git a/release/doc/en_US.ISO8859-1/errata/article.xml b/release/doc/en_US.ISO8859-1/errata/article.xml
index fee035f..76c0c44 100644
--- a/release/doc/en_US.ISO8859-1/errata/article.xml
+++ b/release/doc/en_US.ISO8859-1/errata/article.xml
@@ -4,8 +4,10 @@
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN"
"http://www.FreeBSD.org/release/XML/release.ent">
%release;
-<!ENTITY security SYSTEM "../../share/xml/security.xml">
-<!ENTITY errata SYSTEM "../../share/xml/errata.xml">
+<!ENTITY security PUBLIC "-//FreeBSD//ENTITIES Security Advisory List//EN"
+ "http://www.FreeBSD.org/release/XML/share/xml/security.xml">
+<!ENTITY errata PUBLIC "-//FreeBSD//ENTITIES Errata List//EN"
+ "http://www.FreeBSD.org/release/XML/share/xml/errata.xml">
]>
<article xmlns="http://docbook.org/ns/docbook"
diff --git a/release/doc/en_US.ISO8859-1/hardware/article.xml b/release/doc/en_US.ISO8859-1/hardware/article.xml
index 47b2d58..6a14f5c 100644
--- a/release/doc/en_US.ISO8859-1/hardware/article.xml
+++ b/release/doc/en_US.ISO8859-1/hardware/article.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "../../../share/xml/freebsd50.dtd" [
+ "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
%release;
<!ENTITY % devauto PUBLIC "-//FreeBSD//ENTITIES Auto Generated Device Lists//EN" "nonexistent">
diff --git a/release/doc/en_US.ISO8859-1/readme/article.xml b/release/doc/en_US.ISO8859-1/readme/article.xml
index bdae743..4c3da6a 100644
--- a/release/doc/en_US.ISO8859-1/readme/article.xml
+++ b/release/doc/en_US.ISO8859-1/readme/article.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "../../../share/xml/freebsd50.dtd" [
+ "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [
<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
%release;
]>
diff --git a/release/doc/en_US.ISO8859-1/relnotes/article.xml b/release/doc/en_US.ISO8859-1/relnotes/article.xml
index 825fa10..f91671a 100644
--- a/release/doc/en_US.ISO8859-1/relnotes/article.xml
+++ b/release/doc/en_US.ISO8859-1/relnotes/article.xml
@@ -1,14 +1,19 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "../../../share/xml/freebsd50.dtd" [
-<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN" "release.ent">
+ "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [
+<!ENTITY % release PUBLIC "-//FreeBSD//ENTITIES Release Specification//EN"
+ "http://www.FreeBSD.org/release/XML/share/xml/release.ent">
%release;
-<!ENTITY % sponsor PUBLIC "-//FreeBSD//ENTITIES Sponsor Specification//EN" "sponsor.ent">
+<!ENTITY % sponsor PUBLIC "-//FreeBSD//ENTITIES Sponsor Specification//EN"
+ "http://www.FreeBSD.org/release/XML/share/xml/sponsor.ent">
%sponsor;
-<!ENTITY % vendor PUBLIC "-//FreeBSD//ENTITIES Vendor Specification//EN" "vendor.ent">
+<!ENTITY % vendor PUBLIC "-//FreeBSD//ENTITIES Vendor Specification//EN"
+ "http://www.FreeBSD.org/release/XML/share/xml/vendor.ent">
%vendor;
-<!ENTITY security SYSTEM "../../share/xml/security.xml">
-<!ENTITY errata SYSTEM "../../share/xml/errata.xml">
+<!ENTITY security PUBLIC "-//FreeBSD//ENTITIES Security Advisory List//EN"
+ "http://www.FreeBSD.org/release/XML/share/xml/security.xml">
+<!ENTITY errata PUBLIC "-//FreeBSD//ENTITIES Errata List//EN"
+ "http://www.FreeBSD.org/release/XML/share/xml/errata.xml">
]>
<article xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
@@ -26,7 +31,7 @@
<!-- Last rev: 284813 -->
<copyright>
- <year>2015</year>
+ <year>2016</year>
<holder role="mailto:doc@FreeBSD.org">The &os; Documentation
Project</holder>
</copyright>
@@ -166,42 +171,13 @@
<sect2 xml:id="userland-programs">
<title>Userland Application Changes</title>
- <para revision="286064">The &man.jail.8; utility has been
- updated to include a new flag, <literal>-l</literal>, which
- ensures a clean environment in the target jail when used.
- Additionally, &man.jail.8; will run a shell within the target
- jail when run no commands are specified.</para>
-
- <para revision="287122">The &man.mkimg.1; utility has been
- updated to include support for <literal>NTFS</literal>
- filesystems in both <acronym>MBR</acronym> and
- <acronym>GPT</acronym> partitioning schemes.</para>
-
- <para revision="288202" contrib="sponsor" sponsor="&ff;">The
- &man.ar.1; utility now enables deterministic mode
- (<literal>-D</literal>) by default. This behavior can be
- disabled by specifying the <literal>-U</literal> flag.</para>
-
- <para revision="287746">The &man.pciconf.8; utility has been
- updated to use the PCI ID database from the <filename
- role="package">misc/pciids</filename> package, if present,
- falling back to the PCI ID database in the &os; base
- system.</para>
-
- <para revision="288710" contrib="sponsor" sponsor="&gandi;">A
- new utility, &man.sesutil.8;, has been added, which is used
- to manage &man.ses.4; devices.</para>
+ <para>&nbsp;</para>
</sect2>
<sect2 xml:id="userland-contrib">
<title>Contributed Software</title>
- <para revision="286082">The &man.libarchive.3; library has been
- updated to properly skip a sparse file entry in a &man.tar.1;
- file, which would previously produce errors.</para>
-
- <para revision="286751">Timezone data files have been updated to
- version 2015f.</para>
+ <para>&nbsp;</para>
</sect2>
<sect2 xml:id="userland-installer">
@@ -247,10 +223,7 @@
<sect2 xml:id="kernel-bugfix">
<title>Kernel Bug Fixes</title>
- <para revision="288167" contrib="sponsor"
- sponsor="&multiplay;">The &man.kqueue.2; system call has been
- updated to handle write events to files larger than 2
- gigabytes.</para>
+ <para></para>
</sect2>
<sect2 xml:id="kernel-config">
@@ -262,10 +235,7 @@
<sect2 xml:id="kernel-sysctl">
<title>System Tuning and Controls</title>
- <para revision="287037">The &man.uart.4; driver has been
- updated to allow tuning pulses per second captured in the
- CTS line during runtime, whereas previously only the DCD line
- could be used without rebuilding the kernel.</para>
+ <para></para>
</sect2>
</sect1>
@@ -284,12 +254,7 @@
<sect2 xml:id="drivers-storage">
<title>Storage Drivers</title>
- <para revision="288732" contrib="sponsor" sponsor="&ix;">The
- <acronym>CTL</acronym> High Availability implementation has
- been rewritten.</para>
-
- <para revision="288810">The &man.ctl.4; driver has been updated
- to support CD-ROM and removable devices.</para>
+ <para></para>
</sect2>
<sect2 xml:id="drivers-network">
@@ -316,9 +281,7 @@
<sect2 xml:id="hardware-virtualization">
<title>Virtualization Support</title>
- <para revision="287802">The &man.xen.4; driver has been updated
- to include support for <literal>blkif</literal> indirect
- segment I/O.</para>
+ <para></para>
</sect2>
<sect2 xml:id="hardware-arm">
@@ -349,11 +312,7 @@
<sect2 xml:id="storage-zfs">
<title>ZFS</title>
- <para revision="287665" contrib="sponsor"
- sponsor="&clusterhq;">The &man.zfs.8; <literal>l2arc</literal>
- code has been updated to take <literal>ashift</literal> into
- account when gathering buffers to be written to the
- <literal>l2arc</literal> device.</para>
+ <para></para>
</sect2>
<sect2 xml:id="storage-geom">
diff --git a/release/doc/share/xml/catalog.xml b/release/doc/share/xml/catalog.xml
index 74f8ccd..51ee552 100644
--- a/release/doc/share/xml/catalog.xml
+++ b/release/doc/share/xml/catalog.xml
@@ -9,5 +9,8 @@
<public publicId="-//FreeBSD//ENTITIES Release Specification//EN" uri="release.ent"/>
<public publicId="-//FreeBSD//ENTITIES Sponsor Specification//EN" uri="sponsor.ent"/>
<public publicId="-//FreeBSD//ENTITIES Vendor Specification//EN" uri="vendor.ent"/>
+ <!-- XXHRS temporarily defined -->
+ <public publicId="-//FreeBSD//ENTITIES Security Advisory List//EN" uri="security.xml"/>
+ <public publicId="-//FreeBSD//ENTITIES Errata List//EN" uri="errata.xml"/>
<public publicId="-//FreeBSD//ENTITIES Auto Generated Device Lists//EN" uri="dev-auto.ent"/>
</catalog>
diff --git a/release/doc/share/xml/errata.xml b/release/doc/share/xml/errata.xml
index b476244..30d5fc3 100644
--- a/release/doc/share/xml/errata.xml
+++ b/release/doc/share/xml/errata.xml
@@ -19,98 +19,7 @@
<tbody>
<row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-15:11.toolchain.asc">FreeBSD-EN-15:11.toolchain</link></entry>
- <entry>18&nbsp;August&nbsp;2015</entry>
- <entry><para>Fix &man.make.1; syntax errors when upgrading
- from &os;&nbsp;9.x and earlier.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-15:12.netstat.asc">FreeBSD-EN-15:12.netstat</link></entry>
- <entry>18&nbsp;August&nbsp;2015</entry>
- <entry><para>Fix incorrect &man.netstat.1; data handling on
- 32-bit systems.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-15:13.vidcontrol.asc">FreeBSD-EN-15:13.vidcontrol</link></entry>
- <entry>18&nbsp;August&nbsp;2015</entry>
- <entry><para>Allow size argument to &man.vidcontrol.1; for
- &man.syscons.4;.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-15:15.pkg.asc">FreeBSD-EN-15:15.pkg</link></entry>
- <entry>25&nbsp;August&nbsp;2015</entry>
- <entry><para>Insufficient check of supported &man.pkg.7;
- signature methods.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-15:16.pw.asc">FreeBSD-EN-15:16.pw</link></entry>
- <entry>16&nbsp;September&nbsp;2015</entry>
- <entry><para>Fix &man.pw.8; regression when creating numeric
- users or groups.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-15:17.libc.asc">FreeBSD-EN-15:17.libc</link></entry>
- <entry>16&nbsp;September&nbsp;2015</entry>
- <entry><para>Fix libc handling of signals for multi-threaded
- processes.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-15:18.pkg.asc">FreeBSD-EN-15:18.pkg</link></entry>
- <entry>16&nbsp;September&nbsp;2015</entry>
- <entry><para>Implement <literal>pubkey</literal> support for
- &man.pkg.7; bootstrap.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-15:19.kqueue.asc">FreeBSD-EN-15:19.kqueue</link></entry>
- <entry>4&nbsp;November&nbsp;2015</entry>
- <entry><para>&man.kqueue.2; write events never fire for files
- larger than 2GB.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-15:20.vm.asc">FreeBSD-EN-15:20.vm</link></entry>
- <entry>4&nbsp;November&nbsp;2015</entry>
- <entry><para>Applications exiting due to segmentation
- violation on a correct memory address.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-16:01.filemon.asc">FreeBSD-EN-16:01.filemon</link></entry>
- <entry>14&nbsp;January&nbsp;2016</entry>
- <entry><para><application>bmake</application> and
- &man.filemon.4; stability issues.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-16:02.pf.asc">FreeBSD-EN-16:02.pf</link></entry>
- <entry>14&nbsp;January&nbsp;2016</entry>
- <entry><para>Invalid TCP checksum issue.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-EN-16:03.yplib.asc">FreeBSD-EN-16:03.yplib</link></entry>
- <entry>14&nbsp;January&nbsp;2016</entry>
- <entry><para><application>YP/NIS</application> library
- bug.</para></entry>
+ <entry><para></para></entry>
</row>
</tbody>
</tgroup>
diff --git a/release/doc/share/xml/release.ent b/release/doc/share/xml/release.ent
index 8a14e5b..75ef58d 100644
--- a/release/doc/share/xml/release.ent
+++ b/release/doc/share/xml/release.ent
@@ -6,23 +6,23 @@
<!-- Version of the OS we're describing. This needs to be updated
with each new release. -->
-<!ENTITY release.current "10.2-STABLE">
+<!ENTITY release.current "10.3-STABLE">
<!-- The previous version used for comparison in the "What's New"
section. For -CURRENT, we might point back to the last
branchpoint. -->
-<!ENTITY release.prev "10.2-RELEASE">
+<!ENTITY release.prev "10.3-RELEASE">
<!-- The previous stable release, useful for pointing user's at the
release they SHOULD be running if they don't want the bleeding
edge. -->
-<!ENTITY release.prev.stable "10.1-RELEASE">
+<!ENTITY release.prev.stable "10.2-RELEASE">
<!-- The next version to be released, usually used for snapshots. -->
<!ENTITY release.next "10.3-RELEASE">
<!-- The name of this branch. -->
-<!ENTITY release.branch "10.2-STABLE">
+<!ENTITY release.branch "10.3-STABLE">
<!-- The URL for obtaining this version of FreeBSD. -->
<!ENTITY release.url "https://www.FreeBSD.org/snapshots/">
diff --git a/release/doc/share/xml/security.xml b/release/doc/share/xml/security.xml
index f1c4249..6ddefc1 100644
--- a/release/doc/share/xml/security.xml
+++ b/release/doc/share/xml/security.xml
@@ -19,116 +19,7 @@
<tbody>
<row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-15:20.expat.asc">FreeBSD-SA-15:20.expat</link></entry>
- <entry>18&nbsp;August&nbsp;2015</entry>
- <entry><para>Fix multiple integer overflows in
- &man.libbsdxml.3;.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-15:22.openssh.asc">FreeBSD-SA-15:22.openssh</link></entry>
- <entry>25&nbsp;August&nbsp;2015</entry>
- <entry><para>Multiple vulnerabilities</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-15:24.rpcbind.asc">FreeBSD-SA-15:24.rpcbind</link></entry>
- <entry>29&nbsp;September&nbsp;2015</entry>
- <entry><para>Remote denial of service</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-15:25.ntp.asc">FreeBSD-SA-15:25.ntp</link></entry>
- <entry>26&nbsp;October&nbsp;2015</entry>
- <entry><para>Multiple vulnerabilities</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-15:26.openssl.asc">FreeBSD-SA-15:26.openssl</link></entry>
- <entry>5&nbsp;December&nbsp;2015</entry>
- <entry><para>Multiple vulnerabilities</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-16:01.sctp.asc">FreeBSD-SA-16:01.sctp</link></entry>
- <entry>14&nbsp;January&nbsp;2016</entry>
- <entry><para>ICMPv6 error message vulnerability</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-16:02.ntp.asc">FreeBSD-SA-16:02.ntp</link></entry>
- <entry>14&nbsp;January&nbsp;2016</entry>
- <entry><para>Panic threshold bypass
- vulnerability</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-16:03.linux.asc">FreeBSD-SA-16:03.linux</link></entry>
- <entry>14&nbsp;January&nbsp;2016</entry>
- <entry><para>Incorrect <literal>futex</literal>
- handling</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-16:04.linux.asc">FreeBSD-SA-16:04.linux</link></entry>
- <entry>14&nbsp;January&nbsp;2016</entry>
- <entry><para>&man.setgroups.2; system call
- vulnerability</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-16:05.tcp.asc">FreeBSD-SA-16:05.tcp</link></entry>
- <entry>14&nbsp;January&nbsp;2016</entry>
- <entry><para>MD5 signature denial of service</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-16:06.bsnmpd.asc">FreeBSD-SA-16:06.bsnmpd</link></entry>
- <entry>14&nbsp;January&nbsp;2016</entry>
- <entry><para>Insecure default configuration file
- permissions</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-16:07.openssh.asc">FreeBSD-SA-16:07.openssh</link></entry>
- <entry>14&nbsp;January&nbsp;2016</entry>
- <entry><para><application>OpenSSH</application> client
- information leak</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-16:09.ntp.asc">FreeBSD-SA-16:09.ntp</link></entry>
- <entry>27&nbsp;January&nbsp;2016</entry>
- <entry><para>Multiple vulnerabilities.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-16:10.linux.asc">FreeBSD-SA-16:10.linux</link></entry>
- <entry>27&nbsp;January&nbsp;2016</entry>
- <entry><para>&man.issetugid.2; system call
- vulnerability.</para></entry>
- </row>
-
- <row>
- <entry><link
- xlink:href="&security.url;/FreeBSD-SA-16:11.openssl.asc">FreeBSD-SA-16:11.openssl</link></entry>
- <entry>30&nbsp;January&nbsp;2016</entry>
- <entry><para>SSLv2 cipher suite downgrade
- vulnerability.</para></entry>
+ <entry><para></para></entry>
</row>
</tbody>
</tgroup>
diff --git a/sbin/ifconfig/ifclone.c b/sbin/ifconfig/ifclone.c
index 6a60d41..0eda438 100644
--- a/sbin/ifconfig/ifclone.c
+++ b/sbin/ifconfig/ifclone.c
@@ -144,11 +144,12 @@ ifclonecreate(int s, void *arg)
}
/*
- * If we get a different name back than we put in, print it.
+ * If we get a different name back than we put in, update record and
+ * indicate it should be printed later.
*/
if (strncmp(name, ifr.ifr_name, sizeof(name)) != 0) {
strlcpy(name, ifr.ifr_name, sizeof(name));
- printf("%s\n", name);
+ printifname = 1;
}
}
diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c
index 1b89e67..c3a47b7 100644
--- a/sbin/ifconfig/ifconfig.c
+++ b/sbin/ifconfig/ifconfig.c
@@ -93,6 +93,7 @@ int clearaddr;
int newaddr = 1;
int verbose;
int noload;
+int printifname = 0;
int supmedia = 0;
int printkeys = 0; /* Print keying material for interfaces. */
@@ -108,6 +109,8 @@ static struct afswtch *af_getbyname(const char *name);
static struct afswtch *af_getbyfamily(int af);
static void af_other_status(int);
+void printifnamemaybe(void);
+
static struct option *opts = NULL;
void
@@ -141,6 +144,12 @@ usage(void)
exit(1);
}
+void printifnamemaybe()
+{
+ if (printifname)
+ printf("%s\n", name);
+}
+
int
main(int argc, char *argv[])
{
@@ -156,6 +165,12 @@ main(int argc, char *argv[])
size_t iflen;
all = downonly = uponly = namesonly = noload = verbose = 0;
+
+ /*
+ * Ensure we print interface name when expected to,
+ * even if we terminate early due to error.
+ */
+ atexit(printifnamemaybe);
/* Parse leading line options */
strlcpy(options, "adklmnuv", sizeof(options));
@@ -873,6 +888,8 @@ setifname(const char *val, int dummy __unused, int s,
const struct afswtch *afp)
{
char *newname;
+
+ strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
newname = strdup(val);
if (newname == NULL)
@@ -882,6 +899,7 @@ setifname(const char *val, int dummy __unused, int s,
free(newname);
err(1, "ioctl SIOCSIFNAME (set name)");
}
+ printifname = 1;
strlcpy(name, newname, sizeof(name));
free(newname);
}
@@ -893,6 +911,8 @@ setifdescr(const char *val, int dummy __unused, int s,
{
char *newdescr;
+ strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
+
ifr.ifr_buffer.length = strlen(val) + 1;
if (ifr.ifr_buffer.length == 1) {
ifr.ifr_buffer.buffer = newdescr = NULL;
diff --git a/sbin/ifconfig/ifconfig.h b/sbin/ifconfig/ifconfig.h
index 6df9acf..ada224f 100644
--- a/sbin/ifconfig/ifconfig.h
+++ b/sbin/ifconfig/ifconfig.h
@@ -133,6 +133,7 @@ extern int supmedia;
extern int printkeys;
extern int newaddr;
extern int verbose;
+extern int printifname;
void setifcap(const char *, int value, int s, const struct afswtch *);
diff --git a/sys/boot/common/load_elf_obj.c b/sys/boot/common/load_elf_obj.c
index 626f2d9..b983ecb 100644
--- a/sys/boot/common/load_elf_obj.c
+++ b/sys/boot/common/load_elf_obj.c
@@ -221,6 +221,9 @@ __elfN(obj_loadimage)(struct preloaded_file *fp, elf_file_t ef, u_int64_t off)
switch (shdr[i].sh_type) {
case SHT_PROGBITS:
case SHT_NOBITS:
+#if defined(__i386__) || defined(__amd64__)
+ case SHT_AMD64_UNWIND:
+#endif
lastaddr = roundup(lastaddr, shdr[i].sh_addralign);
shdr[i].sh_addr = (Elf_Addr)lastaddr;
lastaddr += shdr[i].sh_size;
diff --git a/sys/cam/ata/ata_all.c b/sys/cam/ata/ata_all.c
index d836e42..d5220e8 100644
--- a/sys/cam/ata/ata_all.c
+++ b/sys/cam/ata/ata_all.c
@@ -75,13 +75,18 @@ ata_op_string(struct ata_cmd *cmd)
if (cmd->control & 0x04)
return ("SOFT_RESET");
switch (cmd->command) {
- case 0x00: return ("NOP");
+ case 0x00:
+ switch (cmd->features) {
+ case 0x00: return ("NOP FLUSHQUEUE");
+ case 0x01: return ("NOP AUTOPOLL");
+ }
+ return ("NOP");
case 0x03: return ("CFA_REQUEST_EXTENDED_ERROR");
case 0x06:
switch (cmd->features) {
- case 0x01: return ("DSM TRIM");
- }
- return "DSM";
+ case 0x01: return ("DSM TRIM");
+ }
+ return "DSM";
case 0x08: return ("DEVICE_RESET");
case 0x20: return ("READ");
case 0x24: return ("READ48");
@@ -105,6 +110,12 @@ ata_op_string(struct ata_cmd *cmd)
case 0x3f: return ("WRITE_LOG_EXT");
case 0x40: return ("READ_VERIFY");
case 0x42: return ("READ_VERIFY48");
+ case 0x45:
+ switch (cmd->features) {
+ case 0x55: return ("WRITE_UNCORRECTABLE48 PSEUDO");
+ case 0xaa: return ("WRITE_UNCORRECTABLE48 FLAGGED");
+ }
+ return "WRITE_UNCORRECTABLE48";
case 0x51: return ("CONFIGURE_STREAM");
case 0x60: return ("READ_FPDMA_QUEUED");
case 0x61: return ("WRITE_FPDMA_QUEUED");
@@ -128,7 +139,18 @@ ata_op_string(struct ata_cmd *cmd)
case 0xa0: return ("PACKET");
case 0xa1: return ("ATAPI_IDENTIFY");
case 0xa2: return ("SERVICE");
- case 0xb0: return ("SMART");
+ case 0xb0:
+ switch(cmd->features) {
+ case 0xd0: return ("SMART READ ATTR VALUES");
+ case 0xd1: return ("SMART READ ATTR THRESHOLDS");
+ case 0xd3: return ("SMART SAVE ATTR VALUES");
+ case 0xd4: return ("SMART EXECUTE OFFLINE IMMEDIATE");
+ case 0xd5: return ("SMART READ LOG DATA");
+ case 0xd8: return ("SMART ENABLE OPERATION");
+ case 0xd9: return ("SMART DISABLE OPERATION");
+ case 0xda: return ("SMART RETURN STATUS");
+ }
+ return ("SMART");
case 0xb1: return ("DEVICE CONFIGURATION");
case 0xc0: return ("CFA_ERASE");
case 0xc4: return ("READ_MUL");
@@ -158,18 +180,22 @@ ata_op_string(struct ata_cmd *cmd)
case 0xed: return ("MEDIA_EJECT");
case 0xef:
switch (cmd->features) {
- case 0x03: return ("SETFEATURES SET TRANSFER MODE");
- case 0x02: return ("SETFEATURES ENABLE WCACHE");
- case 0x82: return ("SETFEATURES DISABLE WCACHE");
- case 0x06: return ("SETFEATURES ENABLE PUIS");
- case 0x86: return ("SETFEATURES DISABLE PUIS");
- case 0x07: return ("SETFEATURES SPIN-UP");
- case 0x10: return ("SETFEATURES ENABLE SATA FEATURE");
- case 0x90: return ("SETFEATURES DISABLE SATA FEATURE");
- case 0xaa: return ("SETFEATURES ENABLE RCACHE");
- case 0x55: return ("SETFEATURES DISABLE RCACHE");
- }
- return "SETFEATURES";
+ case 0x03: return ("SETFEATURES SET TRANSFER MODE");
+ case 0x02: return ("SETFEATURES ENABLE WCACHE");
+ case 0x82: return ("SETFEATURES DISABLE WCACHE");
+ case 0x06: return ("SETFEATURES ENABLE PUIS");
+ case 0x86: return ("SETFEATURES DISABLE PUIS");
+ case 0x07: return ("SETFEATURES SPIN-UP");
+ case 0x10: return ("SETFEATURES ENABLE SATA FEATURE");
+ case 0x90: return ("SETFEATURES DISABLE SATA FEATURE");
+ case 0xaa: return ("SETFEATURES ENABLE RCACHE");
+ case 0x55: return ("SETFEATURES DISABLE RCACHE");
+ case 0x5d: return ("SETFEATURES ENABLE RELIRQ");
+ case 0xdd: return ("SETFEATURES DISABLE RELIRQ");
+ case 0x5e: return ("SETFEATURES ENABLE SRVIRQ");
+ case 0xde: return ("SETFEATURES DISABLE SRVIRQ");
+ }
+ return "SETFEATURES";
case 0xf1: return ("SECURITY_SET_PASSWORD");
case 0xf2: return ("SECURITY_UNLOCK");
case 0xf3: return ("SECURITY_ERASE_PREPARE");
diff --git a/sys/cam/ctl/ctl_frontend_iscsi.c b/sys/cam/ctl/ctl_frontend_iscsi.c
index 399e141..b844be6 100644
--- a/sys/cam/ctl/ctl_frontend_iscsi.c
+++ b/sys/cam/ctl/ctl_frontend_iscsi.c
@@ -2369,6 +2369,7 @@ cfiscsi_datamove_in(union ctl_io *io)
bhsdi->bhsdi_opcode = ISCSI_BHS_OPCODE_SCSI_DATA_IN;
bhsdi->bhsdi_initiator_task_tag =
bhssc->bhssc_initiator_task_tag;
+ bhsdi->bhsdi_target_transfer_tag = 0xffffffff;
bhsdi->bhsdi_datasn = htonl(PDU_EXPDATASN(request));
PDU_EXPDATASN(request)++;
bhsdi->bhsdi_buffer_offset = htonl(buffer_offset);
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c
index 80bb804..8313e8c 100644
--- a/sys/dev/ata/ata-all.c
+++ b/sys/dev/ata/ata-all.c
@@ -497,7 +497,18 @@ ata_cmd2str(struct ata_request *request)
}
} else {
switch (request->u.ata.command) {
- case 0x00: return ("NOP");
+ case 0x00:
+ switch (request->u.ata.feature) {
+ case 0x00: return ("NOP FLUSHQUEUE");
+ case 0x01: return ("NOP AUTOPOLL");
+ }
+ return ("NOP");
+ case 0x03: return ("CFA_REQUEST_EXTENDED_ERROR");
+ case 0x06:
+ switch (request->u.ata.feature) {
+ case 0x01: return ("DSM TRIM");
+ }
+ return "DSM";
case 0x08: return ("DEVICE_RESET");
case 0x20: return ("READ");
case 0x24: return ("READ48");
@@ -505,18 +516,65 @@ ata_cmd2str(struct ata_request *request)
case 0x26: return ("READ_DMA_QUEUED48");
case 0x27: return ("READ_NATIVE_MAX_ADDRESS48");
case 0x29: return ("READ_MUL48");
+ case 0x2a: return ("READ_STREAM_DMA48");
+ case 0x2b: return ("READ_STREAM48");
+ case 0x2f: return ("READ_LOG_EXT");
case 0x30: return ("WRITE");
case 0x34: return ("WRITE48");
case 0x35: return ("WRITE_DMA48");
case 0x36: return ("WRITE_DMA_QUEUED48");
case 0x37: return ("SET_MAX_ADDRESS48");
case 0x39: return ("WRITE_MUL48");
+ case 0x3a: return ("WRITE_STREAM_DMA48");
+ case 0x3b: return ("WRITE_STREAM48");
+ case 0x3d: return ("WRITE_DMA_FUA48");
+ case 0x3e: return ("WRITE_DMA_QUEUED_FUA48");
+ case 0x3f: return ("WRITE_LOG_EXT");
+ case 0x40: return ("READ_VERIFY");
+ case 0x42: return ("READ_VERIFY48");
+ case 0x45:
+ switch (request->u.ata.feature) {
+ case 0x55: return ("WRITE_UNCORRECTABLE48 PSEUDO");
+ case 0xaa: return ("WRITE_UNCORRECTABLE48 FLAGGED");
+ }
+ return "WRITE_UNCORRECTABLE48";
+ case 0x51: return ("CONFIGURE_STREAM");
+ case 0x60: return ("READ_FPDMA_QUEUED");
+ case 0x61: return ("WRITE_FPDMA_QUEUED");
+ case 0x63: return ("NCQ_NON_DATA");
+ case 0x64: return ("SEND_FPDMA_QUEUED");
+ case 0x65: return ("RECEIVE_FPDMA_QUEUED");
+ case 0x67:
+ if (request->u.ata.feature == 0xec)
+ return ("SEP_ATTN IDENTIFY");
+ switch (request->u.ata.lba) {
+ case 0x00: return ("SEP_ATTN READ BUFFER");
+ case 0x02: return ("SEP_ATTN RECEIVE DIAGNOSTIC RESULTS");
+ case 0x80: return ("SEP_ATTN WRITE BUFFER");
+ case 0x82: return ("SEP_ATTN SEND DIAGNOSTIC");
+ }
+ return ("SEP_ATTN");
case 0x70: return ("SEEK");
- case 0xa0: return ("PACKET_CMD");
+ case 0x87: return ("CFA_TRANSLATE_SECTOR");
+ case 0x90: return ("EXECUTE_DEVICE_DIAGNOSTIC");
+ case 0x92: return ("DOWNLOAD_MICROCODE");
+ case 0xa0: return ("PACKET");
case 0xa1: return ("ATAPI_IDENTIFY");
case 0xa2: return ("SERVICE");
- case 0xb0: return ("SMART");
- case 0xc0: return ("CFA ERASE");
+ case 0xb0:
+ switch(request->u.ata.feature) {
+ case 0xd0: return ("SMART READ ATTR VALUES");
+ case 0xd1: return ("SMART READ ATTR THRESHOLDS");
+ case 0xd3: return ("SMART SAVE ATTR VALUES");
+ case 0xd4: return ("SMART EXECUTE OFFLINE IMMEDIATE");
+ case 0xd5: return ("SMART READ LOG DATA");
+ case 0xd8: return ("SMART ENABLE OPERATION");
+ case 0xd9: return ("SMART DISABLE OPERATION");
+ case 0xda: return ("SMART RETURN STATUS");
+ }
+ return ("SMART");
+ case 0xb1: return ("DEVICE CONFIGURATION");
+ case 0xc0: return ("CFA_ERASE");
case 0xc4: return ("READ_MUL");
case 0xc5: return ("WRITE_MUL");
case 0xc6: return ("SET_MULTI");
@@ -524,22 +582,48 @@ ata_cmd2str(struct ata_request *request)
case 0xc8: return ("READ_DMA");
case 0xca: return ("WRITE_DMA");
case 0xcc: return ("WRITE_DMA_QUEUED");
+ case 0xcd: return ("CFA_WRITE_MULTIPLE_WITHOUT_ERASE");
+ case 0xce: return ("WRITE_MUL_FUA48");
+ case 0xd1: return ("CHECK_MEDIA_CARD_TYPE");
+ case 0xda: return ("GET_MEDIA_STATUS");
+ case 0xde: return ("MEDIA_LOCK");
+ case 0xdf: return ("MEDIA_UNLOCK");
+ case 0xe0: return ("STANDBY_IMMEDIATE");
+ case 0xe1: return ("IDLE_IMMEDIATE");
+ case 0xe2: return ("STANDBY");
+ case 0xe3: return ("IDLE");
+ case 0xe4: return ("READ_BUFFER/PM");
+ case 0xe5: return ("CHECK_POWER_MODE");
case 0xe6: return ("SLEEP");
case 0xe7: return ("FLUSHCACHE");
+ case 0xe8: return ("WRITE_PM");
case 0xea: return ("FLUSHCACHE48");
case 0xec: return ("ATA_IDENTIFY");
+ case 0xed: return ("MEDIA_EJECT");
case 0xef:
switch (request->u.ata.feature) {
case 0x03: return ("SETFEATURES SET TRANSFER MODE");
case 0x02: return ("SETFEATURES ENABLE WCACHE");
case 0x82: return ("SETFEATURES DISABLE WCACHE");
+ case 0x06: return ("SETFEATURES ENABLE PUIS");
+ case 0x86: return ("SETFEATURES DISABLE PUIS");
+ case 0x07: return ("SETFEATURES SPIN-UP");
+ case 0x10: return ("SETFEATURES ENABLE SATA FEATURE");
+ case 0x90: return ("SETFEATURES DISABLE SATA FEATURE");
case 0xaa: return ("SETFEATURES ENABLE RCACHE");
case 0x55: return ("SETFEATURES DISABLE RCACHE");
+ case 0x5d: return ("SETFEATURES ENABLE RELIRQ");
+ case 0xdd: return ("SETFEATURES DISABLE RELIRQ");
+ case 0x5e: return ("SETFEATURES ENABLE SRVIRQ");
+ case 0xde: return ("SETFEATURES DISABLE SRVIRQ");
}
- sprintf(buffer, "SETFEATURES 0x%02x",
- request->u.ata.feature);
- return (buffer);
- case 0xf5: return ("SECURITY_FREE_LOCK");
+ return "SETFEATURES";
+ case 0xf1: return ("SECURITY_SET_PASSWORD");
+ case 0xf2: return ("SECURITY_UNLOCK");
+ case 0xf3: return ("SECURITY_ERASE_PREPARE");
+ case 0xf4: return ("SECURITY_ERASE_UNIT");
+ case 0xf5: return ("SECURITY_FREEZE_LOCK");
+ case 0xf6: return ("SECURITY_DISABLE_PASSWORD");
case 0xf8: return ("READ_NATIVE_MAX_ADDRESS");
case 0xf9: return ("SET_MAX_ADDRESS");
}
diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c
index 3853ed1..18f871e 100644
--- a/sys/dev/usb/controller/xhci.c
+++ b/sys/dev/usb/controller/xhci.c
@@ -2363,6 +2363,8 @@ xhci_configure_endpoint(struct usb_device *udev,
/* store endpoint mode */
pepext->trb_ep_mode = ep_mode;
+ /* store bMaxPacketSize for control endpoints */
+ pepext->trb_ep_maxp = edesc->wMaxPacketSize[0];
usb_pc_cpu_flush(pepext->page_cache);
if (ep_mode == USB_EP_MODE_STREAMS) {
@@ -2909,6 +2911,17 @@ xhci_transfer_insert(struct usb_xfer *xfer)
return (USB_ERR_NOMEM);
}
+ /* check if bMaxPacketSize changed */
+ if (xfer->flags_int.control_xfr != 0 &&
+ pepext->trb_ep_maxp != xfer->endpoint->edesc->wMaxPacketSize[0]) {
+
+ DPRINTFN(8, "Reconfigure control endpoint\n");
+
+ /* force driver to reconfigure endpoint */
+ pepext->trb_halted = 1;
+ pepext->trb_running = 0;
+ }
+
/* check for stopped condition, after putting transfer on interrupt queue */
if (pepext->trb_running == 0) {
struct xhci_softc *sc = XHCI_BUS2SC(xfer->xroot->bus);
diff --git a/sys/dev/usb/controller/xhci.h b/sys/dev/usb/controller/xhci.h
index ac21c0f..af5b913 100644
--- a/sys/dev/usb/controller/xhci.h
+++ b/sys/dev/usb/controller/xhci.h
@@ -383,6 +383,7 @@ struct xhci_endpoint_ext {
uint8_t trb_halted;
uint8_t trb_running;
uint8_t trb_ep_mode;
+ uint8_t trb_ep_maxp;
};
enum {
diff --git a/sys/dev/usb/net/if_smsc.c b/sys/dev/usb/net/if_smsc.c
index c8f2202..34c3ae9 100644
--- a/sys/dev/usb/net/if_smsc.c
+++ b/sys/dev/usb/net/if_smsc.c
@@ -1341,7 +1341,7 @@ smsc_chip_init(struct smsc_softc *sc)
/* Reset the PHY */
smsc_write_reg(sc, SMSC_PM_CTRL, SMSC_PM_CTRL_PHY_RST);
- if ((err = smsc_wait_for_bits(sc, SMSC_PM_CTRL, SMSC_PM_CTRL_PHY_RST) != 0)) {
+ if ((err = smsc_wait_for_bits(sc, SMSC_PM_CTRL, SMSC_PM_CTRL_PHY_RST)) != 0) {
smsc_warn_printf(sc, "timed-out waiting for phy reset to complete\n");
goto init_failed;
}
diff --git a/sys/dev/usb/usb_hid.c b/sys/dev/usb/usb_hid.c
index e6361a6..dc0ce99 100644
--- a/sys/dev/usb/usb_hid.c
+++ b/sys/dev/usb/usb_hid.c
@@ -354,7 +354,8 @@ hid_get_item(struct hid_data *s, struct hid_item *h)
/* range check usage count */
if (c->loc.count > 255) {
DPRINTFN(0, "Number of "
- "items truncated to 255\n");
+ "items(%u) truncated to 255\n",
+ (unsigned)(c->loc.count));
s->ncount = 255;
} else
s->ncount = c->loc.count;
diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c
index 453d8ce..dc13283 100644
--- a/sys/kern/link_elf_obj.c
+++ b/sys/kern/link_elf_obj.c
@@ -257,6 +257,9 @@ link_elf_link_preload(linker_class_t cls, const char *filename,
switch (shdr[i].sh_type) {
case SHT_PROGBITS:
case SHT_NOBITS:
+#ifdef __amd64__
+ case SHT_AMD64_UNWIND:
+#endif
ef->nprogtab++;
break;
case SHT_SYMTAB:
@@ -327,9 +330,16 @@ link_elf_link_preload(linker_class_t cls, const char *filename,
switch (shdr[i].sh_type) {
case SHT_PROGBITS:
case SHT_NOBITS:
+#ifdef __amd64__
+ case SHT_AMD64_UNWIND:
+#endif
ef->progtab[pb].addr = (void *)shdr[i].sh_addr;
if (shdr[i].sh_type == SHT_PROGBITS)
ef->progtab[pb].name = "<<PROGBITS>>";
+#ifdef __amd64__
+ else if (shdr[i].sh_type == SHT_AMD64_UNWIND)
+ ef->progtab[pb].name = "<<UNWIND>>";
+#endif
else
ef->progtab[pb].name = "<<NOBITS>>";
ef->progtab[pb].size = shdr[i].sh_size;
@@ -553,6 +563,9 @@ link_elf_load_file(linker_class_t cls, const char *filename,
switch (shdr[i].sh_type) {
case SHT_PROGBITS:
case SHT_NOBITS:
+#ifdef __amd64__
+ case SHT_AMD64_UNWIND:
+#endif
ef->nprogtab++;
break;
case SHT_SYMTAB:
@@ -659,6 +672,9 @@ link_elf_load_file(linker_class_t cls, const char *filename,
switch (shdr[i].sh_type) {
case SHT_PROGBITS:
case SHT_NOBITS:
+#ifdef __amd64__
+ case SHT_AMD64_UNWIND:
+#endif
alignmask = shdr[i].sh_addralign - 1;
mapsize += alignmask;
mapsize &= ~alignmask;
@@ -726,6 +742,9 @@ link_elf_load_file(linker_class_t cls, const char *filename,
switch (shdr[i].sh_type) {
case SHT_PROGBITS:
case SHT_NOBITS:
+#ifdef __amd64__
+ case SHT_AMD64_UNWIND:
+#endif
alignmask = shdr[i].sh_addralign - 1;
mapbase += alignmask;
mapbase &= ~alignmask;
@@ -734,6 +753,10 @@ link_elf_load_file(linker_class_t cls, const char *filename,
ef->shstrtab + shdr[i].sh_name;
else if (shdr[i].sh_type == SHT_PROGBITS)
ef->progtab[pb].name = "<<PROGBITS>>";
+#ifdef __amd64__
+ else if (shdr[i].sh_type == SHT_AMD64_UNWIND)
+ ef->progtab[pb].name = "<<UNWIND>>";
+#endif
else
ef->progtab[pb].name = "<<NOBITS>>";
if (ef->progtab[pb].name != NULL &&
@@ -755,7 +778,11 @@ link_elf_load_file(linker_class_t cls, const char *filename,
}
ef->progtab[pb].size = shdr[i].sh_size;
ef->progtab[pb].sec = i;
- if (shdr[i].sh_type == SHT_PROGBITS) {
+ if (shdr[i].sh_type == SHT_PROGBITS
+#ifdef __amd64__
+ || shdr[i].sh_type == SHT_AMD64_UNWIND
+#endif
+ ) {
error = vn_rdwr(UIO_READ, nd.ni_vp,
ef->progtab[pb].addr,
shdr[i].sh_size, shdr[i].sh_offset,
diff --git a/sys/sys/ata.h b/sys/sys/ata.h
index 272b46a..5df610e 100644
--- a/sys/sys/ata.h
+++ b/sys/sys/ata.h
@@ -368,6 +368,9 @@ struct ata_params {
#define ATA_WRITE_LOG_EXT 0x3f
#define ATA_READ_VERIFY 0x40
#define ATA_READ_VERIFY48 0x42
+#define ATA_WRITE_UNCORRECTABLE48 0x45 /* write uncorrectable 48bit LBA */
+#define ATA_WU_PSEUDO 0x55 /* pseudo-uncorrectable error */
+#define ATA_WU_FLAGGED 0xaa /* flagged-uncorrectable error */
#define ATA_READ_LOG_DMA_EXT 0x47 /* read log DMA ext - PIO Data-In */
#define ATA_READ_FPDMA_QUEUED 0x60 /* read DMA NCQ */
#define ATA_WRITE_FPDMA_QUEUED 0x61 /* write DMA NCQ */
diff --git a/usr.bin/cap_mkdb/cap_mkdb.c b/usr.bin/cap_mkdb/cap_mkdb.c
index bbcedd5..2f8bd96 100644
--- a/usr.bin/cap_mkdb/cap_mkdb.c
+++ b/usr.bin/cap_mkdb/cap_mkdb.c
@@ -119,7 +119,7 @@ main(int argc, char *argv[])
(void)snprintf(buf, sizeof(buf), "%s.db", capname ? capname : *argv);
if ((capname = strdup(buf)) == NULL)
errx(1, "strdup failed");
- if ((capdbp = dbopen(capname, O_CREAT | O_TRUNC | O_RDWR | O_SYNC,
+ if ((capdbp = dbopen(capname, O_CREAT | O_TRUNC | O_RDWR,
DEFFILEMODE, DB_HASH, &openinfo)) == NULL)
err(1, "%s", buf);
diff --git a/usr.sbin/ctld/login.c b/usr.sbin/ctld/login.c
index 6ef0e61..7cfc5e0 100644
--- a/usr.sbin/ctld/login.c
+++ b/usr.sbin/ctld/login.c
@@ -126,15 +126,16 @@ login_receive(struct connection *conn, bool initial)
log_errx(1, "received Login PDU with unsupported "
"Version-min 0x%x", bhslr->bhslr_version_min);
}
- if (ISCSI_SNLT(ntohl(bhslr->bhslr_cmdsn), conn->conn_cmdsn)) {
- login_send_error(request, 0x02, 0x05);
+ if (initial == false &&
+ ISCSI_SNLT(ntohl(bhslr->bhslr_cmdsn), conn->conn_cmdsn)) {
+ login_send_error(request, 0x02, 0x00);
log_errx(1, "received Login PDU with decreasing CmdSN: "
"was %u, is %u", conn->conn_cmdsn,
ntohl(bhslr->bhslr_cmdsn));
}
if (initial == false &&
ntohl(bhslr->bhslr_expstatsn) != conn->conn_statsn) {
- login_send_error(request, 0x02, 0x05);
+ login_send_error(request, 0x02, 0x00);
log_errx(1, "received Login PDU with wrong ExpStatSN: "
"is %u, should be %u", ntohl(bhslr->bhslr_expstatsn),
conn->conn_statsn);
diff --git a/usr.sbin/pwd_mkdb/pwd_mkdb.c b/usr.sbin/pwd_mkdb/pwd_mkdb.c
index c75804a..9158e61 100644
--- a/usr.sbin/pwd_mkdb/pwd_mkdb.c
+++ b/usr.sbin/pwd_mkdb/pwd_mkdb.c
@@ -225,14 +225,14 @@ main(int argc, char *argv[])
clean = FILE_INSECURE;
cp(buf2, buf, PERM_INSECURE);
dp = dbopen(buf,
- O_RDWR|O_EXCL|O_SYNC, PERM_INSECURE, DB_HASH, &openinfo);
+ O_RDWR|O_EXCL, PERM_INSECURE, DB_HASH, &openinfo);
if (dp == NULL)
error(buf);
clean = FILE_SECURE;
cp(sbuf2, sbuf, PERM_SECURE);
sdp = dbopen(sbuf,
- O_RDWR|O_EXCL|O_SYNC, PERM_SECURE, DB_HASH, &openinfo);
+ O_RDWR|O_EXCL, PERM_SECURE, DB_HASH, &openinfo);
if (sdp == NULL)
error(sbuf);
@@ -289,13 +289,13 @@ main(int argc, char *argv[])
method = 0;
} else {
dp = dbopen(buf,
- O_RDWR|O_CREAT|O_EXCL|O_SYNC, PERM_INSECURE, DB_HASH, &openinfo);
+ O_RDWR|O_CREAT|O_EXCL, PERM_INSECURE, DB_HASH, &openinfo);
if (dp == NULL)
error(buf);
clean = FILE_INSECURE;
sdp = dbopen(sbuf,
- O_RDWR|O_CREAT|O_EXCL|O_SYNC, PERM_SECURE, DB_HASH, &openinfo);
+ O_RDWR|O_CREAT|O_EXCL, PERM_SECURE, DB_HASH, &openinfo);
if (sdp == NULL)
error(sbuf);
clean = FILE_SECURE;
diff --git a/usr.sbin/services_mkdb/services_mkdb.c b/usr.sbin/services_mkdb/services_mkdb.c
index 9ea66de..c928ea9 100644
--- a/usr.sbin/services_mkdb/services_mkdb.c
+++ b/usr.sbin/services_mkdb/services_mkdb.c
@@ -141,7 +141,7 @@ main(int argc, char *argv[])
err(1, "Cannot install exit handler");
(void)snprintf(tname, sizeof(tname), "%s.tmp", dbname);
- db = dbopen(tname, O_RDWR | O_CREAT | O_EXCL | O_SYNC,
+ db = dbopen(tname, O_RDWR | O_CREAT | O_EXCL,
(S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH), DB_HASH, &hinfo);
if (!db)
err(1, "Error opening temporary database `%s'", tname);
OpenPOWER on IntegriCloud