Compare commits

...

199 Commits

Author SHA1 Message Date
Richard Purdie
df76669bdd build-appliance-image: Update to morty head revision
(From OE-Core rev: 4b32784b8c95047dafbc7048bfe03e9e5ceb3367)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 09:18:16 +01:00
Richard Purdie
f627c9a573 poky: Bump distro version to 2.2.4
(From meta-yocto rev: 5d72ec2fac4a9782f5330cb45346c4f5f8bfdfca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-24 09:17:50 +01:00
Armin Kuster
e31e85d869 ruby: Update to 2.4.4
The dot releases are maint only.

2.4.4 included:
CVE-2017-17742: HTTP response splitting in WEBrick
CVE-2018-6914: Unintentional file and directory creation with directory traversal in tempfile and tmpdir
CVE-2018-8777: DoS by large request in WEBrick
CVE-2018-8778: Buffer under-read in String#unpack
CVE-2018-8779: Unintentional socket creation by poisoned NUL byte in UNIXServer and UNIXSocket
CVE-2018-8780: Unintentional directory traversal by poisoned NUL byte in Dir

(From OE-Core rev: ce12ff394281a42448d92109568db33739b2b542)

(From OE-Core rev: 43721cc12ce782603ecdc0aa3a514bc6c8d4f97f)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for Morty context]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 11:01:17 +01:00
Andre McCurdy
3be01630d8 ruby: fix typo in gmp PACKAGECONFIG option
(From OE-Core rev: 9fb931b69ece7f8a644f9e25600bcbbc9266a761)

(From OE-Core rev: a9b55cbec9f5ff11f92f50c529049e83ac898043)

(From OE-Core rev: b52c5967c24c37c0da48984a45521206e17e4291)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 11:01:17 +01:00
Ross Burton
ced662c5a5 ruby: remove spurious db build dependency
The dbm module uses gdbm by default which is also a build dependency.

(From OE-Core rev: 79121ff54420e5cc331552ca5620aed81a36aac9)

(From OE-Core rev: 20d9821e9131c3d715ed629ad38eed802f737056)

(From OE-Core rev: 5885a5f85096659445e752cee1525c43f4f38d73)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 11:01:17 +01:00
Martin Jansa
6b3b9062e3 test-dependencies.sh: remove /sysroots* between component builds
* glibc is now the only component in morty release which is using TMPDIR/sysroots-components (normally used only after RSS):
  oe-core$ git grep "\${STAGING_DIR}-components"
  meta/recipes-core/glibc/glibc-locale.inc:LOCALETREESRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
  meta/recipes-core/glibc/glibc-mtrace.inc:SRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale/scripts"
  meta/recipes-core/glibc/glibc-package.inc:do_stash_locale[sstate-outputdirs] = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
  meta/recipes-core/glibc/glibc-package.inc:do_stash_locale[sstate-fixmedir] = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
  meta/recipes-core/glibc/glibc-scripts.inc:SRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale/scripts"

  test-dependencies selective pruning of TMPDIR, deletes sysroots, but not sysroots-components

  which leaves TMPDIR/sysroots-components files from qlibc.do_stash_locale behind and when next build started in the same workspace it failed, because it was trying to overwrite files already there.

(From OE-Core rev: 386c183971929e5440cb3fa957d3ce8a93943b4f)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 11:01:17 +01:00
Martin Jansa
3af875b26b sstate-diff-machines.sh: Replace MACHINE_ARCH only at the beginning and separated with dash
* I had some components where the MACHINE name was also included in PV of allarch recipe
  which was tripping the script into saying that they have different signatures (because
  for one MACHINE was the string in PV replaced with 'MACHINE' and not for other MACHINEs

(From OE-Core rev: d75c28fc0b4b16eb75e9c68d9d6224a0d782607e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 11:01:17 +01:00
Martin Jansa
5e8674104c sstate-sysroot-cruft.sh: Extend the whitelist
* add more php5 entries

(From OE-Core rev: 23de89488b558276e35862e8342b728d91c3c488)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 11:01:17 +01:00
Armin Kuster
f2721188e7 byacc: Fic SRC_URI to use yocto sources loc.
ERROR: byacc-native-20161202-r0 do_checkuri: Fetcher failure for URL: 'ftp://invisible-island.net/byacc/byacc-20161202.tgz'. URL ftp://invisible-island.net/byacc/byacc-20161202.tgz doesn't work
ERROR: byacc-native-20161202-r0 do_checkuri: Function failed: do_checkuri

Use the file saved in the Yocto Project sources repos

(From OE-Core rev: 210cef54a09daf61e4c4237f9bb3afad161658b3)

(From OE-Core rev: f090c4499caa6c0fbec26a091361c6ed92a94ae3)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 11:01:17 +01:00
Alexander Kanavin
fce38c70d4 oe-selftest: no need to parse gpg output to determine the name of the signing key
The parsing fails on my machine, and we use a key with a hardcoded name,
and so can provide it directly.

(From OE-Core rev: b69bad2c4e51a24868422f39619a0598fd2a0533)

(From OE-Core rev: 9ef0bbcc319676436ddce0bab3f599288f57852e)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 11:01:17 +01:00
Oleksandr Kravchuk
d66a52219b libmpc: fix SRC_URI
(From OE-Core rev: 462021964a79a6c940cbce80a31a2ea3283e797c)

(From OE-Core rev: 04e5af853927cff2072fb4278a9d9fa2bd99812f)

(From OE-Core rev: 220d990fc472e069dafa45fee0ae663c42c3dfde)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15 11:01:16 +01:00
Juro Bystricky
0e730770a9 sanity.bbclass: Improved error message
When a non-existing MACHINE is specified, sanity check issues
the following message:

    Please set a valid MACHINE in your local.conf or environment

However, MACHINE can also be set in multiconfig .conf file(s).
Hence we may have several different MACHINE settings within one
(multiconfig) build, so the present error message is fairly
ambiguous.

This patch remedies this by explicitly naming the offending MACHINE and
by amending the list of places where this erroneous MACHINE definition
could have originated.

    MACHINE=xyz is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.

[YOCTO#10810]

(From OE-Core rev: 7b7cbba0bb93893029118e5798ec5831838a5bd9)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a7cb408dd784178197687a2129e936620bf6a0d3)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:23:05 +01:00
Tanu Kaskinen
d7897f17b9 libvorbis: CVE-2018-5146
Prevent out-of-bounds write in codebook decoding. The bug could allow
code execution from a specially crafted Ogg Vorbis file.

References:
https://www.debian.org/security/2018/dsa-4140
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5146

(From OE-Core rev: 7d5d262c03745e5c61e1e9c84f108d842d16e5ec)

(From OE-Core rev: ccf97c35f6153abc639f01c4940dda5e6e8a3fbe)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Tanu Kaskinen
b12bf1a293 libvorbis: CVE-2017-14632
Xiph.Org libvorbis 1.3.5 allows Remote Code Execution upon freeing
uninitialized memory in the function vorbis_analysis_headerout() in
info.c when vi->channels<=0, a similar issue to Mozilla bug 550184.

References:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14632

(From OE-Core rev: 6dcd8bdd5ffebafec5bbb811243f4dbf3a7038b8)

(From OE-Core rev: ccbef3848d749228a7947550f7712b872cff319f)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Tanu Kaskinen
4ec84083df libvorbis: CVE-2017-14633
In Xiph.Org libvorbis 1.3.5, an out-of-bounds array read vulnerability
exists in the function mapping0_forward() in mapping0.c, which may lead
to DoS when operating on a crafted audio file with vorbis_analysis().

References:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14633

(From OE-Core rev: f398fb04549577922e6265c0969c6d6c35a11e7c)

(From OE-Core rev: a7f1fa651620b98c211459e80e5d9608ce8f1866)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Armin Kuster
2861ecf224 package_manager: fix install_glob to use morty sdk pkgdir
(From OE-Core rev: c8ffc0a4456065479240de18e6080e90a7ee85c1)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Richard Purdie
05696923f6 glibc-package: Avoid race sstate races with do_stash_locale
The change to make do_stash_locale an sstate task between do_install and
do_package has some unforeseen problems since the function deletes part of
${D} but may or may not run depending on whether the task is installed from
sstate.

This cleans up the current "pre packaging" function to be more deterministic
and result in the same set of files, whichever code path we end up reaching
that point by. Its not an ideal sitation but it should avoid the race
failures we've seen on some builds.

(From OE-Core rev: 2a60bba00da9c4e2b1a1ce30e509dba82cc6c94a)

(From OE-Core rev: 9660e4d75230a8aed91a2fc4c887e332f52914e2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Richard Purdie
39ce1d5659 image/packagegroup/populate_sdk: Drop do_populate_sysroot task properly
Setting do_populate_sysroot as noexec means the code keeps thinking it can find
a manifest file for it. It also complicates sstate installtion since the code
would believe there is an sstate object there it should look for.

Instead, delete the task. This causes sdk failures as the dependencies are wrong
so fix those as well.

(From OE-Core rev: bd7d0314038a4c1a8e8c9ebdb7194f8e17db3fef)

(From OE-Core rev: 249feee857735171fc0c289fe18351203d013130)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for getVar True bit]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Ed Bartosh
825e432a0c toolchain-shar-extract: compare SDK and host gcc versions
If ext sdk is built by gcc version higher than host gcc version
and host gcc version is 4.8 or 4.9 the installation is known to
fail due to the way uninative sstate package is built.

It's a known issue and we don't have a way to fix it for above
mentioned combinations of build and host gcc versions.

Detected non-installable combinations of gcc versions and
print an installation error.

[YOCTO #10881]

(From OE-Core rev: bfb9ea2604557804bd8c16adb57ccdd868a4020f)

(From OE-Core rev: 44a5277d25da5ab76e4bf8ad3f534a8e9a7b30eb)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Alexander Kanavin
ccf7f86a49 populate_sdk_base.bbclass: add documentation packages to SDKs if api-documentation is in DISTRO_FEATURES
(From OE-Core rev: d2b7b3fca328449cd87997be7f897b59433a153d)

(From OE-Core rev: d4a0da43bc250215083fe413c64b9bef441994af)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Ross Burton
de9010edec sdk: streamline locale removal
For some reason dnf is aborting with the fairly useless "failed to read RPMDB"
error during SDK creation.  Luckily as we're just deleting locale packages we
can pass False to remove() to use RPM directly, which doesn't crash.

(From OE-Core rev: cb118806841e585ec6ca820360329ae7d122c0af)

(From OE-Core rev: 3ebd1a7db39ee5e7ea68e2642a14a03d9b48d8fa)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Ross Burton
85f9b65306 sdk: generate locale archive and remove packages
(From OE-Core rev: c6f1010a47df33b40320aa5784181b659a3254d7)

(From OE-Core rev: a043ec4fabad26861af83fdc54838544bb8bb3a8)

(From OE-Core rev: 3819f8848e4b7b61a76925586e00b586916ea21a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for getVar True bit]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Armin Kuster
8abd4d4149 distcc: Change SRC_URI
ERROR: distcc-3.2-r0 do_fetch: Fetcher failure: Unable to find revision d8b18df3e9dcbe4f092bed565835d3975e99432c in branch 3.2 even from upstream
ERROR: distcc-3.2-r0 do_fetch: Fetcher failure for URL: 'git://github.com/distcc/distcc.git;branch=3.2'. Unable to fetch URL from any source.
ERROR: distcc-3.2-r0 do_fetch: Function failed: base_do_fetch

[v2]
upstream deleted the branch and the hash no longer exists.

Took the git snapshot from yocto and created a copy on my github.
There was no offical 3.2 release, only rc versions.

(From OE-Core rev: 1dbffc25936733ca03b6d03c5bacb3fb496a61a5)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Christopher Larson
f6d64b08d4 buildhistory: fix latest_srcrev in the common case
buildhistory was writing srcrevs.values() as SRCREV when only one
srcrev/branch exists. This returns a view of the dictionary values in python
3, and used to return a list in python 2, neither of which is an appropriate
value for SRCREV. It was resulting in latest_srcrev files like this:

    # SRCREV = "346584bf6e38232be8773c24fd7dedcbd7b3d9ed"
    SRCREV = "dict_values(['346584bf6e38232be8773c24fd7dedcbd7b3d9ed'])"

Which in turn would result in invalid output in buildhistory-collect-srcrevs.
Fix by calling `next(iter())` on the `.values()`

(From OE-Core rev: 4243555ab91ab763a098259011dfa72156bfe0b3)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ef826a395612400924bbe49859d256b237ff59e1)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Alexander Kanavin
134aa03cd7 selftest/signing: add --batch to gpg invocation when importing keys
Otherwise it may pop up windows asking for passphrases which breaks
automated testing.

Newer YP releases and master already have the fix.

[YOCTO #12521]

(From OE-Core rev: 863916169fbe2686015b4f2279f49f08f41e9a47)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Maxin B. John
b85ff208bc grub-efi: fix build failure
grub-efi build fails with the following error on Fedora 26:

| ../grub-2.00/util/raid.c: In function 'grub_util_raid_getmembers':
| ../grub-2.00/util/raid.c:91:13: error: In the GNU C Library, "makedev"
is defined
|  by <sys/sysmacros.h>. For historical compatibility, it is
|  currently defined by <sys/types.h> as well, but we plan to
|  remove this soon. To use "makedev", include <sys/sysmacros.h>
|  directly. If you did not intend to use a system-defined macro
|  "makedev", you should undefine it after including <sys/types.h>.
[-Werror]
|         makedev (disk.major, disk.minor));
|              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Resolve the build error by backporting the fix from upstream.

[YOCTO #12595]

(From OE-Core rev: a57e3e387a962a253e8f4f1519141eb7f8ce5e41)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Armin Kuster
e782da1fbd lib/oe/terminal.py: use an absolute path to execute oe-gnome-terminal-phonehome
A flaw was found on my Ubuntu 14.04.5 LTS, on which that gnome-terminal is
the default terminal, when I run any of the tasks:
bitbake busybox -c menuconfig/devshell/devpyshell
bitbake virtual/kernel -c menuconfig/devshell/devpyshell

I got a error as follows:
"Failed to execute child process "oe-gnome-terminal-phonehome" (No such file or directory)"

Seems the environment of the process calling Popen is not passed to the
child process, this behaviour is a known issue in Python bug tracker:
http://bugs.python.org/issue8557

It could be fixed by using an absolute path instead per test.

(From OE-Core rev: 5055bcabca542074cad00c92edf79f3a1551ac32)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2117c148ef07d84bc605768e3b3671b0126b9337)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Tanu Kaskinen
c4a1efae07 e2fsprogs: fix compatibility with glibc 2.27
glibc 2.27 added function copy_file_range(), and e2fsprogs happens to
have a different function with the same name. The conflict made
e2fsprogs-native build fail.

Here's a backport of a fix from upstream, the fix was released in
e2fsprogs 1.43.8.

The master branch doesn't need this fix, since it has new enough
e2fsprogs version. At least rocko, pyro and morty need this, I haven't
checked older stable branches. Apparently the problematic function was
introduced in e2fsprogs version 1.43.

(From OE-Core rev: d6a297d259d0c4b83f708d4a357c9941c0e478a3)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Ross Burton
6026ef7fad qemu: fix memfd_create with glibc 2.27
glibc 2.27 has added memfd_create() but this conflicts with a copy in qemu, so
take a patch from upstream to fix building with glibc 2.27.

(From OE-Core rev: da02349c540a8e17073fef8f3ca3ea8c796d6ade)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Andreas Oberritter
afa57d3bc9 libc-package.bbclass: split binary localedata even more if asked to
If GLIBC_SPLIT_LC_PACKAGES is set to a non-zero value, convert
glibc-binary-localedata-XX-YY to be a meta package depending on
glibc-binary-localedata-XX-YY-lc-address and so on. This enables
saving quite some space if someone doesn't need LC_COLLATE for
example.

Some regex code was removed from output_locale_binary_rdepends,
because legitimize_package_name already converts to lowercase.

(From OE-Core rev: 40b4b31092058f8833ada3dfc254d362dd3139c1)

(From OE-Core rev: d11222c452d79cc2044a21432336c4a59d08327b)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Richard Purdie
1580cb8cef glibc: Separate locale files to their own sstate task
Putting the locale and script files into the sysroot for use by their
specific recipes used to be a simple way to share the files. With RSS,
we don't want to copy these into many different recipes so put these
files in their own sstate task.

(From OE-Core rev: c283f2532851e2a65e08fe7b3fd71c5d9abb70f2)

(From OE-Core rev: bb95c7f9edfc73ad9c5ef47a5e897b19086030a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Juro Bystricky
92765c87f8 glibc-locale.inc: avoid duplicate packages
PACKAGES_DYNAMIC contained an identical set of packages twice.
I suspect this was a result of global search/replace when moving
recipes from eglibc to glibc long time ago.

(From OE-Core rev: 9d0f0fa80ffbafc2d4a1df0fa3ac5d84396a8182)

(From OE-Core rev: 8d6f11c6dc0543dff330a0bfd0772bda969016ed)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Gianfranco Costamagna
b8ad044c28 glibc-locale.inc: fix typo in comment
(From OE-Core rev: 74ef87b31e33436e82f4985fa99b570726a5e564)

(From OE-Core rev: 43e3fb2e5329aaea3ae425dd2903dc11645e7663)

Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com>
Signed-off-by: Lorenzo Chianura <lorenzo.chianura@abinsula.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Zhenbo Gao
c4f7c39a43 archiver: avoid archiving source for glibc-locale
Avoid archiving source for glibc-locale as its tasks
do_fetch do_unpack and do_patch have already been deleted.

(From OE-Core rev: 208f397c0dc48d56bc7900e76eb48406d5865c72)

Signed-off-by: Zhenbo Gao <zhenbo.gao@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Ross Burton
5f6fc4ba8f cross-localedef-native: add way to specify which locale archive to write
localedef has no way to specify which locale archive to use, and the
compile-time default isn't useful as it points to the work directory.

Add support to read an environmental variable for the path, and don't fail to
write a new locale archive.

(From OE-Core rev: bf0f205a3c3714926649bd69db29e4df1c0ea112)

(From OE-Core rev: 38b0e8d9b1944a955e4ed682184dafdce20db4b9)

(From OE-Core rev: 3c67ea2f357b6f97cce2fcbaef4dfd79b435ad6e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:48 +01:00
Ross Burton
1eebf6ed45 populate_sdk_base: depend on nativesdk-glibc-locale
If we're building a SDK and we're using glibc so may be installing locales,
add a build-dependency on natiesdk-glibc-locale so the locales we need will
exist.

(From OE-Core rev: 8d6869a0a89d8cf3c6e57723fab2750ba2c885db)

(From OE-Core rev: bad37bfd766c39efe5a5db95668c855d1c45a059)

(From OE-Core rev: 15a8681bcae24da0fd2551a49e4b59b3efb24886)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Ross Burton
a9f439367d populate_sdk: install UTF-8 locales in SDKs
As glibc 2.27 can't read older locale-archives, SDKs using glibc 2.27 on hosts
using glibc earlier than 2.27 won't be able to find any locales, so bitbake
won't start and Python can't use UTF-8.

So by default install all locales into the SDK.  Special-case Extensible SDKs by
installing no locales as they ship glibc in a buildtools, and that will have the
locales.

Locale installation requires cross-localedef, so add that to DEPENDS.

Also remove the explicit en_US addition in buildtools-tarball as it is now
redundant.

(From OE-Core rev: 96896568d197cd06302713c24c0f7d91bfaea6c1)

(From OE-Core rev: 385dd115d00aabbcd970ef6b62353480d87a5a55)

(From OE-Core rev: 065ddf01b914805298fb1ddf83ae32b5018856b3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Ross Burton
fc0a773246 sdk: only install locales if we're using glibc
Using glibc-locale to install locales only makes sense if we're using glibc.

(From OE-Core rev: 8fc80734053645fa893694dfe33ddaee99aa9a1a)

(From OE-Core rev: 1ca33a798f5edf4bb1e695a79a46088dd23b6858)

(From OE-Core rev: 75918061572c0943aa4ea24df07b4ec1ae1aa09f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for the getVar True bit]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Ross Burton
f1de1761b3 sdk: install specified locales into SDK
(From OE-Core rev: 9b1c3dbe79f67d3b46e0f90a73bce6c61f094a50)

(From OE-Core rev: f223f90d07965eef8ddbb047abd1f75da99b1c08)

(From OE-Core rev: 691925df192b4b1671ba9d19cbc3602654826451)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for getVar True bit]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Ross Burton
eff7238cf3 package-manager: add install_glob()
(From OE-Core rev: 8d1b530c82de386d4183f5673c060b9d416a3835)

(From OE-Core rev: b9a7821086b5165fda9f1c8a7c79a7997803f2a6)

(From OE-Core rev: c01a2c01a0c78a72ed715ac31a4578013ff44231)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup for getVar True bit]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Ross Burton
9ac4f5b88e package_manager: improve install_complementary
- No need to use bb.utils.which() as subprocess will search $PATH
- Clarity flow by moving the install inside the try/except

(From OE-Core rev: f4d22b7195dd8f08fe26dd353c7e860208e87d6a)

(From OE-Core rev: 1267df89164d7dcbbf77668ac49452bd0df87b54)

(From OE-Core rev: fdc95793dff3dbfa49faa19c51c7e8c9cd67dc6c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup do to merge conflict]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Martin Jansa
c9159f18ed package_manager: flush installed_pkgs file before oe-pkgdata-util uses it
* since this commit:
  commit f5a1013ffa9815f22e13989e2bcb83f966e7ce2c
  Author: Ross Burton <ross.burton@intel.com>
  Date:   Tue Apr 18 16:19:12 2017 +0100

    package_manager: don't race on a file when installing complementary
    packages

  the file isn't closed before oe-pkgdata-util uses it and this
  temporary file might look empty to oe-pkgdata-util, because it
  wasn't flushed yet. Which resulted in almost empty debugfs tarballs
  and no locale packages in regular rootfs.
* without this change:
  124K May 30 07:41 core-image-full-cmdline-raspberrypi3-64-20170530054003-dbg.rootfs.tar.gz
* with this change:
  173M May 30 07:29 core-image-full-cmdline-raspberrypi3-64-20170530052715-dbg.rootfs.tar.gz

(From OE-Core rev: 9b34200048b3d2b477a19b7ddc8d447f873adbb2)

(From OE-Core rev: 667c43354e38c2fec1829089de0b7de076498e85)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 877d38db08aa7060d16405443cf70539c559fe82)
Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Ross Burton
0652fb68b2 package_manager: don't race on a file when installing complementary packages
PackageManager.install_complementary() uses WORKDIR/installed_pkgs.txt as a
temporary file but if two tasks are executing for the same recipe which uses
this file (e.g. bitbake my-image my-image:do_populate_sdk) then it's possible
for the file to be overwritten or deleted.

Instead of using a static filename, use tempfile to generate a unique name and
ensure it is cleaned up when finished.

Also move the glob generation/expansion earlier in the function as if there are
no globs to install, we don't need to generate a package list.

(From OE-Core rev: f5a1013ffa9815f22e13989e2bcb83f966e7ce2c)

(From OE-Core rev: b02b54192ce71606aac30c21f3ff2199fa70a529)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup do to merge conflicts]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Richard Purdie
0200ab2a22 lib/oe/package_manager/sdk: Ensure do_populate_sdk_ext and do_populate_sdk repos don't conflict
(From OE-Core rev: c9c0927bb6e71253cbdd5b6b780dca829526e1d8)

(From OE-Core rev: a18942b0b3b848ccfa4bc50c56a565c279da9d74)

(From OE-Core rev: 94e21cf21f8d8adad352ef2f94d4f75e36cd843a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup do to merge conflicts]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Ross Burton
55049700e4 lib/oe/package_manager: bail if createrepo can't be found
If createrepo isn't found then the errors later are mysterious, so explicitly
check and error out early if it isn't there.

(From OE-Core rev: e09636bbb3ea8ec58984197fd9c691bb908efe00)

(From OE-Core rev: c87361fc886432a9db584712bf3e41ecd0541960)

(From OE-Core rev: 0adc876ed8be21190510a91220f9755c8e9df021)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fixup do to merge conflicts]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Stephano Cetola
8cdf2a2e36 package_manager: remove strings and migrate to direct arrays
When using subprocess call and check_output, it is better to use arrays
rather than strings when possible to avoid whitespace and quoting
problems.

[ YOCTO #9342 ]

(From OE-Core rev: b12cec9a5ef14ecb02be7feec65508cf5d65c795)

(From OE-Core rev: 60ba1d424636bdd5700ec3ee0acec5c19550b884)

Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Linus Wallgren
2d5e8043be lib/oe/package_manager: .deb pre/postinst args
The debian policy manual and MaintainerScripts wiki page states that the
postinst script is supposed to be called with the `configure` argument
at first install, likewise the preinst script is supposed to be called
with the `install` argument on first install.

https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html
https://wiki.debian.org/MaintainerScripts

(From OE-Core rev: 3d9c3aae54589794ce3484fa1b21d1af2bd32661)

(From OE-Core rev: ba59b6416f24ad53f1caccf9185b46cb60da213a)

Signed-off-by: Linus Wallgren <linus.wallgren@scypho.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Ross Burton
8d9783464a glibc: relocate locale paths in nativesdk
nativesdk is built with a specific prefix but this will be different at install
time, however glibc hard-codes the path to locale files. Expand these strings to 4K and move them to a magic segment which we can relocate when the SDK is installed.

(From OE-Core rev: 59e0679378aac27c4fea0b06721e0a184a93c100)

(From OE-Core rev: c1f220f89496de51d3aa6eacd42cd8d3ddaad104)

(From OE-Core rev: 39d0aca4e3e4e1115ee9db64e84625f5827ea50f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

(From OE-Core rev: e1faf9ac7e89d33aba33547ede19a10aaa034207)
Fixup patch

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Ross Burton
8e6c4c3164 glibc: don't use host locales in nativesdk
(From OE-Core rev: d7ded85766852689a0d774c896a11d0609004ab2)

(From OE-Core rev: 152e045f42a66a0f74f6c097213f023c2c740292)

(From OE-Core rev: d5adeb887e9b56e4c047a8c5488fb89831e88727)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Ross Burton
e964c888c7 default-distrovars: don't rename locales for nativesdk
(From OE-Core rev: 909da982c74b2ed931a65dda248557cb18f773e0)

(From OE-Core rev: 1612bce132314ad2ac41c796480c598457d600cc)

(From OE-Core rev: 15ef6ab7ae3d015ef319c9631bb8ae10fcb2f5d9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-05 15:13:47 +01:00
Avinash Reddy Palleti
34b26ec184 linux-firmware: Add reference to iwlwifi-8000C firmware
Adding reference to iwlwifi-8000c firmware which was removed erroneously in
commit  3e4b382c0c

(From OE-Core rev: 72885c4132e8ab7e6c70a4534870805d6ad7047f)

(From OE-Core rev: 7c6501b66a7d17071c8b012d7fd6e09edf28c671)

Signed-off-by: Avinash Reddy Palleti <avinash.reddy.palleti@intel.com>
Acked-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:58:33 +00:00
Armin Kuster
4e7689843a linux-yocto-rt/4.1: update to include spectre fixes
(From OE-Core rev: 4b235f09dc3bfe76ae095c7ff99e0eb7b8badca7)

(From OE-Core rev: 6c0fd049c9b5ae7f170cae8fe6edc98ecfe053fe)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:58:33 +00:00
Armin Kuster
18cb208a89 linux-yocto/4.1: updated to include spectre fixes
(From OE-Core rev: 06b57932db48eeb42989c6eb0010e8b1b713b7e9)

(From OE-Core rev: bafd21e0ba9f8713e0160684ac20ae3ecba19b42)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:58:33 +00:00
Armin Kuster
b6b0b0167e linux-yocto-tiny/4.1: update with spectre fixes
(From OE-Core rev: 61b365ab2ece1469cf85133112d48891cdfe310e)

(From OE-Core rev: da4174e433d14799a41937cb1989f0d03066687b)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:58:32 +00:00
Armin Kuster
60df783d42 linux-yocto-tiny/4.1: update to 4.1.49 plus meltdown
(From OE-Core rev: 7162fd28422355778dfa203db52d9b868cd496cb)

(From OE-Core rev: 426f8fdd99db8a2769f688573890e4ec79435741)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:58:32 +00:00
Armin Kuster
69e4cc04b7 linux-yocto-rt/4.1: update to 4.1.49 plus meltdown
(From OE-Core rev: 90b6eb24e90003cf7ba66d146e370408eb978441)

(From OE-Core rev: 539a337e840db6fdd796b4215ffafbb7b9eb9433)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:58:32 +00:00
Armin Kuster
0eb74af0ee linux-yocto/4.1: update to 4.1.49 plus meltdown
(From OE-Core rev: bf2362cfa79722798c1798c82233190f8280a259)

(From OE-Core rev: a84d164bec5f7f2a60e8ab0e5f354ea383347bc0)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-19 15:58:32 +00:00
Richard Purdie
17db601851 world-broken.inc: blacklist portmap on musl
portmap was dropped in rocko and later and doesn't work with libtirpc
so don't build it for musl

(From OE-Core rev: ceeda7a60c613a93f7bd3c8234010d34e3e98b3b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:48:00 -07:00
Richard Purdie
6dc5aa98ce uninative: Add compatiblity version check
If glibc is newer on the host than in uninative, the failure mode is
pretty nasty for clusters where the sstate is shared, including the Yocto
Project autobuilder.

This check aborts the use of uninative in such scenarios where a newer
glibc version appears and avoids corruption of sstate caches.

We use ldd to check the glibc version since that is included in libc-bin
(or equivalent) which locales use so it should always be present.

(From OE-Core rev: 676d4d91064d4e4f7abb2bd3597a0ddd5b7e2390)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:48:00 -07:00
Richard Purdie
a85afd3348 yocto-uninative: Upgrade to 1.8 version with glibc 2.27
Now distros are starting to ship glibc 2.27 we need a uninatve version
which contains glibc 2.27 which is in the 1.8 version.

(From OE-Core rev: 922dae3a2adde21717ebcd1b5fe8e75f69b391df)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:48:00 -07:00
Richard Purdie
5c47970e33 unfs3: Fix libtirpc usage for unfs3-native version
(From OE-Core rev: 955c4855130ee01e20a9e7f5a76ffee75d77ebe3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:47:59 -07:00
Khem Raj
8fed6fc343 unfs3: Fix build with musl
Should also fix build on new build hosts where
with glibc 2.27 rpc support is dropped in favor
of libtirpc

(From OE-Core rev: 62552a76b65b7ab5fa71b188537ae0582c3cbaea)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:47:59 -07:00
Khem Raj
1379647a05 libtirpc: Extend to native and nativesdk recipes
(From OE-Core rev: b7b22cb443f1fb9683643c60e983802bd6c8e40d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:47:59 -07:00
Ross Burton
ca574f76ea libtirpc: stop dropping in NIS headers
libtirpc prior to 1.0.2 assumed that the system provided nis.h but this isn't
always true.  Until now we've been using a tarball of the missing files from
Gentoo, but libtirpc 1.0.2 added a copy of nis.h to the sources so this isn't
required anymore.

(From OE-Core rev: cc20757169f833c322fbdee592788e37ed2d549f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:47:59 -07:00
Maxin B. John
5e6c7832e5 libtirpc: upgrade to 1.0.2
1.0.1 -> 1.0.2

Remove these Backported and upstreamed patches:
        1. 0001-Fix-for-CVE-2017-8779.patch
        2. libtirpc-0.2.1-fortify.patch
        3. libtirpc-1.0.2-rc3.patc

(From OE-Core rev: fa997ff110c490337c79658bdb4baf67edc65521)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:47:59 -07:00
Fan Xin
38e159de48 libtirpc: Fix CVE-2017-8779
This vulnerability is also called "rpcbomb".
Backport upstream patch to fix this vulnerability.
CVE: CVE-2017-8779

(From OE-Core rev: 19faff705a0458570bc640adbbdc07348a831b0c)

Signed-off-by: Fan Xin<fan.xin@jp.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:47:59 -07:00
Khem Raj
2f22172fea libtirpc: Fix build error due to missing stdint.h> include
(From OE-Core rev: fad973276c774149d79cb4cb824301d05c0a0778)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:47:59 -07:00
Khem Raj
a860a24135 libtirpc: Enable des APIs for musl
Use memset() API instead of __bzero()
Drop the patch removing des_* functions for musl

(From OE-Core rev: f77f93f9458e2279ec2322578b1366fa1a632485)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:47:59 -07:00
Khem Raj
a994748155 libtirpc: Expose key_secretkey_is_set API
libnsl needs this API

(From OE-Core rev: 36f9db435506922976b68ad0912d26674d574653)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:47:59 -07:00
Khem Raj
f7f0a0a7bd libtirpc: Backport fixes from 1.0.2rc3
These fixes are needed for it to work with gcc7

(From OE-Core rev: 387cd21a6792b3243c4fde84231d6e164e660f98)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-15 15:47:59 -07:00
Richard Purdie
4dd8c6f663 gcc: Remove patch causing ICE on x86_64 valgrind compile
| ../../valgrind-3.12.0/VEX/priv/host_ppc_isel.c: In function 'iselInt64Expr':
| ../../valgrind-3.12.0/VEX/priv/host_ppc_isel.c:3270:1: internal compiler error: Segmentation fault
|  }
|  ^
| Please submit a full bug report,
| with preprocessed source if appropriate.
| See <http://gcc.gnu.org/bugs.html> for instructions.
| rm -f libvexmultiarch-amd64-linux.a
| Makefile:1813: recipe for target 'priv/libvex_amd64_linux_a-host_ppc_isel.o' failed

Remove the patch to gcc causing this until the issue can be figured out.

(From OE-Core rev: 67e99321233e6a2897a0de33f0b98cd89bc9d3dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Juro Bystricky
1d3634423c gcc6: Backport few more patches
Backported series of patches from https://github.com/hjl-tools/gcc.git
branch /hjl/indirect/gcc-6-branch/master which contains
an IA patch series for security related issues

(From OE-Core rev: 155936a8e5d29d26ef80333920a056f7c3211657)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Andre McCurdy
12b68d0fc7 gcc6: enable FL_LPAE flag for armv7ve cores
The following commit added the FL_LPAE flag to FL_FOR_ARCH7VE, but
neglected to also add it to the armv7ve compatible cores defined in
arm-cores.def.

  af2d9b9e58

The result is that gcc 6.4 now refuses to allow -march=armv7ve and
-mcpu=XXX to be used together, even when -mcpu is set to an armv7ve
compatible core:

  arm-linux-gnueabi-gcc -march=armv7ve -mcpu=cortex-a7 -Werror ...
  error: switch -mcpu=cortex-a7 conflicts with -march=armv7ve switch [-Werror]

Fix by defining flags for armv7ve compatible cores directly from
FL_FOR_ARCH7VE, rather than re-creating the armv7ve flags
independently by combining FL_FOR_ARCH7A with the armv7ve specific
FL_THUMB_DIV and FL_ARM_DIV flags.

(From OE-Core rev: 9923939703d918461d789712e14420a38ebf978b)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Khem Raj
622b00fa84 gcc6: Fix unaligned STRD issue on ARM
Backport
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445

Fixes [YOCTO 12297]

(From OE-Core rev: 588382b586eb27ba4825d3bdc0d0a807e956cf24)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 568227133be3f9f015679df3525f6c4f86304fd0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Khem Raj
49b2fafe0a gcc6: Upgrade to 6.4
(From OE-Core rev: 02d2a14333b3cbc8e6acf74245f3db6b6b94c91b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7874fa86cb583fe6a178b95ead09430486197197)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Khem Raj
db0b3dbc3d gcc: Fix libssh_nonshared linker specs for ppc/musl
The change to link libssp_nonshared.a only for musl was to move
spec file changes to config/linux.h under a conditional when
DEFAULT_LIBC == LIBC_MUSL which worked fine for all but ppc
since gcc for ppc provided its own linux.h overrides which are
used. This patch duplicates the change in those headers too

Cherry-picked from oe-core master 9d39168a6acfa1f289a4448271c0bf9caaea10ec

(From OE-Core rev: 7d391a9e566a6ddc2970fc666a45570310bdc780)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Khem Raj
3b413b58ed gcc: Link libssp_nonshared.a only on musl targets
glibc already provides the content for libssp_nonshared
in libc_nonshared.a therefore we dont need to make it
universal.

This also fixed build issues on glibc when linking statically
and using -fstack-protector

Fixed errors like
/mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libc.a(stack_chk_fail.o): In function `__stack_chk_fail':                                                                       /usr/src/debug/glibc/2.26-r0/git/debug/stack_chk_fail.c:27: multiple definition of `__stack_chk_fail_local'                                                                                                                                   /mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libssp_nonshared.a(libssp_nonshared_la-ssp-local.o):/usr/src/debug/gcc-runtime/7.1.0-r0/gcc-7.1.0/build.i586-bec-linux.i586-bec-linux/i586-bec-linux/libssp/../../../../../../../../work-shared/gcc-7.1.0-r0/gcc-7.1.0/libssp/ssp-local.c:47: first defined here                                                                                                              collect2: error: ld returned 1 exit status

Cherry-picked from oe-core master d71eba26850838b2878efea3f8c392a2eb2ebbfb

(From OE-Core rev: 27eaa97595cbac38a8bec118fe3d5f8920ab814e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Khem Raj
825073b8ff gcc-runtime: Disable libitm on riscv
(From OE-Core rev: 5098e46cd7101bcc66dd579352292136b29d840b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 21caa8bcda93ce67ef58548f7b85d0569d13d0b9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Khem Raj
7e12df5bec gcc-6.3: Backport patch to fix ICE on ARM
Fixes
internal compiler error: Max. number of generated reload insns per insn is achieved (90)

(From OE-Core rev: 7f5485d2b8f978964f1f932fd328c98d0a1872c0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d2631f45a057c53797b7ba657662f35f66a2b04e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Juro Bystricky
4cb2af5af8 gcc-6.3.inc: Use ucontext_t not struct ucontext.
Use ucontext_t not struct ucontext in linux-unwind.h files.

Current glibc no longer gives the ucontext_t type the tag struct
ucontext, to conform with POSIX namespace rules.  This requires
various linux-unwind.h files in libgcc, that were previously using
struct ucontext, to be fixed to use ucontext_t instead.  This is
similar to the removal of the struct siginfo tag from siginfo_t some
years ago.

Backport of patches by Joseph Myers, taken from
https://gcc.gnu.org/viewcvs/gcc?limit_changes=0&view=revision&revision=249957

[YOCTO #12083]

(From OE-Core rev: 063f5558ef2040b6d2c34caa553ed09733fc6470)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit ec1c18d866c137b1fa523d0fcc29f65a28f59f44)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Jussi Kukkonen
2bee048a3b gcc: Remove unused patch
CVE-2016-4490 applied to gcc < 6.1.1, our version is 6.3

(From OE-Core rev: 869d7ddb30e5c522a3e7e200b0696340d37f5198)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d8329861bf6f48f6e541a04062b8d1f373dfcd78)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:54 -07:00
Yuanjie Huang
964bd533a9 gcc: Fix CVE-2016-6131 in libiberty
[NVD] -- https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-6131

The demangler in GNU Libiberty allows remote attackers to cause a denial
of service (infinite loop, stack overflow, and crash) via a cycle in the
references of remembered mangled types.

[BZ #71696] -- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71696

2016-08-04  Marcel Böhme  <boehme.marcel@gmail.com>

	PR c++/71696
	* cplus-dem.c: Prevent infinite recursion when there is a cycle
	in the referencing of remembered mangled types.
	(work_stuff): New stack to keep track of the remembered mangled
	types that are currently being processed.
	(push_processed_type): New method to push currently processed
	remembered type onto the stack.
	(pop_processed_type): New method to pop currently processed
	remembered type from the stack.
	(work_stuff_copy_to_from): Copy values of new variables.
	(delete_non_B_K_work_stuff): Free stack memory.
	(demangle_args): Push/Pop currently processed remembered type.
	(do_type): Do not demangle a cyclic reference and push/pop
	referenced remembered type.

cherry-picked from commit of
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239143 138bc75d-0d04-0410-961f-82ee72b054a4

(From OE-Core rev: 3c288b181a4cfecc80b48994f4dd2df285e4d1d0)

(From OE-Core rev: be00ad34a3827a4205718609f349bc6e8a09733b)

Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 96a16c4181d18b8580dad243350d589586cb2b07)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:53 -07:00
Stephen Arnold
1118ff07f4 gcc-6: Add fix for missing no-PIE flags
Fixes build on hardened PAX host with gcc-5 (linker error on relocs).
Completes no-PIE config by adding to ALL_* flags variables.
Borrowed from Gentoo gcc patches, tested on 2 hardened amd64 hosts.

Upstream-Status: Inappropriate [configuration]

Commited by: Gentoo Toolchain Project <toolchain@gentoo.org>
(From OE-Core rev: c178791cd78d5a9ebc4d7b7790e647a9bafe9cf2)

(From OE-Core rev: e54f26a0dbfc8de22ce8326ac77d1097d13f6e2c)

Signed-off-by: Stephen Arnold <stephen.arnold42@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit fcb236ea7cd1ac052719187fefed60ebf1a30ac8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:53 -07:00
Khem Raj
d80d10b4d4 gcc-6: Sync gcc stddef.h with musl stddef.h
GCC provides some of std* headers including stddef.h
and it syncs with glibc definitions via __needed* defines
to find which datatypes are expected to be defined on top
of glibc. we need same for musl.

Drop unused 0048-ARM-PR-target-71056-Don-t-use-vectorized-builtins-wh.patch

(From OE-Core rev: 5c3cfa24e49cbea34c74009b91bf96e0f9a00a63)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 7da04721a620ad741ea50adf116e6b5afd47caa5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:53 -07:00
Khem Raj
05bc5b3b5b gcc6: Upgrade to 6.3.0
6.3.0 is a bugfix release in gcc 6 series

Cherry-picked from oe-core master 36ffcd1d7d2ab9dcc91e9c09623a6613a248bc69

(From OE-Core rev: c24f6de26efdfb13b95e51b4531d1e111fab409c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:53 -07:00
Pavel Modilaynen
d5c9d46de3 buildstats.bbclass: Avoid index exception in /proc/PID/io parsing
There is some probability (depends on system load) to get empty
or line containing "0" as the last line while reading /proc/PID/io.
Avoid build failure by checking if line contains separator
":" before split.

Backport from pyro commit b26feaf51af55f17fad79dbd53dd3ec0a37c38ff

(From OE-Core rev: 31a098032eb82eb40eaa3952de4d29ab472e368a)

Signed-off-by: Pavel Modilaynen <pavelmn@axis.com>
Signed-off-by: Daniel Lublin <daniel@lublin.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:53 -07:00
Khem Raj
a9cf5f2a6e gnutls_3.5.3.bb: Fix native build on distro with kernel < 3.4.17
When using distros which use old kernels gnutls fails to build
due to missing SYS_getrandom, therefore we need to check for this
before using it.
Fixes errorr e.g.

| ../../../gnutls-3.5.3/lib/nettle/rnd-linux.c: In function 'have_getrandom':
| ../../../gnutls-3.5.3/lib/nettle/rnd-linux.c:59:42: error: 'SYS_getrandom' undeclared (first use in this function)
|  #  define getrandom(dst,s,flags) syscall(SYS_getrandom, (void*)dst, (size_t)s, (unsigned int)flags)

(From OE-Core rev: ce18ec34549cf11d84a906c2abe7a492b8687c4f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-14 07:55:53 -07:00
Richard Purdie
97690dfe87 bitbake: providers: Fix determinism issue
We saw builds where runtime providers were sometimes changing order and the
build result was therefore non-deterministic. For example it could show:

DEBUG: providers for lib32-initd-functions are: ['lib32-lsbinitscripts', 'lib32-initscripts']
or
DEBUG: providers for lib32-initd-functions are: ['lib32-initscripts', 'lib32-lsbinitscripts']

which could cause a test to pass or fail.

This change ensures we don't rely on the random order of dictonaries in
memory and act deterministically.

(Bitbake rev: da85da9b58ed252c7b80a437fb5babff9e6dde48)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-09 06:12:14 -08:00
Alexander Kanavin
4f6027c30a p11-kit: take source code from official git
The previous tarball URI seems to be gone.

Also, adjust a few things to make it actually build;
handling autotools-based projects from git checkouts is always harder
than taking them from tarballs :-(

(From OE-Core rev: b4542e867d54c56e6ef088fac28ae3d5e6c0d7bc)

(From OE-Core rev: ee49a37d096a76cce349d6eff7964daada58efb1)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Armin Kuster
c323026d9c ruby: update to 2.4.3
This fixes a segfault in arm64 multilib.

Drop CVE-2017-14064.patch

Additional CVE included are 2.4.3:
CVE-2017-17405: Command injection vulnerability in Net::FTP

Additional CVE included are 2.4.2:
CVE-2017-0898: Buffer underrun vulnerability in Kernel.sprintf
CVE-2017-10784: Escape sequence injection vulnerability in the Basic authentication of WEBrick
CVE-2017-14033: Buffer underrun vulnerability in OpenSSL ASN1 decode
CVE-2017-14064: Heap exposure in generating JSON

Ruby Gems:
DNS request hijacking vulnerability. (CVE-2017-0902)
ANSI escape sequence vulnerability. (CVE-2017-0899)
DoS vulnerability in the query command. (CVE-2017-0900)
vulnerability in the gem installer that allowed a malicious gem to overwrite arbitrary files. (CVE-2017-0901)

(From OE-Core rev: 5bf664ba85c06d17c6e8c200301e42bc5fdab75e)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Ross Burton
3c735b01da insane: consider INSANE_SKIP without package-specifier too
this is needed for the updated linux-firmware as it needs this INSANE_SKIP support

(From OE-Core rev: 618093c6b7c919f25094f56b82610bee7c97f99f)

(From OE-Core rev: 4c1de18cb5d2bf4067246bf7242abde0f0917a3a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 604939186cc08ab0429ebe00f3e32661847f0cf0)

Adjusted for pyro context
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Adjusted for morty contect
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Armin Kuster
e9b9b59ca1 portmaper: checkuri fails.
ERROR: portmap-6.0-r9 do_checkuri: Fetcher failure for URL: 'http://www.sourcefiles.org/Networking/Tools/Miscellanenous/portmap-6.0.tgz'. URL http://www.sourcefiles.org/Networking/Tools/Miscellanenous/portmap-6.0.tgz doesn't work

change to fossies

[ Yocto #12453 ]

(From OE-Core rev: 1c98acf52b702a2bc39e20c8a27850c830063bb4)

(From OE-Core rev: ae55f908420de9d68426f6e9159c8efa1ba1b337)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Khem Raj
267f2f4c0b gnu-efi: Fix build with gcc7
(From OE-Core rev: a253743f3e3badadb0afe90a277dd4d252b32c6c)

(From OE-Core rev: 264d276de62e3ea0c9b546d2f0b5d555a926bee7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Fixup for mporty context
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Bruce Ashfield
fb6863ff8f linux-yocto/4.4: update to v4.4.113
Integrating the korg 4.4 -stable releases up to 113. These include
Spectre and Meltdown mitigation patches. Changelog follows:

   f0d0a93b0e81 Linux 4.4.113
   38bc402237f8 MIPS: AR7: ensure the port type's FCR value is used
   11e619414b69 x86/retpoline: Optimize inline assembler for vmexit_fill_RSB
   58f96ac5dba6 x86/pti: Document fix wrong index
   6cb73eb80451 kprobes/x86: Disable optimizing on the function jumps to indirect thunk
   9b8bd0d35868 kprobes/x86: Blacklist indirect thunk functions for kprobes
   799dc737680a retpoline: Introduce start/end markers of indirect thunk
   f59e7ce17ba3 x86/mce: Make machine check speculation protected
   ff535919c136 kbuild: modversions for EXPORT_SYMBOL() for asm
   6b1c99e275c0 x86/cpu, x86/pti: Do not enable PTI on AMD processors
   5ecd5c8388f0 arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
   7e7b086ef2fe dm thin metadata: THIN_MAX_CONCURRENT_LOCKS should be 6
   9c7755af771a dm btree: fix serious bug in btree_split_beneath()
   b7bd013a3fe0 libata: apply MAX_SEC_1024 to all LITEON EP1 series devices
   082dfe6141f3 can: peak: fix potential bug in packet fragmentation
   2d5523bf47b4 ARM: dts: kirkwood: fix pin-muxing of MPP7 on OpenBlocks A7
   d5276c013713 phy: work around 'phys' references to usb-nop-xceiv devices
   cf3625004e6c tracing: Fix converting enum's from the map in trace_event_eval_update()
   b6306f3fdcaa Input: twl4030-vibra - fix sibling-node lookup
   a89e1ac9b0da Input: twl6040-vibra - fix child-node lookup
   8e70d4862271 Input: twl6040-vibra - fix DT node memory management
   47970b4ea09c Input: 88pm860x-ts - fix child-node lookup
   7fd133539289 x86/apic/vector: Fix off by one in error path
   aa041f13f8c6 pipe: avoid round_pipe_size() nr_pages overflow on 32-bit
   1782af2835fe module: Add retpoline tag to VERMAGIC
   fba063e6dfb4 x86/retpoline: Add LFENCE to the retpoline/RSB filling RSB macros
   8bd58b61d2fa sched/deadline: Zero out positive runtime after throttling constrained tasks
   ec7a002d7796 scsi: hpsa: fix volume offline state
   b78f2d36e737 af_key: fix buffer overread in parse_exthdrs()
   48907f2535aa af_key: fix buffer overread in verify_address_len()
   478a7fa82ff7 ALSA: hda - Apply the existing quirk to iMac 14,1
   a4d7639d5fb6 ALSA: hda - Apply headphone noise quirk for another Dell XPS 13 variant
   80547bb6154d ALSA: pcm: Remove yet superfluous WARN_ON()
   58c82be944f5 futex: Prevent overflow by strengthen input validation
   f1fcb9d2926c scsi: sg: disable SET_FORCE_LOW_DMA
   451725c3e785 x86/retpoline: Remove compile time warning
   eebc3f8adee0 x86/retpoline: Fill return stack buffer on vmexit
   f72655b837eb x86/retpoline/irq32: Convert assembler indirect jumps
   7e5bb301bd2f x86/retpoline/checksum32: Convert assembler indirect jumps
   6b222e7483af x86/retpoline/xen: Convert Xen hypercall indirect jumps
   d2beed45635e x86/retpoline/hyperv: Convert assembler indirect jumps
   7153a6d5ff05 x86/retpoline/ftrace: Convert ftrace assembler indirect jumps
   028083cb02db x86/retpoline/entry: Convert entry assembler indirect jumps
   9fe55976f0c8 x86/retpoline/crypto: Convert crypto assembler indirect jumps
   9f789bc5711b x86/spectre: Add boot time option to select Spectre v2 mitigation
   3c5e10905263 x86/retpoline: Add initial retpoline support
   675901851fd2 kconfig.h: use __is_defined() to check if MODULE is defined
   a88693d00698 EXPORT_SYMBOL() for asm
   b8e7a489b518 x86/asm: Make asm/alternative.h safe from assembly
   b76ac90af34d x86/kbuild: enable modversions for symbols exported from asm
   cfc8c1d61e46 x86/asm: Use register variable to get stack pointer value
   416f66509fce x86/mm/32: Move setup_clear_cpu_cap(X86_FEATURE_PCID) earlier
   642ce1bb5ea6 x86/cpu/AMD: Use LFENCE_RDTSC in preference to MFENCE_RDTSC
   20c28c04a6bc x86/cpu/AMD: Make LFENCE a serializing instruction
   e6c591e7a430 gcov: disable for COMPILE_TEST
   42375c1120d5 Linux 4.4.112
   125d76412866 selftests/x86: Add test_vsyscall
   999d4f1961fa x86/alternatives: Add missing '\n' at end of ALTERNATIVE inline asm
   e997d991ab2b x86/alternatives: Fix optimize_nops() checking
   433d7851e5ca sysfs/cpu: Fix typos in vulnerability documentation
   72cf81e43ba4 x86/cpu: Implement CPU vulnerabilites sysfs functions
   73492b686012 sysfs/cpu: Add vulnerability folder
   9718bf5f4ebb x86/cpu: Merge bugs.c and bugs_64.c
   caae411b6ee0 x86/cpufeatures: Add X86_BUG_SPECTRE_V[12]
   6349cab425ce x86/pti: Rename BUG_CPU_INSECURE to BUG_CPU_MELTDOWN
   07c7aa5e7e8a x86/cpufeatures: Add X86_BUG_CPU_INSECURE
   65b28590de24 x86/cpufeatures: Make CPU bugs sticky
   18b849b18d1c x86/cpu: Factor out application of forced CPU caps
   d013f41d0cc5 x86/Documentation: Add PTI description
   cf9f240627b4 e1000e: Fix e1000_check_for_copper_link_ich8lan return value.
   10a4324500ff uas: ignore UAS for Norelsys NS1068(X) chips
   0ae86454c435 Bluetooth: Prevent stack info leak from the EFS element.
   b4106c55b574 staging: android: ashmem: fix a race condition in ASHMEM_SET_SIZE ioctl
   27a194bc8d21 usbip: remove kernel addresses from usb device and urb debug msgs
   3f577093c511 USB: fix usbmon BUG trigger
   92e8ba1ea050 usb: misc: usb3503: make sure reset is low for at least 100us
   e4c9428d035b USB: serial: cp210x: add new device ID ELV ALC 8xxx
   a962c95895a7 USB: serial: cp210x: add IDs for LifeScan OneTouch Verio IQ
   531a2595ce1a target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK
   694c1ed559c8 iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref
   095b0ba360ff bpf, array: fix overflow in max_entries and undefined behavior in index_mask
   9a7fad4c0e21 bpf: prevent out-of-bounds speculation
   648064515d0d bpf: adjust insn_aux_data when patching insns
   19614eee0644 bpf: refactor fixup_bpf_calls()
   14c7c55f4527 bpf: move fixup_bpf_calls() function
   0748b80e4325 bpf: don't (ab)use instructions to store state
   087a92287dba bpf: add bpf_patch_insn_single helper
   c18b1bda4933 kaiser: Set _PAGE_NX only if supported
   0b6231faa212 drm/vmwgfx: Potential off by one in vmw_view_add()
   6785f955bcb6 KVM: x86: Add memory barrier on vmcs field lookup
   7d1bef0f6037 x86/microcode/intel: Extend BDW late-loading with a revision check
   c77dd7b425cd rbd: set max_segments to USHRT_MAX
   68829e75666e crypto: algapi - fix NULL dereference in crypto_remove_spawns()
   608644ac89aa ipv6: fix possible mem leaks in ipv6_make_skb()
   b188ce30cc1b net: stmmac: enable EEE in MII, GMII or RGMII only
   f574e2e8c6cf sh_eth: fix SH7757 GEther initialization
   29ca856bb76a sh_eth: fix TSU resource handling
   44496521c6bd RDS: null pointer dereference in rds_atomic_free_op
   10d06ed9a189 RDS: Heap OOB write in rds_message_alloc_sgs()
   d19b5ed46cce net: core: fix module type in sock_diag_bind
   b9f16497eec2 ip6_tunnel: disable dst caching if tunnel is dual-stack
   0e1cadec4187 8021q: fix a memory leak for VLAN 0 device
   7ec5d87df34a x86/pti/efi: broken conversion from efi to kernel page table
   cc0e36105661 Revert "userfaultfd: selftest: vm: allow to build in vm/ directory"
   3ae43090f13b xhci: Fix ring leak in failure path of xhci_alloc_virt_device()
   6321e1753563 sysrq: Fix warning in sysrq generated crash.
   6f61bd5c4ff5 hwrng: core - sleep interruptible in read
   f065b5f78d17 x86/mm/pat, /dev/mem: Remove superfluous error message
   146001aeb9af cx82310_eth: use skb_cow_head() to deal with cloned skbs
   be48b6ee6d07 smsc75xx: use skb_cow_head() to deal with cloned skbs
   36a1c87f57f6 sr9700: use skb_cow_head() to deal with cloned skbs
   efca4f469475 lan78xx: use skb_cow_head() to deal with cloned skbs
   ad196359a6d1 r8152: adjust ALDPS function
   a37ff616d720 r8152: use test_and_clear_bit
   9d614746ea0b r8152: fix the wake event
   ea6f411117e1 usb: musb: ux500: Fix NULL pointer dereference at system PM
   829b82508c55 usbvision fix overflow of interfaces array
   bd44e3f19d14 locking/mutex: Allow next waiter lockless wakeup
   1920b8a6a6ed futex: Replace barrier() in unqueue_me() with READ_ONCE()
   e143f5d26258 locks: don't check for race with close when setting OFD lock
   c4eafbc2ba11 zswap: don't param_set_charp while holding spinlock
   eeca23f21cfb mm/zswap: use workqueue to destroy pool
   45c26b0736ef mm/page-writeback: fix dirty_ratelimit calculation
   9780795fc1e5 mm/compaction: pass only pageblock aligned range to pageblock_pfn_to_page
   756000bec7c1 mm/compaction: fix invalid free_pfn and compact_cached_free_pfn
   0e82bbca5896 x86/acpi: Reduce code duplication in mp_override_legacy_irq()
   d091a2bb8c2e ALSA: aloop: Fix racy hw constraints adjustment
   a9cad56436f4 ALSA: aloop: Fix inconsistent format due to incomplete rule
   3d3b2c61e1be ALSA: aloop: Release cable upon open error path
   fa6c1876ecf7 ALSA: pcm: Allow aborting mutex lock at OSS read/write loops
   9bb4bb18ccff ALSA: pcm: Abort properly at pending signal in OSS read/write loops
   1ee7bc5526d8 ALSA: pcm: Add missing error checks in OSS emulation plugin builder
   3074fe070a89 ALSA: pcm: Remove incorrect snd_BUG_ON() usages
   f511ba8a5084 iommu/arm-smmu-v3: Don't free page table ops twice
   745a0d9c1a8e x86/acpi: Handle SCI interrupts above legacy space gracefully
   1a699374533b x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST=n
   8d383ff7deaa kvm: vmx: Scrub hardware GPRs at VM-exit
   0753661d5b17 net/mac80211/debugfs.c: prevent build failure with CONFIG_UBSAN=y
   f2c131d05d86 MIPS: Disallow outsized PTRACE_SETREGSET NT_PRFPREG regset accesses
   725679dc78a9 MIPS: Also verify sizeof `elf_fpreg_t' with PTRACE_SETREGSET
   9584ae52bd7e MIPS: Fix an FCSR access API regression with NT_PRFPREG and MSA
   a6972f8bd2b6 MIPS: Consistently handle buffer counter with PTRACE_SETREGSET
   e68049f6a9e8 MIPS: Guard against any partial write attempt with PTRACE_SETREGSET
   b1e808b9de5c MIPS: Factor out NT_PRFPREG regset access helpers
   1e918a43cbf0 MIPS: Validate PR_SET_FP_MODE prctl(2) requests against the ABI of the task
   6c2c83eb1b0d IB/srpt: Disable RDMA access by the initiator
   a71d6de9718e can: gs_usb: fix return value of the "set_bittiming" callback
   eb91461daa77 KVM: Fix stack-out-of-bounds read in write_mmio
   cbb1cc722aaa dm bufio: fix shrinker scans when (nr_to_scan < retain_target)
   c5ae3a6aa1a3 Linux 4.4.111
   516fa79e77f7 Fix build error in vma.c
   6dcf5491e01c Map the vsyscall page with _PAGE_USER
   90191f71d749 proc: much faster /proc/vmstat
   c819a67f7ee9 module: Issue warnings when tainting kernel
   7e35bc655ec1 module: keep percpu symbols in module's symtab
   104fd57d391a genksyms: Handle string literals with spaces in reference files
   a4c1c75373bf x86/tlb: Drop the _GPL from the cpu_tlbstate export
   d5bbffc0501d parisc: Fix alignment of pa_tlb_lock in assembly on 32-bit SMP kernel
   3db597feef08 x86/microcode/AMD: Add support for fam17h microcode loading
   0a99730ae0cc Input: elantech - add new icbody type 15
   30ce9c8dbc42 ARC: uaccess: dont use "l" gcc inline asm constraint modifier
   5f1aa83c58aa kernel/signal.c: remove the no longer needed SIGNAL_UNKILLABLE check in complete_signal()
   7a7f54f8e390 kernel/signal.c: protect the SIGNAL_UNKILLABLE tasks from !sig_kernel_only() signals
   be95f1308f79 kernel/signal.c: protect the traced SIGNAL_UNKILLABLE tasks from SIGKILL
   58330ec2fecd kernel: make groups_sort calling a responsibility group_info allocators
   d1698dc8a590 fscache: Fix the default for fscache_maybe_release_page()
   7cbb4a2305f8 sunxi-rsb: Include OF based modalias in device uevent
   3ad85176e78d crypto: pcrypt - fix freeing pcrypt instances
   869994e0bd29 crypto: chacha20poly1305 - validate the digest size
   0b72e17dde6e crypto: n2 - cure use after free
   83875f582596 kernel/acct.c: fix the acct->needcheck check in check_free_space()
   b17b901f0fea x86/kasan: Write protect kasan zero shadow
   b3e3db15b450 Linux 4.4.110
   b33c3c64c478 kaiser: Set _PAGE_NX only if supported
   2b24fe5c57af x86/kasan: Clear kasan_zero_page after TLB flush
   755bd549d932 x86/vdso: Get pvclock data from the vvar VMA instead of the fixmap
   64e239804e21 x86, vdso, pvclock: Simplify and speed up the vdso pvclock reader
   bfd51a4d715b KPTI: Report when enabled
   3e1457d6bf26 KPTI: Rename to PAGE_TABLE_ISOLATION
   7f79599df9c4 x86/kaiser: Move feature detection up
   e4ba212ec641 kaiser: disabled on Xen PV
   750fb627d764 x86/kaiser: Reenable PARAVIRT
   3e809caffdd7 x86/paravirt: Dont patch flush_tlb_single
   8eaca4c7d9f1 kaiser: kaiser_flush_tlb_on_return_to_user() check PCID
   0651b3ad99dd kaiser: asm/tlbflush.h handle noPGE at lower level
   28c6de544174 kaiser: drop is_atomic arg to kaiser_pagetable_walk()
   2dff99eb0335 kaiser: use ALTERNATIVE instead of x86_cr3_pcid_noflush
   e405a064bd7d x86/kaiser: Check boottime cmdline params
   dea9aa9ffae1 x86/kaiser: Rename and simplify X86_FEATURE_KAISER handling
   e345dcc94815 kaiser: add "nokaiser" boot option, using ALTERNATIVE
   500943e57db8 kaiser: fix unlikely error in alloc_ldt_struct()
   d41f46f77895 kaiser: _pgd_alloc() without __GFP_REPEAT to avoid stalls
   fc8334e6b3e5 kaiser: paranoid_entry pass cr3 need to paranoid_exit
   20268a10ffec kaiser: x86_cr3_pcid_noflush and x86_cr3_pcid_user
   3b4ce0e1a172 kaiser: PCID 0 for kernel and 128 for user
   0731188fc74c kaiser: load_new_mm_cr3() let SWITCH_USER_CR3 flush user
   eb82151d0b1d kaiser: enhanced by kernel and user PCIDs
   3e3d38fd9832 kaiser: vmstat show NR_KAISERTABLE as nr_overhead
   b9d2ccc54e17 kaiser: delete KAISER_REAL_SWITCH option
   aeda21d77e22 kaiser: name that 0x1000 KAISER_SHADOW_PGD_OFFSET
   c52e55a2a82d kaiser: cleanups while trying for gold link
   f127705d26b3 kaiser: kaiser_remove_mapping() move along the pgd
   0c68228f7b39 kaiser: tidied up kaiser_add/remove_mapping slightly
   5fbd46c4be78 kaiser: tidied up asm/kaiser.h somewhat
   407c3ff6a24c kaiser: ENOMEM if kaiser_pagetable_walk() NULL
   20cbe9a3aa2e kaiser: fix perf crashes
   487f0b73d826 kaiser: fix regs to do_nmi() ifndef CONFIG_KAISER
   d94df20135cc kaiser: KAISER depends on SMP
   9b94cf97f42c kaiser: fix build and FIXME in alloc_ldt_struct()
   003e47671690 kaiser: stack map PAGE_SIZE at THREAD_SIZE-PAGE_SIZE
   edde73205b3f kaiser: do not set _PAGE_NX on pgd_none
   bed9bb7f3e6d kaiser: merged update
   8a43ddfb93a0 KAISER: Kernel Address Isolation
   0fa147b40747 x86/boot: Add early cmdline parsing for options with arguments
   e68d6189c787 Linux 4.4.109
   5d67dbef745b mm/vmstat: Make NR_TLB_REMOTE_FLUSH_RECEIVED available even on UP
   2e3883922530 n_tty: fix EXTPROC vs ICANON interaction with TIOCINQ (aka FIONREAD)
   977614061c3d x86/smpboot: Remove stale TLB flush invocations
   458ed3179948 nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick()
   46e9398c96af usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201
   0ceb7a66392d USB: Fix off by one in type-specific length check of BOS SSP capability
   c359123bfdd2 usb: add RESET_RESUME for ELSA MicroLink 56K
   955ae55f2d16 usb: Add device quirk for Logitech HD Pro Webcam C925e
   e8cd11a935dd USB: serial: option: adding support for YUGA CLM920-NC5
   140cfcc8b093 USB: serial: option: add support for Telit ME910 PID 0x1101
   232972f73936 USB: serial: qcserial: add Sierra Wireless EM7565
   24162c1781c1 USB: serial: ftdi_sio: add id for Airbus DS P8GR
   76f611cbdbb4 usbip: vhci: stop printing kernel pointer addresses in messages
   feeae6411a1a usbip: stub: stop printing kernel pointer addresses in messages
   e0362688b4fa usbip: fix usbip bind writing random string after command in match_busid
   3f54a6d41d44 sock: free skb in skb_complete_tx_timestamp on error
   623bfb5818ab net: phy: micrel: ksz9031: reconfigure autoneg after phy autoneg workaround
   5854ca90c6c6 net: Fix double free and memory corruption in get_net_ns_by_id()
   dd1e454c4d74 net: bridge: fix early call to br_stp_change_bridge_id and plug newlink leaks
   169a9861c638 ipv4: Fix use-after-free when flushing FIB tables
   4033c396f80c sctp: Replace use of sockets_allocated with specified macro.
   ca57949d169e net: mvmdio: disable/unprepare clocks in EPROBE_DEFER case
   be27b620a861 net: ipv4: fix for a race condition in raw_sendmsg
   6dfc02ba5149 tg3: Fix rx hang on MTU change with 5717/5719
   6925223ab320 tcp md5sig: Use skb's saddr when replying to an incoming segment
   e0bdd21a86c5 net: reevalulate autoflowlabel setting after sysctl setting
   06525d5b8ea8 net: qmi_wwan: add Sierra EM7565 1199:9091
   f778ce6faa0d netlink: Add netns check on taps
   373b423038a8 net: igmp: Use correct source address on IGMPv3 reports
   0a8cb76e11d9 ipv6: mcast: better catch silly mtu values
   3d406a18bd94 ipv4: igmp: guard against silly MTU values
   1cd09d4b38a2 kbuild: add '-fno-stack-check' to kernel build options
   6c4db09c291a x86/mm/64: Fix reboot interaction with CR4.PCIDE
   fd0504525efd x86/mm: Enable CR4.PCIDE on supported systems
   dcccd3c266e2 x86/mm: Add the 'nopcid' boot option to turn off PCID
   78043e5b6fb2 x86/mm: Disable PCID on 32-bit kernels
   b2e24274d50e x86/mm: Remove the UP asm/tlbflush.h code, always use the (formerly) SMP code
   3efba6062a41 x86/mm: Reimplement flush_tlb_page() using flush_tlb_mm_range()
   9f4d1ba1d407 x86/mm: Make flush_tlb_mm_range() more predictable
   227d6f0e79f8 x86/mm: Remove flush_tlb() and flush_tlb_current_task()
   6ce9d1e6819e x86/vm86/32: Switch to flush_tlb_mm_range() in mark_screen_rdonly()
   c04ed3a84961 ALSA: hda - fix headset mic detection issue on a Dell machine
   0ba2ebc9f355 ALSA: hda: Drop useless WARN_ON()
   5251932b974d ASoC: twl4030: fix child-node lookup
   3096ced5a939 ASoC: fsl_ssi: AC'97 ops need regmap, clock and cleaning up on failure
   becb0c6409ad iw_cxgb4: Only validate the MSN for successful completions
   9dc9648942b1 ring-buffer: Mask out the info bits when returning buffer page length
   25fade614be3 tracing: Fix crash when it fails to alloc ring buffer
   c2a62f84d49f tracing: Fix possible double free on failure of allocating trace buffer
   075242101627 tracing: Remove extra zeroing out of the ring buffer page
   87060303469c net: mvneta: clear interface link status on port disable
   b7aac649af10 powerpc/perf: Dereference BHRB entries safely
   5a62acc900e9 kvm: x86: fix RSM when PCID is non-zero
   c9b5338394f2 KVM: X86: Fix load RFLAGS w/o the fixed bit
   0bf0c45449c3 spi: xilinx: Detect stall with Unknown commands
   46865ecdd061 parisc: Hide Diva-built-in serial aux and graphics card
   727b641b35dd PCI / PM: Force devices to D0 in pci_pm_thaw_noirq()
   6b08ff879603 ALSA: usb-audio: Fix the missing ctl name suffix at parsing SU
   af1195354355 ALSA: rawmidi: Avoid racy info ioctl via ctl device
   e7f1c0da02fb mfd: twl6040: Fix child-node lookup
   ee54e7a18e56 mfd: twl4030-audio: Fix sibling-node lookup
   381d368c9954 mfd: cros ec: spi: Don't send first message too soon
   2e234e707f7f crypto: mcryptd - protect the per-CPU queue with a lock
   db09203e3252 ACPI: APEI / ERST: Fix missing error handling in erst_reader()
   03028e068a1f Linux 4.4.108
   1cfeaadfd1b4 alpha: fix build failures
   d126c47656da ALSA: hda - Fix yet another i915 pointer leftover in error path
   3b67b56ea770 ALSA: hda - Degrade i915 binding failure message
   ef24d642e92a ALSA: hda - Clear the leftover component assignment at snd_hdac_i915_exit()
   7f3e85d820fd Revert "Bluetooth: btusb: driver to enable the usb-wakeup feature"
   9c631278a9c6 MIPS: math-emu: Fix final emulation phase for certain instructions
   69dd89a1f919 thermal: hisilicon: Handle return value of clk_prepare_enable
   c0303e4ffd3a cpuidle: fix broadcast control when broadcast can not be entered
   8e6e8ec18d95 rtc: set the alarm to the next expiring timer
   1e52ede8e1ed tcp: fix under-evaluated ssthresh in TCP Vegas
   ab8e096eed2f fm10k: ensure we process SM mbx when processing VF mbx
   0705d3b83699 scsi: lpfc: PLOGI failures during NPIV testing
   e4dff872fe97 scsi: lpfc: Fix secure firmware updates
   eb7b86ec94a4 PCI/AER: Report non-fatal errors only to the affected endpoint
   aa6d09cea6df ixgbe: fix use of uninitialized padding
   cffbf0ffc47c igb: check memory allocation failure
   1e91b0d64e92 PCI: Create SR-IOV virtfn/physfn links before attaching driver
   a916c4152a4b scsi: mpt3sas: Fix IO error occurs on pulling out a drive from RAID1 volume created on two SATA drive
   e9151f9d4b6f scsi: cxgb4i: fix Tx skb leak
   8f376337c637 PCI: Avoid bus reset if bridge itself is broken
   3190a0623c58 net: phy: at803x: Change error to EINVAL for invalid MAC
   a0ca85d4895a rtc: pl031: make interrupt optional
   d7ae9928a25d crypto: crypto4xx - increase context and scatter ring buffer elements
   78ffab9744ad backlight: pwm_bl: Fix overflow condition
   0ec5f7a3c9b6 bnxt_en: Fix NULL pointer dereference in reopen failure path
   7432a60515da cpuidle: powernv: Pass correct drv->cpumask for registration
   1779b33294da ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory
   bec60b446b52 netfilter: nfnetlink_queue: fix secctx memory leak
   ff1ddbb38b19 xhci: plat: Register shutdown for xhci_plat
   ea9e1ca40939 isdn: kcapi: avoid uninitialized data
   f15394085d11 KVM: pci-assign: do not map smm memory slot pages in vt-d page tables
   27c2fa1ae0ea ARM: dts: am335x-evmsk: adjust mmc2 param to allow suspend
   17b1ff10a1fc netfilter: nf_nat_snmp: Fix panic when snmp_trap_helper fails to register
   7c9316d2f263 netfilter: nfnl_cthelper: fix a race when walk the nf_ct_helper_hash table
   3af547339068 irda: vlsi_ir: fix check for DMA mapping errors
   52cd7920b7ac RDMA/iser: Fix possible mr leak on device removal event
   85e54ef781b6 i40e: Do not enable NAPI on q_vectors that have no rings
   6a04a7798a3e net: Do not allow negative values for busy_read and busy_poll sysctl interfaces
   359f7020464f bna: avoid writing uninitialized data into hw registers
   8acee491cfbd s390/qeth: no ETH header for outbound AF_IUCV
   8ce4313f1279 r8152: prevent the driver from transmitting packets with carrier off
   19b1ad3a2e68 HID: xinmo: fix for out of range for THT 2P arcade controller.
   ebfb08395800 hwmon: (asus_atk0110) fix uninitialized data access
   2e114c7b4562 ARM: dts: ti: fix PCI bus dtc warnings
   f1fdf68b4f94 KVM: VMX: Fix enable VPID conditions
   caa4cfd173b7 KVM: x86: correct async page present tracepoint
   2849ef5dcefd scsi: lpfc: Fix PT2PT PRLI reject
   bc9aec2faddf pinctrl: st: add irq_request/release_resources callbacks
   1d75c214cebc inet: frag: release spinlock before calling icmp_send()
   aba55cb03579 netfilter: nfnl_cthelper: Fix memory leak
   b9fd3306a5af netfilter: nfnl_cthelper: fix runtime expectation policy updates
   e598cdd240a0 usb: gadget: udc: remove pointer dereference after free
   0c8496bfdb0e usb: gadget: f_uvc: Sanity check wMaxPacketSize for SuperSpeed
   d6c0e23a7fef net: qmi_wwan: Add USB IDs for MDM6600 modem on Motorola Droid 4
   b9a4a18a01fc bna: integer overflow bug in debugfs
   ffde339b95f5 sch_dsmark: fix invalid skb_cow() usage
   4bf8a4f179ed crypto: deadlock between crypto_alg_sem/rtnl_mutex/genl_mutex
   a88b064826f0 r8152: fix the list rx_done may be used without initialization
   125325fe1c19 cpuidle: Validate cpu_dev in cpuidle_add_sysfs()
   a23a447e47cc arm: kprobes: Align stack to 8-bytes in test code
   3f7855a52222 arm: kprobes: Fix the return address of multiple kretprobes
   779214d0eaca ALSA: hda - add support for docking station for HP 840 G3
   9a66598014db ALSA: hda - add support for docking station for HP 820 G2
   3b9d9ec0d826 x86/irq: Do not substract irq_tlb_count from irq_call_count
   18a5348d49af sched/core: Idle_task_exit() shouldn't use switch_mm_irqs_off()
   c22d4b4d1c7f ARM: Hide finish_arch_post_lock_switch() from modules
   4ead44fd2525 x86/mm, sched/core: Turn off IRQs in switch_mm()
   70a39c7fd167 x86/mm, sched/core: Uninline switch_mm()
   83cc4b50e3a9 x86/mm: Build arch/x86/mm/tlb.c even on !SMP
   425f13a36652 sched/core: Add switch_mm_irqs_off() and use it in the scheduler
   dfe513a4e8dd mm/mmu_context, sched/core: Fix mmu_context.h assumption
   8d5ee51a6bce mm/rmap: batched invalidations should use existing api
   85d3700c744a x86/mm: If INVPCID is available, use it to flush global mappings
   791a0f3fecda x86/mm: Add a 'noinvpcid' boot option to turn off INVPCID
   04ec428b15f1 x86/mm: Fix INVPCID asm constraint
   becf292446e9 x86/mm: Add INVPCID helpers
   5fc8d62d1921 cxl: Check if vphb exists before iterating over AFU devices
   9e1485b1b570 arm64: Initialise high_memory global variable earlier
   96c00ece76be Linux 4.4.107
   a815c0a370cf ath9k: fix tx99 potential info leak
   26c66554d7bf IB/ipoib: Grab rtnl lock on heavy flush when calling ndo_open/stop
   112814db6ec4 RDMA/cma: Avoid triggering undefined behavior
   4bbb49138f4a macvlan: Only deliver one copy of the frame to the macvlan interface
   b8d510ff7165 udf: Avoid overflow when session starts at large offset
   a114af87c0ba scsi: bfa: integer overflow in debugfs
   798f08501424 scsi: sd: change allow_restart to bool in sysfs interface
   c387c02d604d scsi: sd: change manage_start_stop to bool in sysfs interface
   2e03af22f65c vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend
   930fb06d1617 scsi: scsi_devinfo: Add REPORTLUN2 to EMC SYMMETRIX blacklist entry
   24bc48af0aee raid5: Set R5_Expanded on parity devices as well as data.
   09379498aff0 pinctrl: adi2: Fix Kconfig build problem
   5f2dbdff20e0 usb: musb: da8xx: fix babble condition handling
   68d3bc40f5ca tty fix oops when rmmod 8250
   afa8f0a7af70 powerpc/perf/hv-24x7: Fix incorrect comparison in memord
   28a5b0e438f1 scsi: hpsa: destroy sas transport properties before scsi_host
   942eb7dd5e42 scsi: hpsa: cleanup sas_phy structures in sysfs when unloading
   ec662d656073 PCI: Detach driver before procfs & sysfs teardown on device remove
   02922f3bb37f xfs: fix incorrect extent state in xfs_bmap_add_extent_unwritten_real
   f267a1390b41 xfs: fix log block underflow during recovery cycle verification
   92eff81ad96a l2tp: cleanup l2tp_tunnel_delete calls
   230c4ba404d3 bcache: fix wrong cache_misses statistics
   271252373027 bcache: explicitly destroy mutex while exiting
   ab9b3db40828 GFS2: Take inode off order_write list when setting jdata flag
   2a5bb1284e72 thermal/drivers/step_wise: Fix temperature regulation misbehavior
   561b9d998e65 ppp: Destroy the mutex when cleanup
   083dd685aebd clk: tegra: Fix cclk_lp divisor register
   f56be2ce49c1 clk: imx6: refine hdmi_isfr's parent to make HDMI work on i.MX6 SoCs w/o VPU
   22a1e337ed68 clk: mediatek: add the option for determining PLL source clock
   b59614cfd2d3 mm: Handle 0 flags in _calc_vm_trans() macro
   44de70ecec2d crypto: tcrypt - fix buffer lengths in test_aead_speed()
   b397507641fb arm-ccn: perf: Prevent module unload while PMU is in use
   75ee360a5114 target/file: Do not return error for UNMAP if length is zero
   646191449e76 target:fix condition return in core_pr_dump_initiator_port()
   e14086b2c9bc iscsi-target: fix memory leak in lio_target_tiqn_addtpg()
   7d93603ddb65 target/iscsi: Fix a race condition in iscsit_add_reject_from_cmd()
   09f29c7a953d powerpc/ipic: Fix status get and status clear
   c6c3637ee8ab powerpc/opal: Fix EBUSY bug in acquiring tokens
   59720463cf28 netfilter: ipvs: Fix inappropriate output of procfs
   f46b4bab4e93 powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo
   ef476a74f8ed PCI/PME: Handle invalid data when reading Root Status
   e6d8207a84b0 dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type
   600b973fc56f rtc: pcf8563: fix output clock rate
   ac0468efee60 video: fbdev: au1200fb: Return an error code if a memory allocation fails
   033d20b727f3 video: fbdev: au1200fb: Release some resources if a memory allocation fails
   314ce0575795 video: udlfb: Fix read EDID timeout
   2f5427451738 fbdev: controlfb: Add missing modes to fix out of bounds access
   57fa76a46673 sfc: don't warn on successful change of MAC
   c9b79738c0ab target: fix race during implicit transition work flushes
   dfd6deed8313 target: fix ALUA transition timeout handling
   7f5084b98f89 target: Use system workqueue for ALUA transitions
   f9b4a2e04c22 btrfs: add missing memset while reading compressed inline extents
   248aa3accad9 NFSv4.1 respect server's max size in CREATE_SESSION
   a49aa7aadbd3 efi/esrt: Cleanup bad memory map log messages
   dc81417eedf5 perf symbols: Fix symbols__fixup_end heuristic for corner cases
   acc7d1bd901c net/mlx4_core: Avoid delays during VF driver device shutdown
   5e469e44c8fd afs: Fix afs_kill_pages()
   80f74cef482f afs: Fix page leak in afs_write_begin()
   c58d7796ab93 afs: Populate and use client modification time
   fa034538cb04 afs: Fix the maths in afs_fs_store_data()
   1efae6ca3418 afs: Prevent callback expiry timer overflow
   43e68e3725df afs: Migrate vlocation fields to 64-bit
   9d8d20570f39 afs: Flush outstanding writes when an fd is closed
   549d7b98f55e afs: Adjust mode bits processing
   bb7a7cd6194f afs: Populate group ID from vnode status
   1c277e9ebba6 afs: Fix missing put_page()
   fec8348008b5 drm/radeon: reinstate oland workaround for sclk
   6a51e93b2fe3 mmc: mediatek: Fixed bug where clock frequency could be set wrong
   51b3eac39a6c sched/deadline: Use deadline instead of period when calculating overflow
   ca91884bcf7d sched/deadline: Throttle a constrained deadline task activated after the deadline
   cd0e18d2f24b sched/deadline: Make sure the replenishment timer fires in the next period
   4c6567f5af9a drm/radeon/si: add dpm quirk for Oland
   c383ebf1acd6 fjes: Fix wrong netdevice feature flags
   a33a9d0c705f scsi: hpsa: limit outstanding rescans
   0a609298214b scsi: hpsa: update check for logical volume status
   b0def6f1e26b openrisc: fix issue handling 8 byte get_user calls
   1236cc3664dc intel_th: pci: Add Gemini Lake support
   d270d24ee596 mlxsw: reg: Fix SPVMLR max record count
   e934e13550a0 mlxsw: reg: Fix SPVM max record count
   677a7aac2ec6 net: Resend IGMP memberships upon peer notification.
   26af6a8b51f1 dmaengine: Fix array index out of bounds warning in __get_unmap_pool()
   9cd4b8684621 net: wimax/i2400m: fix NULL-deref at probe
   b424289863d0 writeback: fix memory leak in wb_queue_work()
   fbdf477fcff6 netfilter: bridge: honor frag_max_size when refragmenting
   7edb2d2d8680 drm/omap: fix dmabuf mmap for dma_alloc'ed buffers
   dbfba339c729 Input: i8042 - add TUXEDO BU1406 (N24_25BU) to the nomux list
   df5678476040 NFSD: fix nfsd_reset_versions for NFSv4.
   5b0334584ad6 NFSD: fix nfsd_minorversion(.., NFSD_AVAIL)
   067cb6b2f716 net: bcmgenet: Power up the internal PHY before probing the MII
   a33e082dcaf4 net: bcmgenet: power down internal phy if open or resume fails
   8aaed873f3b9 net: bcmgenet: reserved phy revisions must be checked first
   c25da696fca1 net: bcmgenet: correct MIB access of UniMAC RUNT counters
   296b584763f7 net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values
   accbd99507b1 net: initialize msg.msg_flags in recvfrom
   b5213e1e9f25 userfaultfd: selftest: vm: allow to build in vm/ directory
   ee9be9963039 userfaultfd: shmem: __do_fault requires VM_FAULT_NOPAGE
   0d0456ec2b08 md-cluster: free md_cluster_info if node leave cluster
   a1d72bc18e77 usb: phy: isp1301: Add OF device ID table
   75252bfe9e49 mac80211: Fix addition of mesh configuration element
   13e86efb2eee KEYS: add missing permission check for request_key() destination
   ef7ce82bc280 ext4: fix crash when a directory's i_size is too small
   2c367edaba65 ext4: fix fdatasync(2) after fallocate(2) operation
   52425e042843 dmaengine: dmatest: move callback wait queue to thread context
   af36d95af55f sched/rt: Do not pull from current CPU if only one CPU to pull
   f98ee9c0007b xhci: Don't add a virt_dev to the devs array before it's fully allocated
   ffc7565746bb Bluetooth: btusb: driver to enable the usb-wakeup feature
   8c7c3d5b785f ceph: drop negative child dentries before try pruning inode's alias
   2862cfca3989 usbip: fix stub_send_ret_submit() vulnerability to null transfer_buffer
   dfdf5fa3e664 USB: core: prevent malicious bNumInterfaces overflow
   05de6fa5c0e2 USB: uas and storage: Add US_FL_BROKEN_FUA for another JMicron JMS567 ID
   a34419b3f6a2 tracing: Allocate mask_str buffer dynamically
   c60db4f68593 autofs: fix careless error in recent commit
   8a311b0462b5 crypto: salsa20 - fix blkcipher_walk API usage
   43cd7f38612d crypto: hmac - require that the underlying hash algorithm is unkeyed
   4231b6a98fce Linux 4.4.106
   5c6db4afbd9f usb: gadget: ffs: Forbid usb_ep_alloc_request from sleeping
   a5fa9efe4e01 arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one
   9f5a8d610dd3 Revert "x86/mm/pat: Ensure cpa->pfn only contains page frame numbers"
   34933c2ce99c Revert "x86/efi: Hoist page table switching code into efi_call_virt()"
   1dfe268df584 Revert "x86/efi: Build our own page table structures"
   b90f87c641bc net/packet: fix a race in packet_bind() and packet_notifier()
   f50e9c872cb5 packet: fix crash in fanout_demux_rollover()
   d6189fa45c6d sit: update frag_off info
   6c154d536d94 rds: Fix NULL pointer dereference in __rds_rdma_map
   827fd89bc552 tipc: fix memory leak in tipc_accept_from_sock()
   047a7bb12d63 more bio_map_user_iov() leak fixes
   3a620404e24a s390: always save and restore all registers on context switch
   99962affcb8f ipmi: Stop timers before cleaning up the module
   b34957127058 audit: ensure that 'audit=1' actually enables audit for PID 1
   1b9baf30673c ipvlan: fix ipv6 outbound device
   cdfe2d0a4834 afs: Connect up the CB.ProbeUuid
   452ae0913614 IB/mlx5: Assign send CQ and recv CQ of UMR QP
   3d1d4642fc55 IB/mlx4: Increase maximal message size under UD QP
   8bfafc972a34 xfrm: Copy policy family in clone_policy
   5c15c5c8ebc5 jump_label: Invoke jump_label_test() via early_initcall()
   1b85cd5d9262 atm: horizon: Fix irq release error
   dde5bbd52a28 sctp: use the right sk after waking up from wait_buf sleep
   1ad621272bd7 sctp: do not free asoc when it is already dead in sctp_sendmsg
   59e52050b17c sparc64/mm: set fields in deferred pages
   7b99b00cf3f0 block: wake up all tasks blocked in get_request()
   5a54dcc51a4a sunrpc: Fix rpc_task_begin trace point
   c02608144e79 NFS: Fix a typo in nfs_rename()
   640192431a29 dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0
   24c98ec494c2 lib/genalloc.c: make the avail variable an atomic_long_t
   90ec232a3911 route: update fnhe_expires for redirect when the fnhe exists
   41dee81f22c9 route: also update fnhe_genid when updating a route cache
   32f8870cc9a9 mac80211_hwsim: Fix memory leak in hwsim_new_radio_nl()
   0aab426757d3 kbuild: pkg: use --transform option to prefix paths in tar
   8f72d29e7024 EDAC, i5000, i5400: Fix definition of NRECMEMB register
   222de157ccd0 EDAC, i5000, i5400: Fix use of MTR_DRAM_WIDTH macro
   f1ff979f97bd powerpc/powernv/ioda2: Gracefully fail if too many TCE levels requested
   d42ebf56380f drm/amd/amdgpu: fix console deadlock if late init failed
   40b2b6453f89 axonram: Fix gendisk handling
   f2396d60746f netfilter: don't track fragmented packets
   ca6d40bb082a zram: set physical queue limits to avoid array out of bounds accesses
   39c626c1f9e3 i2c: riic: fix restart condition
   a836e1952f28 crypto: s5p-sss - Fix completing crypto request in IRQ handler
   7c5deeccc664 ipv6: reorder icmpv6_init() and ip6_mr_init()
   84bc40c4b31b bnx2x: do not rollback VF MAC/VLAN filters we did not configure
   871e4b11eba2 bnx2x: fix possible overrun of VFPF multicast addresses array
   1aead0538b89 bnx2x: prevent crash when accessing PTP with interface down
   6bbc908cfc1c spi_ks8995: fix "BUG: key accdaa28 not in .data!"
   687121453005 arm64: KVM: Survive unknown traps from guests
   5dc5c8e65515 arm: KVM: Survive unknown traps from guests
   ccf72fe2e5cc KVM: nVMX: reset nested_run_pending if the vCPU is going to be reset
   0a12875fa51f irqchip/crossbar: Fix incorrect type of register size
   8a15c626996c scsi: lpfc: Fix crash during Hardware error recovery on SLI3 adapters
   d9d47a6d6862 workqueue: trigger WARN if queue_delayed_work() is called with NULL @wq
   14a7aa2ae61e libata: drop WARN from protocol error in ata_sff_qc_issue()
   f9b291aed2a9 kvm: nVMX: VMCLEAR should not cause the vCPU to shut down
   ef21f3a12bb1 USB: gadgetfs: Fix a potential memory leak in 'dev_config()'
   4036947a43a0 usb: gadget: configs: plug memory leak
   24e9fc7ef051 HID: chicony: Add support for another ASUS Zen AiO keyboard
   3aec56b81960 gpio: altera: Use handle_level_irq when configured as a level_high
   c52017de0ba6 ARM: OMAP2+: Release device node after it is no longer needed.
   14c396184529 ARM: OMAP2+: Fix device node reference counts
   d180639d86e1 module: set __jump_table alignment to 8
   23f9e8448219 selftest/powerpc: Fix false failures for skipped tests
   3bf3fc6cbc8b x86/hpet: Prevent might sleep splat on resume
   0500c6d35274 ARM: OMAP2+: gpmc-onenand: propagate error on initialization failure
   572b639bde31 vti6: Don't report path MTU below IPV6_MIN_MTU.
   3771241e5bc3 Revert "s390/kbuild: enable modversions for symbols exported from asm"
   e891a29531d4 Revert "spi: SPI_FSL_DSPI should depend on HAS_DMA"
   f854e2099915 Revert "drm/armada: Fix compile fail"
   5327f9badacd mm: drop unused pmdp_huge_get_and_clear_notify()
   47c53ccca4a0 thp: fix MADV_DONTNEED vs. numa balancing race
   d4443b53732e thp: reduce indentation level in change_huge_pmd()
   696fbe191acd scsi: storvsc: Workaround for virtual DVD SCSI version
   dd8c78e2501e ARM: avoid faulting on qemu
   af1d17239682 ARM: BUG if jumping to usermode address in kernel mode
   750f60edebac arm64: fpsimd: Prevent registers leaking from dead tasks
   477b837533a2 KVM: VMX: remove I/O port 0x80 bypass on Intel hosts
   11030654676b arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one
   a0b99544dde8 media: dvb: i2c transfers over usb cannot be done from stack
   81bf294f5f7b drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU
   74b6030355a4 drm: extra printk() wrapper macros
   d6ff4cce9aa3 kdb: Fix handling of kallsyms_symbol_next() return value
   bb47cf7f8e47 s390: fix compat system call table
   dc41b6e35f93 iommu/vt-d: Fix scatterlist offset handling
   90a20a81dc1c ALSA: usb-audio: Add check return value for usb_string()
   9f5c6b108850 ALSA: usb-audio: Fix out-of-bound error
   e1d3b7d04d9d ALSA: seq: Remove spurious WARN_ON() at timer check
   659e7d2588f0 ALSA: pcm: prevent UAF in snd_pcm_info
   5986c9685f1e x86/PCI: Make broadcom_postcore_init() check acpi_disabled
   2c2e4b7d279a X.509: reject invalid BIT STRING for subjectPublicKey
   1471d1258921 ASN.1: check for error from ASN1_OP_END__ACT actions
   621dac1d6991 ASN.1: fix out-of-bounds read when parsing indefinite length item
   481efb4c7256 efi: Move some sysfs files to be read-only by root
   7e0091c2951f scsi: libsas: align sata_device's rps_resp on a cacheline
   98448333588c isa: Prevent NULL dereference in isa_bus driver callbacks
   90e2ea6dc851 hv: kvp: Avoid reading past allocated blocks from KVP file
   94739ddf35cb virtio: release virtio index when fail to device_register
   d73fcef16da0 can: usb_8dev: cancel urb on -EPIPE and -EPROTO
   191b419bd0b1 can: esd_usb2: cancel urb on -EPIPE and -EPROTO
   af11f3afc2c2 can: ems_usb: cancel urb on -EPIPE and -EPROTO
   bd424bd17572 can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
   3e3dabd83630 can: kvaser_usb: ratelimit errors if incomplete messages are received
   816bc7dffea2 can: kvaser_usb: Fix comparison bug in kvaser_usb_read_bulk_callback()
   b6fa54c18e8d can: kvaser_usb: free buf in error paths
   a68e3c90dfb1 can: ti_hecc: Fix napi poll return value for repoll
   69b0bf95a51e Linux 4.4.105
   da57b1f7e74f xen-netfront: avoid crashing on resume after a failure in talk_to_netback()
   e1cadf7c4af2 usb: host: fix incorrect updating of offset
   43135100f117 USB: usbfs: Filter flags passed in from user space
   c0493eb552e0 USB: devio: Prevent integer overflow in proc_do_submiturb()
   2ee8d2acf3ef USB: Increase usbfs transfer limit
   9d812f7bef8c USB: core: Add type-specific length check of BOS descriptors
   f044af8c1dc3 usb: ch9: Add size macro for SSP dev cap descriptor
   ddaa1ae2eb7f usb: Add USB 3.1 Precision time measurement capability descriptor support
   a1f03a9bcfa4 usb: xhci: fix panic in xhci_free_virt_devices_depth_first
   6a85ba4157a0 usb: hub: Cycle HUB power when initialization fails
   40012163e52a Revert "ocfs2: should wait dio before inode lock in ocfs2_setattr()"
   33621da4d4ef net: fec: fix multicast filtering hardware setup
   5d036ccddc5d xen-netfront: Improve error handling during initialization
   cc4add389789 mm: avoid returning VM_FAULT_RETRY from ->page_mkwrite handlers
   1b7dbabf0242 tcp: correct memory barrier usage in tcp_check_space()
   bc42f67b73cb dmaengine: pl330: fix double lock
   ca0836061019 tipc: fix cleanup at module unload
   e5afc84f644c net: sctp: fix array overrun read on sctp_timer_tbl
   7e9236c00152 drm/exynos/decon5433: set STANDALONE_UPDATE_F on output enablement
   e26d58f897ca NFSv4: Fix client recovery when server reboots multiple times
   48222dd037f5 KVM: arm/arm64: Fix occasional warning from the timer work function
   f2fb416f4af6 nfs: Don't take a reference on fl->fl_file for LOCK operation
   7228df818d90 ravb: Remove Rx overflow log messages
   1bb50d02a8d3 net/appletalk: Fix kernel memory disclosure
   c73b58cfa83e vti6: fix device register to report IFLA_INFO_KIND
   e6533243f74f ARM: OMAP1: DMA: Correct the number of logical channels
   e6f105531992 net: systemport: Pad packet before inserting TSB
   3a44ade54473 net: systemport: Utilize skb_put_padto()
   8633eec0ee08 kprobes/x86: Disable preemption in ftrace-based jprobes
   7317cb116754 perf test attr: Fix ignored test case result
   1c4d7600390b sysrq : fix Show Regs call trace on ARM
   c86fa9ed3a0f EDAC, sb_edac: Fix missing break in switch
   c2e1be144805 x86/entry: Use SYSCALL_DEFINE() macros for sys_modify_ldt()
   ecd996c24a79 serial: 8250: Preserve DLD[7:4] for PORT_XR17V35X
   86b9d66d1f3f usb: phy: tahvo: fix error handling in tahvo_usb_probe()
   b6ca48b5cd08 spi: sh-msiof: Fix DMA transfer size check
   a96c19f5ba09 serial: 8250_fintek: Fix rs485 disablement on invalid ioctl()
   429feb597df3 selftests/x86/ldt_get: Add a few additional tests for limits
   93f45d8c67dc s390/pci: do not require AIS facility
   80f93e24ecfc ima: fix hash algorithm initialization
   71ce1cac5b4d USB: serial: option: add Quectel BG96 id
   9e51ee1b76ef s390/runtime instrumentation: simplify task exit handling
   ef3567cc5284 serial: 8250_pci: Add Amazon PCI serial device ID
   a8293de0ee1f usb: quirks: Add no-lpm quirk for KY-688 USB 3.1 Type-C Hub
   636b080991ee uas: Always apply US_FL_NO_ATA_1X quirk to Seagate devices
   3f7477e64478 bcache: recover data from backing when data is clean
   f80f34d8ba92 bcache: only permit to recovery read error when cache device is clean
   bd3799391822 Linux 4.4.104
   bd249dd07827 nfsd: Fix another OPEN stateid race
   54298082dbac nfsd: Fix stateid races between OPEN and CLOSE
   d7f5f10f5159 nfsd: Make init_open_stateid() a bit more whole
   68e6cd9a0547 drm/i915: Prevent zero length "index" write
   e6bcff7b6aa1 drm/i915: Don't try indexed reads to alternate slave addresses
   a61474fa8749 NFS: revalidate "." etc correctly on "open".
   c8ea49b690ee mtd: nand: Fix writing mtdoops to nand flash.
   a155a9568d9a drm/panel: simple: Add missing panel_simple_unprepare() calls
   c7716f65721a drm/radeon: fix atombios on big endian
   4d027a8bcc7f Revert "drm/radeon: dont switch vt on suspend"
   5a7391b6d898 bcache: Fix building error on MIPS
   6b4901e0e349 eeprom: at24: check at24_read/write arguments
   5c65b739389f mmc: core: Do not leave the block driver in a suspended state
   a6493ad6fc89 KVM: x86: inject exceptions produced by x86_decode_insn
   1e9e6bdccb80 KVM: x86: Exit to user-mode on #UD intercept when emulator requires
   ab29b6b818aa KVM: x86: pvclock: Handle first-time write to pvclock-page contains random junk
   591ddc92d756 btrfs: clear space cache inode generation always
   0d05a5593f63 mm/madvise.c: fix madvise() infinite loop under special circumstances
   2b7ef6bdd286 mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d()
   f97fc9ab1ce2 x86/efi-bgrt: Replace early_memremap() with memremap()
   e85c6907b2b4 x86/efi-bgrt: Fix kernel panic when mapping BGRT data
   44ff3af83ee1 ARM: dts: omap3: logicpd-torpedo-37xx-devkit: Fix MMC1 cd-gpio
   36e0f05afd4e x86/efi: Build our own page table structures
   b73adb608520 x86/efi: Hoist page table switching code into efi_call_virt()
   87e2bd898d3a x86/mm/pat: Ensure cpa->pfn only contains page frame numbers
   b377c453b363 ipsec: Fix aborted xfrm policy dump crash
   27248d2fa77f netlink: add a start callback for starting a netlink dump
   08c15ad2e627 Linux 4.4.103
   3d7214a338d7 Revert "sctp: do not peel off an assoc from one netns to another one"
   c73eb1e0cc56 xen: xenbus driver must not accept invalid transaction ids
   eedd29f51078 s390/kbuild: enable modversions for symbols exported from asm
   681b2239862d ASoC: wm_adsp: Don't overrun firmware file buffer when reading region data
   b63209c78f9e btrfs: return the actual error value from from btrfs_uuid_tree_iterate
   e88f3fb0e340 ASoC: rsnd: don't double free kctrl
   47b99a3306d0 netfilter: nf_tables: fix oob access
   a1e4f6a15103 netfilter: nft_queue: use raw_smp_processor_id()
   85f286d6f8cd spi: SPI_FSL_DSPI should depend on HAS_DMA
   8537e96e4351 staging: iio: cdc: fix improper return value
   266913b390c3 iio: light: fix improper return value
   7e927748d4db mac80211: Suppress NEW_PEER_CANDIDATE event if no room
   9825826ed7bd mac80211: Remove invalid flag operations in mesh TSF synchronization
   f0d8fb74479b drm: Apply range restriction after color adjustment when allocation
   31447ebb1a86 ALSA: hda - Apply ALC269_FIXUP_NO_SHUTUP on HDA_FIXUP_ACT_PROBE
   7e920566c352 ath10k: set CTS protection VDEV param only if VDEV is up
   ef751ca54602 ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats()
   b24769300a00 ath10k: ignore configuring the incorrect board_id
   64b22ee723ee ath10k: fix incorrect txpower set by P2P_DEVICE interface
   c4cf731af838 drm/armada: Fix compile fail
   7f69dc100400 net: 3com: typhoon: typhoon_init_one: fix incorrect return values
   609797646f9b net: 3com: typhoon: typhoon_init_one: make return values more specific
   d7c3d5333e39 net: Allow IP_MULTICAST_IF to set index to L3 slave
   778395506a7f dmaengine: zx: set DMA_CYCLIC cap_mask bit
   37a48e6d83f5 PCI: Apply _HPX settings only to relevant devices
   57d2ce160310 RDS: RDMA: return appropriate error on rdma map failures
   bbb1fc744894 e1000e: Separate signaling for link check/link up
   5df4097cfc70 e1000e: Fix return value test
   fbb2d8000a8f e1000e: Fix error path in link detection
   d6968bc56e44 PM / OPP: Add missing of_node_put(np)
   fd3c395d4d46 net/9p: Switch to wait_event_killable()
   91bd72dd8c72 fscrypt: lock mutex before checking for bounce page pool
   cb1831a83e54 sched/rt: Simplify the IPI based RT balancing logic
   5a11b8458b35 media: v4l2-ctrl: Fix flags field on Control events
   0870fb4c3566 cx231xx-cards: fix NULL-deref on missing association descriptor
   d758f4d8bf20 media: rc: check for integer overflow
   878c0f9a7c69 media: Don't do DMA on stack for firmware upload in the AS102 driver
   a2943ce580f5 powerpc/signal: Properly handle return value from uprobe_deny_signal()
   937a91cd3992 parisc: Fix validity check of pointer size argument in new CAS implementation
   aef7cdb6a6ff ixgbe: Fix skb list corruption on Power systems
   bb923a81c33e fm10k: Use smp_rmb rather than read_barrier_depends
   b4ca98b7a803 i40evf: Use smp_rmb rather than read_barrier_depends
   a8e699dfca04 ixgbevf: Use smp_rmb rather than read_barrier_depends
   2f7de4d5f525 igbvf: Use smp_rmb rather than read_barrier_depends
   391cdaaaa9d9 igb: Use smp_rmb rather than read_barrier_depends
   146d53371385 i40e: Use smp_rmb rather than read_barrier_depends
   76c389ca1331 NFC: fix device-allocation error return
   ecc5e8914766 IB/srp: Avoid that a cable pull can trigger a kernel crash
   3e32b40435b9 IB/srpt: Do not accept invalid initiator port names
   54a8d930b93f libnvdimm, namespace: make 'resource' attribute only readable by root
   4dae2f771fa7 libnvdimm, namespace: fix label initialization to use valid seq numbers
   037646313522 clk: ti: dra7-atl-clock: fix child-node lookups
   eca460c485f9 clk: ti: dra7-atl-clock: Fix of_node reference counting
   36d2f19430e2 SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status
   a694b1f85aea KVM: SVM: obey guest PAT
   8293dc75de47 KVM: nVMX: set IDTR and GDTR limits when loading L1 host state
   4e426ed57cd2 target: Fix QUEUE_FULL + SCSI task attribute handling
   63bfc4c90a87 iscsi-target: Fix non-immediate TMR reference leak
   8709c5386109 fs/9p: Compare qid.path in v9fs_test_inode
   1b11593eb742 fix a page leak in vhost_scsi_iov_to_sgl() error recovery
   509ab500a240 ALSA: hda/realtek - Fix ALC700 family no sound issue
   ef6745531648 ALSA: timer: Remove kernel warning at compat ioctl error paths
   3532750d20f5 ALSA: usb-audio: Add sanity checks in v2 clock parsers
   0b6cede2e455 ALSA: usb-audio: Fix potential out-of-bound access at parsing SU
   d1316b9d83de ALSA: usb-audio: Add sanity checks to FE parser
   b71cf750ddd3 ALSA: pcm: update tstamp only if audio_tstamp changed
   db12d9b5a181 ext4: fix interaction between i_size, fallocate, and delalloc after a crash
   189bc689547a ata: fixes kernel crash while tracing ata_eh_link_autopsy event
   f1be21021099 rtlwifi: fix uninitialized rtlhal->last_suspend_sec time
   3c260c60d20c rtlwifi: rtl8192ee: Fix memory leak when loading firmware
   a8b8ab79ca4f nfsd: deal with revoked delegations appropriately
   2a2d4b41472c nfs: Fix ugly referral attributes
   ab33df42eb3c NFS: Fix typo in nomigration mount option
   4e23be616976 isofs: fix timestamps beyond 2027
   85c79043808d bcache: check ca->alloc_thread initialized before wake up it
   9c093a258350 eCryptfs: use after free in ecryptfs_release_messaging()
   7d7b05e4ffd5 nilfs2: fix race condition that causes file system corruption
   9a4e08c634ce autofs: don't fail mount for transient error
   153142963ca1 MIPS: BCM47XX: Fix LED inversion for WRT54GSv1
   00fd53bc378f MIPS: Fix an n32 core file generation regset support regression
   4e82464aa4a3 dm: fix race between dm_get_from_kobject() and __dm_destroy()
   36c4819abc92 dm bufio: fix integer overflow when limiting maximum cache size
   a9f066404fd0 ALSA: hda: Add Raven PCI ID
   0c1faf9df0c8 MIPS: ralink: Fix typo in mt7628 pinmux function
   84c785ed786a MIPS: ralink: Fix MT7628 pinmux
   36a082ce590f ARM: 8721/1: mm: dump: check hardware RO bit for LPAE
   5f8046f7c9e3 ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE
   29c4b6b4f46d x86/decoder: Add new TEST instruction pattern
   4fdb1637b208 lib/mpi: call cond_resched() from mpi_powm() loop
   8ff3471878f3 sched: Make resched_cpu() unconditional
   3223ea129170 vsock: use new wait API for vsock_stream_sendmsg()
   df24d6c22460 AF_VSOCK: Shrink the area influenced by prepare_to_wait
   2417da3f4d6b ipv6: only call ip6_route_dev_notify() once for NETDEV_UNREGISTER
   5c2607d3e7cd s390/disassembler: increase show_code buffer size
   4337fa2425f6 s390/disassembler: add missing end marker for e7 table
   04bc7a273264 s390/runtime instrumention: fix possible memory corruption
   7ddbe701076d s390: fix transactional execution control register handling
   29ffb9c1fb4a Linux 4.4.102
   0208fabf7256 mm, hwpoison: fixup "mm: check the return value of lookup_page_ext for all call sites"
   5baf0fb260fc Linux 4.4.101
   a3805b10de80 mm/pagewalk.c: report holes in hugetlb ranges
   3630b2801907 mm/page_ext.c: check if page_ext is not prepared
   e34e744f70a6 mm: check the return value of lookup_page_ext for all call sites
   7b7a1c39e839 coda: fix 'kernel memory exposure attempt' in fsync
   c1b3703b643f mm/page_alloc.c: broken deferred calculation
   4ecf752738ac ipmi: fix unsigned long underflow
   c4baa4a5870c ocfs2: should wait dio before inode lock in ocfs2_setattr()
   8c325770546a nvme: Fix memory order on async queue deletion
   4310b6bfa8e0 arm64: fix dump_instr when PAN and UAO are in use
   1df403abfa9e serial: omap: Fix EFR write on RTS deassertion
   a9100b6f1a8a ima: do not update security.ima if appraisal status is not INTEGRITY_PASS
   51b8aea7abde net/sctp: Always set scope_id in sctp_inet6_skb_msgname
   ae93cefb9430 fealnx: Fix building error on MIPS
   2a0e60907e54 sctp: do not peel off an assoc from one netns to another one
   4cfc0b41af03 af_netlink: ensure that NLMSG_DONE never fails in dumps
   ef206ea779a9 vlan: fix a use-after-free in vlan_device_event()
   3bb6245e14ea bonding: discard lowest hash bit for 802.3ad layer3+4
   001e9cbe1dae netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed
   0c1282c7f046 tcp: do not mangle skb->cb[] in tcp_make_synack()
   26d6298789e6 Linux 4.4.100
   f119ff8e5b6b USB: serial: garmin_gps: fix memory leak on probe errors
   8b36209e93df USB: serial: garmin_gps: fix I/O after failed probe and remove
   5cd938508c81 USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update
   302dd596822a USB: Add delay-init quirk for Corsair K70 LUX keyboards
   965003b311e0 USB: usbfs: compute urb->actual_length for isochronous
   834a5d880a54 uapi: fix linux/rds.h userspace compilation errors
   16e7973f8e47 uapi: fix linux/rds.h userspace compilation error
   f5e303d54ac2 Revert "uapi: fix linux/rds.h userspace compilation errors"
   d9c8d4adb5a7 Revert "crypto: xts - Add ECB dependency"
   d2d72c0ee4c9 MIPS: Netlogic: Exclude netlogic,xlp-pic code from XLR builds
   9a8ef143951f MIPS: init: Ensure reserved memory regions are not added to bootmem
   034347aca034 MIPS: init: Ensure bootmem does not corrupt reserved memory
   a904ebe92a05 mm: add PHYS_PFN, use it in __phys_to_pfn()
   7f5eb098ef95 MIPS: End asm function prologue macros with .insn
   b15877443a93 staging: rtl8712: fixed little endian problem
   ade72053f452 ixgbe: do not disable FEC from the driver
   b6e7fb0be1e5 ixgbe: add mask for 64 RSS queues
   12ec51aaafe3 ixgbe: Reduce I2C retry count on X550 devices
   9d51db4caff9 ixgbe: handle close/suspend race with netif_device_detach/present
   f12976ce82cd ixgbe: fix AER error handling
   865fe71c0a06 arm64: dts: NS2: reserve memory for Nitro firmware
   e2d12bdaed6b ALSA: hda/realtek - Add new codec ID ALC299
   b1e8e6d4c065 gpu: drm: mgag200: mgag200_main:- Handle error from pci_iomap
   3e899991b99e backlight: adp5520: Fix error handling in adp5520_bl_probe()
   d6f21ea25118 backlight: lcd: Fix race condition during register
   fe21a3d68819 ALSA: vx: Fix possible transfer overflow
   3b985d39ed4f ALSA: vx: Don't try to update capture stream before running
   51abb2a73f16 scsi: lpfc: Clear the VendorVersion in the PLOGI/PLOGI ACC payload
   8d8723c8c187 scsi: lpfc: Correct issue leading to oops during link reset
   44eb947094c4 scsi: lpfc: Correct host name in symbolic_name field
   a7e7d319cc96 scsi: lpfc: FCoE VPort enable-disable does not bring up the VPort
   18477baf599e scsi: lpfc: Add missing memory barrier
   fdc1e9d553e1 staging: rtl8188eu: fix incorrect ERROR tags from logs
   0c098158785b scsi: ufs: add capability to keep auto bkops always enabled
   469e75ddff14 scsi: ufs-qcom: Fix module autoload
   bb848b61967f igb: Fix hw_dbg logging in igb_update_flash_i210
   ba83011a470c igb: close/suspend race in netif_device_detach
   559a20802838 igb: reset the PHY before reading the PHY ID
   7878dca7ca24 drm/sti: sti_vtg: Handle return NULL error from devm_ioremap_nocache
   b9ea0af4793b ata: SATA_MV should depend on HAS_DMA
   11cb9dedb2e6 ata: SATA_HIGHBANK should depend on HAS_DMA
   2066882df749 ata: ATA_BMDMA should depend on HAS_DMA
   4fd669feacd3 ARM: dts: Fix omap3 off mode pull defines
   955840ea5035 ARM: OMAP2+: Fix init for multiple quirks for the same SoC
   4a23041fa533 ARM: dts: Fix am335x and dm814x scm syscon to probe children
   84a97ea8b7b1 ARM: dts: Fix compatible for ti81xx uarts for 8250
   62641014202e fm10k: request reset when mbx->state changes
   2bb04f1ff63d extcon: palmas: Check the parent instance to prevent the NULL
   8d9142ff444e dmaengine: dmatest: warn user when dma test times out
   ec4f8a71c0fc Bluetooth: btusb: fix QCA Rome suspend/resume
   977784638f76 arm: crypto: reduce priority of bit-sliced AES cipher
   e455048c7ae9 net: qmi_wwan: fix divide by 0 on bad descriptors
   caeeef8438c3 net: cdc_ether: fix divide by 0 on bad descriptors
   46bdabbca02e sctp: do not peel off an assoc from one netns to another one
   11e8e55be18c xen-blkback: don't leak stack data via response ring
   49630dd2e10a bpf: don't let ldimm64 leak map addresses on unprivileged
   07e3aff243cd KVM: x86: fix singlestepping over syscall
   ceb5c560e2e4 ext4: fix data exposure after a crash
   0a418e57717d media: dib0700: fix invalid dvb_detach argument
   c344019c48a9 media: imon: Fix null-ptr-deref in imon_probe

(From OE-Core rev: 60445afe0f1a4dbf490fe2d43f6845db7968c88a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
(cherry picked from commit 266f505a7de69850da4b3e82ccbf4c8466adfe51)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Bruce Ashfield
4adfc3c04f linux-yocto/4.4: update to 4.4.99
Integrating the korg stable updates that comprise the following
commits:

   0cbac004e673 Linux 4.4.99
   e8d650563c5f misc: panel: properly restore atomic counter on error path
   01000c56cacc target: Fix node_acl demo-mode + uncached dynamic shutdown regression
   4063c2093349 target/iscsi: Fix iSCSI task reassignment handling
   7ecc076a5d51 brcmfmac: remove setting IBSS mode when stopping AP
   d27383faf144 tipc: fix link attribute propagation bug
   c8f13916c4c9 security/keys: add CONFIG_KEYS_COMPAT to Kconfig
   11fa3353205e tcp/dccp: fix other lockdep splats accessing ireq_opt
   6f8048cd59d7 tcp/dccp: fix lockdep splat in inet_csk_route_req()
   13eddc67565a tcp/dccp: fix ireq->opt races
   b9b0c99a426a ipip: only increase err_count for some certain type icmp in ipip_err
   9bae2ffb87d6 ppp: fix race in ppp device destruction
   4b5bb7723da1 sctp: reset owner sk for data chunks on out queues when migrating a sock
   bcb3b90cf3c8 tun: allow positive return values on dev_get_valid_name() call
   5c8a0850bae2 ip6_gre: only increase err_count for some certain type icmpv6 in ip6gre_err
   93b12f202a4e net/unix: don't show information about sockets from other namespaces
   84237c54b239 ipv6: flowlabel: do not leave opt->tot_len with garbage
   d552c8c5007a packet: avoid panic in packet_getsockopt()
   ef3a12f1dc4a sctp: add the missing sock_owned_by_user check in sctp_icmp_redirect
   4b27fe34a226 tun: call dev_get_valid_name() before register_netdevice()
   196f4755cc82 l2tp: check ps->sock before running pppol2tp_session_ioctl()
   71c4a0fc3576 tcp: fix tcp_mtu_probe() vs highest_sack
   735818a8b45c tun/tap: sanitize TUNSETSNDBUF input
   1e98fd54c356 ALSA: seq: Cancel pending autoload work at unbinding device
   b7c625ce6d27 Input: ims-psu - check if CDC union descriptor is sane
   de46c1adbea6 usb: usbtest: fix NULL pointer dereference
   c93df40f3c73 mac80211: don't compare TKIP TX MIC key in reinstall prevention
   cdac2028c901 mac80211: use constant time comparison with keys
   6440f0ee8a17 mac80211: accept key reinstall without changing anything
   c4e3d53bd9e7 Linux 4.4.98
   9c405157269d PKCS#7: fix unitialized boolean 'want'
   b01f1d60dd1c x86/oprofile/ppro: Do not use __this_cpu*() in preemptible context
   4df27e649308 can: c_can: don't indicate triple sampling support for D_CAN
   cdb5a2def61c can: sun4i: handle overrun in RX FIFO
   493cb19b2522 rbd: use GFP_NOIO for parent stat and data requests
   ba4828af60e2 drm/vmwgfx: Fix Ubuntu 17.10 Wayland black screen issue
   05b690ccb077 Input: elan_i2c - add ELAN060C to the ACPI table
   4694272c470a MIPS: AR7: Ensure that serial ports are properly set up
   721d4be9e05d MIPS: AR7: Defer registration of GPIO
   d0cfebd9b1db tools: firmware: check for distro fallback udev cancel rule
   4afaa496d7f3 selftests: firmware: send expected errors to /dev/null
   ed1deec127d9 selftests: firmware: add empty string and async tests
   c08f3a82f66f test: firmware_class: report errors properly on failure
   6004eb4d1adc MIPS: SMP: Fix deadlock & online race
   857e81041f69 MIPS: Fix race on setting and getting cpu_online_mask
   175c0622ab11 MIPS: SMP: Use a completion event to signal CPU up
   207c2143322c MIPS: Fix CM region target definitions
   ff8e97326b6a MIPS: microMIPS: Fix incorrect mask in insn_table_MM
   1e54b5f72115 ALSA: seq: Avoid invalid lockdep class warning
   adc4bacd5164 ALSA: seq: Fix OSS sysex delivery in OSS emulation
   4d5b67a54e6d ARM: 8720/1: ensure dump_instr() checks addr_limit
   3fc61b8dd6bb KEYS: fix NULL pointer dereference during ASN.1 parsing [ver #2]
   48276703a037 crypto: x86/sha1-mb - fix panic due to unaligned access
   44540ead8a8a workqueue: Fix NULL pointer dereference
   ad8c619750c4 x86/uaccess, sched/preempt: Verify access_ok() context
   44e0e2b47af2 platform/x86: hp-wmi: Do not shadow error values
   ce93b664540d platform/x86: hp-wmi: Fix error value for hp_wmi_tablet_state
   df5371592aca KEYS: trusted: fix writing past end of buffer in trusted_read()
   939cafad2f51 KEYS: trusted: sanitize all key material
   75f82a703b30 cdc_ncm: Set NTB format again after altsetting switch for Huawei devices
   5ffc673161be platform/x86: hp-wmi: Fix detection for dock and tablet mode
   f38a3a1c8f1a net: dsa: select NET_SWITCHDEV
   581243dc5528 s390/qeth: issue STARTLAN as first IPA command
   3652b0b6f2c2 IB/ipoib: Change list_del to list_del_init in the tx object
   aa4af0fca101 Input: mpr121 - set missing event capability
   0a731928f264 Input: mpr121 - handle multiple bits change of status register
   ffa6332b8d80 IPsec: do not ignore crypto err in ah4 input
   9ee83b03365a netfilter: nft_meta: deal with PACKET_LOOPBACK in netdev family
   cfb2cb34d32e usb: hcd: initialize hcd->flags to 0 when rm hcd
   6450c9a96ff3 serial: sh-sci: Fix register offsets for the IRDA serial port
   ca2090aa58ba phy: increase size of MII_BUS_ID_SIZE and bus_id
   079822da0a00 iio: trigger: free trigger resource correctly
   26fa336d69a2 crypto: vmx - disable preemption to enable vsx in aes_ctr.c
   30019ca7dc09 ARM: omap2plus_defconfig: Fix probe errors on UARTs 5 and 6
   83fe38f2c4a3 powerpc/corenet: explicitly disable the SDHC controller on kmcoge4
   158bc64a4dfe iommu/arm-smmu-v3: Clear prior settings when updating STEs
   f20065b466d4 KVM: PPC: Book 3S: XICS: correct the real mode ICP rejecting counter
   2393241b7a22 drm: drm_minor_register(): Clean up debugfs on failure
   4e0d26b22e79 xen/netback: set default upper limit of tx/rx queues to 8
   f3170e6607be PCI: mvebu: Handle changes to the bridge windows while enabled
   414aa11de923 video: fbdev: pmag-ba-fb: Remove bad `__init' annotation
   8a56b1b25e3c adv7604: Initialize drive strength to default when using DT
   c54d0707aa09 Linux 4.4.97
   2ed81e62b2ab staging: r8712u: Fix Sparse warning in rtl871x_xmit.c
   883706dcda17 xen: don't print error message in case of missing Xenstore entry
   298455f466cb bt8xx: fix memory leak
   4b7a35866b0c s390/dasd: check for device error pointer within state change interrupts
   45a012ace954 mei: return error on notification request to a disconnected client
   0e97077574c6 exynos4-is: fimc-is: Unmap region obtained by of_iomap()
   2d097e5f5c03 staging: lustre: ptlrpc: skip lock if export failed
   efa8f1b7a65a staging: lustre: hsm: stack overrun in hai_dump_data_field
   2d1d45396585 staging: lustre: llite: don't invoke direct_IO for the EOF case
   28a8fc6416ab platform/x86: intel_mid_thermal: Fix module autoload
   d1f96c30ce2d scsi: aacraid: Process Error for response I/O
   fff544c8cf68 xen/manage: correct return value check on xenbus_scanf()
   762d0762b9bb cx231xx: Fix I2C on Internal Master 3 Bus
   0806eaf13850 perf tools: Only increase index if perf_evsel__new_idx() succeeds
   3b7d9a95ccd3 drm/amdgpu: when dpm disabled, also need to stop/start vce.
   dec5fcf11b45 i2c: riic: correctly finish transfers
   358008062202 ext4: do not use stripe_width if it is not set
   5624ea161040 ext4: fix stripe-unaligned allocations
   a76eb0e8655e staging: rtl8712u: Fix endian settings for structs describing network packets
   f9776d7ee5f5 mfd: axp20x: Fix axp288 PEK_DBR and PEK_DBF irqs being swapped
   8800aba50292 mfd: ab8500-sysctrl: Handle probe deferral
   ed414aeb5291 ARM: pxa: Don't rely on public mmc header to include leds.h
   a3e021504fcf mmc: s3cmci: include linux/interrupt.h for tasklet_struct
   ba28f16cfa2a PM / wakeirq: report a wakeup_event on dedicated wekup irq
   b83c2880b348 Fix tracing sample code warning.
   a48fce662380 tracing/samples: Fix creation and deletion of simple_thread_fn creation
   ded34f972348 drm/msm: fix an integer overflow test
   031b02bc16ae drm/msm: Fix potential buffer overflow issue
   6e6eba5ba145 perf tools: Fix build failure on perl script context
   fa312b481b2b ocfs2: fstrim: Fix start offset of first cluster group during fstrim
   cc7d9933400f ARM: 8715/1: add a private asm/unaligned.h
   4e351b8dd8b7 ARM: dts: mvebu: pl310-cache disable double-linefill
   581ac5f431c9 arm64: ensure __dump_instr() checks addr_limit
   97d64b7f2fdf ASoC: adau17x1: Workaround for noise bug in ADC
   618b930317fb KEYS: fix out-of-bounds read during ASN.1 parsing
   97c5668c9724 KEYS: return full count in keyring_read() if buffer is too small
   d304c9169b38 cifs: check MaxPathNameComponentLength != 0 before using it
   8142e9516d5d ALSA: seq: Fix nested rwsem annotation for lockdep splat
   70358782743f ALSA: timer: Add missing mutex lock for compat ioctls
   27e68f1bca91 Linux 4.4.96
   b3d04695be52 Revert "drm: bridge: add DT bindings for TI ths8135"
   50044e419e83 ecryptfs: fix dereference of NULL user_key_payload
   da0933ceec96 x86/microcode/intel: Disable late loading on model 79
   a272dc770f7d regulator: fan53555: fix I2C device ids
   120ef1a38f79 can: kvaser_usb: Ignore CMD_FLUSH_QUEUE_REPLY messages
   c1b092102124 can: kvaser_usb: Correct return value in printout
   0c3cdb4536d1 can: sun4i: fix loopback mode
   62b54cc63a1c scsi: sg: Re-fix off by one in sg_fill_request_table()
   6e9abbc96411 scsi: zfcp: fix erp_action use-before-initialize in REC action trace
   1cbbd99f3bfe assoc_array: Fix a buggy node-splitting case
   2c99438cf66d Input: gtco - fix potential out-of-bound access
   31d770a8b887 Input: elan_i2c - add ELAN0611 to the ACPI table
   8b396ff8eee7 xen/gntdev: avoid out of bounds access in case of partial gntdev_mmap()
   82e05e935ffd fuse: fix READDIRPLUS skipping an entry
   7d74eecca960 spi: uapi: spidev: add missing ioctl header
   3505478d6fec usb: xhci: Handle error condition in xhci_stop_device()
   da0345d723f0 ceph: unlock dangling spinlock in try_flush_caps()
   5f1d33ab4d53 ALSA: hda - fix headset mic problem for Dell machines with alc236
   8c812f0335dd ALSA: hda/realtek - Add support for ALC236/ALC3204
   fce67b31c7cd workqueue: replace pool->manager_arb mutex with a flag
   9b36699635c5 Linux 4.4.95
   aa3a0a70bdb8 FS-Cache: fix dereference of NULL user_key_payload
   1bb1d4252d1e fscrypto: require write access to mount to set encryption policy
   8a004caec12b KEYS: Fix race between updating and finding a negative key
   1dda04c761ab fscrypt: fix dereference of NULL user_key_payload
   7d9e13d953f2 f2fs crypto: add missing locking for keyring_key access
   4db9f1113196 f2fs crypto: replace some BUG_ON()'s with error checks
   0f85c0954be4 sched/autogroup: Fix autogroup_move_group() to never skip sched_move_task()
   fcc65ab173eb parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels
   558ca24dc296 parisc: Avoid trashing sr2 and sr3 in LWS code
   6f0dee7d9c9b pkcs7: Prevent NULL pointer dereference, since sinfo is not always set.
   33dea302f9bc KEYS: don't let add_key() update an uninstantiated key
   503ef5c070a1 lib/digsig: fix dereference of NULL user_key_payload
   2b7e02267d3c KEYS: encrypted: fix dereference of NULL user_key_payload
   51ba40fcfd67 rtlwifi: rtl8821ae: Fix connection lost problem
   cffdaa65e72f clockevents/drivers/cs5535: Improve resilience to spurious interrupts
   b178c94efdfd bus: mbus: fix window size calculation for 4GB windows
   260b6739e8b7 brcmsmac: make some local variables 'static const' to reduce stack size
   efdcbffb2b16 i2c: ismt: Separate I2C block read from SMBus block read
   68c610776cfb ALSA: hda: Remove superfluous '-' added by printk conversion
   f9e937124ec2 ALSA: seq: Enable 'use' locking in all configurations
   4516069f1b05 drm/nouveau/mmu: flush tlbs before deleting page tables
   195674adee57 drm/nouveau/bsp/g92: disable by default
   4d56587c28d4 can: esd_usb2: Fix can_dlc value for received RTR, frames
   aa629364c0e3 usb: musb: Check for host-mode using is_host_active() on reset interrupt
   583a4219841d usb: musb: sunxi: Explicitly release USB PHY on exit
   d68b07a19a9e can: gs_usb: fix busy loop if no more TX context is available
   f7d8b2e150ee ALSA: usb-audio: Add native DSD support for Pro-Ject Pre Box S2 Digital
   67e25805e748 usb: hub: Allow reset retry for USB2 devices on connect bounce
   d012ab210f5f usb: quirks: add quirk for WORLDE MINI MIDI keyboard
   d729f29a291f usb: cdc_acm: Add quirk for Elatec TWN3
   4512d6503a4d USB: serial: metro-usb: add MS7820 device id
   9dff499d8226 USB: core: fix out-of-bounds access bug in usb_get_bos_descriptor()
   abe43c97cae2 USB: devio: Revert "USB: devio: Don't corrupt user memory"
   af9a9a7bed51 Linux 4.4.94
   401231d063c5 Revert "tty: goldfish: Fix a parameter of a call to free_irq"
   cdbbea7809ca cpufreq: CPPC: add ACPI_PROCESSOR dependency
   c2c6f43e023a nfsd/callback: Cleanup callback cred on shutdown
   429a4ac5895d target/iscsi: Fix unsolicited data seq_end_offset calculation
   823ba64c5719 uapi: fix linux/mroute6.h userspace compilation errors
   028a419869e3 uapi: fix linux/rds.h userspace compilation errors
   c7a20ed2951f ceph: clean up unsafe d_parent accesses in build_dentry_path
   c128baf6a1bc i2c: at91: ensure state is restored after suspending
   d7ecae726698 net: mvpp2: release reference to txq_cpu[] entry after unmapping
   693e6513b244 scsi: scsi_dh_emc: return success in clariion_std_inquiry()
   9ac38e30f2b0 slub: do not merge cache if slub_debug contains a never-merge flag
   315689d2e202 ocfs2/dlmglue: prepare tracking logic to avoid recursive cluster lock
   d3335f5653ec crypto: xts - Add ECB dependency
   02744a55ed38 net/mlx4_core: Fix VF overwrite of module param which disables DMFS on new probed PFs
   7bf94b9595cc sparc64: Migrate hvcons irq to panicked cpu
   d14591e83b49 md/linear: shutup lockdep warnning
   48ca88f93533 f2fs: do not wait for writeback in write_begin
   3109615b52ee Btrfs: send, fix failure to rename top level inode due to name collision
   4d134d830ea7 iio: adc: xilinx: Fix error handling
   5c65ed5c07d7 netfilter: nf_ct_expect: Change __nf_ct_expect_check() return value.
   743a3ce1e0fd net/mlx4_en: fix overflow in mlx4_en_init_timestamp()
   7ed668eeb851 mac80211: fix power saving clients handling in iwlwifi
   3e8c1a04d335 mac80211_hwsim: check HWSIM_ATTR_RADIO_NAME length
   4a464dacc23f irqchip/crossbar: Fix incorrect type of local variables
   7e53f0390dbd watchdog: kempld: fix gcc-4.3 build
   28eab3db727e locking/lockdep: Add nest_lock integrity test
   d44e463c9460 Revert "bsg-lib: don't free job in bsg_prepare_job"
   01e3e6315171 tipc: use only positive error codes in messages
   685699703a0a net: Set sk_prot_creator when cloning sockets to the right proto
   1299f7e17e9e packet: only test po->has_vnet_hdr once in packet_snd
   1b6c80e797ee packet: in packet_do_bind, test fanout with bind_lock held
   ee534927f0c0 tun: bail out from tun_get_user() if the skb is empty
   b5f689d94bc3 l2tp: fix race condition in l2tp_tunnel_delete
   110cf3dd4bcc l2tp: Avoid schedule while atomic in exit_net
   93040aa17862 vti: fix use after free in vti_tunnel_xmit/vti6_tnl_xmit
   d9cb4dc0221e isdn/i4l: fetch the ppp_write buffer in one shot
   1a4f1ecdb257 bpf: one perf event close won't free bpf program attached by another perf event
   5be6824b9704 packet: hold bind lock when rebinding to fanout hook
   aa90be3e1248 net: emac: Fix napi poll list corruption
   3483c65090dc ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header
   5356f7e40d23 udpv6: Fix the checksum computation when HW checksum does not apply
   2ec54b21dd7b bpf/verifier: reject BPF_ALU64|BPF_END
   dee4506f067a sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
   9f5bbe694df1 MIPS: Fix minimum alignment requirement of IRQ stack
   c088f7bc3310 drm/dp/mst: save vcpi with payloads
   951ba9f6c8b9 percpu: make this_cpu_generic_read() atomic w.r.t. interrupts

(From OE-Core rev: 45251e65d5a4a0d5bfb9584ca5c364959a0816d3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
(cherry picked from commit ab748d3239b3b641bb9e26cc36afed7fad540748)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Bruce Ashfield
21fe602a31 linux-yocto/4.4: update to v4.4.93
Integrating the korg -stable updates that comprise the following shortlogs:

   e1fe3813117f Linux 4.4.93
   ad505a7b4fb0 x86/alternatives: Fix alt_max_short macro to really be a max()
   208563455aac USB: serial: console: fix use-after-free after failed setup
   6c14436b5e84 USB: serial: qcserial: add Dell DW5818, DW5819
   34592e06c7af USB: serial: option: add support for TP-Link LTE module
   ac22f49fb845 USB: serial: cp210x: add support for ELV TFD500
   b1f5a26964bf USB: serial: ftdi_sio: add id for Cypress WICED dev board
   399c46095eb5 fix unbalanced page refcounting in bio_map_user_iov
   f3b538493e66 direct-io: Prevent NULL pointer access in submit_page_section
   ac94abbb7941 usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options
   16c1ef65f4db ALSA: line6: Fix leftover URB at error-path during probe
   5b01343ad1bd ALSA: caiaq: Fix stray URB at probe error path
   ca2523c9c569 ALSA: seq: Fix copy_from_user() call inside lock
   23709ae9b614 ALSA: seq: Fix use-after-free at creating a port
   dc7c3bd09c7d ALSA: usb-audio: Kill stray URB at exiting
   050c4bbc09f1 iommu/amd: Finish TLB flush in amd_iommu_unmap()
   eb7f31673bbc usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet
   6a92b9997028 KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit
   03bd90fc82e4 crypto: shash - Fix zero-length shash ahash digest crash
   2929cb995378 HID: usbhid: fix out-of-bounds bug
   e7485f0f6a7b dmaengine: edma: Align the memcpy acnt array size with the transfer
   29b202ebf599 MIPS: math-emu: Remove pr_err() calls from fpu_emu()
   2fff3c5c2be7 USB: dummy-hcd: Fix deadlock caused by disconnect detection
   5fd45516595a rcu: Allow for page faults in NMI handlers
   45bd4e408040 iwlwifi: mvm: use IWL_HCMD_NOCOPY for MCAST_FILTER_CMD
   6a6c61d8467d nl80211: Define policy for packet pattern attributes
   f2bb4bcc0411 CIFS: Reconnect expired SMB sessions
   bd36826958de ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
   6721969c7b8a brcmfmac: add length check in brcmf_cfg80211_escan_handler()
   69f53f5d37d5 Linux 4.4.92
   82854fb438ca ext4: don't allow encrypted operations without keys
   4f22f0793cce ext4: Don't clear SGID when inheriting ACLs
   40c00e5fac3a ext4: fix data corruption for mmap writes
   90fd6738731b sched/cpuset/pm: Fix cpuset vs. suspend-resume bugs
   6d1400b09f99 nvme: protect against simultaneous shutdown invocations
   33d1fa43aad4 drm/i915/bios: ignore HDMI on port A
   b8af4466255c brcmfmac: setup passive scan if requested by user-space
   ee5bd0e4e69f uwb: ensure that endpoint is interrupt
   5a21af11c681 uwb: properly check kthread_run return value
   8b4196420dd6 iio: adc: mcp320x: Fix oops on module unload
   18215da0c241 iio: adc: mcp320x: Fix readout of negative voltages
   f2f68ec0b284 iio: ad7793: Fix the serial interface reset
   2c29a3868090 iio: core: Return error for failed read_reg
   b86df98578ab staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack.
   4b9c62a00aea iio: ad_sigma_delta: Implement a dedicated reset function
   0bab54141bac iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()'
   0141f858d2e1 iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()'
   4590ed795f0c xhci: fix finding correct bus_state structure for USB 3.1 hosts
   13713e63bdb3 USB: fix out-of-bounds in usb_set_configuration
   ddcbaf853dc5 usb: Increase quirk delay for USB devices
   feab51a916ed USB: core: harden cdc_parse_cdc_header
   5d9a9c3dcc1f USB: uas: fix bug in handling of alternate settings
   9e78ac87626a scsi: sd: Do not override max_sectors_kb sysfs setting
   fc29713fa7c7 iwlwifi: add workaround to disable wide channels in 5GHz
   146a9dc99025 HID: i2c-hid: allocate hid buffers for real worst case
   87509592ecc3 ftrace: Fix kmemleak in unregister_ftrace_graph
   60623d7ca38d stm class: Fix a use-after-free
   c85e9442f9e4 Drivers: hv: fcopy: restore correct transfer length
   2b91a52e1569 driver core: platform: Don't read past the end of "driver_override" buffer
   6d1bc9ee4c2d ALSA: usx2y: Suppress kernel warning at page allocation failures
   8cff1556ddbc ALSA: compress: Remove unused variable
   dd1f96a0a72c lsm: fix smack_inode_removexattr and xattr_getsecurity memleak
   a44be3e548e4 USB: g_mass_storage: Fix deadlock when driver is unbound
   2efab2c3a3ae usb: gadget: mass_storage: set msg_registered after msg registered
   b74a45450f80 USB: devio: Don't corrupt user memory
   e84b4a008365 USB: dummy-hcd: Fix erroneous synchronization change
   d1a0787b5a24 USB: dummy-hcd: fix infinite-loop resubmission bug
   d25a65e03f18 USB: dummy-hcd: fix connection failures (wrong speed)
   da358168126b usb: pci-quirks.c: Corrected timeout values used in handshake
   46c7b1fa4911 ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor
   ccc6a475800d usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction
   a7131ed81805 usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe
   e85bd5be6088 usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives
   86377bf33089 usb: gadget: udc: atmel: set vbus irqflags explicitly
   f72264e79ae7 USB: gadgetfs: fix copy_to_user while holding spinlock
   d20fff0b09d9 USB: gadgetfs: Fix crash caused by inadequate synchronization
   c2eb312f3137 usb: gadget: inode.c: fix unbalanced spin_lock in ep0_write
   c030c36a88cd Linux 4.4.91
   2536c20e8285 ttpci: address stringop overflow warning
   2b2bfb537be4 ALSA: au88x0: avoid theoretical uninitialized access
   d32ee7026081 ARM: remove duplicate 'const' annotations'
   7cad91f22d5e IB/qib: fix false-postive maybe-uninitialized warning
   13af23e01812 drivers: firmware: psci: drop duplicate const from psci_of_match
   f6c8c71cc901 libata: transport: Remove circular dependency at free time
   0185496a115d xfs: remove kmem_zalloc_greedy
   088b9a41b605 i2c: meson: fix wrong variable usage in meson_i2c_put_data
   cb07496eab43 md/raid10: submit bio directly to replacement disk
   13099ee9c7d5 rds: ib: add error handle
   9bcd5ceef96e iommu/io-pgtable-arm: Check for leaf entry before dereferencing it
   cadfa3a688d2 parisc: perf: Fix potential NULL pointer dereference
   4203f2a73882 netfilter: nfnl_cthelper: fix incorrect helper->expect_class_max
   fa029020bddd exynos-gsc: Do not swap cb/cr for semi planar formats
   8bd7216d3386 MIPS: IRQ Stack: Unwind IRQ stack onto task stack
   f7f46b3ba20d netfilter: invoke synchronize_rcu after set the _hook_ to NULL
   e29066778bc2 bridge: netlink: register netdevice before executing changelink
   1b760fdad9f0 mmc: sdio: fix alignment issue in struct sdio_func
   e1e99dc319cc usb: plusb: Add support for PL-27A1
   4212115da67b team: fix memory leaks
   fa63895f47c9 net/packet: check length in getsockopt() called with PACKET_HDRLEN
   b9ff317b5cd4 net: core: Prevent from dereferencing null pointer when releasing SKB
   4e6cdc0a7dec MIPS: Lantiq: Fix another request_mem_region() return code check
   c5710390cc76 ASoC: dapm: fix some pointer error handling
   7b8c9e6e0fca usb: chipidea: vbus event may exist before starting gadget
   093fe104c5bb audit: log 32-bit socketcalls
   af3749456042 ASoC: dapm: handle probe deferrals
   8e8c3d4bb629 partitions/efi: Fix integer overflow in GPT size calculation
   abbccd855753 USB: serial: mos7840: fix control-message error handling
   0d1b459a0baf USB: serial: mos7720: fix control-message error handling
   8b2522eb44ae drm/amdkfd: fix improper return value on error
   bf184ddd2180 IB/ipoib: Replace list_del of the neigh->list with list_del_init
   f1d53c6d4843 IB/ipoib: rtnl_unlock can not come after free_netdev
   9326a1374b13 IB/ipoib: Fix deadlock over vlan_mutex
   01b3db29ba1e tty: goldfish: Fix a parameter of a call to free_irq
   f97c79e83f7e ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM
   89642710fdb3 iio: adc: hx711: Add DT binding for avia,hx711
   a1f7b8ff496d iio: adc: axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications
   297b8b01ec27 hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes
   d89f41c20f32 sh_eth: use correct name for ECMR_MPDE bit
   effdf2b134d5 extcon: axp288: Use vbus-valid instead of -present to determine cable presence
   5603b10236da igb: re-assign hw address pointer on reset after PCI error
   1c3ef07eb8eb MIPS: ralink: Fix incorrect assignment on ralink_soc
   1e35a2adc078 MIPS: Ensure bss section ends on a long-aligned address
   b00cfc01e70f ARM: dts: r8a7790: Use R-Car Gen 2 fallback binding for msiof nodes
   6a501bddeba3 RDS: RDMA: Fix the composite message user notification
   d4f97441cb88 GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next
   11bf4a8e1d5a drm: bridge: add DT bindings for TI ths8135
   771dacea92cd drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #define
   37c2d0d3e850 Linux 4.4.90
   228969b4764f fix xen_swiotlb_dma_mmap prototype
   079c03f4a915 swiotlb-xen: implement xen_swiotlb_dma_mmap callback
   27323cb81eae video: fbdev: aty: do not leak uninitialized padding in clk to userspace
   150cd84bb6ea KVM: VMX: use cmpxchg64
   90df2daa1da0 ARM: pxa: fix the number of DMA requestor lines
   c575be9a393f ARM: pxa: add the number of DMA requestor lines
   a85f176c857e dmaengine: mmp-pdma: add number of requestors
   6124ed1a712a cxl: Fix driver use count
   9037837e0c32 KVM: VMX: remove WARN_ON_ONCE in kvm_vcpu_trigger_posted_interrupt
   fc39e561e343 KVM: VMX: do not change SN bit in vmx_update_pi_irte()
   5e9b526fcc90 timer/sysclt: Restrict timer migration sysctl values to 0 and 1
   ddf25aea679d gfs2: Fix debugfs glocks dump
   d25fea066a8e x86/fpu: Don't let userspace set bogus xcomp_bv
   4c16afac1875 btrfs: prevent to set invalid default subvolid
   0efde43517a5 btrfs: propagate error to btrfs_cmp_data_prepare caller
   9a7d93dd2cad btrfs: fix NULL pointer dereference from free_reloc_roots()
   b08dc7d4cfa1 PCI: Fix race condition with driver_override
   21a638c5efd6 kvm: nVMX: Don't allow L2 to access the hardware CR8
   7520be6a454c KVM: VMX: Do not BUG() on out-of-bounds guest IRQ
   e726c30c758b arm64: fault: Route pte translation faults via do_translation_fault
   638e7874f682 arm64: Make sure SPsel is always set
   9237605e0bfb seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter()
   668cee82cd28 bsg-lib: don't free job in bsg_prepare_job
   9d74367d1a35 nl80211: check for the required netlink attributes presence
   3393445ef440 vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets
   3bb7084cc031 SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags
   02ef29f9cbb6 SMB: Validate negotiate (to protect against downgrade) even if signing off
   c096b31f9d9a Fix SMB3.1.1 guest authentication to Samba
   fe37a445ea3f powerpc/pseries: Fix parent_dn reference leak in add_dt_node()
   638b38505045 KEYS: prevent KEYCTL_READ on negative key
   539255aea88e KEYS: prevent creating a different user's keyrings
   af24e9d8ba1a KEYS: fix writing past end of user-supplied buffer in keyring_read()
   362711d59b0c crypto: talitos - fix sha224
   231c4f646b77 crypto: talitos - Don't provide setkey for non hmac hashing algs.
   9d2534917c25 scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly
   29854a77f793 md/raid5: preserve STRIPE_ON_UNPLUG_LIST in break_stripe_batch_list
   d03d1567866e md/raid5: fix a race condition in stripe batch
   68a4a5289918 tracing: Erase irqsoff trace with empty write
   9c5afa726a52 tracing: Fix trace_pipe behavior for instance traces
   f75c0042f120 KVM: PPC: Book3S: Fix race and leak in kvm_vm_ioctl_create_spapr_tce()
   7d8fbf3db169 mac80211: flush hw_roc_start work before cancelling the ROC
   fcc949a48842 cifs: release auth_key.response for reconnect.
   10def3a67799 Linux 4.4.89
   ed1bf4397d22 ftrace: Fix memleak when unregistering dynamic ops when tracing disabled
   a069d0a43de4 bcache: fix bch_hprint crash and improve output
   f522051a84e5 bcache: fix for gc and write-back race
   a6c5e7a0cd01 bcache: Correct return value for sysfs attach errors
   d9c6a28a6a1c bcache: correct cache_dirty_target in __update_writeback_rate()
   0471f58e18e6 bcache: do not subtract sectors_to_gc for bypassed IO
   093457f2bd32 bcache: Fix leak of bdev reference
   5025da3b532b bcache: initialize dirty stripes in flash_dev_run()
   4931578fbeb5 media: uvcvideo: Prevent heap overflow when accessing mapped controls
   04affe4e1171 media: v4l2-compat-ioctl32: Fix timespec conversion
   7498bd605840 PCI: shpchp: Enable bridge bus mastering if MSI is enabled
   81306fc3dbb5 ARC: Re-enable MMU upon Machine Check exception
   d28e96be7c6a tracing: Apply trace_clock changes to instance max buffer
   753154fcfefe ftrace: Fix selftest goto location on error
   d8663aa27789 scsi: qla2xxx: Fix an integer overflow in sysfs code
   72896ca30a7f scsi: sg: fixup infoleak when using SG_GET_REQUEST_TABLE
   c04996ad58ee scsi: sg: factor out sg_fill_request_table()
   f0cd701d4750 scsi: sg: off by one in sg_ioctl()
   3682e0c61ffb scsi: sg: use standard lists for sg_requests
   6b498ad14472 scsi: sg: remove 'save_scat_len'
   cf22210c66ca scsi: storvsc: fix memory leak on ring buffer busy
   b4730f456e21 scsi: megaraid_sas: Return pended IOCTLs with cmd_status MFI_STAT_WRONG_STATE in case adapter is dead
   d9b8f1ccbb8c scsi: megaraid_sas: Check valid aen class range to avoid kernel panic
   4dd6cbbc2191 scsi: zfcp: trace high part of "new" 64 bit SCSI LUN
   1e6c640a75d0 scsi: zfcp: trace HBA FSF response by default on dismiss or timedout late response
   7194822422f9 scsi: zfcp: fix payload with full FCP_RSP IU in SCSI trace records
   d0fbe221b8f1 scsi: zfcp: fix missing trace records for early returns in TMF eh handlers
   1a847369487c scsi: zfcp: fix passing fsf_req to SCSI trace on TMF to correlate with HBA
   52661717ee66 scsi: zfcp: fix capping of unsuccessful GPN_FT SAN response trace records
   d0c02c6f3e85 scsi: zfcp: add handling for FCP_RESID_OVER to the fcp ingress path
   cfc49967434d scsi: zfcp: fix queuecommand for scsi_eh commands when DIX enabled
   19978c50db68 skd: Submit requests to firmware before triggering the doorbell
   0bcaf5178fe6 skd: Avoid that module unloading triggers a use-after-free
   f05dafbd7791 md/bitmap: disable bitmap_resize for file-backed bitmaps.
   30e81e7fe197 block: Relax a check in blk_start_queue()
   a918d32583e0 powerpc: Fix DAR reporting when alignment handler faults
   c53f01698f68 ext4: fix quota inconsistency during orphan cleanup for read-only mounts
   cd46241eb03c ext4: fix incorrect quotaoff if the quota feature is enabled
   5e9d28b003b0 crypto: AF_ALG - remove SGL terminator indicator when chaining
   9354f4d0beb0 MIPS: math-emu: MINA.<D|S>: Fix some cases of infinity and zero inputs
   f4d77fc754f2 MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of both infinite inputs
   322bf697bdc4 MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of input values with opposite signs
   a83ffb581f26 MIPS: math-emu: <MAX|MIN>.<D|S>: Fix cases of both inputs negative
   6acd1d26c32e MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix cases of both inputs zero
   b6c818d813c6 MIPS: math-emu: <MAX|MAXA|MIN|MINA>.<D|S>: Fix quiet NaN propagation
   bf592dde1262 Input: i8042 - add Gigabyte P57 to the keyboard reset table
   c13c5c7e88d7 tty: fix __tty_insert_flip_char regression
   077933dcd5ca tty: improve tty_insert_flip_char() slow path
   e1e6620f042c tty: improve tty_insert_flip_char() fast path
   c576160ff3f3 mm: prevent double decrease of nr_reserved_highatomic
   6ea627b20205 nfsd: Fix general protection fault in release_lock_stateid()
   d5c59ee84820 md/raid5: release/flush io in raid5_do_work()
   e21d66048d4d x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
   53e5f7b8d41b f2fs: check hot_data for roll-forward recovery
   be9994817ad5 ipv6: fix typo in fib6_net_exit()
   70479eafe3d9 ipv6: fix memory leak with multiple tables during netns destruction
   9b5e5d8a0045 gianfar: Fix Tx flow control deactivation
   5f529e0d7844 Revert "net: fix percpu memory leaks"
   40bc5355e134 Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
   611a98c8eca3 tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0
   081be8c9efd6 Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()"
   6d8c8fd1c4c7 qlge: avoid memcpy buffer overflow
   354d36b746c3 ipv6: fix sparse warning on rt6i_node
   e51bf99be7cc ipv6: add rcu grace period before freeing fib6_node
   6eb7ae1223f7 ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt()
   b52c9082f2eb Linux 4.4.88
   ad3903434142 xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present
   677a80364049 NFS: Fix 2 use after free issues in the I/O code
   84478477d0b8 ARM: 8692/1: mm: abort uaccess retries upon fatal signal
   f7ec367c8ea7 Bluetooth: Properly check L2CAP config option output buffer length
   556814701545 ALSA: msnd: Optimize / harden DSP and MIDI loops
   10863607c242 locktorture: Fix potential memory leak with rw lock test
   693b7f62a439 btrfs: resume qgroup rescan on rw remount
   f4596ead66a7 drm/bridge: adv7511: Re-write the i2c address before EDID probing
   e22a4308547c drm/bridge: adv7511: Switch to using drm_kms_helper_hotplug_event()
   9183e45db777 drm/bridge: adv7511: Use work_struct to defer hotplug handing to out of irq context
   c634cecad4c1 drm/bridge: adv7511: Fix mutex deadlock when interrupts are disabled
   aea7e5ce4a52 drm: adv7511: really enable interrupts for EDID detection
   a2e71dcfb0d4 scsi: sg: recheck MMAP_IO request length with lock held
   0d7592a03b8a scsi: sg: protect against races between mmap() and SG_SET_RESERVED_SIZE
   9a4cabf3bf8b cs5536: add support for IDE controller variant
   302364990c05 workqueue: Fix flag collision
   966e3a2d98c1 drm/nouveau/pci/msi: disable MSI on big-endian platforms by default
   4a9c294d7b1e mwifiex: correct channel stat buffer overflows
   926374f5e669 dlm: avoid double-free on error path in dlm_device_{register,unregister}
   bf3a0acce440 Bluetooth: Add support of 13d3:3494 RTL8723BE device
   ca245a6414e4 rtlwifi: rtl_pci_probe: Fix fail path of _rtl_pci_find_adapter
   c5b8e1dd9629 Input: trackpoint - assume 3 buttons when buttons detection fails
   2c65494080c9 ath10k: fix memory leak in rx ring buffer allocation
   69eeacb5cd87 intel_th: pci: Add Cannon Lake PCH-LP support
   eb98d15d3cbe intel_th: pci: Add Cannon Lake PCH-H support
   1875ed81c2b7 driver core: bus: Fix a potential double free
   f3584d55a8d8 staging/rts5208: fix incorrect shift to extract upper nybble
   812e484133fb USB: core: Avoid race of async_completed() w/ usbdev_release()
   9f1d78c62a4b usb:xhci:Fix regression when ATI chipsets detected
   b3e92cd7a820 usb: Add device quirk for Logitech HD Pro Webcam C920-C
   6e957a81c77f USB: serial: option: add support for D-Link DWM-157 C1
   f7a0f7318c27 usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard

(From OE-Core rev: 837189ed8f4acc77b42f22b0c63798530105cdb7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e3ae1935a0e5fe0d5867250ef62ae8ffd08b5b4e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
(cherry picked from commit 8abd7663e6780fcda81ed44da9f90a2f6233e3a9)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Armin Kuster
e57b272e56 tzdata: update to 2018c
The 2018c release of the tz code and data is available. It follows on the 2018a and 2018b releases, which were published but were not announced until now, due to problems discovered late in their release processes. 2018a had a build-failure typo, and 2018a and 2018b both had problems with ICU and Java, downstream packages which do not support a feature (negative DST offsets) used in 2018a and 2018b. The typo has been fixed, and data changes using negative DST offsets have been reverted pending development of a mechanism to export data to platforms lacking support for such data.

  Briefly:
  São Tomé and Príncipe switched from +00 to +01.
  Brazil's DST will now start on November's first Sunday.
  Use Debian-style installation locations, instead of 4.3BSD-style.
  New zic option -t.

  Changes to past and future time stamps

    São Tomé and Príncipe switched from +00 to +01 on 2018-01-01 at
    01:00.  (Thanks to Steffen Thorsen and Michael Deckers.)

  Changes to future time stamps

    Starting in 2018 southern Brazil will begin DST on November's
    first Sunday instead of October's third Sunday. (Thanks to
    Steffen Thorsen.)

  Changes to past time stamps

    Japanese DST transitions (1948-1951) were Sundays at 00:00, not
    Saturdays or Sundays at 02:00.  (Thanks to Takayuki Nikai.)

    A discrepancy of 4 s in timestamps before 1931 in South Sudan has
    been corrected.  The 'backzone' and 'zone.tab' files did not agree
    with the 'africa' and 'zone1970.tab' files.  (Problem reported by
    Michael Deckers.)

    The abbreviation invented for Bolivia Summer Time (1931-2) is now
    BST instead of BOST, to be more consistent with the convention
    used for Latvian Summer Time (1918-9) and for British Summer Time.

  Changes to build procedure

    The default installation locations have been changed to mostly
    match Debian circa 2017, instead of being designed as an add-on to
    4.3BSD circa 1986.  This affects the Makefile macros TOPDIR,
    TZDIR, MANDIR, and LIBDIR.  New Makefile macros TZDEFAULT, USRDIR,
    USRSHAREDIR, BINDIR, ZDUMPDIR, and ZICDIR let installers tailor
    locations more precisely.  (This responds to suggestions from
    Brian Inglis and from Steve Summit.)

    The default installation procedure no longer creates the
    backward-compatibility link US/Pacific-New, which causes
    confusion during user setup (e.g., see Debian bug 815200).
    Use 'make BACKWARD="backward pacificnew"' to create the link
    anyway, for now.  Eventually we plan to remove the link entirely.

    tzdata.zi now contains a version-number comment.
    (Suggested by Tom Lane.)

    The Makefile now quotes values like BACKWARD more carefully when
    passing them to the shell.  (Problem reported by Zefram.)

    Builders no longer need to specify -DHAVE_SNPRINTF on platforms
    that have snprintf and use pre-C99 compilers. (Problem reported
    by Jon Skeet.)

    The build procedure now works around mawk 1.3.3's lack of support
    for character class expressions.  (Problem reported by Ohyama.)

(From OE-Core rev: 40a3b937a5e88daa8fc4900796bca8b447084df5)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 97927956a6629381b54973d01e16c5f039f5e5bb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
(cherry picked from commit f266d17095441dd136c490578d7aae824ab16870)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Armin Kuster
94bb0642a6 tzcode: update to 2018c
removed patches now included in update.

The 2018a through 2018c releases reflect the following changes, which were either circulated on the tz mailing list or are relatively minor technical or administrative changes. This announcement has merged the set of changes made by the three releases, to make it easier to see the difference between 2017c and 2018c; please see the 2018c NEWS file for more details about intermediate versions.

Release 2018c - 2018-01-22 23:00:44 -0800
Release 2018b - 2018-01-17 23:24:48 -0800
Release 2018a - 2018-01-12 22:29:21 -0800

Changes to code

    zic has a new option -t FILE that specifies the location of the
    file that determines local time when TZ is unset. The default for
    this location can be configured via the new TZDEFAULT makefile
    macro, which defaults to /etc/localtime.

    Diagnostics and commentary now distinguish UT from UTC more
    carefully; see theory.html for more information about UT vs UTC.

    zic has been ported to GCC 8's -Wstringop-truncation option.
    (Problem reported by Martin Sebor.)

  Changes to documentation and commentary

    The zic man page now documents the longstanding behavior that
    times and years can be out of the usual range, with negative times
    counting backwards from midnight and with year 0 preceding year 1.
    (Problem reported by Michael Deckers.)

    The theory.html file now mentions the POSIX limit of six chars
    per abbreviation, and lists alphabetic abbreviations used.

    The files tz-art.htm and tz-link.htm have been renamed to
    tz-art.html and tz-link.html, respectively, for consistency with
    other file names and to simplify web server configuration.

(From OE-Core rev: 461f09931b261de17057416799d5bb3ed72aa749)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit aae1131225b92d2f984a2de35b2e21592ae8195d)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
(cherry picked from commit 017bbce4101e90388cf662e12157a788112e0727)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Armin Kuster
e9f4742ebf tzdata: update 2017c
LICENSE changed do to rewording
7097a65277 (diff-9879d6db96fd29134fc802214163b95a)

  Briefly:
  Northern Cyprus switches from +03 to +02/+03 on 2017-10-29.
  Fiji ends DST 2018-01-14, not 2018-01-21.
  Namibia switches from +01/+02 to +02 on 2018-04-01.
  Sudan switches from +03 to +02 on 2017-11-01.
  Tonga likely switches from +13/+14 to +13 on 2017-11-05.
  Turks & Caicos switches from -04 to -05/-04 on 2018-11-04.
  A new file tzdata.zi now holds a small text copy of all data.
  The zic input format has been regularized slightly.

  Changes to future time stamps

    Northern Cyprus has decided to resume EU rules starting
    2017-10-29, thus reinstituting winter time.

    Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously
    predicted.  (Thanks to Dominic Fok.)  Adjust future predictions
    accordingly.

    Namibia will switch from +01 with DST to +02 all year on
    2017-09-03 at 02:00.  This affects UT offsets starting 2018-04-01
    at 02:00.  (Thanks to Steffen Thorsen.)

    Sudan will switch from +03 to +02 on 2017-11-01.  (Thanks to Ahmed
    Atyya and Yahia Abdalla.)  South Sudan is not switching, so
    Africa/Juba is no longer a link to Africa/Khartoum.

    Tonga has likely ended its experiment with DST, and will not
    adjust its clocks on 2017-11-05.  Although Tonga has not announced
    whether it will continue to observe DST, the IATA is assuming that
    it will not.  (Thanks to David Wade.)

    Turks & Caicos will switch from -04 all year to -05 with US DST on
    2018-03-11 at 03:00.  This affects UT offsets starting 2018-11-04
    at 02:00.  (Thanks to Steffen Thorsen.)

  Changes to past time stamps

    Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03.
    (Thanks to Arthur David Olson.)

    Detroit did not observe DST in 1967.

    Use railway time for Asia/Kolkata before 1941, by switching to
    Madras local time (UT +052110) in 1870, then to IST (UT +0530) in
    1906.  Also, treat 1941-2's +0630 as DST, like 1942-5.

    Europe/Dublin's 1946 and 1947 fallback transitions occurred at
    02:00 standard time, not 02:00 DST.  (Thanks to Michael Deckers.)

    Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to
    American time in 1892, not 1879.  (Thanks to Michael Deckers.)

    Adjust the 1867 transition in Alaska to better reflect the
    historical record, by changing it to occur on 1867-10-18 at 15:30
    Sitka time rather than at the start of 1867-10-17 local time.
    Although strictly speaking this is accurate only for Sitka,
    the rest of Alaska's blanks need to be filled in somehow.

    Fix off-by-one errors in UT offsets for Adak and Nome before 1867.
    (Thanks to Michael Deckers.)

    Add 7 s to the UT offset in Asia/Yangon before 1920.

  Changes to zone names

    Remove Canada/East-Saskatchewan from the 'backward' file, as it
    exceeded the 14-character limit and was an unused misnomer anyway.

(From OE-Core rev: 87e0034383d828bbcc86c95f4d3c2b141584d682)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 77a8256d9cbfe24d470aac9b4cc2910a41ca0ee8)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
(cherry picked from commit 2ea37fd4fad2e5ef21c119b03f09bcf2b0e7266e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Armin Kuster
c0582aa978 tzcode-native: update to 2017c
LICENSE changes do to rewording
7097a65277 (diff-9879d6db96fd29134fc802214163b95a)

Backported to fixes from upstream too.

Changes to code

    zic and the reference runtime now reject multiple leap seconds
    within 28 days of each other, or leap seconds before the Epoch.
    As a result, support for double leap seconds, which was
    obsolescent and undocumented, has been removed.  Double leap
    seconds were an error in the C89 standard; they have never existed
    in civil timekeeping.  (Thanks to Robert Elz and Bradley White for
    noticing glitches in the code that uncovered this problem.)

    zic now warns about use of the obsolescent and undocumented -y
    option, and about use of the obsolescent TYPE field of Rule lines.

    zic now allows unambiguous abbreviations like "Sa" and "Su" for
    weekdays; formerly it rejected them due to a bug.  Conversely, zic
    no longer considers non-prefixes to be abbreviations; for example,
    it no longer accepts "lF" as an abbreviation for "lastFriday".
    Also, zic warns about the undocumented usage with a "last-"
    prefix, e.g., "last-Fri".

    Similarly, zic now accepts the unambiguous abbreviation "L" for
    "Link" in ordinary context and for "Leap" in leap-second context.
    Conversely, zic no longer accepts non-prefixes such as "La" as
    abbreviations for words like "Leap".

    zic no longer accepts leap second lines in ordinary input, or
    ordinary lines in leap second input.  Formerly, zic sometimes
    warned about this undocumented usage and handled it incorrectly.

    The new macro HAVE_TZNAME governs whether the tzname external
    variable is exported, instead of USG_COMPAT.  USG_COMPAT now
    governs only the external variables "timezone" and "daylight".
    This change is needed because the three variables are not in the
    same category: although POSIX requires tzname, it specifies the
    other two variables as optional.  Also, USG_COMPAT is now 1 or 0:
    if not defined, the code attempts to guess it from other macros.

    localtime.c and difftime.c no longer require stdio.h, and .c files
    other than zic.c no longer require sys/wait.h.

    zdump.c no longer assumes snprintf.  (Reported by Jonathan Leffler.)

    Calculation of time_t extrema works around a bug in GCC 4.8.4
    (Reported by Stan Shebs and Joseph Myers.)

    zic.c no longer mistranslates formats of line numbers in non-English
    locales.  (Problem reported by Benno Schulenberg.)

    Several minor changes have been made to the code to make it a
    bit easier to port to MS-Windows and Solaris.  (Thanks to Kees
    Dekker for reporting the problems.)

  Changes to documentation and commentary

    The two new files 'theory.html' and 'calendars' contain the
    contents of the removed file 'Theory'.  The goal is to document
    tzdb theory more accessibly.

    The zic man page now documents abbreviation rules.

    tz-link.htm now covers how to apply tzdata changes to clients.
    (Thanks to Jorge Fábregas for the AIX link.)  It also mentions MySQL.

    The leap-seconds.list URL has been updated to something that is
    more reliable for tzdb.  (Thanks to Tim Parenti and Brian Inglis.)

(From OE-Core rev: 0b1f73a77f8d01960f1fc1bf073d8c1f9a839fff)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 74af497f8d6b4e28d97c0f2cdb4ece90c2a6b8b5)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
(cherry picked from commit 12a538bbbc8d04e875f81bd65e9754d749273aac)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:12 +00:00
Enrico Scholz
e1f6d40f1d tzcode-native: quote ${CC}
build fails else with

| + make -j 8 -l 6 cc=ccache gcc
| make: *** No rule to make target 'gcc'.  Stop.

(From OE-Core rev: bf0103c7fce3d507e147e1f2381c402fca123364)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 5729c1563359e12ebb4451bb1ce7ba3fff4ed2d4)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Jan Kiszka
31b6cb2cbb tzdata: Install zone1970.tab
The modern version of zone.tab is required by tzselect e.g.

(From OE-Core rev: de467998ecfa5fa1d2e9dd43a4a3d828cf9ccade)

(From OE-Core rev: ac9bbd2b58a5bfcea7b244f40549ac870d5b241e)

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Armin Kuster
c9c8e5eb56 tzdata: update to 2017b
(From OE-Core rev: 40edcd69d66b5f29d8855f081c72f909f07cb686)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Armin Kuster
25c21cc639 tzcode: update to 2017b
Briefly: Haiti has resumed DST.

  Changes to past and future time stamps

    Haiti resumed observance of DST in 2017.  (Thanks to Steffen Thorsen.)

  Changes to past time stamps

    Liberia changed from -004430 to +00 on 1972-01-07, not 1972-05-01.

    Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430"
    is one byte over the POSIX limit.  (Problem reported by Derick Rethans.)

(From OE-Core rev: 1d92651465e5cc5c7b234ed1646eb869e9afe699)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Otavio Salvador
7942f0c6f4 linux-firmware: Bump to bf04291 revision
This includes following changes:

bf04291 WHENCE: Add new qed firmware
d8fc990 WHENCE: Add new radeon firmware
7245319 WHENCE: Fix syntax error for iwlwifi-8265-31.ucode entry
18d71a8 Revert "ath10k: QCA988X hw2.0: update firmware to 10.2.4.70.63-2"
4ebfab3 ath10k: QCA6174 hw3.0: update board-2.bin
96a7402 ath10k: QCA6174 hw3.0: update firmware-6.bin to WLAN.RM.4.4.1-00051-QCARMSWP-1
59bf7e2 cxgb4: update firmware to revision 1.16.63.0

The MD5 checksum of WHENCE license file was due the changes above as
the firmware versions are listed there. It had no license term
changes.

The following security fixes included too:

CVE-2017-13080 and CVE-2017-13081
- iwlwifi: update firmwares for 3160, 3168, 7265D, 8000C and 8265
- iwlwifi: update firmwares for 3160, 3168, 7260, 7265 and 7265D
 which came in with 796c91268eb1b4a24ffb90dd1c681c7d88f5c061
 and 1a5fd9460d380acecb6cda96736d975ec8f57f6a in linux-firmwire

(From OE-Core rev: 5ffac18a797d771988ed08943d21459911332880)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit aea6ce797cc1b1ecc199979eb12aa42de8ff73d4)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Saul Wold
63e5cd99e6 linux-firmware: Split out the QAT firmware
Create a new qat package for those firmware blobs

(From OE-Core rev: 2d6a0ac81448db8d0262249ea325750b0e8433a4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit b48c746736012cfd85e8263efcf125ecd17ca7bb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Mikko Ylinen
8cddcae875 linux-firmware: make i.MX SDMA split complete
The commit to split i.MX SDMA firmware blobs in their
own packages was not complete and results in a failure
when trying to install full linux-firmware:

 * Solver encountered 1 problem(s):
 * Problem 1/1:
 *   - nothing provides linux-firmware-imx-sdma-license needed
 *     by linux-firmware-1:0.0+git0+a61ac5cf83-r0.all
 *
 * Solution 1:
 *   - do not ask to install a package providing linux-firmware

Make the split complete by installing the license in
${PN}-imx-sdma-license and have the blob packages depend on it.

(From OE-Core rev: 4c4def67862e3457734dc755853b53c77d925837)

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 229f70a5f6d29d82e1a7b1f780e2149fb91d5385)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Otavio Salvador
e7cad54067 linux-firmware: Split i.MX SDMA firmwares
This splits out the i.MX SDMA firmwares for i.MX6 and i.MX7 SoCs. This
also includes the required runtime provides, conflicts and replaces
for the old firmware-imx which was provided by NXP BSP layer.

(From OE-Core rev: 6b1d3642e8f2f34f05ac8494dbef62e427e30caf)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit b3f3078fd4349fdf6986dd57e4b04bce03630924)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Tomas Novotny
cb9b66db1a linux-firmware: package Broadcom BCM43362 firmware
(From OE-Core rev: 86a1e6a4d3b567cff511e943304fc59c0288aab1)

Signed-off-by: Tomas Novotny <tomas@novotny.cz>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit e013cff66ec364738e5ccb085c1079507de66aaa)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Stefan Agner
dd45dbf237 linux-firmware: bump to latest linux-firmware git revision
This requires MD5 sum updates for
- LICENSE.QualcommAtheros_ath10k: year change
- WHENCE: various version updates and addition of new firmwares

The new firmware for Qualcom Venus causes a QA error:
  QA Issue: linux-firmware: Recipe inherits the allarch class, but has packaged architecture-specific binaries

Since firmware typically do not run on the CPU, the architecture of
the firmware file is independent from the CPU architecture the image
will be running on. Disable the QA check for the linux-firmware
package by default.

(From OE-Core rev: 4b83bc0f95895dd9ff8c99a5fe09ed7c07454092)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit a83dd65e64e9b7fa702927f96947bd3f0537adfd)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Stefan Agner
3f8a6e5818 linux-firmware: package Marvell PCIe WiFi firmwares
Add packages for Marvell Avastar 88W8897 and 88W8997 PCIe WiFi
chips.

(From OE-Core rev: de998e3487bcb4cde833e432d5393cb051da7ef6)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 75e918d0d4b4cd7908ea5b3c30ca5ea5bf148b75)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Maciej Pijanowski
e0bd661595 linux-firmware: package ibt-firmware
ibt-firmware was not packaged separately and was part of big linux-firmware
package. Packaging allows to install it separately, according to requirements.

(From OE-Core rev: 846f72411b85be6d9428c6c0d1e408033a310ac3)

Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f1414d6f9c327547023375f9e298f6f021eaee1b)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Maciej Pijanowski
4f101d4400 linux-firmware: package iwlfifi-3160-[10-17] firmware
Package iwlwifi-3160-[10-17] firmware from iwlwifi-misc to seperate packages,
so it is possible to install only required firmare package.

(From OE-Core rev: 019f9ed61cebb6721e4b8ba5ab613eb8f0f53f77)

Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 2a5966c957a6c2fbe914c1b3be0926ec0e62dab0)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Tim Orling
22aea86cc2 linux-firmware: add support for mt7601u WiFi chip
Mediatek MT7601U is a common 802.11 g/n WiFi USB chip

(From OE-Core rev: 0ddc41cc163d65a1ee0d12dba79f1091a69ddc5a)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit eb61f7ed04237513216cbff0612ceaa114dffdcc)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Ricardo Salveti
18dad72f77 linux-firmware: package Qualcomm QCA firmware
Firmware files for the QCA61x4 ROME BT family chips. Firmware shares the
same license as used by ath10k.

(From OE-Core rev: 4190a5c915bf75e642cf4ed5ee292c1e58092833)

Signed-off-by: Ricardo Salveti <rsalveti@rsalveti.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit cc5fa321bb8988344f10f4fbc843e23e5d73fe33)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Ng Wei Tee
0ec933118f linux-firmware: enable netronome firmware
It was previously disabled, as rpm refused to package it into noarch
package, due to the firmware being considered arch-specific. This
check is disabled in rpm now.

The netronome binaries has ELF headers which will trigger an
arch-specific error. INSANE_SKIP variable is used to skip some
package_qa check usage.

(From OE-Core rev: 2aa934bc429c407efc2a275616e16b677ceae9fe)

Signed-off-by: Ng Wei Tee <wei.tee.ng@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 8b2f6b308019e697c9d3e66969807eb573350d78)
Manual fixup to current base
Signed-off-by: Armin Kuster <akuster808@gmail.com>

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Saul Wold
3da3796133 linux-firmware: Remove iwlwifi-8000C-19 SRC_URI
Since it's been removed from the upstream repo and not fetchable
remove it here.  The newer firmware supports the device correctly.

(From OE-Core rev: c134c583e0ef315e88644d94e5a3920b92c6f39d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 8b8c40bdbd09ddd1409dc30e04ef847f6a15f109)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Peter Kjellerstedt
b1d990ab4c linux-firmware: Avoid a dependency on python-core
Remove the check_whence.py script since it is only needed to validate
the WHENCE file, and only if explicitly running `make check`.

(From OE-Core rev: 1fc4d5a31f05970d8d80b0106ea81d486f298e33)

(From OE-Core rev: 47665534549ea808c0ff2ce30d0cf9edf69693ff)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:11 +00:00
Chang, Rebecca Swee Fun
f5530152f9 linux-firmware: Fix build failure when update SRCREV to latest HEAD
When we update the SRCREV to latest, we will encouter the following
bitbake error.

Build error message:
| Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
| error: Arch dependent binaries in noarch package
|
|
| RPM build errors:
|     Missing build-id in /home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0081-0001_1x40.nffw
|     Missing build-id in /home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0099-0001_2x25.nffw
|     Missing build-id in /home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0097-0001_8x10.nffw
|     Missing build-id in /home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0081-0001_4x10.nffw
|     Missing build-id in /home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0097-0001_4x10_1x40.nffw
|     Missing build-id in /home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0099-0001_2x10.nffw
|     Missing build-id in /home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0097-0001_2x40.nffw
|     Missing build-id in /home/phoongst/work2/test00/tmp/work/all-poky-linux/linux-firmware/1_0.0+gitAUTOINC+44d8e8d4fd-r0/package/lib/firmware/netronome/nic_AMDA0096-0001_2x10.nffw
|     Deprecated external dependency generator is used!
|     Arch dependent binaries in noarch package
| WARNING: exit code 1 from a shell command.

This is due to netronome firmware is not included in noarch package.
Hence we removed the netronome firmware before it is packaged,
until the rpm issue is resolved.

(From OE-Core rev: 8057e14fe582b2f2f8b02fb1d7fae2cfaae501f4)

Signed-off-by: Chang, Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com>
Signed-off-by: Ng, Wei Tee <wei.tee.ng@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Ng, Wei Tee
e30f669335 linux-firmware: Set the license for carl9170 to GPLv2
linux-firmwara-carl9170 was set to a wrong license string.
Carl9170 firmware is bounded by GPLv2 via code inspection on
linux firmware source tree. Hence we include GPLv2 in LICENSE
field and set carl9170 firmware to the correct license.

[YOCTO #11090]

(From OE-Core rev: fa9767f2b6013d8f2f28dbe7f07c07906b40c5a5)

Signed-off-by: Ng, Wei Tee <wei.tee.ng@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Ng, Wei Tee
bbfd123ddb linux-firmware: update to revision a4dde74b
-change in amdgpu firmware copyright year
-change in radeon firmware copyright year
-LICENCE.mwl8335 was removed in linux-firmware source tree
-specify the copyright year for siano
-change in qla2xxx firmware copyright year

(From OE-Core rev: 731eaa63fab5b949a72d24294db8d9c9ea078b59)

Signed-off-by: Ng, Wei Tee <wei.tee.ng@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Amarnath Valluri
6354b82abb firmware: use ${nonarch_base_libdir} for firmware installation.
Replace hardcoded '/lib' in kernel firmware installation path with
${nonarch_base_libdir}.

(From OE-Core rev: a1fe1322684b928f594859b4ab5bb03a6cd44ffe)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Amarnath Valluri
3694260530 firmware: use ${nonarch_base_libdir} for firmware installation.
Replace hardcoded '/lib' in kernel firmware installation path with
${nonarch_base_libdir}.

(From OE-Core rev: 3a3f8464d761524d77c5e94bb3cfb069b50c1872)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Stefan Agner
4f041864a5 linux-firmware: Add Marvell sd88xx WiFi firmwares
Add packages for Marvells sd88xx SDIO WiFi firmwares.

(From OE-Core rev: 0eaef988f723e23d0de24e8a931a7f8b43c4a484)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Saul Wold
4fcc6ad901 linux-firmware: relocate ath9k_htc blobs to correct package
The newer firmware blobs were versioned and landing in the default
package so move them to their appropriately named package.

[YOCTO #10942]

(From OE-Core rev: 4a8f2686148c565b8415e5d402ddf340e56cddef)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Jason Wessel
14c0eabeea Revert "linux-firmware: Modify firmware installation path"
This reverts commit a46a23fed9acd097ecc8ab3985d18688abe7b065.

The 64bit/32bit multilib builds break because the kernel's
firmware loader cannot find the firmware because it
gets placed int the wrong directory.

(From OE-Core rev: 8ebb38c21b43372d73df7bda55ad9810eb8dd1e2)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Amarnath Valluri
ede168e974 linux-firmware: Modify firmware installation path
Install firmware files under ${base_libdir}/firmware instead of hardcoded
/lib/firmare.

(From OE-Core rev: a7a22a7a98cc8daf8b912ccb6741b243a22f164f)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Ross Burton
9fe6b4e4dc linux-firmware: remove alternatives for brcmfmac-stdio.bin
These alternatives are only used to provide an unversioned brcmfmac-sdio.bin,
which was required by kernels prior to 3.13.  As these alternatives all have the
same priority there's no determinism in which one is selected, and current
kernels (since January 2014) use the appropriately versioned firmware names.

(From OE-Core rev: ac8cc5184086e6ca396c5ff35c7fb69ea2f71fa8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Mike Looijmans
32701927a8 linux-firmware: Split out Realtek chipsets rtl8188 rtl8723 rtl8821
Add rtl8188 rtl8712 rtl8723 rtl8821 packages to install only firmware for the
corresponding chipset. Uses a rather blunt approach by simply adding all firmware
files with matching prefix, to keep the package count down a bit.

(From OE-Core rev: 62a5c0a40d13594a0f16a01701e70dac5e492125)

(From OE-Core rev: f2c160e30f2dda32b91eb594730cd2bd76132a4f)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Maxin B. John
e345d4dd23 pax-utils: update SRC_URI
The gentoo.osuosl.org mirror doesn't store all versions of pax-utils, so
use the maintainers own mirror which stores them all.

Fixes [YOCTO #11559]

(From OE-Core rev: 2892e05c3c1655b97b983ad783ca57c680ab8acb)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-04 11:12:10 +00:00
Kristi Rifenbark
a845564a1a documentation: Updated manual revision table for 2.2.4 release date
(From yocto-docs rev: 7ac638cfa0cfe6f333db0bdffe0f590af6c6305d)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:42 +00:00
Kristi Rifenbark
266df6e913 dev-manual: Fixed variable link to DEFAULTTUNE variable
Fixed [YOCTO #12458]

(From yocto-docs rev: 06f52ae5939e133dd56b9b9b4c1b15645c686195)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:42 +00:00
Scott Rifenbark
47c44fb870 documentation: Prepared for a 2.2.4 point release
poky.ent - changed variables to reflect 2.2.4
mega-manual.sed - "2.2.4" for "2.2.3" string replace
<manual>.xml - Updated manual revision date for "TBD 2018"

(From yocto-docs rev: aba8dcce56de3db01c6abfec9ace1588f0394dca)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:42 +00:00
Kristi Rifenbark
6657e86f00 ref-manual, yocto-project-qs, poky.ent: Fixed CentOS package
Fixes [YOCTO #12467]

Changed the CentOS variable to use python34-pip
instead of python3-pip. Removed notes indicating
CentOS 6.x exceptions because this version does
not support CentOS 6.x.

(From yocto-docs rev: 7134eb2ac156b86ef844a9a46c4a8a9444ff6770)

Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-14 15:24:42 +00:00
Richard Purdie
759a8085af populate_sdk_ext: Set cleandirs correctly
The current conflicting use of SDKDEPLOYDIR causes a race between do_populate_sdk
and do_populate_sdk_ext potentially causing the SDK to either go missing or the
build to fail.

(From OE-Core rev: 39fd8c129e2bff7f2f1649b7f6e036ccc50fd5d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-22 10:40:02 +00:00
Richard Purdie
148df1e45f lib/oe/package_manager/sdk: Ensure do_populate_sdk_ext and do_populate_sdk repos don't conflict
(From OE-Core rev: c9c0927bb6e71253cbdd5b6b780dca829526e1d8)

(From OE-Core rev: 04610f713e47cd5fc9e44e258589cb24f27bf1bc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-22 10:40:02 +00:00
Richard Purdie
ac476b6aab image: Fix previous broken commit to set expand parameter to getVar
(From OE-Core rev: eb5ca672c793e7c2151e7f2fef26e0c25130d840)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-21 00:01:03 +00:00
Richard Purdie
4696946d80 image: Expand PV to avoid AUTOREV parsing failures
Currently, setting PV to include SRCPV for build-appliance results in:

bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was
${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher
failure: Fetch command export ftp_proxy="http://proxy.yocto.io:5187/"; export
FTP_PROXY="http://proxy.yocto.io:5187/"; export PATH="${TMPDIR}/work/
qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot-native/usr/bin/python3-native:${TMPDIR}/work/
qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot-native/usr/bin/python3-native:${TMPDIR}/work/
qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot-native/usr/bin/python3-native:/home/pokybuild/
yocto-autobuilder/yocto-worker/buildtools/build/scripts:${TMPDIR}/
work/qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot-native/usr/bin/x86_64-poky-linux:${TMPDIR}/work/
qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot/usr/bin/crossscripts:${TMPDIR}/work/qemux86_64-poky-linux/
build-appliance-image/fetcheravoidrecurse-r0/recipe-sysroot-native/usr/sbin:
${TMPDIR}/work/qemux86_64-poky-linux/build-appliance-image/
fetcheravoidrecurse-r0/recipe-sysroot-native/usr/bin:${TMPDIR}/work/
qemux86_64-poky-linux/build-appliance-image/fetcheravoidrecurse-r0/
recipe-sysroot-native/sbin:${TMPDIR}/work/qemux86_64-poky-linux/
build-appliance-image/fetcheravoidrecurse-r0/recipe-sysroot-native/bin:/home/
pokybuild/yocto-autobuilder/yocto-worker/buildtools/build/bitbake/bin:${TMPDIR}
/hosttools"; export HOME="/home/pokybuild"; git -c core.fsyncobjectfiles=0
ls-remote git://git.yoctoproject.org/poky  failed with exit code 127, output:
/bin/sh: 1: git: not found

This is because PV is being expanded when TMPDIR is unset.

Expand PV in advance to avoid this problem.

(From OE-Core rev: 9ce26c121f52d5194732be34f93e86128e1fdeaf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-20 22:29:40 +00:00
Scott Rifenbark
8298428c03 bitbake: bitbake-user-manual: Fixed porno hack for hello world example
Someone hacked the http://hambedded site or it was moved and some
links to that site in the BB manual had been hijacked to point to
an entry portal for a pornography site.  Replaced the link with an
archived version that restores the integrity of the links.

(Bitbake rev: 894814cca59f14b0f808680ea8fdf63063f01e7d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-17 22:32:23 +00:00
Richard Purdie
1f5effb6a6 libunwind: Disable documentation explicitly
We don't have latex2man in HOSTTOOLs so documentaion is never built but this
dependency does cause problems on older releases like morty, pre-HOSTTOOLS.
Document the configuration explicitly in master.

(From OE-Core rev: 7e4ac608a2ac077c68e178fd1519c8e98403cff3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-14 22:10:54 +00:00
Alexander Kanavin
04ba2c349c webkitgtk: update to 2.18.5 (includes Spectre mitigations; see commit description)
This is the only available stable version with mitigation fixes for Spectre.
Webkit upstream developers do not port CVE fixes to earlier stable series,
no exception was made in this case.

More information:

https://webkit.org/blog/8048/what-spectre-and-meltdown-mean-for-webkit/
https://webkitgtk.org/security/WSA-2018-0001.html
https://webkitgtk.org/2018/01/10/webkitgtk2.18.5-released.html

This commit also contains the following commits added in master branch after morty release:

webkitgtk: update to 2.14.1

Rebase 0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch

(From OE-Core rev: a44d50c827b5180ff901d31c443ea02e100b10d5)

(From OE-Core rev: 22f686cd6b818d27571bd42060246851cc2e093a)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkit: Reduce duplication in MIPS variants.

Reduce duplication in MIPS variants now that the MACHINEOVERRIDES
variable is defined

(From OE-Core rev: f76d972aff47412a2cbd2d47134d66046cfe574a)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: drop patch 0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch

 * This patch is not longer needed. Upstream has fixed this issue in:
   https://trac.webkit.org/changeset/205672 which is already included
   in WebKitGTK+ >= 2.14.0

(From OE-Core rev: 812c52f654c1bccca033163100055e3a8b8cda6e)

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: Add an option to disable opengl support

(From OE-Core rev: 04e17727a3d1b52f6f93078fd16c6c7c9ba2b0d4)

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: Use MIPS MACHINE_OVERRIDES

The mipsarch* MACHINE_OVERRIDES can be used to pass the same
parameters to MIPS pre-R2 and R6 ISA variants.

Use them to reduce duplication in supporting MIPS R6 ISA.

(From OE-Core rev: 8369b3568828b1dcff0f3a061a18367f018ac447)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: update to 2.14.2

(From OE-Core rev: ccce954f7f0b24390ce36460cf05499c8169ed10)

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
Revert "webkitgtk: drop patch 0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch"

This reverts commit 812c52f654c1bccca033163100055e3a8b8cda6e.

Upstream fixed the issue with GCC. But the build still fails with Clang.
Therefore reintroduce this patch until a better solution is found.
Upstream bug: https://bugs.webkit.org/show_bug.cgi?id=161697

(From OE-Core rev: 39be43943e3de0eb0ab9b61b405f3b76f12a307d)

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: Fix atomic detection on arm architecture

(From OE-Core rev: a77fc49defcf3a30a8f026cfdbd56565750f5a61)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: patch & disable JIT for x32

It might not be speedy, but it does build now.

(From OE-Core rev: 79f7e215ee7c176f02efafe7359aaa77dbd9430c)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: add missing python-native dep

Since we can't inherit pythonnative, we need this dep explicitly.

(From OE-Core rev: 63530f59e43738bac081aaf3c89ec57006038dce)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: update to 2.14.5

Remove a reference to WebKit/LICENSE, as the directory is not there anymore
(and the LICENSE file in it hasn't been moved somewhere else) - it was
a relic of webkit 1.x era.

(From OE-Core rev: 10331f42acfa5dc429198b7c025cc2360511e534)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: Fix build on aarch64

Do not try to do runtime tests during cross compile
Fixes

| CMake Error at Source/cmake/OptionsCommon.cmake:73 (math):
|   math cannot parse the expression: "-1": syntax error, unexpected exp_MINUS,
|   expecting exp_OPENPARENT or exp_NUMBER (1)

(From OE-Core rev: 528006009dddd876a830e0a8f248658182a37f37)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: Upgrade to 2.16.1

Fix build with gcc7
Move all patches to webkit folder
Drop patches that were backports or have been upstreamed

(From OE-Core rev: bfbdd1a2069f199be9ba0909dd512469ff17b65e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: remove native python dependency

Using host python seems to be fine.

(From OE-Core rev: 7cf80640f53bd8faa4874c2dad5f630a935475f6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: Fix build for armv5

Detect atomics during configure

(From OE-Core rev: 424ffbde2111130137e307eb9e598ad50451c865)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: Upgrade to 2.16.3

Use bfd linker on ppc, this is because gold fails to link
webkit libraries when PIE is enabled

(From OE-Core rev: 8808d4b13a946499bc6e84a1be15f53d8ab3f673)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: Upgrade to 2.16.5

Adjust some dependencies: libgcrypt is now required (instead of gnutls)
and the following build deps where missing: gettext-native, glib-2.0
and glib-2.0-native.

Also the CMake argument ENABLE_CREDENTIAL_STORAGE has been renamed to
USE_LIBSECRET.

This new upstream release (2.16.4 actually) includes security fixes for
CVE: CVE-2017-2538

(From OE-Core rev: ef68005a8c527e9b1d05b7769f0ec8ebe9ec3f91)

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: update to 2.16.6

(From OE-Core rev: 198ccdbefa481f725492b5d8834213fe26431be5)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: Do not use -isystem forcibly

this causes include_next <stdlib.h> to not find
this header since -isystem <sysroot> is added via
cmake, we alrady are using --sysroot so rely on that

(From OE-Core rev: a0f2d1389a7e76b64003fea391a0cd485ff5fe77)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: Add a recommends on shared-mime-info.

 * without this package installed any WebKitGTK+ based browser
   will fail to correctly open html files (and other files)
   from disk (file:// URIs). It will open them as plain txt files.

(From OE-Core rev: b708cb53b46d9d82a7853bcd0f25ef6bc417bd10)

Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: disable gobject-introspection on armv7a

Disable gobject-introspection on armv7a and armv7ve
to avoid do_compile failure:

| qemu: uncaught target signal 11 (Segmentation fault) - core dumped
| Segmentation fault

(From OE-Core rev: bdddd81c8b4eab6bbf7a8697992b48cb5a30ae4a)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

===
webkitgtk: update to 2.18.3

gcc7.patch, musl-fixes.patch, and ppc-musl-fix.patch all change code that is no
longer present in upstream tree. However, a patch with different musl fixes
has been added.

The rest of the patches are rebased to the new tree.

Libtasn is a new dependency.

Disable Gstreamer GL support on x86 due to clashing headers problem.

(From OE-Core rev: 3acae2dcd130122fe76504ec855af78db829d6ec)
===
webkitgtk: fix build with musl and x32

Make the x32 check generic to make it work with musl as well.

Fixes [YOCTO #12118]

(From OE-Core rev: dbd604ccf34e304769937b15051c047561de47f7)
===

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-14 22:10:54 +00:00
Alexander Kanavin
bbc0795ada ruby: update to 2.4.0
Existing version of ruby-native (2.2.5) was crashing on my machine (and others' too),
yet a functional ruby is necessary to upgrade webkit to a version that less vulnerable
to Spectre.

I've performed the update by copying the ruby recipe directory over from the current
pyro tree; if you want to see the list of specific commits, issue this command:

git log 99656fecf4 meta/recipes-devtools/ruby
(up to commit e593d3aeb2)

(From OE-Core rev: 4734a4b41898e3df252b6234ed1270a915fd1f68)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-14 22:10:54 +00:00
Mikko Rapeli
e6aadcc2a0 glib.inc: set CVE_PRODUCT to glib
NVD uses product glib and vendor gnome for CVE's like:

https://nvd.nist.gov/vuln/detail/CVE-2016-6855

(From OE-Core rev: 4d4d07650d600fcb8fb1de8592494c3a9e4189ce)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 69d6342d45316389afb4b062088919689db0a6dd)
Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Mikko Rapeli
d36ebaf622 glibc-common.inc: set CVE_PRODUCT to glibc
All recipes which include this .inc map to glibc NVD component.

(From OE-Core rev: 221266dcf1f8825b5e4cf397d67cf535facca7e7)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 613a13725db4e05539974cc7c66584a287d7b4bd)
Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Mikko Rapeli
fc351083e6 sqlite3.inc: set CVE_PRODUCT to sqlite
It is used in NVD for CVE's like:

https://nvd.nist.gov/vuln/detail/CVE-2016-6153

(From OE-Core rev: c717da006b2f12c5ec4bcdc6bdbcb4d1098829a5)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit cec6f26f4d2f16c9a58fac5a6344e3d43b36ed09)
Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Mikko Rapeli
046247aa09 python.inc: set CVE_PRODUCT to python
All python versions are just python in NVD like this CVE
for python 3.4.4:

https://nvd.nist.gov/vuln/detail/CVE-2016-5699

(From OE-Core rev: 166ba306f2e7e18ad69e355c160739cb67814236)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 848e1be494e8ea10c729f95f02acb366e1843d75)
Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Mikko Rapeli
322ce34aea icu.inc: set CVE_PRODUCT to international_components_for_unicode
NVD uses it for CVE's like:

https://nvd.nist.gov/vuln/detail/CVE-2014-8146

(From OE-Core rev: de11341de3fc073f4aad91746a398168d1833333)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit eaac39100cadc81c89e6eb5ab389cd684699aa90)
Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Mikko Rapeli
bb025abb93 bluez5.inc: set CVE_PRODUCT to bluez
bluez is the product name in NVD database for CVE's like:

https://nvd.nist.gov/vuln/detail/CVE-2016-7837

(From OE-Core rev: 3ca903e5305ad2236ecf763e241a26f4df18e278)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit aade84aa54bb2f958572623ed6464184efd19862)
Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Mikko Rapeli
2d6d1d51eb acpid.inc: set CVE_PRODUCT to acpid2
It is used in NVD database for CVE's like:

https://nvd.nist.gov/vuln/detail/CVE-2011-4578

(From OE-Core rev: 03225f76dd255ae2f70d0ebdece62be284f2a090)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 966052df79df0f68565ebc40887170322d3f85b8)
Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Andre McCurdy
6acd060d07 cmake: avoid configure failures if CFLAGS contains -Wstrict-prototypes
(From OE-Core rev: 294b706d2b5d6732c8b05e6cf0300c62de1f909f)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
(cherry picked from commit 0c89b010ce2e426f55ac7c6f94befef988913834)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Thiruvadi Rajaraman
9c53a526d0 binutils: CVE-2017-15938
Source: binutils-gdb.git
MR: 76766
Type: Security Fix
Disposition: Backport from binutils master
ChangeID: f080669b4e6f7c9088e30858238da5f4315192f3
Description:

    PR22209, invalid memory read in find_abstract_instance_name

    This patch adds bounds checking for DW_FORM_ref_addr die refs, and
    calculates them relative to the first .debug_info section.  See the
    big comment for why calculating relative to the current .debug_info
    section was wrong for relocatable object files.

        PR 22209
        * dwarf2.c (struct comp_unit): Delete sec_info_ptr field.
        (find_abstract_instance_name): Calculate DW_FORM_ref_addr relative
        to stash->info_ptr_memory, and check die_ref is within that memory.
        Set info_ptr_end correctly when another CU is refd.  Check die_ref
        for DW_FORM_ref4 etc. is within CU.

Affects: <= 2.29
(From OE-Core rev: 592f315516e602bd9a9bdc3d116771528cd433d1)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Thiruvadi Rajaraman
7006ecaba3 binutils: CVE-2017-15024
Source: binutils-gdb.git
MR: 76524
Type: Security Fix
Disposition: Backport from binutils master
ChangeID: 5f22a66eabb228b655605b964ecd350aee700806
Description:

    PR22187, infinite loop in find_abstract_instance_name

    This patch prevents the simple case of infinite recursion in
    find_abstract_instance_name by ensuring that the attributes being
    processed are not the same as the previous call.

    The patch also does a little cleanup, and leaves in place some changes
    to the nested_funcs array that I made when I wrongly thought looping
    might occur in scan_unit_for_symbols.

        PR 22187
        * dwarf2.c (find_abstract_instance_name): Add orig_info_ptr and
        pname param.  Return status.  Make name const.  Don't abort,
        return an error.  Formatting.  Exit if current info_ptr matches
        orig_info_ptr.  Update callers.
        (scan_unit_for_symbols): Start at nesting_level of zero.  Make
        nested_funcs an array of structs for extensibility.  Formatting.

Affects: <= 2.29
(From OE-Core rev: 3e88bb5e933ebbf9c3445bac1814dc0ac105bf45)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Thiruvadi Rajaraman
05281ec4a6 binutils: CVE-2017-14729
Source: binutils-gdb.git
MR: 76278
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 05de8bcd22d8d0b54badcd3826cd370b3aed81de
Description:

x86: Guard against corrupted PLT

There should be only one entry in PLT for a given symbol.  Set howto to
NULL after processing a PLT entry to guard against corrupted PLT so that
the duplicated PLT entries are skipped.

PR binutils/22170

Affects: <= 2.29
(From OE-Core rev: 51fc4c8d86bc7c567794305bcc08e5054e9e204a)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Thiruvadi Rajaraman
e7f53f5fe5 binutils: CVE-2017-9955
Source: binutils-gdb.git
MR: 73893
Type: Security Fix
Disposition: Backport from 'binutils-gdb.git/master' branch
ChangeID: 94c3ef8c1fa2e84e84ad76fb45307848d98817c8
Description:

PR 21665 : Fixed multiple heap based buffer overflow

Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: a36978f0dd372ec836f63942f965652ca3716e3f)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Thiruvadi Rajaraman
ab884ff9a7 binutils: CVE-2017-9954
Source: binutils-gdb.git
MR: 73906
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 13858130a02bbe84744fd33ecbf2bbbd2360c09c
Description:

 Fix address violation parsing a corrupt texhex format file.

        PR binutils/21670
        * tekhex.c (getvalue): Check for the source pointer exceeding the
        end pointer before the first byte is read.

Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: 162fce9416dcde1a0b7edfbf772fa6e6e18c46a4)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:09 +00:00
Thiruvadi Rajaraman
525986d6c6 binutils: CVE-2017-9745
Source: binutils-gdb.git
MR: 74062
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 2ec9457275509bfd8dc9185fbdcd485192a82cca
Description:

    Handle EITR records in VMS Alpha binaries with overlarge command length parameters.

        PR binutils/21579
        * vms-alpha.c (_bfd_vms_slurp_etir): Extend check of cmd_length.

Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: f8542a9cf50c8001f675f68e42234c306d8ce1e7)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
9753c5aa54 binutils: CVE-2017-9756
Source: binutils-gdb.git
MR: 73919
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: bd4a354c2a1bd14e26232fc88a736950aa19403a
Description:

    Prevent address violation problem when disassembling corrupt aarch64 binary.

        PR binutils/21595
        * aarch64-dis.c (aarch64_ext_ldst_reglist): Check for an out of
        range value.

Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: f48d4c21673c16760c5a9ff51934127339234f85)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
1e97a1e661 binutils: CVE-2017-9755
Source: binutils-gdb.git
MR: 73932
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 49ad5f3244cd51ee6714c1b60cc1c3f84d7de7c8
Description:

 i386-dis: Add 2 tests with invalid bnd register

        PR binutils/21594
        * testsuite/gas/i386/mpx.s: Add 2 tests with invalid bnd
        register.
        * testsuite/gas/i386/x86-64-mpx.s: Likewise.
        * testsuite/gas/i386/mpx.d: Updated.
        * testsuite/gas/i386/x86-64-mpx.d: Likewise.

 i386-dis: Check valid bnd register

 Since there are only 4 bnd registers, return "(bad)" for register
 number > 3.

        PR binutils/21594
        * i386-dis.c (OP_E_register): Check valid bnd register.
        (OP_G): Likewise.

Affects: <= 2.28
Author: H.J. Lu <hjl.tools@gmail.com>
(From OE-Core rev: 98b66508f8b382f047d12df430b6e812a9336ab9)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
5f6bb8fe3d binutils: CVE-2017-9753_and_CVE-2017-9754
Source: binutils-gdb.git
MR: 73958, 73945
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: a39fdc82900af3f5d6ae396c913ac902f4ef7f60
Description:

    Fix seg-faults in objdump when disassembling a corrupt versados binary.

        PR binutils/21591
        * versados.c (versados_mkobject): Zero the allocated tdata structure.
        (process_otr): Check for an invalid offset in the otr structure.

Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: 7d46daa5e580e841f83b9070b3c84e87d8fd1181)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
3daf8af948 binutils: CVE-2017-9752
Source: binutils-gdb.git
MR: 73971
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: fe0e1d0f234ed157135818c24f4270c34e093828
Description:

 Fix potential address violations when processing a corrupt Alpha VMA binary.

        PR binutils/21589
        * vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
        maximum value for the ascic pointer.  Check that name processing
        does not read beyond this value.
        (_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
        end of etir record.
Affects: <= 2.28

Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: ea89dfe868085b463dfc24df78b49d1703989484)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
d2b21b2a14 binutils: CVE-2017-9750
Source: binutils-gdb.git
MR: 73997
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 36893e1db9214b4da972a1eeb482be34405f0410
Description:

 Fix address violation problems when disassembling a corrupt RX binary.

        PR binutils/21587
        * rx-decode.opc: Include libiberty.h
        (GET_SCALE): New macro - validates access to SCALE array.
        (GET_PSCALE): New macro - validates access to PSCALE array.
        (DIs, SIs, S2Is, rx_disp): Use new macros.
        * rx-decode.c: Regenerate.

Affects: <= 2.28

Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: d8996fd2bf72fa774202724864ef014592a16ece)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
bf0d750159 binutils: CVE-2017-9747
Source: binutils-gdb.git
MR: 74036
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: b25bffca0b51e9c13ba752534b64bd28a147a135
Description:

Fix address violation parsing a corrupt ieee binary.

PR binutils/21581
  (ieee_archive_p): Use a static buffer to avoid compiler bugs.

Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: c12bb8d25b9af2df8cbff0a457c2d049efdf49d9)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
30c6b86347 binutils: CVE-2017-9748
Source: binutils-gdb.git
MR: 74023
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: efff4d9ed538ff859ab5105a3594690e860d0779
Description:

Avoid a possible compiler bug by using a static buffer instead of a stack local buffer.

PR binutils/21582
   * ieee.c (ieee_object_p): Use a static buffer to avoid compiler
     bugs.
Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: fe9fed67e2f62223626f6683b197bc3b55092d54)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
776302af49 binutils: CVE-2017-9746
Source: binutils-gdb.git
MR: 74049
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 8dad195531894850a242ccf70990a963cf16f291
Description:

 Fix address violation when disassembling a corrupt binary.

 PR binutils/21580
    binutils * objdump.c (disassemble_bytes): Check for buffer overrun when
    printing out rae insns.

    ld  * testsuite/ld-nds32/diff.d: Adjust expected output.
Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: 2a13567ea790d71a36eab0293f5a1918ef447e13)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
b5093a5c87 binutils: CVE-2017-9749
Source: binutils-gdb.git
MR: 74010
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 5b89fbcab899af53585b61bd40724a38bff831d3
Description:

  Prevent invalid array accesses when disassembling a corrupt bfin binary.

        PR binutils/21586
        * bfin-dis.c (gregs): Clip index to prevent overflow.
        (regs): Likewise.
        (regs_lo): Likewise.
        (regs_hi): Likewise.

Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: 3306cbace5069e58bb62f31ec91ca805410bd949)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
321f980a1e binutils: CVE-2017-9751
Source: git://sourceware.org/git/binutils-gdb.git
MR: 73984
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: b0488808caeeef072f9b00dd174c750da5e58b4b
Description:

 Fix address violation when disassembling a corrupt RL78 binary.

        PR binutils/21588
        * rl78-decode.opc (OP_BUF_LEN): Define.
        (GETBYTE): Check for the index exceeding OP_BUF_LEN.
        (rl78_decode_opcode): Use OP_BUF_LEN as the length of the op_buf
        array.
        * rl78-decode.c: Regenerate.
Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: 40325ae2c4160fa99cebd5cef3f8df5063976076)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
67d5e33d4f binutils: CVE-2017-7299
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74257
Type: Security Fix
Disposition: Backport from 'embedded-binutils-master'
ChangeID: b55df05e3d3fd21bd30edaea124135892747b1ee
Description:

Linking non-ELF file broken by PR20908 fix

PR ld/20968
PR ld/20908
   * elflink.c (bfd_elf_final_link): Revert 2016-12-02 change.  Move
     reloc counting code later after ELF flavour test.

PR lf/20908
   * elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
     when following indirect links.

Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: 020863d45d39a336723300138777583afb0b12c7)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
b5e7f89850 binutils: CVE-2017-8398
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74127
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 410078b468de6dc1c908342283a6abe5bdf38d54
Description:

Fix heap-buffer overflow bugs caused when dumping debug information from a corrupt binary.

  PR binutils/21438
     * dwarf.c (process_extended_line_op): Do not assume that the
       string extracted from the section is NUL terminated.
       (fetch_indirect_string): If the string retrieved from the section
       is not NUL terminated, return an error message.
       (fetch_indirect_line_string): Likewise.
       (fetch_indexed_string): Likewise.

Affects: <= 2.29

Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: 1e19e656a97caf61f26ab4f52339b9413d3bb29f)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
226c2fd1f7 binutils: CVE-2017-8394
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74166
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: d614742d33a55da6cafede60cd171766afb0aa1d
Description:

PR 21414, null pointer deref of _bfd_elf_large_com_section sym

        PR 21414
        * section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
        * elf.c (lcomm_sym): New.
        (_bfd_elf_large_com_section): Use lcomm_sym section symbol.
        * bfd-in2.h: Regenerate.

Affects: <= 2.29
Author: Alan Modra <amodra@gmail.com>
(From OE-Core rev: 0d6e08ffc4760947653ad9368d594074d506f697)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
fdee751f82 binutils: CVE-2017-8421
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74140
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 5f6dd48c427de8663c5a80af6db44ce5c579d42c
Description:

Prevent memory exhaustion from a corrupt PE binary with an overlarge number of relocs.

PR 21440
 * objdump.c (dump_relocs_in_section): Check for an excessive
   number of relocs before attempting to dump them.

Affects: <= 2.29

Author: Alan Modra <amodra@gmail.com>
(From OE-Core rev: 09c642a70e2a12dcc01ffe45c333011a142c02a7)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
52bc287aca binutils: CVE-2017-8396
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74101
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: db47540066f83529439566f8621d6e35fe86b77c
Description:

buffer overflow in perform_relocation

The existing reloc offset range tests didn't catch small negative
offsets less than the size of the reloc field.

PR 21432
 * reloc.c (reloc_offset_in_range): New function.
   (bfd_perform_relocation, bfd_install_relocation): Use it.
   (_bfd_final_link_relocate): Likewise.

Affects: <= 2.29
Author: Alan Modra <amodra@gmail.com>
(From OE-Core rev: e5aa4adaddbae184bbbb1c42f79c1deba931c72a)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Manjunath S Matti
2dcc1db01d Fix seg-fault in the linker when examining a corrupt binary.
Source: https://sourceware.org/
MR: 74244
Type: Security Fix
Disposition: Backport from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=531336e3a0b79ed60cfc36ad2d6579b6a71175da
ChangeID: 69cc8699fcb0655f3a48778e514552dfaea7229c
Description:

	Fix seg-fault in the linker when examining a corrupt binary.

	PR ld/20909
	* aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
	for an illegal string offset.

CVE: CVE-2017-7300
Affects: < 2.27-r0.9.1
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: c1b259c5fef13e1ecff9a68d82cde49c777ffa4d)

Signed-off-by: Manjunath S Matti <mmatti@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
f98a25139e binutils: CVE-2017-8397
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74114
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: d55e7590c08c4db483bba2fa35df8fbb6283686e
Description:

 Fix a seg-fault when processing a corrupt binary containing reloc(s) with negative addresses.

        PR binutils/21434
        * reloc.c (bfd_perform_relocation): Check for a negative address
        in the reloc.

Affects: <= 2.29

Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: 6dd9179c4208c8d13f7e9c784d9993606416ab97)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
70f2d42e84 binutils: CVE-2017-8395
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74153
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 27dce214c561f9ae6f874990432f9d76a7de29d4
Description:

    Fix seg-fault attempting to compress a debug section in a corrupt binary.

        PR binutils/21431
        * compress.c (bfd_init_section_compress_status): Check the return
        value from bfd_malloc.

Affects: <= 2.29

Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: addac2e8f6f6132807a590a032a4292079542fbe)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:08 +00:00
Thiruvadi Rajaraman
a36d21557b binutils: CVE-2017-8393
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74179
Type: Security Fix
Disposition: Backport from binutils-2_29
ChangeID: 976156cd25454143883090ca42010c38c6d6af0f
Description:

PR 21412, get_reloc_section assumes .rel/.rela name for SHT_REL/RELA.

    This patch fixes an assumption made by code that runs for objcopy and
    strip, that SHT_REL/SHR_RELA sections are always named starting with a
    .rel/.rela prefix.  I'm also modifying the interface for
    elf_backend_get_reloc_section, so any backend function just needs to
    handle name mapping.

Affects: <= 2.29

Author: Alan Modra <amodra@gmail.com>
(From OE-Core rev: 24124406a2a1657b80ba2933bef40ccf798c8097)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
951aea1f7b binutils: CVE-2017-7304
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74192
Type: Security Fix
Disposition: Backport from binutils-2_28-branch
ChangeID: 9a4c249becded1b479c0b9e9f175aebb80294317
Description:

  Fix seg-fault in strip when copying a corrupt binary.

        PR binutils/20931
        * elf.c (copy_special_section_fields): Check for an invalid
        sh_link field before attempting to follow it.

Affects: <= 2.28

Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: fcadfc35ebe90d3f0f3aa0db8caeddb5c07c3120)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
d827c87635 binutils: CVE-2017-7303
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74205
Type: Security Fix
Disposition: Backport from binutils-2_28-branch
ChangeID: db5bfb63661d39846c3b03353e1383c621759d48
Description:

    Fix seg-fault attempting to strip a corrupt binary.

        PR binutils/20922
        * elf.c (find_link): Check for null headers before attempting to
        match them.

Affects: <= 2.28
Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: ef1a98976886560396a514458edb80a21f09b808)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
742b9c8a28 binutils: CVE-2017-7302
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74218
Type: Security Fix
Disposition: Backport from binutils-2_28-branch
ChangeID: 11677f4fb24c7a49efc23ea7d54de1bf85e74b12
Description:

  Fix seg-fault running strip on a corrupt binary.

        PR binutils/20921
        * aoutx.h (squirt_out_relocs): Check for and report any relocs
        that could not be recognised.

Affects: <= 2.28

Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: dbe4c78bee0ed36fc8789f1a13678be1b8c0bcf5)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
10e74c42ad binutils: CVE-2017-7301
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74231
Type: Security Fix
Disposition: Backport from binutils-2_28-branch
ChangeID: 1fbae9f71e3ad90f930f8b25d550de964e05c259
Description:

   Fix seg-fault in linker parsing a corrupt input file.

        PR ld/20924
        (aout_link_add_symbols): Fix off by one error checking for
        overflow of string offset.

Affects: <= 2.28

Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: 315608a626f9e21d198d1600ded69114ac1e16d1)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
a880a7f8d7 binutils: CVE-2017-7227
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74270
Type: Security Fix
Disposition: Backport from binutils-2_28-branch
ChangeID: e4e88f56ba13671afb5b3194ca4c1c59601e5fd5
Description:

Fix seg-fault in linker when passed a bogus input script.

    PR ld/20906
    * ldlex.l: Check for bogus strings in linker scripts.

Affects: <= 2.28

Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: 650a5b69c4ae7cf91d13993225877d0187bcb65e)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
24a6fa6184 binutils: CVE-2017-7225
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74296
Type: Security Fix
Disposition: Backport from binutils-2_29-branch
ChangeID: d2cf3ab15c89351c941c92e4cdf28c2bfa9dcda8
Description:

Fix seg-fault running addr2line on a corrupt binary.

    PR binutils/20891
    * aoutx.h (find_nearest_line): Handle the case where the main file
      name and the directory name are both empty.

Affects: <= 2.29

Author: Nick Clifton <nickc@redhat.com>
(From OE-Core rev: ba01ee6899c8d36e6469f6d02d40866fb0502af9)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
f85b35f63a binutils: CVE-2017-7224
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74309
Type: Security Fix
Disposition: Backport from binutils-2_29-branch
ChangeID: 640c2ad711ead368a65079a464c55368851e8744
Description:

Fix a seg-fault disassembling a corrupt binary.

    PR binutils/20892
    * aoutx.h (find_nearest_line): Handle the case where the function
      name is empty.

Affects: <= 2.29
(From OE-Core rev: 54992e752e396fc5b3bc5b067cfc4741f1176bb3)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
39722ae3c6 binutils: CVE-2017-7223
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74322
Type: Security Fix
Disposition: Backport from binutils-2_29-branch
ChangeID: c7e14cdaab09996e736a6294834d3470ac9ddb6c
Description:

Fix seg fault attempting to unget an EOF character.

    PR gas/20898
    * app.c (do_scrub_chars): Do not attempt to unget EOF.

Affects: <= 2.29

(From OE-Core rev: b35c5c25947daf47b5cbccd8836e22234baa6f0f)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
281b2e20bf binutils: CVE-2017-12450_12452_12453_12454_12456
Source: git://sourceware.org/git/binutils-gdb.git
MR: 73854, 73827, 73814, 73801, 73775
Type: Security Fix
Disposition: Backport from binutils-2_29-branch
ChangeID: fb23096307f9903872a04edf171d1fd2099e35c5
Description:

Fix address violation errors parsing corrupt binary files.

PR 21813
    binutils* rddbg.c (read_symbol_stabs_debugging_info): Check for an empty
        string whilst concatenating symbol names.

    bfd * mach-o.c (bfd_mach_o_canonicalize_relocs): Pass the base address
        of the relocs to the canonicalize_one_reloc routine.
        * mach-o.h (struct bfd_mach_o_backend_data): Update the prototype
        for the _bfd_mach_o_canonicalize_one_reloc field.
        * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add
        res_base parameter.  Use to check for corrupt pair relocs.
        * mach-o-aarch64.c (bfd_mach_o_arm64_canonicalize_one_reloc):
        Likewise.
        * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc):
        Likewise.
        * mach-o-x86-64.c (bfd_mach_o_x86_64_canonicalize_one_reloc):
        Likewise.

        * vms-alpha.c (_bfd_vms_slurp_eihd): Make sure that there is
        enough data in the record before attempting to parse it.
        (_bfd_vms_slurp_eeom): Likewise.

        (_bfd_vms_slurp_egsd): Check for an invalid section index.
        (image_set_ptr): Likewise.
        (alpha_vms_slurp_relocs): Likewise.

Affects: <= 2.29
(From OE-Core rev: 2cc3922462c9dd86f50a419a2a4abb0f3b5b4745)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
c2b6a93e14 binutils: CVE-2017-12451
Source: git://sourceware.org/git/binutils-gdb.git
MR: 73840
Type: Security Fix
Disposition: Backport from binutils-2_29-branch
ChangeID: 582c686f18c059d665189a6a09df3a8cc4a3b093
Description:

Fix address violation when attempting to read a corrupt field in a COFF archive header structure.

PR 21786
* coff-rs6000.c (_bfd_strntol): New function.
  (_bfd_strntoll): New function.
  (GET_VALUE_IN_FIELD): New macro.
  (EQ_VALUE_IN_FIELD): new macro.
  (_bfd_xcoff_slurp_armap): Use new macros.
  (_bfd_xcoff_archive_p): Likewise.
  (_bfd_xcoff_read_ar_hdr): Likewise.
  (_bfd_xcoff_openr_next_archived_file): Likewise.
  (_bfd_xcoff_stat_arch_elt): Likewise.

Extend previous fix to coff-rs6000.c to coff64-rs6000.c

PR 21786
* coff64-rs6000.c (_bfd_strntol): New function.
  (_bfd_strntoll): New function.
  (GET_VALUE_IN_FIELD): New macro.
  (xcoff64_slurp_armap): Use new macros.

Affects: <= 2.29
(From OE-Core rev: 62eeac8e4684c129af6f36aa7c2b91270a5dacde)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
1ffd39135a binutils: CVE-2017-12449, CVE-2017_12455, CVE-2017-12457, CVE-2017-12458, CVE-2017-12459
Source: git://sourceware.org/git/binutils-gdb.git
MR: 73867, 73788, 73762, 73749, 73734
Type: Security Fix
Disposition: Backport from binutils-2_29-branch
ChangeID: 29a1fd75a879d40560b3891305b7d9577e26ffe5
Description:

Fix address violation issues encountered when parsing corrupt binaries.

PR 21840
 * mach-o.c (bfd_mach_o_read_symtab_strtab): Fail if the symtab
   size is -1.
 * nlmcode.h (nlm_swap_auxiliary_headers_in): Replace assertion
   with error return.
 * section.c (bfd_make_section_with_flags): Fail if the name or bfd
   are NULL.
 * vms-alpha.c (bfd_make_section_with_flags): Correct computation
   of end pointer.
   (evax_bfd_print_emh): Check for invalid string lengths.

Fix address violations when reading corrupt VMS records.

PR binutils/21618
 * vms-alpha.c (evax_bfd_print_emh): Check for insufficient record
   length.
   (evax_bfd_print_eeom): Likewise.
   (evax_bfd_print_egsd): Check for an overlarge record length.
   (evax_bfd_print_etir): Likewise.

Affects: <= 2.29

(From OE-Core rev: 62c4dc16dd8fe99cba970c5e7d8dfc063855d4b9)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
7963e14e40 binutils: CVE-2017-12448
Source: git://sourceware.org/git/binutils-gdb.git
MR: 73880
Type: Security Fix
Disposition: Backport from binutils-2_29-branch
ChangeID: 6ef7c8e941d7a1c069b29e4671178c0d02427e3f
Description:

Fix use-after-free error when parsing a corrupt nested archive.

PR 21787
* archive.c (bfd_generic_archive_p): If the bfd does not have the
  correct magic bytes at the start, set the error to wrong format
  and clear the format selector before returning NULL.

Affects: <= 2.29

(From OE-Core rev: 996e7af41b48107bab5eca0ea26f507541382bd5)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Thiruvadi Rajaraman
7296c9fbd6 binutils: CVE-2017-7226
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74283
Type: Security Fix
Disposition: Backport from binutils_v2_28
ChangeID: 82097a4b98d3d576e1b1bfb7ac9ae17fd153c909
Description:

Use strnlen to avoid running over the end of the string buffer.

Affects: <= 2.28

(From OE-Core rev: abc9e4eebafac084bee054954bd93288cd1d0a8c)

Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Armin Kuster
34041f58fd binutils: Security Fix CVE-2017-9041
Source: binutils-gdb.git
MR: 72791
Type: Security Fix
Disposition: Backport from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=919383ac718c2a3187ee2a9ad659daa22da26258
ChangeID: 7b4588368a367a4d57efbfdcd9c00fcc0875af7b
Description:

Affects: <= 2.28
(From OE-Core rev: d445a9abe7af0a1a54e466bdae8978f6ffb5f6bc)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Reviewed-by  Jeremy Puhlman <jpuhlman@mvista.com>

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Armin Kuster
4bca7db53e binutils: Security fix for CVE-2017-9040 and 2017-9042
Source: binutils-gdb.git
MR: 72756, 72805
Type: Security Fix
Disposition: Backport from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=7296a62a2a237f6b1ad8db8c38b090e9f592c8cf
ChangeID: af83ec9e8322e0e051bb684bd2fee5fe8a506fbc
Description:

excluded some changes as the code does not exist in our version. Does not affect fix.
Affects: <= Binutils 2017-04-12

(From OE-Core rev: 2dfdc0ceac466a4b80ece01a970cb5cfdc08d7ab)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Reviewed-by  Jeremy Puhlman <jpuhlman@mvista.com>

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Armin Kuster
4be76c16e3 binutils: Security Fix CVE-2017-9039
Source: binutils-gbd.git
MR: 72742
Type: Security Fix
Disposition: Backport from git://sourceware.org/binutils-gdb.git
ChangeID: 280f36838862ea67fdcd65b162c1a4835cf924dc
Description:

Affects: <= 2.28

(From OE-Core rev: 9d5c9ad603947136e23325b123bc37c4b939d783)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Reviewed-by  Jeremy Puhlman <jpuhlman@mvista.com>

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Armin Kuster
0251f82c13 binutis: Security fix CVE-2017-9038
Source: Binutils.org
MR: 72728
Type: Security Fix
Disposition: Backport from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f32ba72991d2406b21ab17edc234a2f3fa7fb23d
ChangeID: 7e242783945a87af0a821b924bd16624a0f18fb3
Description:

Affects: <= 2.28
(From OE-Core rev: 8df5d5d7809381a6e9b93bb6f772b1fd77046da9)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Reviewed-by  Jeremy Puhlman <jpuhlman@mvista.com>

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Armin Kuster
a69088e788 binutis: Security fix CVE-2017-7614
Source: binutils-gbd.git
MR: 71732
Type: Security Fix
Disposition: Backport from https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b814a36d3440de95f2ac6eaa4fc7935c322ea456
ChangeID: 44d3f2d902013f6e8faf485bf736106a11603e16
Description:

minor change to get changelog to apply

Affects: binutils < 2.28
(From OE-Core rev: 72dc7aa95afb64bc9ff070e5c2b372d2db6ac5c6)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Reviewed-by  Jeremy Puhlman <jpuhlman@mvista.com>

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-07 17:10:07 +00:00
Richard Purdie
bd7388283b local.conf.sample: Weakly set BB_DISKMON_DIRS
For various reasons we need to be able to set and override this from
auto.conf on our test infrastructure. We have tried forcing the variable
but this then breaks other selftests. In the interests of not complicating
things further and needing to modify the tests across releases, weaken
the default assignment.

(From meta-yocto rev: 19d23e22922c2536e207e1f577f508f510c85b59)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-06 10:07:39 +00:00
brian avery
be00e9049f bitbake: toaster: remove cut and paste cruft
There was a superfluous section in toaster start/stop script that was
setting the TOASTER_DIR and had a set of comments around that setting.
This was done in two places and only the last one was effective. This
patch removes the spurious section to make it clearer what was
happening and what TOASTER_DIR was actually getting set to.

(Bitbake rev: aeed732ff6e8c1009c5efad3aadbbd3b0bbaeea7)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-04 18:05:06 +00:00
brian avery
3b3ba69fe3 bitbake: toaster: move sqlite database to TOASTER_DIR
The toaster.sqlite database was located in TOASTER_DIR/build.  This
meant that if you named your build directory something else (like cow),
Toaster would fail to make/find the database.  TOASTER_DIR is on the
whitelist unlike BUILDDIR and we need to be able to write there anyway
given our current layout so this should not disrupt anything.

[YOCTO #9992]

(Bitbake rev: 32b13d52ae37be343962cc1cf504f3d569fb1153)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-04 18:05:06 +00:00
brian avery
221f067e55 bitbake: toaster: bin/toaster whitelist TOASTER_DIR
Some of the tinfoil2 changes resulted in TOASTER_DIR being cleared by
the memory resident bitbake server toaster starts up.  This prevented
toaster from being able to connect to its sqlite database. Adding
TOASTER_DIR to the BB_ENV_EXTRAWHITE list stops the cooker from clearing
out the TOASTER_DIR variable.

[YOCTO #9252]

(Bitbake rev: 30da2715cd6a114faf99b09c74e73c5d84767b91)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-04 18:05:06 +00:00
Peter Kjellerstedt
e3ff03599e bitbake: fetch2: Do not fail to create symbolic links if they already exist
When the fetcher retrieves file:// URLs, there is no lock file being
used. This means that in case two separate tasks (typically from two
concurrent invocations of bitbake) want to download the same file://
URL at the same time, there is a very small chance that they also end
up wanting to create a symbolic link to the file at the same time.
This would previously lead to one of the tasks failing as the other
task would have created the link.

(Bitbake rev: 5f5e13bacde95a93633f621ec6b94a022c476a58)

Signed-off-by: Peter Kjellerstedt <pkj@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18 16:44:37 +00:00
Paul Eggleton
84fd0eb005 bitbake: bitbake-layers: fix layerindex-fetch for Python 3
The data we read from an HTTPConnection comes in the form of bytes, but
we need it as a string, so in Python 3 we need to decode it (missed in
the Python 3 migration).

(Bitbake rev: e75c68819086788bac1c4ca8a35aebeaf604e624)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18 15:09:19 +00:00
284 changed files with 20456 additions and 2045 deletions

View File

@@ -151,14 +151,7 @@ fi
unset OE_ROOT
# this defines the dir toaster will use for
# 1) clones of layers (in _toaster_clones )
# 2) the build dir (in build)
# 3) the sqlite db if that is being used.
# 4) pid's we need to clean up on exit/shutdown
# note: for future. in order to make this an arbitrary directory, we need to
# make sure that the toaster.sqlite file doesn't default to `pwd` like it currently does.
export TOASTER_DIR=`pwd`
WEBSERVER=1
ADDR_PORT="localhost:8000"
@@ -214,10 +207,8 @@ fi
# 2) the build dir (in build)
# 3) the sqlite db if that is being used.
# 4) pid's we need to clean up on exit/shutdown
# note: for future. in order to make this an arbitrary directory, we need to
# make sure that the toaster.sqlite file doesn't default to `pwd`
# like it currently does.
export TOASTER_DIR=`dirname $BUILDDIR`
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE TOASTER_DIR"
# Determine the action. If specified by arguments, fine, if not, toggle it
if [ "$CMD" = "start" ] ; then

View File

@@ -134,7 +134,7 @@
<ulink url="http://www.mail-archive.com/yocto@yoctoproject.org/msg09379.html">Mailing List post - The BitBake equivalent of "Hello, World!"</ulink>
</para></listitem>
<listitem><para>
<ulink url="http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/">Hambedded Linux blog post - From Bitbake Hello World to an Image</ulink>
<ulink url="https://web.archive.org/web/20150325165911/http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/">Hambedded Linux blog post - From Bitbake Hello World to an Image</ulink>
</para></listitem>
</itemizedlist>
</note>
@@ -269,7 +269,7 @@
and define some key BitBake variables.
For more information on the <filename>bitbake.conf</filename>,
see
<ulink url='http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/#an-overview-of-bitbakeconf'></ulink>
<ulink url='https://web.archive.org/web/20150325165911/http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/#an-overview-of-bitbakeconf'></ulink>
</para>
<para>Use the following commands to create the <filename>conf</filename>
directory in the project directory:
@@ -354,7 +354,7 @@ ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inh
supporting.
For more information on the <filename>base.bbclass</filename> file,
you can look at
<ulink url='http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/#tasks'></ulink>.
<ulink url='https://web.archive.org/web/20150325165911/http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/#tasks'></ulink>.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
After making sure that the <filename>classes/base.bbclass</filename>
@@ -376,7 +376,7 @@ ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inh
Thus, this example creates and uses a layer called "mylayer".
<note>
You can find additional information on adding a layer at
<ulink url='http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/#adding-an-example-layer'></ulink>.
<ulink url='https://web.archive.org/web/20150325165911/http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/#adding-an-example-layer'></ulink>.
</note>
</para>
<para>Minimally, you need a recipe file and a layer configuration

View File

@@ -967,7 +967,14 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
open(ud.donestamp, 'w').close()
dest = os.path.join(dldir, os.path.basename(ud.localpath))
if not os.path.exists(dest):
os.symlink(ud.localpath, dest)
# In case this is executing without any file locks held (as is
# the case for file:// URLs), two tasks may end up here at the
# same time, in which case we do not want the second task to
# fail when the link has already been created by the first task.
try:
os.symlink(ud.localpath, dest)
except FileExistsError:
pass
if not verify_donestamp(origud, ld) or origud.method.need_update(origud, ld):
origud.method.download(origud, ld)
if hasattr(origud.method,"build_mirror_data"):
@@ -979,7 +986,11 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
# Broken symbolic link
os.unlink(origud.localpath)
os.symlink(ud.localpath, origud.localpath)
# As per above, in case two tasks end up here simultaneously.
try:
os.symlink(ud.localpath, origud.localpath)
except FileExistsError:
pass
update_stamp(origud, ld)
return ud.localpath

View File

@@ -245,17 +245,17 @@ def _filterProviders(providers, item, cfgData, dataCache):
pkg_pn[pn] = []
pkg_pn[pn].append(p)
logger.debug(1, "providers for %s are: %s", item, list(pkg_pn.keys()))
logger.debug(1, "providers for %s are: %s", item, list(sorted(pkg_pn.keys())))
# First add PREFERRED_VERSIONS
for pn in pkg_pn:
for pn in sorted(pkg_pn):
sortpkg_pn[pn] = sortPriorities(pn, dataCache, pkg_pn)
preferred_versions[pn] = findPreferredProvider(pn, cfgData, dataCache, sortpkg_pn[pn], item)
if preferred_versions[pn][1]:
eligible.append(preferred_versions[pn][1])
# Now add latest versions
for pn in sortpkg_pn:
for pn in sorted(sortpkg_pn):
if pn in preferred_versions and preferred_versions[pn][1]:
continue
preferred_versions[pn] = findLatestProvider(pn, cfgData, dataCache, sortpkg_pn[pn][0])

View File

@@ -56,7 +56,7 @@ class LayerIndexPlugin(ActionPlugin):
r = conn.getresponse()
if r.status != 200:
raise Exception("Failed to read " + path + ": %d %s" % (r.status, r.reason))
return json.loads(r.read())
return json.loads(r.read().decode())
def get_layer_deps(self, layername, layeritems, layerbranches, layerdependencies, branchnum, selfname=False):
def layeritems_info_id(items_name, layeritems):

View File

@@ -38,8 +38,7 @@ ADMINS = (
MANAGERS = ADMINS
TOASTER_SQLITE_DEFAULT_DIR = os.path.join(os.environ.get('TOASTER_DIR', ''),
'build')
TOASTER_SQLITE_DEFAULT_DIR = os.environ.get('TOASTER_DIR')
DATABASES = {
'default': {

View File

@@ -128,6 +128,11 @@
<date>December 2017</date>
<revremark>Released with the Yocto Project 2.2.3 Release.</revremark>
</revision>
<revision>
<revnumber>2.2.4</revnumber>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.2.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -7277,7 +7277,7 @@
you much of a performance difference across the other systems
as compared to using a more general tuning across all the builds
(e.g. setting
<ulink url='var-DEFAULTTUNE'><filename>DEFAULTTUNE</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-DEFAULTTUNE'><filename>DEFAULTTUNE</filename></ulink>
specifically for each machine's build).
Rather than "max out" each build's tunings, you can take steps that
cause the OpenEmbedded build system to reuse software across the

View File

@@ -106,6 +106,11 @@
<date>December 2017</date>
<revremark>Released with the Yocto Project 2.2.3 Release.</revremark>
</revision>
<revision>
<revnumber>2.2.4</revnumber>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.2.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -91,6 +91,11 @@
<date>December 2017</date>
<revremark>Released with the Yocto Project 2.2.3 Release.</revremark>
</revision>
<revision>
<revnumber>2.2.4</revnumber>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.2.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -75,6 +75,11 @@
<date>December 2017</date>
<revremark>Released with the Yocto Project 2.2.3 Release.</revremark>
</revision>
<revision>
<revnumber>2.2.4</revnumber>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.2.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -1,12 +1,12 @@
<!ENTITY DISTRO "2.2.3">
<!ENTITY DISTRO_COMPRESSED "223">
<!ENTITY DISTRO "2.2.4">
<!ENTITY DISTRO_COMPRESSED "224">
<!ENTITY DISTRO_NAME_NO_CAP "morty">
<!ENTITY DISTRO_NAME "Morty">
<!ENTITY YOCTO_DOC_VERSION "2.2.3">
<!ENTITY POKYVERSION "17.0.3">
<!ENTITY POKYVERSION_COMPRESSED "1703">
<!ENTITY YOCTO_DOC_VERSION "2.2.4">
<!ENTITY POKYVERSION "17.0.4">
<!ENTITY POKYVERSION_COMPRESSED "1704">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2017">
<!ENTITY COPYRIGHT_YEAR "2010-2018">
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">
<!ENTITY YOCTO_HOME_URL "http://www.yoctoproject.org">
<!ENTITY YOCTO_LISTS_URL "http://lists.yoctoproject.org">
@@ -71,5 +71,4 @@
python3-pexpect">
<!ENTITY CENTOS_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip python3-pexpect">
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python34-pip python3-pexpect">

View File

@@ -91,6 +91,11 @@
<date>December 2017</date>
<revremark>Released with the Yocto Project 2.2.3 Release.</revremark>
</revision>
<revision>
<revnumber>2.2.4</revnumber>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.2.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -351,18 +351,6 @@
<para>
The following list shows the required packages by function
given a supported CentOS Linux distribution:
<note>
For CentOS 6.x, some of the versions of the components
provided by the distribution are too old (e.g. Git, Python,
and tar).
It is recommended that you install the buildtools in order
to provide versions that will work with the OpenEmbedded
build system.
For information on how to install the buildtools tarball,
see the
"<link linkend='required-git-tar-and-python-versions'>Required Git, Tar, and Python Versions</link>"
section.
</note>
<itemizedlist>
<listitem><para><emphasis>Essentials:</emphasis>
Packages needed to build an image for a headless

View File

@@ -122,6 +122,11 @@
<date>December 2017</date>
<revremark>Released with the Yocto Project 2.2.3 Release.</revremark>
</revision>
<revision>
<revnumber>2.2.4</revnumber>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.2.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -56,6 +56,11 @@
<date>December 2017</date>
<revremark>Released with the Yocto Project 2.2.3 Release.</revremark>
</revision>
<revision>
<revnumber>2.2.4</revnumber>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.2.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -66,6 +66,11 @@
<date>December 2017</date>
<revremark>Released with the Yocto Project 2.2.3 Release.</revremark>
</revision>
<revision>
<revnumber>2.2.4</revnumber>
<date>April 2018</date>
<revremark>Released with the Yocto Project 2.2.4 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -2,32 +2,32 @@
# This style is for manual folders like "yocto-project-qs" and "poky-ref-manual".
# This is the old way that did it. Can't do that now that we have "bitbake-user-manual" strings
# in the mega-manual.
# s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/[a-z]*-[a-z]*-[a-z]*\/[a-z]*-[a-z]*-[a-z]*.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/yocto-project-qs\/yocto-project-qs.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/poky-ref-manual\/poky-ref-manual.html#/\"link\" href=\"#/g
# s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/[a-z]*-[a-z]*-[a-z]*\/[a-z]*-[a-z]*-[a-z]*.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/yocto-project-qs\/yocto-project-qs.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/poky-ref-manual\/poky-ref-manual.html#/\"link\" href=\"#/g
# Processes all other manuals (<word>-<word> style) except for the BitBake User Manual because
# it is not included in the mega-manual.
# This style is for manual folders that use two word, which is the standard now (e.g. "ref-manual").
# This was the one-liner that worked before we introduced the BitBake User Manual, which is
# not in the mega-manual.
# s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/[a-z]*-[a-z]*\/[a-z]*-[a-z]*.html#/\"link\" href=\"#/g
# s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/[a-z]*-[a-z]*\/[a-z]*-[a-z]*.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/sdk-manual\/sdk-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/bsp-guide\/bsp-guide.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/dev-manual\/dev-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/kernel-dev\/kernel-dev.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/profile-manual\/profile-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/ref-manual\/ref-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/toaster-manual\/toaster-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/yocto-project-qs\/yocto-project-qs.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/sdk-manual\/sdk-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/bsp-guide\/bsp-guide.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/dev-manual\/dev-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/kernel-dev\/kernel-dev.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/profile-manual\/profile-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/ref-manual\/ref-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/toaster-manual\/toaster-manual.html#/\"link\" href=\"#/g
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/yocto-project-qs\/yocto-project-qs.html#/\"link\" href=\"#/g
# Process cases where just an external manual is referenced without an id anchor
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/yocto-project-qs\/yocto-project-qs.html\" target=\"_top\">Yocto Project Quick Start<\/a>/Yocto Project Quick Start/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/dev-manual\/dev-manual.html\" target=\"_top\">Yocto Project Development Manual<\/a>/Yocto Project Development Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/sdk-manual\/sdk-manual.html\" target=\"_top\">Yocto Project Software Development Kit (SDK) Developer's Guide<\/a>/Yocto Project Software Development Kit (SDK) Developer's Guide/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/bsp-guide\/bsp-guide.html\" target=\"_top\">Yocto Project Board Support Package (BSP) Developer's Guide<\/a>/Yocto Project Board Support Package (BSP) Developer's Guide/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/profile-manual\/profile-manual.html\" target=\"_top\">Yocto Project Profiling and Tracing Manual<\/a>/Yocto Project Profiling and Tracing Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/kernel-dev\/kernel-dev.html\" target=\"_top\">Yocto Project Linux Kernel Development Manual<\/a>/Yocto Project Linux Kernel Development Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/ref-manual\/ref-manual.html\" target=\"_top\">Yocto Project Reference Manual<\/a>/Yocto Project Reference Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.3\/toaster-manual\/toaster-manual.html\" target=\"_top\">Toaster User Manual<\/a>/Toaster User Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/yocto-project-qs\/yocto-project-qs.html\" target=\"_top\">Yocto Project Quick Start<\/a>/Yocto Project Quick Start/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/dev-manual\/dev-manual.html\" target=\"_top\">Yocto Project Development Manual<\/a>/Yocto Project Development Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/sdk-manual\/sdk-manual.html\" target=\"_top\">Yocto Project Software Development Kit (SDK) Developer's Guide<\/a>/Yocto Project Software Development Kit (SDK) Developer's Guide/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/bsp-guide\/bsp-guide.html\" target=\"_top\">Yocto Project Board Support Package (BSP) Developer's Guide<\/a>/Yocto Project Board Support Package (BSP) Developer's Guide/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/profile-manual\/profile-manual.html\" target=\"_top\">Yocto Project Profiling and Tracing Manual<\/a>/Yocto Project Profiling and Tracing Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/kernel-dev\/kernel-dev.html\" target=\"_top\">Yocto Project Linux Kernel Development Manual<\/a>/Yocto Project Linux Kernel Development Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/ref-manual\/ref-manual.html\" target=\"_top\">Yocto Project Reference Manual<\/a>/Yocto Project Reference Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/2.2.4\/toaster-manual\/toaster-manual.html\" target=\"_top\">Toaster User Manual<\/a>/Toaster User Manual/g

View File

@@ -322,14 +322,6 @@
$ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; \
SDL-devel xterm
</literallayout>
<note>
CentOS 6.x users need to ensure that the required
versions of Git, tar and Python are available.
For details, See the
"<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>"
section in the Yocto Project Reference Manual for
information.
</note>
</para></listitem>
</itemizedlist>
</para>

View File

@@ -1,6 +1,6 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "2.2.3"
DISTRO_VERSION = "2.2.4"
DISTRO_CODENAME = "morty"
SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"

View File

@@ -191,7 +191,7 @@ PATCHRESOLVE = "noop"
# files and damages the build in ways which may not be easily recoverable.
# It's necesary to monitor /tmp, if there is no space left the build will fail
# with very exotic errors.
BB_DISKMON_DIRS = "\
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \

View File

@@ -67,6 +67,12 @@ python () {
else:
bb.debug(1, 'archiver: %s is included: %s' % (pn, reason))
# glibc-locale: do_fetch, do_unpack and do_patch tasks have been deleted,
# so avoid archiving source here.
if pn.startswith('glibc-locale'):
return
# We just archive gcc-source for all the gcc related recipes
if d.getVar('BPN', True) in ['gcc', 'libgcc'] \
and not pn.startswith('gcc-source'):

View File

@@ -833,7 +833,7 @@ python write_srcrev() {
f.write('# SRCREV_%s = "%s"\n' % (name, orig_srcrev))
f.write('SRCREV_%s = "%s"\n' % (name, srcrev))
else:
f.write('SRCREV = "%s"\n' % srcrevs.values())
f.write('SRCREV = "%s"\n' % next(iter(srcrevs.values())))
if len(tag_srcrevs) > 0:
for name, srcrev in tag_srcrevs.items():
f.write('# tag_%s = "%s"\n' % (name, srcrev))

View File

@@ -31,6 +31,11 @@ def get_process_cputime(pid):
i = f.readline().strip()
if not i:
break
if not ":" in i:
# one more extra line is appended (empty or containing "0")
# most probably due to race condition in kernel while
# updating IO stats
break
i = i.split(": ")
iostats[i[0]] = i[1]
resources = resource.getrusage(resource.RUSAGE_SELF)

View File

@@ -439,6 +439,8 @@ python () {
# This means the task's hash can be stable rather than having hardcoded
# date/time values. It will get expanded at execution time.
# Similarly TMPDIR since otherwise we see QA stamp comparision problems
# Expand PV else it can trigger get_srcrev which can fail due to these variables being unset
localdata.setVar('PV', d.getVar('PV', True))
localdata.delVar('DATETIME')
localdata.delVar('TMPDIR')
@@ -604,7 +606,7 @@ do_patch[noexec] = "1"
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install[noexec] = "1"
do_populate_sysroot[noexec] = "1"
deltask do_populate_sysroot
do_package[noexec] = "1"
do_package_qa[noexec] = "1"
do_packagedata[noexec] = "1"

View File

@@ -1118,7 +1118,8 @@ python do_package_qa () {
oe.utils.write_ld_so_conf(d)
return warnchecks, errorchecks
skip = (d.getVar('INSANE_SKIP_' + package, True) or "").split()
skip = set((d.getVar('INSANE_SKIP', True) or "").split() +
(d.getVar('INSANE_SKIP_' + package, True) or "").split())
if skip:
bb.note("Package %s skipping QA tests: %s" % (package, str(skip)))

View File

@@ -9,6 +9,8 @@
GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "ondevice"
GLIBC_SPLIT_LC_PACKAGES ?= "0"
python __anonymous () {
enabled = d.getVar("ENABLE_BINARY_LOCALE_GENERATION", True)
@@ -219,13 +221,12 @@ python package_do_split_gconvs () {
(locale, encoding, locale))
def output_locale_binary_rdepends(name, pkgname, locale, encoding):
m = re.match("(.*)\.(.*)", name)
if m:
libc_name = "%s.%s" % (m.group(1), m.group(2).lower())
else:
libc_name = name
d.setVar('RDEPENDS_%s' % pkgname, legitimize_package_name('%s-binary-localedata-%s' \
% (mlprefix+bpn, libc_name)))
dep = legitimize_package_name('%s-binary-localedata-%s' % (bpn, name))
lcsplit = d.getVar('GLIBC_SPLIT_LC_PACKAGES', True)
if lcsplit and int(lcsplit):
d.appendVar('PACKAGES', ' ' + dep)
d.setVar('ALLOW_EMPTY_%s' % dep, '1')
d.setVar('RDEPENDS_%s' % pkgname, mlprefix + dep)
commands = {}
@@ -337,6 +338,11 @@ python package_do_split_gconvs () {
else:
output_locale('%s.%s' % (base, charset), base, charset)
def metapkg_hook(file, pkg, pattern, format, basename):
name = basename.split('/', 1)[0]
metapkg = legitimize_package_name('%s-binary-localedata-%s' % (mlprefix+bpn, name))
d.appendVar('RDEPENDS_%s' % metapkg, ' ' + pkg)
if use_bin == "compile":
makefile = base_path_join(d.getVar("WORKDIR", True), "locale-tree", "Makefile")
m = open(makefile, "w")
@@ -350,13 +356,18 @@ python package_do_split_gconvs () {
bb.build.exec_func("oe_runmake", d)
bb.note("collecting binary locales from locale tree")
bb.build.exec_func("do_collect_bins_from_locale_tree", d)
do_split_packages(d, binary_locales_dir, file_regex='(.*)', \
output_pattern=bpn+'-binary-localedata-%s', \
description='binary locale definition for %s', extra_depends='', allow_dirs=True)
elif use_bin == "precompiled":
do_split_packages(d, binary_locales_dir, file_regex='(.*)', \
output_pattern=bpn+'-binary-localedata-%s', \
description='binary locale definition for %s', extra_depends='', allow_dirs=True)
if use_bin in ('compile', 'precompiled'):
lcsplit = d.getVar('GLIBC_SPLIT_LC_PACKAGES', True)
if lcsplit and int(lcsplit):
do_split_packages(d, binary_locales_dir, file_regex='^(.*/LC_\w+)', \
output_pattern=bpn+'-binary-localedata-%s', \
description='binary locale definition for %s', recursive=True,
hook=metapkg_hook, extra_depends='', allow_dirs=True, match_path=True)
else:
do_split_packages(d, binary_locales_dir, file_regex='(.*)', \
output_pattern=bpn+'-binary-localedata-%s', \
description='binary locale definition for %s', extra_depends='', allow_dirs=True)
else:
bb.note("generation of binary locales disabled. this may break i18n!")

View File

@@ -46,7 +46,7 @@ do_patch[noexec] = "1"
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install[noexec] = "1"
do_populate_sysroot[noexec] = "1"
deltask do_populate_sysroot
python () {
initman = d.getVar("VIRTUAL-RUNTIME_init_manager", True)

View File

@@ -17,9 +17,12 @@ def complementary_globs(featurevar, d):
globs.append(glob)
return ' '.join(globs)
SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs"
SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'doc-pkgs', '', d)}"
SDKIMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("SDKIMAGE_FEATURES", d)}'
# List of locales to install, or "all" for all of them, or unset for none.
SDKIMAGE_LINGUAS ?= "all"
inherit rootfs_${IMAGE_PKGTYPE}
SDK_DIR = "${WORKDIR}/sdk"
@@ -42,7 +45,8 @@ TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= ""
TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}"
SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
SDK_DEPENDS = "virtual/fakeroot-native pixz-native"
SDK_DEPENDS = "virtual/fakeroot-native pixz-native cross-localedef-native"
SDK_DEPENDS_append_libc-glibc = " nativesdk-glibc-locale"
# We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not PACKAGE_ARCH as it
# could be set to the MACHINE_ARCH
@@ -222,6 +226,7 @@ EOF
-e 's#@SDK_VERSION@#${SDK_VERSION}#g' \
-e '/@SDK_PRE_INSTALL_COMMAND@/d' \
-e '/@SDK_POST_INSTALL_COMMAND@/d' \
-e 's#@SDK_GCC_VER@#${@oe.utils.host_gcc_version(d)}#g' \
${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.sh
# add execution permission
@@ -269,6 +274,6 @@ do_populate_sdk[file-checksums] += "${COREBASE}/meta/files/toolchain-shar-reloca
do_populate_sdk[dirs] = "${PKGDATA_DIR} ${TOPDIR}"
do_populate_sdk[depends] += "${@' '.join([x + ':do_populate_sysroot' for x in d.getVar('SDK_DEPENDS', True).split()])} ${@d.getVarFlag('do_rootfs', 'depends', False)}"
do_populate_sdk[rdepends] = "${@' '.join([x + ':do_populate_sysroot' for x in d.getVar('SDK_RDEPENDS', True).split()])}"
do_populate_sdk[rdepends] = "${@' '.join([x + ':do_package_write_${IMAGE_PKGTYPE} ' + x + ':do_packagedata' for x in d.getVar('SDK_RDEPENDS', True).split()])}"
do_populate_sdk[recrdeptask] += "do_packagedata do_package_write_rpm do_package_write_ipk do_package_write_deb"
addtask populate_sdk

View File

@@ -622,7 +622,8 @@ fakeroot python do_populate_sdk_ext() {
d.setVar('SDK_REQUIRED_UTILITIES', get_sdk_required_utilities(buildtools_fn, d))
d.setVar('SDK_BUILDTOOLS_INSTALLER', buildtools_fn)
d.setVar('SDKDEPLOYDIR', '${SDKEXTDEPLOYDIR}')
# ESDKs have a libc from the buildtools so ensure we don't ship linguas twice
d.delVar('SDKIMAGE_LINGUAS')
populate_sdk_common(d)
}
@@ -679,7 +680,7 @@ SDKEXTDEPLOYDIR = "${WORKDIR}/deploy-${PN}-populate-sdk-ext"
SSTATETASKS += "do_populate_sdk_ext"
SSTATE_SKIP_CREATION_task-populate-sdk-ext = '1'
do_populate_sdk_ext[cleandirs] = "${SDKDEPLOYDIR}"
do_populate_sdk_ext[cleandirs] = "${SDKEXTDEPLOYDIR}"
do_populate_sdk_ext[sstate-inputdirs] = "${SDKEXTDEPLOYDIR}"
do_populate_sdk_ext[sstate-outputdirs] = "${SDK_DEPLOY}"
do_populate_sdk_ext[stamp-extra-info] = "${MACHINE}"

View File

@@ -12,6 +12,7 @@ do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
do_populate_sdk[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
do_populate_sdk_ext[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
python rootfs_deb_bad_recommendations() {
if d.getVar("BAD_RECOMMENDATIONS", True):

View File

@@ -16,6 +16,7 @@ do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
do_rootfs[lockfiles] += "${WORKDIR}/ipk.lock"
do_populate_sdk[lockfiles] += "${WORKDIR}/ipk.lock"
do_populate_sdk_ext[lockfiles] += "${WORKDIR}/ipk.lock"
OPKG_PREPROCESS_COMMANDS = ""

View File

@@ -24,6 +24,10 @@ do_populate_sdk[depends] += "${RPMROOTFSDEPENDS}"
do_rootfs[recrdeptask] += "do_package_write_rpm"
do_rootfs[vardeps] += "PACKAGE_FEED_URIS"
do_rootfs[lockfiles] += "${WORKDIR}/rpm.lock"
do_populate_sdk[lockfiles] += "${WORKDIR}/rpm.lock"
do_populate_sdk_ext[lockfiles] += "${WORKDIR}/rpm.lock"
python () {
if d.getVar('BUILD_IMAGES_FROM_FEEDS', True):
flags = d.getVarFlag('do_rootfs', 'recrdeptask', True)

View File

@@ -816,7 +816,7 @@ def check_sanity_everybuild(status, d):
machinevalid = True
if d.getVar('MACHINE', True):
if not check_conf_exists("conf/machine/${MACHINE}.conf", d):
status.addresult('Please set a valid MACHINE in your local.conf or environment\n')
status.addresult('MACHINE=%s is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.\n' % (d.getVar('MACHINE', True)))
machinevalid = False
else:
status.addresult(check_sanity_validmachine(d))

View File

@@ -59,6 +59,11 @@ python uninative_event_fetchloader() {
if localpath != tarballpath and os.path.exists(localpath) and not os.path.exists(tarballpath):
os.symlink(localpath, tarballpath)
# ldd output is "ldd (Ubuntu GLIBC 2.23-0ubuntu10) 2.23", extract last option from first line
glibcver = subprocess.check_output(["ldd", "--version"]).decode('utf-8').split('\n')[0].split()[-1]
if bb.utils.vercmp_string(d.getVar("UNINATIVE_MAXGLIBCVERSION", True), glibcver) < 0:
raise RuntimeError("Your host glibc verson (%s) is newer than that in uninative (%s). Disabling uninative so that sstate is not corrupted." % (glibcver, d.getVar("UNINATIVE_MAXGLIBCVERSION", True)))
cmd = d.expand("mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; cd ${UNINATIVE_STAGING_DIR}-uninative; tar -xjf ${UNINATIVE_DLDIR}/%s/${UNINATIVE_TARBALL}; ${UNINATIVE_STAGING_DIR}-uninative/relocate_sdk.py ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux ${UNINATIVE_LOADER} ${UNINATIVE_LOADER} ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/${bindir_native}/patchelf-uninative ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux${base_libdir_native}/libc*.so" % chksum)
subprocess.check_call(cmd, shell=True)
@@ -67,6 +72,8 @@ python uninative_event_fetchloader() {
enable_uninative(d)
except RuntimeError as e:
bb.warn(str(e))
except bb.fetch2.BBFetchException as exc:
bb.warn("Disabling uninative as unable to fetch uninative tarball: %s" % str(exc))
bb.warn("To build your own uninative loader, please bitbake uninative-tarball and set UNINATIVE_TARBALL appropriately.")

View File

@@ -8,6 +8,7 @@ IMAGE_LINGUAS ?= "en-us en-gb"
ENABLE_BINARY_LOCALE_GENERATION ?= "1"
LOCALE_UTF8_ONLY ?= "0"
LOCALE_UTF8_IS_DEFAULT ?= "1"
LOCALE_UTF8_IS_DEFAULT_class-nativesdk = "0"
DISTRO_FEATURES_DEFAULT ?= "alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
DISTRO_FEATURES_LIBC_DEFAULT ?= "ipv4 ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \

View File

@@ -22,7 +22,7 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial"
PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial ?= "nativesdk-glibc-initial"
PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
GCCVERSION ?= "6.2%"
GCCVERSION ?= "6.4%"
SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.27%"
GDBVERSION ?= "7.11%"

View File

@@ -5,11 +5,6 @@
# rt-tests needs PI mutex support in libc
EXCLUDE_FROM_WORLD_pn-rt-tests_libc-musl = "1"
# error: no member named 'sin_port' in 'struct sockaddr_in6'
# this is due to libtirpc using ipv6 but portmap rpc expecting ipv4
EXCLUDE_FROM_WORLD_pn-portmap_libc-musl = "1"
EXCLUDE_FROM_WORLD_pn-unfs3_libc-musl = "1"
# error: use of undeclared identifier '_STAT_VER'
EXCLUDE_FROM_WORLD_pn-pseudo_libc-musl = "1"
@@ -33,6 +28,10 @@ EXCLUDE_FROM_WORLD_pn-lttng-tools_libc-musl = "1"
EXCLUDE_FROM_WORLD_pn-systemtap_libc-musl = "1"
EXCLUDE_FROM_WORLD_pn-systemtap-uprobes_libc-musl = "1"
# portmap.c:488:32: error: 'struct sockaddr_in6' has no member named 'sin_port'; did you mean 'sin6_port'?
# We removed portmap in rocko onwards and it doesn't work with libtirpc
EXCLUDE_FROM_WORLD_pn-portmap_libc-musl = "1"
# error: a parameter list without types is only allowed in a function definition
# void (*_function)(sigval_t);
EXCLUDE_FROM_WORLD_pn-qemu_libc-musl = "1"

View File

@@ -6,6 +6,8 @@
# to the distro running on the build machine.
#
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/1.7/"
UNINATIVE_CHECKSUM[i686] ?= "d7c341460035936c19d63fe02f354ef1bc993c62d694ae3a31458d1c6997f0c5"
UNINATIVE_CHECKSUM[x86_64] ?= "ed033c868b87852b07957a4400f3b744c00aef5d6470346ea1a59b6d3e03075e"
UNINATIVE_MAXGLIBCVERSION = "2.27"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/1.8/"
UNINATIVE_CHECKSUM[i686] ?= "427ce522ec97f65c75fd89587d90ef789e8cbca4a617abc4b5822abb01c2d0ae"
UNINATIVE_CHECKSUM[x86_64] ?= "de4947e98e09e1432d069311cc2093974ecb9138a714fd5466f73524de66a693"

View File

@@ -11,6 +11,9 @@ export PATH=`echo "$PATH" | sed -e 's/:\.//' -e 's/::/:/'`
INST_ARCH=$(uname -m | sed -e "s/i[3-6]86/ix86/" -e "s/x86[-_]64/x86_64/")
SDK_ARCH=$(echo @SDK_ARCH@ | sed -e "s/i[3-6]86/ix86/" -e "s/x86[-_]64/x86_64/")
INST_GCC_VER=$(gcc --version | sed -ne 's/.* \([0-9]\+\.[0-9]\+\)\.[0-9]\+.*/\1/p')
SDK_GCC_VER='@SDK_GCC_VER@'
verlte () {
[ "$1" = "`printf "$1\n$2" | sort -V | head -n1`" ]
}
@@ -112,6 +115,11 @@ fi
# SDK_EXTENSIBLE is exposed from the SDK_PRE_INSTALL_COMMAND above
if [ "$SDK_EXTENSIBLE" = "1" ]; then
DEFAULT_INSTALL_DIR="@SDKEXTPATH@"
if [ "$INST_GCC_VER" = '4.8' -a "$SDK_GCC_VER" = '4.9' ] || [ "$INST_GCC_VER" = '4.8' -a "$SDK_GCC_VER" = '' ] || \
[ "$INST_GCC_VER" = '4.9' -a "$SDK_GCC_VER" = '' ]; then
echo "Error: Incompatible SDK installer! Your host gcc version is $INST_GCC_VER and this SDK was built by gcc higher version."
exit 1
fi
fi
if [ "$target_sdk_dir" = "" ]; then

View File

@@ -18,23 +18,24 @@ def runstrip(arg):
newmode = origmode | stat.S_IWRITE | stat.S_IREAD
os.chmod(file, newmode)
extraflags = ""
stripcmd = [strip]
# kernel module
if elftype & 16:
extraflags = "--strip-debug --remove-section=.comment --remove-section=.note --preserve-dates"
stripcmd.extend(["--strip-debug", "--remove-section=.comment",
"--remove-section=.note", "--preserve-dates"])
# .so and shared library
elif ".so" in file and elftype & 8:
extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded"
stripcmd.extend(["--remove-section=.comment", "--remove-section=.note", "--strip-unneeded"])
# shared or executable:
elif elftype & 8 or elftype & 4:
extraflags = "--remove-section=.comment --remove-section=.note"
stripcmd.extend(["--remove-section=.comment", "--remove-section=.note"])
stripcmd = "'%s' %s '%s'" % (strip, extraflags, file)
stripcmd.append(file)
bb.debug(1, "runstrip: %s" % stripcmd)
try:
output = subprocess.check_output(stripcmd, stderr=subprocess.STDOUT, shell=True)
output = subprocess.check_output(stripcmd, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
bb.error("runstrip: '%s' strip command failed with %s (%s)" % (stripcmd, e.returncode, e.output))

View File

@@ -165,6 +165,10 @@ class RpmIndexer(Indexer):
archs = archs.union(set(sdk_pkg_archs))
rpm_createrepo = bb.utils.which(os.getenv('PATH'), "createrepo")
if not rpm_createrepo:
bb.error("Cannot rebuild index as createrepo was not found in %s" % os.environ['PATH'])
return
if self.d.getVar('PACKAGE_FEED_SIGN', True) == '1':
signer = get_signer(self.d, self.d.getVar('PACKAGE_FEED_GPG_BACKEND', True))
else:
@@ -358,12 +362,11 @@ class RpmPkgsList(PkgsList):
RpmIndexer(d, rootfs_dir).get_ml_prefix_and_os_list(arch_var, os_var)
# Determine rpm version
cmd = "%s --version" % self.rpm_cmd
try:
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True).decode("utf-8")
output = subprocess.check_output([self.rpm_cmd, "--version"], stderr=subprocess.STDOUT).decode("utf-8")
except subprocess.CalledProcessError as e:
bb.fatal("Getting rpm version failed. Command '%s' "
"returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
"returned %d:\n%s" % (self.rpm_cmd, e.returncode, e.output.decode("utf-8")))
'''
Translate the RPM/Smart format names to the OE multilib format names
@@ -412,16 +415,15 @@ class RpmPkgsList(PkgsList):
return output
def list_pkgs(self):
cmd = self.rpm_cmd + ' --root ' + self.rootfs_dir
cmd += ' -D "_dbpath /var/lib/rpm" -qa'
cmd += " --qf '[%{NAME} %{ARCH} %{VERSION} %{PACKAGEORIGIN}\n]'"
cmd = [self.rpm_cmd, '--root', self.rootfs_dir]
cmd.extend(['-D', '_dbpath /var/lib/rpm'])
cmd.extend(['-qa', '--qf', '[%{NAME} %{ARCH} %{VERSION} %{PACKAGEORIGIN}\n]'])
try:
# bb.note(cmd)
tmp_output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True).strip().decode("utf-8")
tmp_output = subprocess.check_output(cmd, stderr=subprocess.STDOUT).strip().decode("utf-8")
except subprocess.CalledProcessError as e:
bb.fatal("Cannot get the installed packages list. Command '%s' "
"returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
"returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output.decode("utf-8")))
output = dict()
deps = dict()
@@ -560,6 +562,29 @@ class PackageManager(object, metaclass=ABCMeta):
def insert_feeds_uris(self):
pass
"""
Install all packages that match a glob.
"""
def install_glob(self, globs, sdk=False):
# TODO don't have sdk here but have a property on the superclass
# (and respect in install_complementary)
if sdk:
pkgdatadir = self.d.expand("${STAGING_DIR}/${SDK_ARCH}-${SDKPKGSUFFIX}${SDK_VENDOR}-${SDK_OS}/pkgdata")
else:
pkgdatadir = self.d.getVar("PKGDATA_DIR", True)
try:
bb.note("Installing globbed packages...")
cmd = ["oe-pkgdata-util", "-p", pkgdatadir, "list-pkgs", globs]
pkgs = subprocess.check_output(cmd, stderr=subprocess.STDOUT).decode("utf-8")
self.install(pkgs.split(), attempt_only=True)
except subprocess.CalledProcessError as e:
# Return code 1 means no packages matched
if e.returncode != 1:
bb.fatal("Could not compute globbed packages list. Command "
"'%s' returned %d:\n%s" %
(' '.join(cmd), e.returncode, e.output.decode("utf-8")))
"""
Install complementary packages based upon the list of currently installed
packages e.g. locales, *-dev, *-dbg, etc. This will only attempt to install
@@ -568,15 +593,6 @@ class PackageManager(object, metaclass=ABCMeta):
installation
"""
def install_complementary(self, globs=None):
# we need to write the list of installed packages to a file because the
# oe-pkgdata-util reads it from a file
installed_pkgs_file = os.path.join(self.d.getVar('WORKDIR', True),
"installed_pkgs.txt")
with open(installed_pkgs_file, "w+") as installed_pkgs:
pkgs = self.list_installed()
output = oe.utils.format_pkg_list(pkgs, "arch")
installed_pkgs.write(output)
if globs is None:
globs = self.d.getVar('IMAGE_INSTALL_COMPLEMENTARY', True)
split_linguas = set()
@@ -593,22 +609,29 @@ class PackageManager(object, metaclass=ABCMeta):
if globs is None:
return
cmd = [bb.utils.which(os.getenv('PATH'), "oe-pkgdata-util"),
"-p", self.d.getVar('PKGDATA_DIR', True), "glob", installed_pkgs_file,
globs]
exclude = self.d.getVar('PACKAGE_EXCLUDE_COMPLEMENTARY', True)
if exclude:
cmd.extend(['--exclude=' + '|'.join(exclude.split())])
try:
bb.note("Installing complementary packages ...")
bb.note('Running %s' % cmd)
complementary_pkgs = subprocess.check_output(cmd, stderr=subprocess.STDOUT).decode("utf-8")
except subprocess.CalledProcessError as e:
bb.fatal("Could not compute complementary packages list. Command "
"'%s' returned %d:\n%s" %
(' '.join(cmd), e.returncode, e.output.decode("utf-8")))
self.install(complementary_pkgs.split(), attempt_only=True)
os.remove(installed_pkgs_file)
# we need to write the list of installed packages to a file because the
# oe-pkgdata-util reads it from a file
with tempfile.NamedTemporaryFile(mode="w+", prefix="installed-pkgs") as installed_pkgs:
pkgs = self.list_installed()
output = oe.utils.format_pkg_list(pkgs, "arch")
installed_pkgs.write(output)
installed_pkgs.flush()
cmd = ["oe-pkgdata-util",
"-p", self.d.getVar('PKGDATA_DIR', True), "glob", installed_pkgs.name,
globs]
exclude = self.d.getVar('PACKAGE_EXCLUDE_COMPLEMENTARY', True)
if exclude:
cmd.extend(['--exclude=' + '|'.join(exclude.split())])
try:
bb.note("Installing complementary packages ...")
bb.note('Running %s' % cmd)
complementary_pkgs = subprocess.check_output(cmd, stderr=subprocess.STDOUT).decode("utf-8")
self.install(complementary_pkgs.split(), attempt_only=True)
except subprocess.CalledProcessError as e:
bb.fatal("Could not compute complementary packages list. Command "
"'%s' returned %d:\n%s" %
(' '.join(cmd), e.returncode, e.output.decode("utf-8")))
def deploy_dir_lock(self):
if self.deploy_dir is None:
@@ -654,7 +677,8 @@ class RpmPM(PackageManager):
task_name='target',
providename=None,
arch_var=None,
os_var=None):
os_var=None,
rpm_repo_workdir="oe-rootfs-repo"):
super(RpmPM, self).__init__(d)
self.target_rootfs = target_rootfs
self.target_vendor = target_vendor
@@ -672,11 +696,11 @@ class RpmPM(PackageManager):
# 2 = --log-level=debug
# 3 = --log-level=debug plus dumps of scriplet content and command invocation
self.debug_level = int(d.getVar('ROOTFS_RPM_DEBUG', True) or "0")
self.smart_opt = "--log-level=%s --data-dir=%s" % \
self.smart_opt = ["--log-level=%s" %
("warning" if self.debug_level == 0 else
"info" if self.debug_level == 1 else
"debug",
os.path.join(target_rootfs, 'var/lib/smart'))
"debug"), "--data-dir=%s" %
os.path.join(target_rootfs, 'var/lib/smart')]
self.scriptlet_wrapper = self.d.expand('${WORKDIR}/scriptlet_wrapper')
self.solution_manifest = self.d.expand('${T}/saved/%s_solution' %
self.task_name)
@@ -732,18 +756,18 @@ class RpmPM(PackageManager):
for arch in arch_list:
bb.note('Adding Smart channel url%d%s (%s)' %
(uri_iterator, arch, channel_priority))
self._invoke_smart('channel --add url%d-%s type=rpm-md baseurl=%s/%s -y'
% (uri_iterator, arch, uri, arch))
self._invoke_smart('channel --set url%d-%s priority=%d' %
(uri_iterator, arch, channel_priority))
self._invoke_smart(['channel', '--add', 'url%d-%s' % (uri_iterator, arch),
'type=rpm-md', 'baseurl=%s/%s' % (uri, arch), '-y'])
self._invoke_smart(['channel', '--set', 'url%d-%s' % (uri_iterator, arch),
'priority=%d' % channel_priority])
channel_priority -= 5
else:
bb.note('Adding Smart channel url%d (%s)' %
(uri_iterator, channel_priority))
self._invoke_smart('channel --add url%d type=rpm-md baseurl=%s -y'
% (uri_iterator, uri))
self._invoke_smart('channel --set url%d priority=%d' %
(uri_iterator, channel_priority))
self._invoke_smart(['channel', '--add', 'url%d' % uri_iterator,
'type=rpm-md', 'baseurl=%s' % uri, '-y'])
self._invoke_smart(['channel', '--set', 'url%d' % uri_iterator,
'priority=%d' % channel_priority])
channel_priority -= 5
uri_iterator += 1
@@ -774,18 +798,17 @@ class RpmPM(PackageManager):
self._create_configs(platform, platform_extra)
#takes array args
def _invoke_smart(self, args):
cmd = "%s %s %s" % (self.smart_cmd, self.smart_opt, args)
cmd = [self.smart_cmd] + self.smart_opt + args
# bb.note(cmd)
try:
complementary_pkgs = subprocess.check_output(cmd,
stderr=subprocess.STDOUT,
shell=True).decode("utf-8")
complementary_pkgs = subprocess.check_output(cmd,stderr=subprocess.STDOUT).decode("utf-8")
# bb.note(complementary_pkgs)
return complementary_pkgs
except subprocess.CalledProcessError as e:
bb.fatal("Could not invoke smart. Command "
"'%s' returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
"'%s' returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output.decode("utf-8")))
def _search_pkg_name_in_feeds(self, pkg, feed_archs):
for arch in feed_archs:
@@ -800,19 +823,23 @@ class RpmPM(PackageManager):
# Search provides if not found by pkgname.
bb.note('Not found %s by name, searching provides ...' % pkg)
cmd = "%s %s query --provides %s --show-format='$name-$version'" % \
(self.smart_cmd, self.smart_opt, pkg)
cmd += " | sed -ne 's/ *Provides://p'"
bb.note('cmd: %s' % cmd)
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True).decode("utf-8")
# Found a provider
if output:
bb.note('Found providers for %s: %s' % (pkg, output))
for p in output.split():
for arch in feed_archs:
arch = arch.replace('-', '_')
if p.rstrip().endswith('@' + arch):
return p
cmd = [self.smart_cmd] + self.smart_opt + ["query", "--provides", pkg,
"--show-format=$name-$version"]
bb.note('cmd: %s' % ' '.join(cmd))
ps = subprocess.Popen(cmd, stdout=subprocess.PIPE)
try:
output = subprocess.check_output(["sed", "-ne", "s/ *Provides://p"],
stdin=ps.stdout, stderr=subprocess.STDOUT).decode("utf-8")
# Found a provider
if output:
bb.note('Found providers for %s: %s' % (pkg, output))
for p in output.split():
for arch in feed_archs:
arch = arch.replace('-', '_')
if p.rstrip().endswith('@' + arch):
return p
except subprocess.CalledProcessError as e:
bb.error("Failed running smart query on package %s." % pkg)
return ""
@@ -949,30 +976,32 @@ class RpmPM(PackageManager):
open(db_config_dir, 'w+').write(DB_CONFIG_CONTENT)
# Create database so that smart doesn't complain (lazy init)
opt = "-qa"
cmd = "%s --root %s --dbpath /var/lib/rpm %s > /dev/null" % (
self.rpm_cmd, self.target_rootfs, opt)
cmd = [self.rpm_cmd, '--root', self.target_rootfs, '--dbpath', '/var/lib/rpm', '-qa']
try:
subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
subprocess.check_output(cmd, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
bb.fatal("Create rpm database failed. Command '%s' "
"returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
"returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output.decode("utf-8")))
# Import GPG key to RPM database of the target system
if self.d.getVar('RPM_SIGN_PACKAGES', True) == '1':
pubkey_path = self.d.getVar('RPM_GPG_PUBKEY', True)
cmd = "%s --root %s --dbpath /var/lib/rpm --import %s > /dev/null" % (
self.rpm_cmd, self.target_rootfs, pubkey_path)
subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
cmd = [self.rpm_cmd, '--root', self.target_rootfs, '--dbpath', '/var/lib/rpm', '--import', pubkey_path]
try:
subprocess.check_output(cmd, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
bb.fatal("Import GPG key failed. Command '%s' "
"returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output.decode("utf-8")))
# Configure smart
bb.note("configuring Smart settings")
bb.utils.remove(os.path.join(self.target_rootfs, 'var/lib/smart'),
True)
self._invoke_smart('config --set rpm-root=%s' % self.target_rootfs)
self._invoke_smart('config --set rpm-dbpath=/var/lib/rpm')
self._invoke_smart('config --set rpm-extra-macros._var=%s' %
self.d.getVar('localstatedir', True))
cmd = "config --set rpm-extra-macros._tmppath=/%s/tmp" % (self.install_dir_name)
self._invoke_smart(['config', '--set', 'rpm-root=%s' % self.target_rootfs])
self._invoke_smart(['config', '--set', 'rpm-dbpath=/var/lib/rpm'])
self._invoke_smart(['config', '--set', 'rpm-extra-macros._var=%s' %
self.d.getVar('localstatedir', True)])
cmd = ["config", "--set", "rpm-extra-macros._tmppath=/%s/tmp" % self.install_dir_name]
prefer_color = self.d.getVar('RPM_PREFER_ELF_ARCH', True)
if prefer_color:
@@ -986,32 +1015,32 @@ class RpmPM(PackageManager):
['mips64', 'mips64el']:
bb.fatal("RPM_PREFER_ELF_ARCH = \"4\" is for mips64 or mips64el "
"only.")
self._invoke_smart('config --set rpm-extra-macros._prefer_color=%s'
% prefer_color)
self._invoke_smart(['config', '--set', 'rpm-extra-macros._prefer_color=%s'
% prefer_color])
self._invoke_smart(cmd)
self._invoke_smart('config --set rpm-ignoresize=1')
self._invoke_smart(['config', '--set', 'rpm-ignoresize=1'])
# Write common configuration for host and target usage
self._invoke_smart('config --set rpm-nolinktos=1')
self._invoke_smart('config --set rpm-noparentdirs=1')
self._invoke_smart(['config', '--set', 'rpm-nolinktos=1'])
self._invoke_smart(['config', '--set', 'rpm-noparentdirs=1'])
check_signature = self.d.getVar('RPM_CHECK_SIGNATURES', True)
if check_signature and check_signature.strip() == "0":
self._invoke_smart('config --set rpm-check-signatures=false')
self._invoke_smart(['config', '--set rpm-check-signatures=false'])
for i in self.d.getVar('BAD_RECOMMENDATIONS', True).split():
self._invoke_smart('flag --set ignore-recommends %s' % i)
self._invoke_smart(['flag', '--set', 'ignore-recommends', i])
# Do the following configurations here, to avoid them being
# saved for field upgrade
if self.d.getVar('NO_RECOMMENDATIONS', True).strip() == "1":
self._invoke_smart('config --set ignore-all-recommends=1')
self._invoke_smart(['config', '--set', 'ignore-all-recommends=1'])
pkg_exclude = self.d.getVar('PACKAGE_EXCLUDE', True) or ""
for i in pkg_exclude.split():
self._invoke_smart('flag --set exclude-packages %s' % i)
self._invoke_smart(['flag', '--set', 'exclude-packages', i])
# Optional debugging
# self._invoke_smart('config --set rpm-log-level=debug')
# cmd = 'config --set rpm-log-file=/tmp/smart-debug-logfile'
# self._invoke_smart(['config', '--set', 'rpm-log-level=debug'])
# cmd = ['config', '--set', 'rpm-log-file=/tmp/smart-debug-logfile']
# self._invoke_smart(cmd)
ch_already_added = []
for canonical_arch in platform_extra:
@@ -1030,16 +1059,16 @@ class RpmPM(PackageManager):
if not arch in ch_already_added:
bb.note('Adding Smart channel %s (%s)' %
(arch, channel_priority))
self._invoke_smart('channel --add %s type=rpm-md baseurl=%s -y'
% (arch, arch_channel))
self._invoke_smart('channel --set %s priority=%d' %
(arch, channel_priority))
self._invoke_smart(['channel', '--add', arch, 'type=rpm-md',
'baseurl=%s' % arch_channel, '-y'])
self._invoke_smart(['channel', '--set', arch, 'priority=%d' %
channel_priority])
channel_priority -= 5
ch_already_added.append(arch)
bb.note('adding Smart RPM DB channel')
self._invoke_smart('channel --add rpmsys type=rpm-sys -y')
self._invoke_smart(['channel', '--add', 'rpmsys', 'type=rpm-sys', '-y'])
# Construct install scriptlet wrapper.
# Scripts need to be ordered when executed, this ensures numeric order.
@@ -1102,15 +1131,15 @@ class RpmPM(PackageManager):
bb.note("configuring RPM cross-install scriptlet_wrapper")
os.chmod(self.scriptlet_wrapper, 0o755)
cmd = 'config --set rpm-extra-macros._cross_scriptlet_wrapper=%s' % \
self.scriptlet_wrapper
cmd = ['config', '--set', 'rpm-extra-macros._cross_scriptlet_wrapper=%s' %
self.scriptlet_wrapper]
self._invoke_smart(cmd)
# Debug to show smart config info
# bb.note(self._invoke_smart('config --show'))
# bb.note(self._invoke_smart(['config', '--show']))
def update(self):
self._invoke_smart('update rpmsys')
self._invoke_smart(['update', 'rpmsys'])
def get_rdepends_recursively(self, pkgs):
# pkgs will be changed during the loop, so use [:] to make a copy.
@@ -1207,20 +1236,19 @@ class RpmPM(PackageManager):
return
if not attempt_only:
bb.note('to be installed: %s' % ' '.join(pkgs))
cmd = "%s %s install -y %s" % \
(self.smart_cmd, self.smart_opt, ' '.join(pkgs))
bb.note(cmd)
cmd = [self.smart_cmd] + self.smart_opt + ["install", "-y"] + pkgs
bb.note(' '.join(cmd))
else:
bb.note('installing attempt only packages...')
bb.note('Attempting %s' % ' '.join(pkgs))
cmd = "%s %s install --attempt -y %s" % \
(self.smart_cmd, self.smart_opt, ' '.join(pkgs))
cmd = [self.smart_cmd] + self.smart_opt + ["install", "--attempt",
"-y"] + pkgs
try:
output = subprocess.check_output(cmd.split(), stderr=subprocess.STDOUT).decode("utf-8")
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT).decode("utf-8")
bb.note(output)
except subprocess.CalledProcessError as e:
bb.fatal("Unable to install packages. Command '%s' "
"returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
"returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output.decode("utf-8")))
'''
Remove pkgs with smart, the pkg name is smart/rpm format
@@ -1229,24 +1257,19 @@ class RpmPM(PackageManager):
bb.note('to be removed: ' + ' '.join(pkgs))
if not with_dependencies:
cmd = "%s -e --nodeps " % self.rpm_cmd
cmd += "--root=%s " % self.target_rootfs
cmd += "--dbpath=/var/lib/rpm "
cmd += "--define='_cross_scriptlet_wrapper %s' " % \
self.scriptlet_wrapper
cmd += "--define='_tmppath /%s/tmp' %s" % (self.install_dir_name, ' '.join(pkgs))
cmd = [self.rpm_cmd] + ["-e", "--nodeps", "--root=%s" %
self.target_rootfs, "--dbpath=/var/lib/rpm",
"--define='_cross_scriptlet_wrapper %s'" %
self.scriptlet_wrapper,
"--define='_tmppath /%s/tmp'" % self.install_dir_name] + pkgs
else:
# for pkg in pkgs:
# bb.note('Debug: What required: %s' % pkg)
# bb.note(self._invoke_smart('query %s --show-requiredby' % pkg))
cmd = "%s %s remove -y %s" % (self.smart_cmd,
self.smart_opt,
' '.join(pkgs))
# bb.note(self._invoke_smart(['query', pkg, '--show-requiredby']))
cmd = [self.smart_cmd] + self.smart_opt + ["remove", "-y"] + pkgs
try:
bb.note(cmd)
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True).decode("utf-8")
bb.note(' '.join(cmd))
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT).decode("utf-8")
bb.note(output)
except subprocess.CalledProcessError as e:
bb.note("Unable to remove packages. Command '%s' "
@@ -1254,7 +1277,7 @@ class RpmPM(PackageManager):
def upgrade(self):
bb.note('smart upgrade')
self._invoke_smart('upgrade')
self._invoke_smart(['upgrade'])
def write_index(self):
result = self.indexer.write_index()
@@ -1307,25 +1330,24 @@ class RpmPM(PackageManager):
pkgs = self._pkg_translate_oe_to_smart(pkgs, False)
install_pkgs = list()
cmd = "%s %s install -y --dump %s 2>%s" % \
(self.smart_cmd,
self.smart_opt,
' '.join(pkgs),
self.solution_manifest)
cmd = [self.smart_cmd] + self.smart_opt + ['install', '-y', '--dump'] + pkgs
try:
# Disable rpmsys channel for the fake install
self._invoke_smart('channel --disable rpmsys')
self._invoke_smart(['channel', '--disable', 'rpmsys'])
subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
output = subprocess.check_output(cmd,stderr=subprocess.STDOUT).decode('utf-8')
f = open(self.solution_manifest, 'w')
f.write(output)
f.close()
with open(self.solution_manifest, 'r') as manifest:
for pkg in manifest.read().split('\n'):
if '@' in pkg:
install_pkgs.append(pkg)
install_pkgs.append(pkg.strip())
except subprocess.CalledProcessError as e:
bb.note("Unable to dump install packages. Command '%s' "
"returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
# Recovery rpmsys channel
self._invoke_smart('channel --enable rpmsys')
self._invoke_smart(['channel', '--enable', 'rpmsys'])
return install_pkgs
'''
@@ -1355,17 +1377,16 @@ class RpmPM(PackageManager):
def dump_all_available_pkgs(self):
available_manifest = self.d.expand('${T}/saved/available_pkgs.txt')
available_pkgs = list()
cmd = "%s %s query --output %s" % \
(self.smart_cmd, self.smart_opt, available_manifest)
cmd = [self.smart_cmd] + self.smart_opt + ['query', '--output', available_manifest]
try:
subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
subprocess.check_output(cmd, stderr=subprocess.STDOUT)
with open(available_manifest, 'r') as manifest:
for pkg in manifest.read().split('\n'):
if '@' in pkg:
available_pkgs.append(pkg.strip())
except subprocess.CalledProcessError as e:
bb.note("Unable to list all available packages. Command '%s' "
"returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
"returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output.decode("utf-8")))
self.fullpkglist = available_pkgs
@@ -1404,11 +1425,11 @@ class RpmPM(PackageManager):
bb.utils.remove(os.path.join(self.target_rootfs, 'var/lib/smart'),
True)
self._invoke_smart('config --set rpm-nolinktos=1')
self._invoke_smart('config --set rpm-noparentdirs=1')
self._invoke_smart(['config', '--set', 'rpm-nolinktos=1'])
self._invoke_smart(['config', '--set', 'rpm-noparentdirs=1'])
for i in self.d.getVar('BAD_RECOMMENDATIONS', True).split():
self._invoke_smart('flag --set ignore-recommends %s' % i)
self._invoke_smart('channel --add rpmsys type=rpm-sys -y')
self._invoke_smart(['flag', '--set', 'ignore-recommends', i])
self._invoke_smart(['channel', '--add', 'rpmsys', 'type=rpm-sys', '-y'])
'''
The rpm db lock files were produced after invoking rpm to query on
@@ -1425,12 +1446,12 @@ class RpmPM(PackageManager):
Returns a dictionary with the package info.
"""
def package_info(self, pkg):
cmd = "%s %s info --urls %s" % (self.smart_cmd, self.smart_opt, pkg)
cmd = [self.smart_cmd] + self.smart_opt + ['info', '--urls', pkg]
try:
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True).decode("utf-8")
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT).decode("utf-8")
except subprocess.CalledProcessError as e:
bb.fatal("Unable to list available packages. Command '%s' "
"returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
"returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output.decode("utf-8")))
# Set default values to avoid UnboundLocalError
arch = ""
@@ -1550,18 +1571,18 @@ class OpkgDpkgPM(PackageManager):
os.chdir(tmp_dir)
try:
cmd = "%s x %s" % (ar_cmd, pkg_path)
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
cmd = "%s xf data.tar.*" % tar_cmd
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
cmd = [ar_cmd, 'x', pkg_path]
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
cmd = [tar_cmd, 'xf', 'data.tar.*']
output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
bb.utils.remove(tmp_dir, recurse=True)
bb.fatal("Unable to extract %s package. Command '%s' "
"returned %d:\n%s" % (pkg_path, cmd, e.returncode, e.output.decode("utf-8")))
"returned %d:\n%s" % (pkg_path, ' '.join(cmd), e.returncode, e.output.decode("utf-8")))
except OSError as e:
bb.utils.remove(tmp_dir, recurse=True)
bb.fatal("Unable to extract %s package. Command '%s' "
"returned %d:\n%s at %s" % (pkg_path, cmd, e.errno, e.strerror, e.filename))
"returned %d:\n%s at %s" % (pkg_path, ' '.join(cmd), e.errno, e.strerror, e.filename))
bb.note("Extracted %s to %s" % (pkg_path, tmp_dir))
bb.utils.remove(os.path.join(tmp_dir, "debian-binary"))
@@ -2000,7 +2021,10 @@ class DpkgPM(OpkgDpkgPM):
"""
def run_pre_post_installs(self, package_name=None):
info_dir = self.target_rootfs + "/var/lib/dpkg/info"
suffixes = [(".preinst", "Preinstall"), (".postinst", "Postinstall")]
ControlScript = collections.namedtuple("ControlScript", ["suffix", "name", "argument"])
control_scripts = [
ControlScript(".preinst", "Preinstall", "install"),
ControlScript(".postinst", "Postinstall", "configure")]
status_file = self.target_rootfs + "/var/lib/dpkg/status"
installed_pkgs = []
@@ -2023,16 +2047,18 @@ class DpkgPM(OpkgDpkgPM):
failed_pkgs = []
for pkg_name in installed_pkgs:
for suffix in suffixes:
p_full = os.path.join(info_dir, pkg_name + suffix[0])
for control_script in control_scripts:
p_full = os.path.join(info_dir, pkg_name + control_script.suffix)
if os.path.exists(p_full):
try:
bb.note("Executing %s for package: %s ..." %
(suffix[1].lower(), pkg_name))
subprocess.check_output(p_full, stderr=subprocess.STDOUT)
(control_script.name.lower(), pkg_name))
subprocess.check_output([p_full, control_script.argument],
stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
bb.note("%s for package %s failed with %d:\n%s" %
(suffix[1], pkg_name, e.returncode, e.output.decode("utf-8")))
(control_script.name, pkg_name, e.returncode,
e.output.decode("utf-8")))
failed_pkgs.append(pkg_name)
break

View File

@@ -7,6 +7,51 @@ import shutil
import glob
import traceback
def generate_locale_archive(d, rootfs):
# Pretty sure we don't need this for SDK archive generation but
# keeping it to be safe...
target_arch = d.getVar('SDK_ARCH', True)
locale_arch_options = { \
"arm": ["--uint32-align=4", "--little-endian"],
"armeb": ["--uint32-align=4", "--big-endian"],
"aarch64": ["--uint32-align=4", "--little-endian"],
"aarch64_be": ["--uint32-align=4", "--big-endian"],
"sh4": ["--uint32-align=4", "--big-endian"],
"powerpc": ["--uint32-align=4", "--big-endian"],
"powerpc64": ["--uint32-align=4", "--big-endian"],
"mips": ["--uint32-align=4", "--big-endian"],
"mipsisa32r6": ["--uint32-align=4", "--big-endian"],
"mips64": ["--uint32-align=4", "--big-endian"],
"mipsisa64r6": ["--uint32-align=4", "--big-endian"],
"mipsel": ["--uint32-align=4", "--little-endian"],
"mipsisa32r6el": ["--uint32-align=4", "--little-endian"],
"mips64el": ["--uint32-align=4", "--little-endian"],
"mipsisa64r6el": ["--uint32-align=4", "--little-endian"],
"i586": ["--uint32-align=4", "--little-endian"],
"i686": ["--uint32-align=4", "--little-endian"],
"x86_64": ["--uint32-align=4", "--little-endian"]
}
if target_arch in locale_arch_options:
arch_options = locale_arch_options[target_arch]
else:
bb.error("locale_arch_options not found for target_arch=" + target_arch)
bb.fatal("unknown arch:" + target_arch + " for locale_arch_options")
localedir = oe.path.join(rootfs, d.getVar("libdir_nativesdk", True), "locale")
# Need to set this so cross-localedef knows where the archive is
env = dict(os.environ)
env["LOCALEARCHIVE"] = oe.path.join(localedir, "locale-archive")
for name in os.listdir(localedir):
path = os.path.join(localedir, name)
if os.path.isdir(path):
try:
cmd = ["cross-localedef", "--verbose"]
cmd += arch_options
cmd += ["--add-to-archive", path]
subprocess.check_output(cmd, env=env, stderr=subprocess.STDOUT)
except Exception as e:
bb.fatal("Cannot create locale archive: %s" % e.output)
class Sdk(object, metaclass=ABCMeta):
def __init__(self, d, manifest_dir):
@@ -84,8 +129,32 @@ class Sdk(object, metaclass=ABCMeta):
bb.debug(1, "printing the stack trace\n %s" %traceback.format_exc())
bb.warn("cannot remove SDK dir: %s" % path)
def install_locales(self, pm):
# This is only relevant for glibc
if self.d.getVar("TCLIBC", True) != "glibc":
return
linguas = self.d.getVar("SDKIMAGE_LINGUAS", True)
if linguas:
import fnmatch
# Install the binary locales
if linguas == "all":
pm.install_glob("nativesdk-glibc-binary-localedata-*.utf-8", sdk=True)
else:
for lang in linguas.split():
pm.install("nativesdk-glibc-binary-localedata-%s.utf-8" % lang)
# Generate a locale archive of them
generate_locale_archive(self.d, oe.path.join(self.sdk_host_sysroot, self.sdk_native_path))
# And now delete the binary locales
pkgs = fnmatch.filter(pm.list_installed(), "nativesdk-glibc-binary-localedata-*.utf-8")
pm.remove(pkgs, with_dependencies=False)
else:
# No linguas so do nothing
pass
class RpmSdk(Sdk):
def __init__(self, d, manifest_dir=None):
def __init__(self, d, manifest_dir=None, rpm_workdir="oe-sdk-repo"):
super(RpmSdk, self).__init__(d, manifest_dir)
self.target_manifest = RpmManifest(d, self.manifest_dir,
@@ -100,11 +169,17 @@ class RpmSdk(Sdk):
'pkgconfig'
]
rpm_repo_workdir = "oe-sdk-repo"
if "sdk_ext" in d.getVar("BB_RUNTASK", True):
rpm_repo_workdir = "oe-sdk-ext-repo"
self.target_pm = RpmPM(d,
self.sdk_target_sysroot,
self.d.getVar('TARGET_VENDOR', True),
'target',
target_providename
target_providename,
rpm_repo_workdir=rpm_repo_workdir
)
sdk_providename = ['/bin/sh',
@@ -122,7 +197,8 @@ class RpmSdk(Sdk):
'host',
sdk_providename,
"SDK_PACKAGE_ARCHS",
"SDK_OS"
"SDK_OS",
rpm_repo_workdir=rpm_repo_workdir
)
def _populate_sysroot(self, pm, manifest):
@@ -158,6 +234,7 @@ class RpmSdk(Sdk):
bb.note("Installing NATIVESDK packages")
self._populate_sysroot(self.host_pm, self.host_manifest)
self.install_locales(self.host_pm)
execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_HOST_COMMAND", True))
@@ -237,6 +314,7 @@ class OpkgSdk(Sdk):
bb.note("Installing NATIVESDK packages")
self._populate_sysroot(self.host_pm, self.host_manifest)
self.install_locales(self.host_pm)
execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_HOST_COMMAND", True))
@@ -321,6 +399,7 @@ class DpkgSdk(Sdk):
bb.note("Installing NATIVESDK packages")
self._populate_sysroot(self.host_pm, self.host_manifest)
self.install_locales(self.host_pm)
execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_HOST_COMMAND", True))

View File

@@ -67,7 +67,7 @@ class Gnome(XTerminal):
import tempfile
pidfile = tempfile.NamedTemporaryFile(delete = False).name
try:
sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd
sh_cmd = bb.utils.which(os.getenv('PATH'), "oe-gnome-terminal-phonehome") + " " + pidfile + " " + sh_cmd
XTerminal.__init__(self, sh_cmd, title, env, d)
while os.stat(pidfile).st_size <= 0:
continue

View File

@@ -26,7 +26,7 @@ class Signing(oeSelfTest):
cls.pub_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.pub")
cls.secret_key_path = os.path.join(cls.testlayer_path, 'files', 'signing', "key.secret")
runCmd('gpg --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path))
runCmd('gpg --batch --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path))
@classmethod
def tearDownClass(cls):
@@ -104,13 +104,7 @@ class Signing(oeSelfTest):
self.add_command_to_tearDown('bitbake -c clean %s' % test_recipe)
self.add_command_to_tearDown('rm -rf %s' % sstatedir)
# Determine the pub key signature
ret = runCmd('gpg --homedir %s --list-keys' % self.gpg_dir)
pub_key = re.search(r'^pub\s+\S+/(\S+)\s+', ret.output, re.M)
self.assertIsNotNone(pub_key, 'Failed to determine the public key signature.')
pub_key = pub_key.group(1)
feature = 'SSTATE_SIG_KEY ?= "%s"\n' % pub_key
feature = 'SSTATE_SIG_KEY ?= "testuser"\n'
feature += 'SSTATE_SIG_PASSPHRASE ?= "test123"\n'
feature += 'SSTATE_VERIFY_SIG ?= "1"\n'
feature += 'GPG_PATH = "%s"\n' % self.gpg_dir

View File

@@ -9,6 +9,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/acpid2/acpid-${PV}.tar.xz \
file://acpid.service \
"
CVE_PRODUCT = "acpid2"
inherit autotools update-rc.d systemd
INITSCRIPT_NAME = "acpid"

View File

@@ -0,0 +1,34 @@
From 676a8a9001f06808b4dbe0a545d76b5d9a8ebf48 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 2 Feb 2017 13:51:27 -0500
Subject: [PATCH] Mark our explicit fall through so -Wextra will work in gcc 7
gcc 7 introduces detection of fall-through behavior in switch/case
statements, and will warn if -Wimplicit-fallthrough is present and there
is no comment stating that the fall-through is intentional. This is
also triggered by -Wextra, as it enables -Wimplicit-fallthrough=1.
This patch adds the comment in the one place we use fall-through.
Signed-off-by: Peter Jones <pjones@redhat.com>
---
Upstream-Status: Pending
lib/print.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/print.c b/lib/print.c
index b8a9d38..cb732f0 100644
--- a/lib/print.c
+++ b/lib/print.c
@@ -1131,6 +1131,7 @@ Returns:
case 'X':
Item.Width = Item.Long ? 16 : 8;
Item.Pad = '0';
+ /* falls through */
case 'x':
ValueToHex (
Item.Scratch,
--
2.12.2

View File

@@ -17,7 +17,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
file://lib-Makefile-fix-parallel-issue.patch \
file://gcc46-compatibility.patch \
file://aarch64-initplat.c-fix-const-qualifier.patch \
"
file://0001-Mark-our-explicit-fall-through-so-Wextra-will-work-i.patch \
"
SRC_URI[md5sum] = "612e0f327f31c4b8468ef55f4eeb9649"
SRC_URI[sha256sum] = "51a00428c3ccb96db24089ed8394843c4f83cf8f42c6a4dfddb4b7c23f2bf8af"

View File

@@ -0,0 +1,48 @@
From 07662af7aed55bcec448bc2a6610de1f0cb62100 Mon Sep 17 00:00:00 2001
From: Andrei Borzenkov <arvidjaar@gmail.com>
Date: Thu, 22 Dec 2016 22:48:25 +0300
Subject: [PATCH] configure: fix check for sys/sysmacros.h under glibc 2.25+
glibc 2.25 still includes sys/sysmacros.h in sys/types.h but also emits
deprecation warning. So test for sys/types.h succeeds in configure but later
compilation fails because we use -Werror by default.
While this is fixed in current autoconf GIT, we really cannot force everyone
to use bleeding edge (that is not even released right now). So run test under
-Werror as well to force proper detection.
This should have no impact on autoconf 2.70+ as AC_HEADER_MAJOR in this version
simply checks for header existence.
Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/grub.git/commit/?id=07662af7aed55bcec448bc2a6610de1f0cb62100]
Reported and tested by Khem Raj <raj.khem@gmail.com>
Signed-off-by: Andrei Borzenkov <arvidjaar@gmail.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
---
configure.ac | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/configure.ac b/configure.ac
index dc56564..4e980c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -389,7 +389,14 @@ fi
# Check for functions and headers.
AC_CHECK_FUNCS(posix_memalign memalign getextmntent)
AC_CHECK_HEADERS(sys/param.h sys/mount.h sys/mnttab.h limits.h)
+
+# glibc 2.25 still includes sys/sysmacros.h in sys/types.h but emits deprecation
+# warning which causes compilation failure later with -Werror. So use -Werror here
+# as well to force proper sys/sysmacros.h detection.
+SAVED_CFLAGS="$CFLAGS"
+CFLAGS="$HOST_CFLAGS -Werror"
AC_HEADER_MAJOR
+CFLAGS="$SAVED_CFLAGS"
AC_CHECK_MEMBERS([struct statfs.f_fstypename],,,[$ac_includes_default
#include <sys/param.h>
--
2.4.0

View File

@@ -6,6 +6,7 @@ PR = "r3"
SRC_URI += " \
file://cfg \
file://0001-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch \
"
S = "${WORKDIR}/grub-${PV}"

View File

@@ -27,6 +27,8 @@ SRC_URI = "\
"
S = "${WORKDIR}/bluez-${PV}"
CVE_PRODUCT = "bluez"
inherit autotools pkgconfig systemd update-rc.d distro_features_check ptest
EXTRA_OECONF = "\

View File

@@ -4,7 +4,7 @@ DEPENDS_append_libc-musl = " libtirpc "
PR = "r9"
SRC_URI = "http://www.sourcefiles.org/Networking/Tools/Miscellanenous/portmap-6.0.tgz \
SRC_URI = "https://fossies.org/linux/misc/old/portmap-6.0.tgz \
file://destdir-no-strip.patch \
file://tcpd-config.patch \
file://portmap.init \

View File

@@ -15,6 +15,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
BUGTRACKER = "http://bugzilla.gnome.org"
SECTION = "libs"
CVE_PRODUCT = "glib"
BBCLASSEXTEND = "native nativesdk"
DEPENDS = "virtual/libiconv libffi zlib glib-2.0-native"

View File

@@ -37,6 +37,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \
file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \
file://0001-Include-locale_t.h-compatibility-header.patch \
file://archive-path.patch \
"
# Makes for a rather long rev (22 characters), but...
#

View File

@@ -15,7 +15,7 @@ do_patch[noexec] = "1"
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
do_install[depends] += "virtual/${MLPREFIX}libc:do_stash_locale"
COMPATIBLE_HOST_libc-musl_class-target = "null"
COMPATIBLE_HOST_libc-uclibc_class-target = "null"

View File

@@ -7,3 +7,4 @@ LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \
file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff "
CVE_PRODUCT = "glibc"

View File

@@ -48,7 +48,7 @@ do_install () {
done
}
do_install_locale() {
do_stash_locale() {
:
}

View File

@@ -12,7 +12,7 @@ BINUTILSDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot"
BINUTILSDEP_class-nativesdk = "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot"
do_package[depends] += "${BINUTILSDEP}"
# localedef links with libc.so and glibc-collateral.incinhibits all default deps
# localedef links with libc.so and glibc-collateral.inc inhibits all default deps
# cannot add virtual/libc to DEPENDS, because it would conflict with libc-initial in RSS
RDEPENDS_localedef += "glibc"
@@ -39,7 +39,6 @@ PACKAGES = "localedef ${PN}-dbg"
PACKAGES_DYNAMIC = "^locale-base-.* \
^glibc-gconv-.* ^glibc-charmap-.* ^glibc-localedata-.* ^glibc-binary-localedata-.* \
^glibc-gconv-.* ^glibc-charmap-.* ^glibc-localedata-.* ^glibc-binary-localedata-.* \
^${MLPREFIX}glibc-gconv$"
# Create a glibc-binaries package
@@ -70,7 +69,7 @@ DESCRIPTION_localedef = "glibc: compile locale definition files"
FILES_${MLPREFIX}glibc-gconv = "${libdir}/gconv/*"
FILES_localedef = "${bindir}/localedef"
LOCALETREESRC = "${STAGING_INCDIR}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}"
LOCALETREESRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
do_install () {
mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir}

View File

@@ -5,7 +5,7 @@ DESCRIPTION = "mtrace utility provided by glibc"
RDEPENDS_${PN} = "perl"
RPROVIDES_${PN} = "libc-mtrace"
SRC = "${STAGING_INCDIR}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
SRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale/scripts"
do_install() {
install -d -m 0755 ${D}${bindir}

View File

@@ -145,8 +145,11 @@ do_install_append_aarch64 () {
fi
}
do_install_locale () {
dest=${D}/${includedir}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}
LOCALESTASH = "${WORKDIR}/stashed-locale"
bashscripts = "mtrace sotruss xtrace"
do_stash_locale () {
dest=${LOCALESTASH}
install -d ${dest}${base_libdir} ${dest}${bindir} ${dest}${libdir} ${dest}${datadir}
if [ "${base_libdir}" != "${libdir}" ]; then
cp -fpPR ${D}${base_libdir}/* ${dest}${base_libdir}
@@ -166,14 +169,8 @@ do_install_locale () {
cp -fpPR ${D}${datadir}/* ${dest}${datadir}
rm -rf ${D}${datadir}/locale/
cp -fpPR ${WORKDIR}/SUPPORTED ${dest}
}
addtask do_install_locale after do_install before do_populate_sysroot do_package
bashscripts = "mtrace sotruss xtrace"
do_evacuate_scripts () {
target=${D}${includedir}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}
target=${dest}/scripts
mkdir -p $target
for i in ${bashscripts}; do
if [ -f ${D}${bindir}/$i ]; then
@@ -182,22 +179,36 @@ do_evacuate_scripts () {
done
}
addtask evacuate_scripts after do_install before do_populate_sysroot do_package
addtask do_stash_locale after do_install before do_populate_sysroot do_package
do_stash_locale[dirs] = "${B}"
do_stash_locale[cleandirs] = "${LOCALESTASH}"
SSTATETASKS += "do_stash_locale"
do_stash_locale[sstate-inputdirs] = "${LOCALESTASH}"
do_stash_locale[sstate-outputdirs] = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
do_stash_locale[sstate-fixmedir] = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
PACKAGE_PREPROCESS_FUNCS += "glibc_package_preprocess"
python do_stash_locale_setscene () {
sstate_setscene(d)
}
addtask do_stash_locale_setscene
glibc_package_preprocess () {
rm -rf ${PKGD}/${includedir}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}
rm -rf ${PKGD}/${includedir}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}
do_poststash_install_cleanup () {
# Remove all files which do_stash_locale would remove (mv)
# since that task could have come from sstate and not get run.
for i in ${bashscripts}; do
rm -f ${PKGD}${bindir}/$i
rm -f ${D}${bindir}/$i
done
rm -rf ${PKGD}/${localedir}
rm -f ${D}${bindir}/localedef
rm -rf ${D}${datadir}/i18n
rm -rf ${D}${libdir}/gconv
rm -rf ${D}/${localedir}
rm -rf ${D}${datadir}/locale
if [ "${libdir}" != "${exec_prefix}/lib" ]; then
# This dir only exists to hold locales
rm -rf ${PKGD}${exec_prefix}/lib
rm -rf ${D}${exec_prefix}/lib
fi
}
addtask do_poststash_install_cleanup after do_stash_locale do_install before do_populate_sysroot do_package
pkg_postinst_nscd () {
if [ -z "$D" ]; then

View File

@@ -4,7 +4,7 @@ SUMMARY = "utility scripts provided by glibc"
DESCRIPTION = "utility scripts provided by glibc"
RDEPENDS_${PN} = "bash glibc-mtrace"
SRC = "${STAGING_INCDIR}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
SRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale/scripts"
bashscripts = "sotruss xtrace"

View File

@@ -0,0 +1,39 @@
localedef --add-to-archive uses a hard-coded locale path which doesn't exist in
normal use, and there's no way to pass an alternative filename.
Add a fallback of $LOCALEARCHIVE from the environment, and allow creation of new locale archives that are not the system archive.
Upstream-Status: Inappropriate (OE-specific)
Signed-off-by: Ross Burton <ross.burton@intel.com>
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
index ca332a34..6b7ba9b2 100644
--- a/locale/programs/locarchive.c
+++ b/locale/programs/locarchive.c
@@ -569,10 +569,13 @@ open_archive (struct locarhandle *ah, bool readonly)
/* If ah has a non-NULL fname open that otherwise open the default. */
if (archivefname == NULL)
{
- archivefname = default_fname;
- if (output_prefix)
- memcpy (default_fname, output_prefix, prefix_len);
- strcpy (default_fname + prefix_len, ARCHIVE_NAME);
+ archivefname = getenv("LOCALEARCHIVE");
+ if (archivefname == NULL) {
+ archivefname = default_fname;
+ if (output_prefix)
+ memcpy (default_fname, output_prefix, prefix_len);
+ strcpy (default_fname + prefix_len, ARCHIVE_NAME);
+ }
}
while (1)
@@ -585,7 +588,7 @@ open_archive (struct locarhandle *ah, bool readonly)
the default locale archive we ignore the failure and
list an empty archive, otherwise we print an error
and exit. */
- if (errno == ENOENT && archivefname == default_fname)
+ if (errno == ENOENT)
{
if (readonly)
{

View File

@@ -0,0 +1,33 @@
The glibc locale path is hard-coded to the install prefix, but in SDKs we need
to be able to relocate the binaries. Expand the strings to 4K and put them in a
magic segment that we can relocate at install time.
Upstream-Status: Inappropriate (OE-specific)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Index: git/locale/localeinfo.h
===================================================================
--- git.orig/locale/localeinfo.h
+++ git/locale/localeinfo.h
@@ -325,7 +325,7 @@ _nl_lookup_word (locale_t l, int categor
}
/* Default search path if no LOCPATH environment variable. */
-extern char _nl_default_locale_path[] attribute_hidden;
+extern char _nl_default_locale_path[4096] attribute_hidden;
/* Load the locale data for CATEGORY from the file specified by *NAME.
If *NAME is "", use environment variables as specified by POSIX, and
Index: git/locale/loadarchive.c
===================================================================
--- git.orig/locale/loadarchive.c
+++ git/locale/loadarchive.c
@@ -42,7 +42,7 @@
/* Name of the locale archive file. */
-static const char archfname[] = COMPLOCALEDIR "/locale-archive";
+static const char archfname[4096] __attribute__ ((section (".gccrelocprefix"))) = COMPLOCALEDIR "/locale-archive";
/* Size of initial mapping window, optimal if large enough to
cover the header plus the initial locale. */

View File

@@ -65,6 +65,7 @@ SRC_URI_append_class-nativesdk = "\
file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \
file://relocate-locales.patch \
"
S = "${WORKDIR}/git"
@@ -144,12 +145,6 @@ do_compile () {
}
# Use the host locale archive when built for nativesdk so that we don't need to
# ship a complete (100MB) locale set.
do_compile_prepend_class-nativesdk() {
echo "complocaledir=/usr/lib/locale" >> ${S}/configparms
}
require glibc-package.inc
BBCLASSEXTEND = "nativesdk"

View File

@@ -22,7 +22,7 @@ IMAGE_FSTYPES = "vmdk"
inherit core-image module-base
SRCREV ?= "a3765887d3efa4c464ef7a00450f218ae2b15eb2"
SRCREV ?= "f627c9a573c709488e71ac1c6d75eafa03718f10"
SRC_URI = "git://git.yoctoproject.org/poky;branch=morty \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \

View File

@@ -23,7 +23,6 @@ TOOLCHAIN_HOST_TASK ?= "\
nativesdk-wget \
nativesdk-ca-certificates \
nativesdk-texinfo \
nativesdk-locale-base-en-us \
"
MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"

View File

@@ -45,6 +45,64 @@ SRC_URI = "\
file://CVE-2017-6969_2.patch \
file://CVE-2017-7209.patch \
file://CVE-2017-7210.patch \
file://CVE-2017-7614.patch \
file://CVE-2017-9038.patch \
file://CVE-2017-9039.patch \
file://CVE-2017-9039_1.patch \
file://CVE-2017-9040_and_9042.patch \
file://CVE-2017-9041_1.patch \
file://CVE-2017-9041_2.patch \
file://CVE-2017-7226.patch \
file://CVE-2017-12448.patch \
file://CVE-2017-12449_12455_12457_1.patch \
file://CVE-2017-12449_12455_12457.patch \
file://CVE-2017-12451.patch \
file://CVE-2017-12450_12452_12453_12454_12456_1.patch \
file://CVE-2017-12450_12452_12453_12454_12456.patch \
file://CVE-2017-7223.patch \
file://CVE-2017-7224.patch \
file://CVE-2017-7225.patch \
file://CVE-2017-7227.patch \
file://CVE-2017-7301.patch \
file://CVE-2017-7302.patch \
file://CVE-2017-7303.patch \
file://CVE-2017-7304.patch \
file://CVE-2017-8393.patch \
file://CVE-2017-8395.patch \
file://CVE-2017-8397.patch \
file://CVE-2017-7300.patch \
file://CVE-2017-8396.patch \
file://CVE-2017-8421.patch \
file://CVE-2017-8394_1.patch \
file://CVE-2017-8394.patch \
file://CVE-2017-8398.patch \
file://CVE-2017-7299_1.patch \
file://CVE-2017-7299_2.patch \
file://CVE-2017-9751.patch \
file://CVE-2017-9749.patch \
file://CVE-2017-9746.patch \
file://CVE-2017-9748.patch \
file://CVE-2017-9747.patch \
file://CVE-2017-9750.patch \
file://CVE-2017-9752.patch \
file://CVE-2017-9753_9754.patch \
file://CVE-2017-9755_1.patch \
file://CVE-2017-9755_2.patch \
file://CVE-2017-9756.patch \
file://CVE-2017-9745.patch \
file://CVE-2017-9954.patch \
file://CVE-2017-9955_1.patch \
file://CVE-2017-9955_2.patch \
file://CVE-2017-9955_3.patch \
file://CVE-2017-9955_4.patch \
file://CVE-2017-9955_5.patch \
file://CVE-2017-9955_6.patch \
file://CVE-2017-9955_7.patch \
file://CVE-2017-9955_8.patch \
file://CVE-2017-9955_9.patch \
file://CVE-2017-14729.patch \
file://CVE-2017-15024.patch \
file://CVE-2017-15938.patch \
"
S = "${WORKDIR}/git"

View File

@@ -0,0 +1,49 @@
commit 909e4e716c4d77e33357bbe9bc902bfaf2e1af24
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jul 19 14:49:12 2017 +0100
Fix use-after-free error when parsing a corrupt nested archive.
PR 21787
* archive.c (bfd_generic_archive_p): If the bfd does not have the
correct magic bytes at the start, set the error to wrong format
and clear the format selector before returning NULL.
Upstream-Status: Backport
CVE: CVE-2017-12448
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/archive.c
===================================================================
--- git.orig/bfd/archive.c 2017-08-30 16:44:10.848601412 +0530
+++ git/bfd/archive.c 2017-08-30 16:44:21.400855758 +0530
@@ -834,7 +834,12 @@
if (strncmp (armag, ARMAG, SARMAG) != 0
&& strncmp (armag, ARMAGB, SARMAG) != 0
&& ! bfd_is_thin_archive (abfd))
- return NULL;
+ {
+ bfd_set_error (bfd_error_wrong_format);
+ if (abfd->format == bfd_archive)
+ abfd->format = bfd_unknown;
+ return NULL;
+ }
tdata_hold = bfd_ardata (abfd);
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-08-30 16:44:21.340854320 +0530
+++ git/bfd/ChangeLog 2017-08-30 16:46:48.716143277 +0530
@@ -1,3 +1,10 @@
+2017-07-19 Nick Clifton <nickc@redhat.com>
+
+ PR 21787
+ * archive.c (bfd_generic_archive_p): If the bfd does not have the
+ correct magic bytes at the start, set the error to wrong format
+ and clear the format selector before returning NULL.
+
2017-04-25 Maciej W. Rozycki <macro@imgtec.com>
* readelf.c (process_mips_specific): Remove error reporting from

View File

@@ -0,0 +1,240 @@
commit 8bdf0be19d2777565a8b1c88347f65d6a4b8c5fc
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Jul 27 12:04:50 2017 +0100
Fix address violation issues encountered when parsing corrupt binaries.
PR 21840
* mach-o.c (bfd_mach_o_read_symtab_strtab): Fail if the symtab
size is -1.
* nlmcode.h (nlm_swap_auxiliary_headers_in): Replace assertion
with error return.
* section.c (bfd_make_section_with_flags): Fail if the name or bfd
are NULL.
* vms-alpha.c (bfd_make_section_with_flags): Correct computation
of end pointer.
(evax_bfd_print_emh): Check for invalid string lengths.
Upstream-Status: Backport
CVE: CVE-2017-12449_12455_12457
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/mach-o.c
===================================================================
--- git.orig/bfd/mach-o.c 2017-08-30 17:21:59.684671218 +0530
+++ git/bfd/mach-o.c 2017-08-30 17:22:19.136813620 +0530
@@ -3739,6 +3739,9 @@
}
else
{
+ /* See PR 21840 for a reproducer. */
+ if ((sym->strsize + 1) == 0)
+ return FALSE;
sym->strtab = bfd_alloc (abfd, sym->strsize + 1);
if (sym->strtab == NULL)
return FALSE;
Index: git/bfd/nlmcode.h
===================================================================
--- git.orig/bfd/nlmcode.h 2017-08-30 17:21:59.688671247 +0530
+++ git/bfd/nlmcode.h 2017-08-30 17:22:19.140813649 +0530
@@ -351,7 +351,9 @@
bfd_byte *contents;
bfd_byte *p, *pend;
- BFD_ASSERT (hdrLength == 0 && hdr == NULL);
+ /* See PR 21840 for a reproducer. */
+ if (hdrLength != 0 || hdr != NULL)
+ return FALSE;
pos = bfd_tell (abfd);
if (bfd_seek (abfd, dataOffset, SEEK_SET) != 0)
Index: git/bfd/section.c
===================================================================
--- git.orig/bfd/section.c 2017-08-30 17:21:59.708671392 +0530
+++ git/bfd/section.c 2017-08-30 17:22:19.140813649 +0530
@@ -1240,7 +1240,7 @@
struct section_hash_entry *sh;
asection *newsect;
- if (abfd->output_has_begun)
+ if (abfd == NULL || name == NULL || abfd->output_has_begun)
{
bfd_set_error (bfd_error_invalid_operation);
return NULL;
Index: git/bfd/vms-alpha.c
===================================================================
--- git.orig/bfd/vms-alpha.c 2017-08-30 17:22:19.080813209 +0530
+++ git/bfd/vms-alpha.c 2017-08-30 17:22:19.140813649 +0530
@@ -5562,8 +5562,9 @@
{
struct vms_emh_common *emh = (struct vms_emh_common *)rec;
unsigned int subtype;
+ int extra;
- subtype = (unsigned)bfd_getl16 (emh->subtyp);
+ subtype = (unsigned) bfd_getl16 (emh->subtyp);
fprintf (file, _(" EMH %u (len=%u): "), subtype, rec_len);
@@ -5573,58 +5574,82 @@
fprintf (file, _(" Error: The length is less than the length of an EMH record\n"));
return;
}
-
+ extra = rec_len - sizeof (struct vms_emh_common);
+
switch (subtype)
{
case EMH__C_MHD:
{
- struct vms_emh_mhd *mhd = (struct vms_emh_mhd *)rec;
- const char *name;
+ struct vms_emh_mhd *mhd = (struct vms_emh_mhd *) rec;
+ const char * name;
+ const char * nextname;
+ const char * maxname;
+ /* PR 21840: Check for invalid lengths. */
+ if (rec_len < sizeof (* mhd))
+ {
+ fprintf (file, _(" Error: The record length is less than the size of an EMH_MHD record\n"));
+ return;
+ }
fprintf (file, _("Module header\n"));
fprintf (file, _(" structure level: %u\n"), mhd->strlvl);
fprintf (file, _(" max record size: %u\n"),
- (unsigned)bfd_getl32 (mhd->recsiz));
+ (unsigned) bfd_getl32 (mhd->recsiz));
name = (char *)(mhd + 1);
+ maxname = (char *) rec + rec_len;
+ if (name > maxname - 2)
+ {
+ fprintf (file, _(" Error: The module name is missing\n"));
+ return;
+ }
+ nextname = name + name[0] + 1;
+ if (nextname >= maxname)
+ {
+ fprintf (file, _(" Error: The module name is too long\n"));
+ return;
+ }
fprintf (file, _(" module name : %.*s\n"), name[0], name + 1);
- name += name[0] + 1;
+ name = nextname;
+ if (name > maxname - 2)
+ {
+ fprintf (file, _(" Error: The module version is missing\n"));
+ return;
+ }
+ nextname = name + name[0] + 1;
+ if (nextname >= maxname)
+ {
+ fprintf (file, _(" Error: The module version is too long\n"));
+ return;
+ }
fprintf (file, _(" module version : %.*s\n"), name[0], name + 1);
- name += name[0] + 1;
- fprintf (file, _(" compile date : %.17s\n"), name);
+ name = nextname;
+ if ((maxname - name) < 17 && maxname[-1] != 0)
+ fprintf (file, _(" Error: The compile date is truncated\n"));
+ else
+ fprintf (file, _(" compile date : %.17s\n"), name);
}
break;
+
case EMH__C_LNM:
- {
- fprintf (file, _("Language Processor Name\n"));
- fprintf (file, _(" language name: %.*s\n"),
- (int)(rec_len - sizeof (struct vms_emh_common)),
- (char *)rec + sizeof (struct vms_emh_common));
- }
+ fprintf (file, _("Language Processor Name\n"));
+ fprintf (file, _(" language name: %.*s\n"), extra, (char *)(emh + 1));
break;
+
case EMH__C_SRC:
- {
- fprintf (file, _("Source Files Header\n"));
- fprintf (file, _(" file: %.*s\n"),
- (int)(rec_len - sizeof (struct vms_emh_common)),
- (char *)rec + sizeof (struct vms_emh_common));
- }
+ fprintf (file, _("Source Files Header\n"));
+ fprintf (file, _(" file: %.*s\n"), extra, (char *)(emh + 1));
break;
+
case EMH__C_TTL:
- {
- fprintf (file, _("Title Text Header\n"));
- fprintf (file, _(" title: %.*s\n"),
- (int)(rec_len - sizeof (struct vms_emh_common)),
- (char *)rec + sizeof (struct vms_emh_common));
- }
+ fprintf (file, _("Title Text Header\n"));
+ fprintf (file, _(" title: %.*s\n"), extra, (char *)(emh + 1));
break;
+
case EMH__C_CPR:
- {
- fprintf (file, _("Copyright Header\n"));
- fprintf (file, _(" copyright: %.*s\n"),
- (int)(rec_len - sizeof (struct vms_emh_common)),
- (char *)rec + sizeof (struct vms_emh_common));
- }
+ fprintf (file, _("Copyright Header\n"));
+ fprintf (file, _(" copyright: %.*s\n"), extra, (char *)(emh + 1));
break;
+
default:
fprintf (file, _("unhandled emh subtype %u\n"), subtype);
break;
Index: git/bfd/vms-misc.c
===================================================================
--- git.orig/bfd/vms-misc.c 2017-08-30 17:21:59.716671451 +0530
+++ git/bfd/vms-misc.c 2017-08-30 17:22:19.140813649 +0530
@@ -135,8 +135,8 @@
#endif
-/* Copy sized string (string with fixed size) to new allocated area
- size is string size (size of record) */
+/* Copy sized string (string with fixed size) to new allocated area.
+ Size is string size (size of record). */
char *
_bfd_vms_save_sized_string (unsigned char *str, int size)
@@ -151,8 +151,8 @@
return newstr;
}
-/* Copy counted string (string with size at first byte) to new allocated area
- ptr points to size byte on entry */
+/* Copy counted string (string with size at first byte) to new allocated area.
+ PTR points to size byte on entry. */
char *
_bfd_vms_save_counted_string (unsigned char *ptr)
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-08-30 17:22:19.080813209 +0530
+++ git/bfd/ChangeLog 2017-08-30 17:23:51.069502425 +0530
@@ -1,3 +1,16 @@
+2017-07-27 Nick Clifton <nickc@redhat.com>
+
+ PR 21840
+ * mach-o.c (bfd_mach_o_read_symtab_strtab): Fail if the symtab
+ size is -1.
+ * nlmcode.h (nlm_swap_auxiliary_headers_in): Replace assertion
+ with error return.
+ * section.c (bfd_make_section_with_flags): Fail if the name or bfd
+ are NULL.
+ * vms-alpha.c (bfd_make_section_with_flags): Correct computation
+ of end pointer.
+ (evax_bfd_print_emh): Check for invalid string lengths.
+
2017-07-19 Nick Clifton <nickc@redhat.com>
PR 21787

View File

@@ -0,0 +1,97 @@
commit bc21b167eb0106eb31d946a0eb5acfb7e4d5d8a1
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jun 19 14:52:36 2017 +0100
Fix address violations when reading corrupt VMS records.
PR binutils/21618
* vms-alpha.c (evax_bfd_print_emh): Check for insufficient record
length.
(evax_bfd_print_eeom): Likewise.
(evax_bfd_print_egsd): Check for an overlarge record length.
(evax_bfd_print_etir): Likewise.
Upstream-Status: Backport
CVE: CVE-2017-12449_12455_12457
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/vms-alpha.c
===================================================================
--- git.orig/bfd/vms-alpha.c 2017-08-30 17:08:27.408159234 +0530
+++ git/bfd/vms-alpha.c 2017-08-30 17:12:07.289044702 +0530
@@ -5567,6 +5567,13 @@
fprintf (file, _(" EMH %u (len=%u): "), subtype, rec_len);
+ /* PR 21618: Check for invalid lengths. */
+ if (rec_len < sizeof (* emh))
+ {
+ fprintf (file, _(" Error: The length is less than the length of an EMH record\n"));
+ return;
+ }
+
switch (subtype)
{
case EMH__C_MHD:
@@ -5630,6 +5637,14 @@
struct vms_eeom *eeom = (struct vms_eeom *)rec;
fprintf (file, _(" EEOM (len=%u):\n"), rec_len);
+
+ /* PR 21618: Check for invalid lengths. */
+ if (rec_len < sizeof (* eeom))
+ {
+ fprintf (file, _(" Error: The length is less than the length of an EEOM record\n"));
+ return;
+ }
+
fprintf (file, _(" number of cond linkage pairs: %u\n"),
(unsigned)bfd_getl32 (eeom->total_lps));
fprintf (file, _(" completion code: %u\n"),
@@ -5718,6 +5733,12 @@
n, type, len);
n++;
+ if (off + len > rec_len || off + len < off)
+ {
+ fprintf (file, _(" Error: length larger than remaining space in record\n"));
+ return;
+ }
+
switch (type)
{
case EGSD__C_PSC:
@@ -5958,6 +5979,12 @@
size = bfd_getl16 (etir->size);
buf = rec + off + sizeof (struct vms_etir);
+ if (off + size > rec_len || off + size < off)
+ {
+ fprintf (file, _(" Error: length larger than remaining space in record\n"));
+ return;
+ }
+
fprintf (file, _(" (type: %3u, size: 4+%3u): "), type, size - 4);
switch (type)
{
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-08-30 17:08:43.612213596 +0530
+++ git/bfd/ChangeLog 2017-08-30 17:13:27.217438742 +0530
@@ -5,6 +5,15 @@
correct magic bytes at the start, set the error to wrong format
and clear the format selector before returning NULL.
+ 2017-06-19 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/21618
+ * vms-alpha.c (evax_bfd_print_emh): Check for insufficient record
+ length.
+ (evax_bfd_print_eeom): Likewise.
+ (evax_bfd_print_egsd): Check for an overlarge record length.
+ (evax_bfd_print_etir): Likewise.
+
2017-04-25 Maciej W. Rozycki <macro@imgtec.com>
* readelf.c (process_mips_specific): Remove error reporting from

View File

@@ -0,0 +1,375 @@
commit ca4cf9b9c622a5695e01f7f5815a7382a31fcf51
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jul 24 13:49:22 2017 +0100
Fix address violation errors parsing corrupt binary files.
PR 21813
binutils* rddbg.c (read_symbol_stabs_debugging_info): Check for an empty
string whilst concatenating symbol names.
bfd * mach-o.c (bfd_mach_o_canonicalize_relocs): Pass the base address
of the relocs to the canonicalize_one_reloc routine.
* mach-o.h (struct bfd_mach_o_backend_data): Update the prototype
for the _bfd_mach_o_canonicalize_one_reloc field.
* mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add
res_base parameter. Use to check for corrupt pair relocs.
* mach-o-aarch64.c (bfd_mach_o_arm64_canonicalize_one_reloc):
Likewise.
* mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc):
Likewise.
* mach-o-x86-64.c (bfd_mach_o_x86_64_canonicalize_one_reloc):
Likewise.
* vms-alpha.c (_bfd_vms_slurp_eihd): Make sure that there is
enough data in the record before attempting to parse it.
(_bfd_vms_slurp_eeom): Likewise.
(_bfd_vms_slurp_egsd): Check for an invalid section index.
(image_set_ptr): Likewise.
(alpha_vms_slurp_relocs): Likewise.
(alpha_vms_object_p): Check for a truncated record.
Upstream-Status: Backport
CVE: CVE-2017-12450, CVE-2017-12452, CVE-2017-12453, CVE-2017-12454, CVE-2017-12456
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/mach-o-aarch64.c
===================================================================
--- git.orig/bfd/mach-o-aarch64.c 2017-08-31 19:17:51.264385450 +0530
+++ git/bfd/mach-o-aarch64.c 2017-08-31 19:18:02.620442777 +0530
@@ -147,9 +147,11 @@
};
static bfd_boolean
-bfd_mach_o_arm64_canonicalize_one_reloc (bfd *abfd,
- struct mach_o_reloc_info_external *raw,
- arelent *res, asymbol **syms)
+bfd_mach_o_arm64_canonicalize_one_reloc (bfd * abfd,
+ struct mach_o_reloc_info_external * raw,
+ arelent * res,
+ asymbol ** syms,
+ arelent * res_base ATTRIBUTE_UNUSED)
{
bfd_mach_o_reloc_info reloc;
Index: git/bfd/mach-o-i386.c
===================================================================
--- git.orig/bfd/mach-o-i386.c 2017-08-31 19:17:51.264385450 +0530
+++ git/bfd/mach-o-i386.c 2017-08-31 19:18:02.620442777 +0530
@@ -112,9 +112,11 @@
};
static bfd_boolean
-bfd_mach_o_i386_canonicalize_one_reloc (bfd *abfd,
- struct mach_o_reloc_info_external *raw,
- arelent *res, asymbol **syms)
+bfd_mach_o_i386_canonicalize_one_reloc (bfd * abfd,
+ struct mach_o_reloc_info_external * raw,
+ arelent * res,
+ asymbol ** syms,
+ arelent * res_base)
{
bfd_mach_o_reloc_info reloc;
@@ -126,6 +128,9 @@
switch (reloc.r_type)
{
case BFD_MACH_O_GENERIC_RELOC_PAIR:
+ /* PR 21813: Check for a corrupt PAIR reloc at the start. */
+ if (res == res_base)
+ return FALSE;
if (reloc.r_length == 2)
{
res->howto = &i386_howto_table[7];
@@ -391,9 +396,9 @@
{ NULL, NULL }
};
-#define bfd_mach_o_canonicalize_one_reloc bfd_mach_o_i386_canonicalize_one_reloc
-#define bfd_mach_o_swap_reloc_out bfd_mach_o_i386_swap_reloc_out
-#define bfd_mach_o_print_thread bfd_mach_o_i386_print_thread
+#define bfd_mach_o_canonicalize_one_reloc bfd_mach_o_i386_canonicalize_one_reloc
+#define bfd_mach_o_swap_reloc_out bfd_mach_o_i386_swap_reloc_out
+#define bfd_mach_o_print_thread bfd_mach_o_i386_print_thread
#define bfd_mach_o_tgt_seg_table mach_o_i386_segsec_names_xlat
#define bfd_mach_o_section_type_valid_for_tgt NULL
Index: git/bfd/mach-o-x86-64.c
===================================================================
--- git.orig/bfd/mach-o-x86-64.c 2017-08-31 19:17:51.264385450 +0530
+++ git/bfd/mach-o-x86-64.c 2017-08-31 19:18:02.620442777 +0530
@@ -120,9 +120,11 @@
};
static bfd_boolean
-bfd_mach_o_x86_64_canonicalize_one_reloc (bfd *abfd,
- struct mach_o_reloc_info_external *raw,
- arelent *res, asymbol **syms)
+bfd_mach_o_x86_64_canonicalize_one_reloc (bfd * abfd,
+ struct mach_o_reloc_info_external * raw,
+ arelent * res,
+ asymbol ** syms,
+ arelent * res_base ATTRIBUTE_UNUSED)
{
bfd_mach_o_reloc_info reloc;
Index: git/bfd/mach-o.c
===================================================================
--- git.orig/bfd/mach-o.c 2017-08-31 19:18:02.440441869 +0530
+++ git/bfd/mach-o.c 2017-08-31 19:18:02.620442777 +0530
@@ -1496,7 +1496,7 @@
for (i = 0; i < count; i++)
{
if (!(*bed->_bfd_mach_o_canonicalize_one_reloc)(abfd, &native_relocs[i],
- &res[i], syms))
+ &res[i], syms, res))
goto err;
}
free (native_relocs);
Index: git/bfd/mach-o.h
===================================================================
--- git.orig/bfd/mach-o.h 2017-08-31 19:17:51.264385450 +0530
+++ git/bfd/mach-o.h 2017-08-31 19:18:02.620442777 +0530
@@ -746,7 +746,7 @@
enum bfd_architecture arch;
bfd_vma page_size;
bfd_boolean (*_bfd_mach_o_canonicalize_one_reloc)
- (bfd *, struct mach_o_reloc_info_external *, arelent *, asymbol **);
+ (bfd *, struct mach_o_reloc_info_external *, arelent *, asymbol **, arelent *);
bfd_boolean (*_bfd_mach_o_swap_reloc_out)(arelent *, bfd_mach_o_reloc_info *);
bfd_boolean (*_bfd_mach_o_print_thread)(bfd *, bfd_mach_o_thread_flavour *,
void *, char *);
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-08-31 19:18:02.564442494 +0530
+++ git/bfd/ChangeLog 2017-08-31 19:18:02.620442777 +0530
@@ -11,6 +11,30 @@
of end pointer.
(evax_bfd_print_emh): Check for invalid string lengths.
+ 2017-07-24 Nick Clifton <nickc@redhat.com>
+
+ PR 21813
+ * mach-o.c (bfd_mach_o_canonicalize_relocs): Pass the base address
+ of the relocs to the canonicalize_one_reloc routine.
+ * mach-o.h (struct bfd_mach_o_backend_data): Update the prototype
+ for the _bfd_mach_o_canonicalize_one_reloc field.
+ * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add
+ res_base parameter. Use to check for corrupt pair relocs.
+ * mach-o-aarch64.c (bfd_mach_o_arm64_canonicalize_one_reloc):
+ Likewise.
+ * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc):
+ Likewise.
+ * mach-o-x86-64.c (bfd_mach_o_x86_64_canonicalize_one_reloc):
+ Likewise.
+
+ * vms-alpha.c (_bfd_vms_slurp_eihd): Make sure that there is
+ enough data in the record before attempting to parse it.
+ (_bfd_vms_slurp_eeom): Likewise.
+
+ (_bfd_vms_slurp_egsd): Check for an invalid section index.
+ (image_set_ptr): Likewise.
+ (alpha_vms_slurp_relocs): Likewise.
+
2017-07-19 Nick Clifton <nickc@redhat.com>
PR 21786
Index: git/bfd/mach-o-arm.c
===================================================================
--- git.orig/bfd/mach-o-arm.c 2017-08-31 19:17:51.264385450 +0530
+++ git/bfd/mach-o-arm.c 2017-08-31 19:18:02.620442777 +0530
@@ -30,7 +30,7 @@
#define bfd_mach_o_mkobject bfd_mach_o_arm_mkobject
#define bfd_mach_o_canonicalize_one_reloc bfd_mach_o_arm_canonicalize_one_reloc
-#define bfd_mach_o_swap_reloc_out NULL
+#define bfd_mach_o_swap_reloc_out NULL
#define bfd_mach_o_bfd_reloc_type_lookup bfd_mach_o_arm_bfd_reloc_type_lookup
#define bfd_mach_o_bfd_reloc_name_lookup bfd_mach_o_arm_bfd_reloc_name_lookup
@@ -147,9 +147,11 @@
};
static bfd_boolean
-bfd_mach_o_arm_canonicalize_one_reloc (bfd *abfd,
- struct mach_o_reloc_info_external *raw,
- arelent *res, asymbol **syms)
+bfd_mach_o_arm_canonicalize_one_reloc (bfd * abfd,
+ struct mach_o_reloc_info_external * raw,
+ arelent * res,
+ asymbol ** syms,
+ arelent * res_base)
{
bfd_mach_o_reloc_info reloc;
@@ -161,6 +163,9 @@
switch (reloc.r_type)
{
case BFD_MACH_O_ARM_RELOC_PAIR:
+ /* PR 21813: Check for a corrupt PAIR reloc at the start. */
+ if (res == res_base)
+ return FALSE;
if (reloc.r_length == 2)
{
res->howto = &arm_howto_table[7];
Index: git/bfd/vms-alpha.c
===================================================================
--- git.orig/bfd/vms-alpha.c 2017-08-31 19:18:02.556442454 +0530
+++ git/bfd/vms-alpha.c 2017-08-31 19:20:56.233322607 +0530
@@ -473,6 +473,14 @@
vms_debug2 ((8, "_bfd_vms_slurp_eihd\n"));
+ /* PR 21813: Check for an undersized record. */
+ if (PRIV (recrd.buf_size) < sizeof (* eihd))
+ {
+ _bfd_error_handler (_("Corrupt EIHD record - size is too small"));
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+
size = bfd_getl32 (eihd->size);
imgtype = bfd_getl32 (eihd->imgtype);
@@ -1255,19 +1263,39 @@
if (old_flags & EGSY__V_DEF)
{
struct vms_esdf *esdf = (struct vms_esdf *)vms_rec;
+ long psindx;
entry->value = bfd_getl64 (esdf->value);
if (PRIV (sections) == NULL)
return FALSE;
- entry->section = PRIV (sections)[bfd_getl32 (esdf->psindx)];
+
+ psindx = bfd_getl32 (esdf->psindx);
+ /* PR 21813: Check for an out of range index. */
+ if (psindx < 0 || psindx >= (int) PRIV (section_count))
+ {
+ _bfd_error_handler (_("Corrupt EGSD record: its psindx field is too big (%#lx)"),
+ psindx);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ entry->section = PRIV (sections)[psindx];
if (old_flags & EGSY__V_NORM)
{
PRIV (norm_sym_count)++;
entry->code_value = bfd_getl64 (esdf->code_address);
- entry->code_section =
- PRIV (sections)[bfd_getl32 (esdf->ca_psindx)];
+ psindx = bfd_getl32 (esdf->ca_psindx);
+ /* PR 21813: Check for an out of range index. */
+ if (psindx < 0 || psindx >= (int) PRIV (section_count))
+ {
+ _bfd_error_handler (_("Corrupt EGSD record: its psindx field is too big (%#lx)"),
+ psindx);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ entry->code_section = PRIV (sections)[psindx];
+
}
}
}
@@ -1294,9 +1322,20 @@
if (old_flags & EGSY__V_REL)
{
+ long psindx;
+
if (PRIV (sections) == NULL)
return FALSE;
- entry->section = PRIV (sections)[bfd_getl32 (egst->psindx)];
+ psindx = bfd_getl32 (egst->psindx);
+ /* PR 21813: Check for an out of range index. */
+ if (psindx < 0 || psindx >= (int) PRIV (section_count))
+ {
+ _bfd_error_handler (_("Corrupt EGSD record: its psindx field is too big (%#lx)"),
+ psindx);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ entry->section = PRIV (sections)[psindx];
}
else
entry->section = bfd_abs_section_ptr;
@@ -1387,6 +1426,10 @@
if (PRIV (sections) == NULL)
return;
+
+ if (sect < 0 || sect >= (int) PRIV (section_count))
+ return;
+
sec = PRIV (sections)[sect];
if (info)
@@ -2360,6 +2403,14 @@
vms_debug2 ((2, "EEOM\n"));
+ /* PR 21813: Check for an undersized record. */
+ if (PRIV (recrd.buf_size) < sizeof (* eeom))
+ {
+ _bfd_error_handler (_("Corrupt EEOM record - size is too small"));
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+
PRIV (eom_data).eom_l_total_lps = bfd_getl32 (eeom->total_lps);
PRIV (eom_data).eom_w_comcod = bfd_getl16 (eeom->comcod);
if (PRIV (eom_data).eom_w_comcod > 1)
@@ -2540,6 +2591,10 @@
PRIV (recrd.buf_size) = PRIV (recrd.rec_size);
}
+ /* PR 21813: Check for a truncated record. */
+ if (PRIV (recrd.rec_size < test_len))
+ goto error_ret;
+
/* Read the remaining record. */
remaining = PRIV (recrd.rec_size) - test_len;
to_read = MIN (VMS_BLOCK_SIZE - test_len, remaining);
@@ -5074,7 +5129,7 @@
}
else if (cur_psidx >= 0)
{
- if (PRIV (sections) == NULL)
+ if (PRIV (sections) == NULL || cur_psidx >= (int) PRIV (section_count))
return FALSE;
reloc->sym_ptr_ptr =
PRIV (sections)[cur_psidx]->symbol_ptr_ptr;
Index: git/binutils/ChangeLog
===================================================================
--- git.orig/binutils/ChangeLog 2017-08-31 19:18:01.816438718 +0530
+++ git/binutils/ChangeLog 2017-08-31 19:18:02.624442798 +0530
@@ -1,3 +1,9 @@
+2017-07-24 Nick Clifton <nickc@redhat.com>
+
+ PR 21813
+ * rddbg.c (read_symbol_stabs_debugging_info): Check for an empty
+ string whilst concatenating symbol names.
+
2017-02-14 Nick Clifton <nickc@redhat.com>
PR binutils/21157
Index: git/binutils/rddbg.c
===================================================================
--- git.orig/binutils/rddbg.c 2017-08-31 19:17:51.596387126 +0530
+++ git/binutils/rddbg.c 2017-08-31 19:18:02.624442798 +0530
@@ -300,7 +300,8 @@
s = i.name;
f = NULL;
- while (s[strlen (s) - 1] == '\\'
+ while (strlen (s) > 0
+ && s[strlen (s) - 1] == '\\'
&& ps + 1 < symend)
{
char *sc, *n;

View File

@@ -0,0 +1,113 @@
commit cb06d03ad92ffcfaa09c3f065837cb39e9e1486d
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jun 21 11:13:49 2017 +0100
Fix address violation parsing a corrupt IEEE Alpha binary.
PR binutils/21637
* vms-alpha.c (_bfd_vms_slurp_egsd): Check for an empty section
list.
(image_set_ptr): Likewise.
(alpha_vms_fix_sec_rel): Likewise.
(alpha_vms_slurp_relocs): Likewise.
Upstream-Status: Backport
CVE: CVE-2017-12450, CVE-2017-12452, CVE-2017-12453, CVE-2017-12454, CVE-2017-12456
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/vms-alpha.c
===================================================================
--- git.orig/bfd/vms-alpha.c 2017-08-31 18:01:00.742098130 +0530
+++ git/bfd/vms-alpha.c 2017-08-31 18:01:06.000000000 +0530
@@ -1257,6 +1257,8 @@
struct vms_esdf *esdf = (struct vms_esdf *)vms_rec;
entry->value = bfd_getl64 (esdf->value);
+ if (PRIV (sections) == NULL)
+ return FALSE;
entry->section = PRIV (sections)[bfd_getl32 (esdf->psindx)];
if (old_flags & EGSY__V_NORM)
@@ -1291,7 +1293,11 @@
entry->symbol_vector = bfd_getl32 (egst->value);
if (old_flags & EGSY__V_REL)
- entry->section = PRIV (sections)[bfd_getl32 (egst->psindx)];
+ {
+ if (PRIV (sections) == NULL)
+ return FALSE;
+ entry->section = PRIV (sections)[bfd_getl32 (egst->psindx)];
+ }
else
entry->section = bfd_abs_section_ptr;
@@ -1379,6 +1385,8 @@
vms_debug2 ((4, "image_set_ptr (0x%08x, sect=%d)\n", (unsigned)vma, sect));
+ if (PRIV (sections) == NULL)
+ return;
sec = PRIV (sections)[sect];
if (info)
@@ -1691,7 +1699,12 @@
alpha_vms_fix_sec_rel (bfd *abfd, struct bfd_link_info *info,
unsigned int rel, bfd_vma vma)
{
- asection *sec = PRIV (sections)[rel & RELC_MASK];
+ asection *sec;
+
+ if (PRIV (sections) == NULL)
+ return 0;
+
+ sec = PRIV (sections)[rel & RELC_MASK];
if (info)
{
@@ -5000,6 +5013,8 @@
return FALSE;
}
+ if (PRIV (sections) == NULL)
+ return FALSE;
sec = PRIV (sections)[cur_psect];
if (sec == bfd_abs_section_ptr)
{
@@ -5058,8 +5073,12 @@
reloc->sym_ptr_ptr = sym;
}
else if (cur_psidx >= 0)
- reloc->sym_ptr_ptr =
- PRIV (sections)[cur_psidx]->symbol_ptr_ptr;
+ {
+ if (PRIV (sections) == NULL)
+ return FALSE;
+ reloc->sym_ptr_ptr =
+ PRIV (sections)[cur_psidx]->symbol_ptr_ptr;
+ }
else
reloc->sym_ptr_ptr = NULL;
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-08-31 18:01:06.000000000 +0530
+++ git/bfd/ChangeLog 2017-08-31 18:01:49.114384620 +0530
@@ -31,7 +31,16 @@
correct magic bytes at the start, set the error to wrong format
and clear the format selector before returning NULL.
- 2017-06-19 Nick Clifton <nickc@redhat.com>
+ 2017-06-21 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/21637
+ * vms-alpha.c (_bfd_vms_slurp_egsd): Check for an empty section
+ list.
+ (image_set_ptr): Likewise.
+ (alpha_vms_fix_sec_rel): Likewise.
+ (alpha_vms_slurp_relocs): Likewise.
+
+2017-06-19 Nick Clifton <nickc@redhat.com>
PR binutils/21618
* vms-alpha.c (evax_bfd_print_emh): Check for insufficient record

View File

@@ -0,0 +1,384 @@
commit 29866fa186ee3ebda5242221607dba360b2e541e
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jul 19 11:07:43 2017 +0100
Fix address violation when attempting to read a corrupt field in a COFF archive header structure.
PR 21786
* coff-rs6000.c (_bfd_strntol): New function.
(_bfd_strntoll): New function.
(GET_VALUE_IN_FIELD): New macro.
(EQ_VALUE_IN_FIELD): new macro.
(_bfd_xcoff_slurp_armap): Use new macros.
(_bfd_xcoff_archive_p): Likewise.
(_bfd_xcoff_read_ar_hdr): Likewise.
(_bfd_xcoff_openr_next_archived_file): Likewise.
(_bfd_xcoff_stat_arch_elt): Likewise.
commit 6c4e7b6bfbc4679f695106de2817ecf02b27c8be
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Jul 19 16:14:02 2017 +0100
Extend previous fix to coff-rs6000.c to coff64-rs6000.c
PR 21786
* coff64-rs6000.c (_bfd_strntol): New function.
(_bfd_strntoll): New function.
(GET_VALUE_IN_FIELD): New macro.
(xcoff64_slurp_armap): Use new macros.
Upstream-Status: backport
CVE: CVE-2017-12451
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-08-31 16:07:20.966269193 +0530
+++ git/bfd/ChangeLog 2017-08-31 16:25:04.423155789 +0530
@@ -13,6 +13,19 @@
2017-07-19 Nick Clifton <nickc@redhat.com>
+ PR 21786
+ * coff-rs6000.c (_bfd_strntol): New function.
+ (_bfd_strntoll): New function.
+ (GET_VALUE_IN_FIELD): New macro.
+ (EQ_VALUE_IN_FIELD): new macro.
+ (_bfd_xcoff_slurp_armap): Use new macros.
+ (_bfd_xcoff_archive_p): Likewise.
+ (_bfd_xcoff_read_ar_hdr): Likewise.
+ (_bfd_xcoff_openr_next_archived_file): Likewise.
+ (_bfd_xcoff_stat_arch_elt): Likewise.
+
+2017-07-19 Nick Clifton <nickc@redhat.com>
+
PR 21787
* archive.c (bfd_generic_archive_p): If the bfd does not have the
correct magic bytes at the start, set the error to wrong format
Index: git/bfd/coff-rs6000.c
===================================================================
--- git.orig/bfd/coff-rs6000.c 2017-08-31 16:07:14.278208353 +0530
+++ git/bfd/coff-rs6000.c 2017-08-31 16:24:05.414696722 +0530
@@ -203,7 +203,8 @@
};
/* Information about one member of an archive. */
-struct member_layout {
+struct member_layout
+{
/* The archive member that this structure describes. */
bfd *member;
@@ -237,7 +238,8 @@
};
/* A structure used for iterating over the members of an archive. */
-struct archive_iterator {
+struct archive_iterator
+{
/* The archive itself. */
bfd *archive;
@@ -654,8 +656,6 @@
end:
return bfd_coff_auxesz (abfd);
}
-
-
/* The XCOFF reloc table. Actually, XCOFF relocations specify the
bitsize and whether they are signed or not, along with a
@@ -663,7 +663,6 @@
different algorithms for putting in the reloc. Many of these
relocs need special_function entries, which I have not written. */
-
reloc_howto_type xcoff_howto_table[] =
{
/* 0x00: Standard 32 bit relocation. */
@@ -1185,6 +1184,51 @@
/* bfd_xcoff_archive_set_magic (abfd, magic); */
}
+/* PR 21786: The PE/COFF standard does not require NUL termination for any of
+ the ASCII fields in the archive headers. So in order to be able to extract
+ numerical values we provide our own versions of strtol and strtoll which
+ take a maximum length as an additional parameter. Also - just to save space,
+ we omit the endptr return parameter, since we know that it is never used. */
+
+static long
+_bfd_strntol (const char * nptr, int base, unsigned int maxlen)
+{
+ char buf[24]; /* Should be enough. */
+
+ BFD_ASSERT (maxlen < (sizeof (buf) - 1));
+
+ memcpy (buf, nptr, maxlen);
+ buf[maxlen] = 0;
+ return strtol (buf, NULL, base);
+}
+
+static long long
+_bfd_strntoll (const char * nptr, int base, unsigned int maxlen)
+{
+ char buf[32]; /* Should be enough. */
+
+ BFD_ASSERT (maxlen < (sizeof (buf) - 1));
+
+ memcpy (buf, nptr, maxlen);
+ buf[maxlen] = 0;
+ return strtoll (buf, NULL, base);
+}
+
+/* Macro to read an ASCII value stored in an archive header field. */
+#define GET_VALUE_IN_FIELD(VAR, FIELD) \
+ do \
+ { \
+ (VAR) = sizeof (VAR) > sizeof (long) \
+ ? _bfd_strntoll (FIELD, 10, sizeof FIELD) \
+ : _bfd_strntol (FIELD, 10, sizeof FIELD); \
+ } \
+ while (0)
+
+#define EQ_VALUE_IN_FIELD(VAR, FIELD) \
+ (sizeof (VAR) > sizeof (long) \
+ ? (VAR) ==_bfd_strntoll (FIELD, 10, sizeof FIELD) \
+ : (VAR) == _bfd_strntol (FIELD, 10, sizeof FIELD))
+
/* Read in the armap of an XCOFF archive. */
bfd_boolean
@@ -1209,7 +1253,7 @@
/* This is for the old format. */
struct xcoff_ar_hdr hdr;
- off = strtol (xcoff_ardata (abfd)->symoff, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (off, xcoff_ardata (abfd)->symoff);
if (off == 0)
{
bfd_has_map (abfd) = FALSE;
@@ -1225,12 +1269,12 @@
return FALSE;
/* Skip the name (normally empty). */
- namlen = strtol (hdr.namlen, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (namlen, hdr.namlen);
off = ((namlen + 1) & ~ (size_t) 1) + SXCOFFARFMAG;
if (bfd_seek (abfd, off, SEEK_CUR) != 0)
return FALSE;
- sz = strtol (hdr.size, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (sz, hdr.size);
/* Read in the entire symbol table. */
contents = (bfd_byte *) bfd_alloc (abfd, sz);
@@ -1264,7 +1308,7 @@
/* This is for the new format. */
struct xcoff_ar_hdr_big hdr;
- off = strtol (xcoff_ardata_big (abfd)->symoff, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (off, xcoff_ardata_big (abfd)->symoff);
if (off == 0)
{
bfd_has_map (abfd) = FALSE;
@@ -1280,15 +1324,12 @@
return FALSE;
/* Skip the name (normally empty). */
- namlen = strtol (hdr.namlen, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (namlen, hdr.namlen);
off = ((namlen + 1) & ~ (size_t) 1) + SXCOFFARFMAG;
if (bfd_seek (abfd, off, SEEK_CUR) != 0)
return FALSE;
- /* XXX This actually has to be a call to strtoll (at least on 32-bit
- machines) since the field width is 20 and there numbers with more
- than 32 bits can be represented. */
- sz = strtol (hdr.size, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (sz, hdr.size);
/* Read in the entire symbol table. */
contents = (bfd_byte *) bfd_alloc (abfd, sz);
@@ -1393,8 +1434,8 @@
goto error_ret;
}
- bfd_ardata (abfd)->first_file_filepos = strtol (hdr.firstmemoff,
- (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (bfd_ardata (abfd)->first_file_filepos,
+ hdr.firstmemoff);
amt = SIZEOF_AR_FILE_HDR;
bfd_ardata (abfd)->tdata = bfd_zalloc (abfd, amt);
@@ -1469,7 +1510,7 @@
return NULL;
}
- namlen = strtol (hdr.namlen, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (namlen, hdr.namlen);
amt = SIZEOF_AR_HDR + namlen + 1;
hdrp = (struct xcoff_ar_hdr *) bfd_alloc (abfd, amt);
if (hdrp == NULL)
@@ -1486,7 +1527,7 @@
((char *) hdrp)[SIZEOF_AR_HDR + namlen] = '\0';
ret->arch_header = (char *) hdrp;
- ret->parsed_size = strtol (hdr.size, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (ret->parsed_size, hdr.size);
ret->filename = (char *) hdrp + SIZEOF_AR_HDR;
}
else
@@ -1501,7 +1542,7 @@
return NULL;
}
- namlen = strtol (hdr.namlen, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (namlen, hdr.namlen);
amt = SIZEOF_AR_HDR_BIG + namlen + 1;
hdrp = (struct xcoff_ar_hdr_big *) bfd_alloc (abfd, amt);
if (hdrp == NULL)
@@ -1518,10 +1559,7 @@
((char *) hdrp)[SIZEOF_AR_HDR_BIG + namlen] = '\0';
ret->arch_header = (char *) hdrp;
- /* XXX This actually has to be a call to strtoll (at least on 32-bit
- machines) since the field width is 20 and there numbers with more
- than 32 bits can be represented. */
- ret->parsed_size = strtol (hdr.size, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (ret->parsed_size, hdr.size);
ret->filename = (char *) hdrp + SIZEOF_AR_HDR_BIG;
}
@@ -1550,14 +1588,11 @@
if (last_file == NULL)
filestart = bfd_ardata (archive)->first_file_filepos;
else
- filestart = strtol (arch_xhdr (last_file)->nextoff, (char **) NULL,
- 10);
+ GET_VALUE_IN_FIELD (filestart, arch_xhdr (last_file)->nextoff);
if (filestart == 0
- || filestart == strtol (xcoff_ardata (archive)->memoff,
- (char **) NULL, 10)
- || filestart == strtol (xcoff_ardata (archive)->symoff,
- (char **) NULL, 10))
+ || EQ_VALUE_IN_FIELD (filestart, xcoff_ardata (archive)->memoff)
+ || EQ_VALUE_IN_FIELD (filestart, xcoff_ardata (archive)->symoff))
{
bfd_set_error (bfd_error_no_more_archived_files);
return NULL;
@@ -1568,20 +1603,11 @@
if (last_file == NULL)
filestart = bfd_ardata (archive)->first_file_filepos;
else
- /* XXX These actually have to be a calls to strtoll (at least
- on 32-bit machines) since the fields's width is 20 and
- there numbers with more than 32 bits can be represented. */
- filestart = strtol (arch_xhdr_big (last_file)->nextoff, (char **) NULL,
- 10);
-
- /* XXX These actually have to be calls to strtoll (at least on 32-bit
- machines) since the fields's width is 20 and there numbers with more
- than 32 bits can be represented. */
+ GET_VALUE_IN_FIELD (filestart, arch_xhdr_big (last_file)->nextoff);
+
if (filestart == 0
- || filestart == strtol (xcoff_ardata_big (archive)->memoff,
- (char **) NULL, 10)
- || filestart == strtol (xcoff_ardata_big (archive)->symoff,
- (char **) NULL, 10))
+ || EQ_VALUE_IN_FIELD (filestart, xcoff_ardata_big (archive)->memoff)
+ || EQ_VALUE_IN_FIELD (filestart, xcoff_ardata_big (archive)->symoff))
{
bfd_set_error (bfd_error_no_more_archived_files);
return NULL;
@@ -1606,20 +1632,20 @@
{
struct xcoff_ar_hdr *hdrp = arch_xhdr (abfd);
- s->st_mtime = strtol (hdrp->date, (char **) NULL, 10);
- s->st_uid = strtol (hdrp->uid, (char **) NULL, 10);
- s->st_gid = strtol (hdrp->gid, (char **) NULL, 10);
- s->st_mode = strtol (hdrp->mode, (char **) NULL, 8);
+ GET_VALUE_IN_FIELD (s->st_mtime, hdrp->date);
+ GET_VALUE_IN_FIELD (s->st_uid, hdrp->uid);
+ GET_VALUE_IN_FIELD (s->st_gid, hdrp->gid);
+ GET_VALUE_IN_FIELD (s->st_mode, hdrp->mode);
s->st_size = arch_eltdata (abfd)->parsed_size;
}
else
{
struct xcoff_ar_hdr_big *hdrp = arch_xhdr_big (abfd);
- s->st_mtime = strtol (hdrp->date, (char **) NULL, 10);
- s->st_uid = strtol (hdrp->uid, (char **) NULL, 10);
- s->st_gid = strtol (hdrp->gid, (char **) NULL, 10);
- s->st_mode = strtol (hdrp->mode, (char **) NULL, 8);
+ GET_VALUE_IN_FIELD (s->st_mtime, hdrp->date);
+ GET_VALUE_IN_FIELD (s->st_uid, hdrp->uid);
+ GET_VALUE_IN_FIELD (s->st_gid, hdrp->gid);
+ GET_VALUE_IN_FIELD (s->st_mode, hdrp->mode);
s->st_size = arch_eltdata (abfd)->parsed_size;
}
Index: git/bfd/coff64-rs6000.c
===================================================================
--- git.orig/bfd/coff64-rs6000.c 2017-08-31 16:07:14.282208390 +0530
+++ git/bfd/coff64-rs6000.c 2017-08-31 16:28:43.228864485 +0530
@@ -1852,6 +1852,46 @@
return NULL;
}
+/* PR 21786: The PE/COFF standard does not require NUL termination for any of
+ the ASCII fields in the archive headers. So in order to be able to extract
+ numerical values we provide our own versions of strtol and strtoll which
+ take a maximum length as an additional parameter. Also - just to save space,
+ we omit the endptr return parameter, since we know that it is never used. */
+
+static long
+_bfd_strntol (const char * nptr, int base, unsigned int maxlen)
+{
+ char buf[24]; /* Should be enough. */
+
+ BFD_ASSERT (maxlen < (sizeof (buf) - 1));
+
+ memcpy (buf, nptr, maxlen);
+ buf[maxlen] = 0;
+ return strtol (buf, NULL, base);
+}
+
+static long long
+_bfd_strntoll (const char * nptr, int base, unsigned int maxlen)
+{
+ char buf[32]; /* Should be enough. */
+
+ BFD_ASSERT (maxlen < (sizeof (buf) - 1));
+
+ memcpy (buf, nptr, maxlen);
+ buf[maxlen] = 0;
+ return strtoll (buf, NULL, base);
+}
+
+/* Macro to read an ASCII value stored in an archive header field. */
+#define GET_VALUE_IN_FIELD(VAR, FIELD) \
+ do \
+ { \
+ (VAR) = sizeof (VAR) > sizeof (long) \
+ ? _bfd_strntoll (FIELD, 10, sizeof FIELD) \
+ : _bfd_strntol (FIELD, 10, sizeof FIELD); \
+ } \
+ while (0)
+
/* Read in the armap of an XCOFF archive. */
static bfd_boolean
@@ -1892,7 +1932,7 @@
return FALSE;
/* Skip the name (normally empty). */
- namlen = strtol (hdr.namlen, (char **) NULL, 10);
+ GET_VALUE_IN_FIELD (namlen, hdr.namlen);
pos = ((namlen + 1) & ~(size_t) 1) + SXCOFFARFMAG;
if (bfd_seek (abfd, pos, SEEK_CUR) != 0)
return FALSE;

View File

@@ -0,0 +1,45 @@
commit 61e3bf5f83f7e505b6bc51ef65426e5b31e6e360
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Sep 22 14:15:40 2017 -0700
x86: Guard against corrupted PLT
There should be only one entry in PLT for a given symbol. Set howto to
NULL after processing a PLT entry to guard against corrupted PLT so that
the duplicated PLT entries are skipped.
PR binutils/22170
Upstream-Status: Backport
CVE: CVE-2017-14729
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/elf-ifunc.c
===================================================================
--- git.orig/bfd/elf-ifunc.c 2017-11-08 12:34:22.063320490 +0530
+++ git/bfd/elf-ifunc.c 2017-11-08 12:34:29.995404891 +0530
@@ -473,6 +473,10 @@
memcpy (names, "@plt", sizeof ("@plt"));
names += sizeof ("@plt");
++s, ++n;
+ /* There should be only one entry in PLT for a given
+ symbol. Set howto to NULL after processing a PLT
+ entry to guard against corrupted PLT. */
+ p->howto = NULL;
}
free (plt_sym_val);
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-11-08 12:34:29.939404297 +0530
+++ git/bfd/ChangeLog 2017-11-08 12:35:55.660271599 +0530
@@ -1,3 +1,9 @@
+2017-09-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/22170
+ * elf-ifunc.c (elf_get_synthetic_symtab): Guard against
+ corrupted PLT.
+
2017-07-27 Nick Clifton <nickc@redhat.com>
PR 21840

View File

@@ -0,0 +1,241 @@
commit 52a93b95ec0771c97e26f0bb28630a271a667bd2
Author: Alan Modra <amodra@gmail.com>
Date: Sun Sep 24 14:37:16 2017 +0930
PR22187, infinite loop in find_abstract_instance_name
This patch prevents the simple case of infinite recursion in
find_abstract_instance_name by ensuring that the attributes being
processed are not the same as the previous call.
The patch also does a little cleanup, and leaves in place some changes
to the nested_funcs array that I made when I wrongly thought looping
might occur in scan_unit_for_symbols.
PR 22187
* dwarf2.c (find_abstract_instance_name): Add orig_info_ptr and
pname param. Return status. Make name const. Don't abort,
return an error. Formatting. Exit if current info_ptr matches
orig_info_ptr. Update callers.
(scan_unit_for_symbols): Start at nesting_level of zero. Make
nested_funcs an array of structs for extensibility. Formatting.
Upstream-Status: Backport
CVE: CVE-2017-15024
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/dwarf2.c
===================================================================
--- git.orig/bfd/dwarf2.c 2017-11-08 12:44:59.198052588 +0530
+++ git/bfd/dwarf2.c 2017-11-08 12:45:10.670155730 +0530
@@ -2273,9 +2273,11 @@
return FALSE;
}
-static char *
+static bfd_boolean
find_abstract_instance_name (struct comp_unit *unit,
+ bfd_byte *orig_info_ptr,
struct attribute *attr_ptr,
+ const char **pname,
bfd_boolean *is_linkage)
{
bfd *abfd = unit->abfd;
@@ -2285,7 +2287,7 @@
struct abbrev_info *abbrev;
bfd_uint64_t die_ref = attr_ptr->u.val;
struct attribute attr;
- char *name = NULL;
+ const char *name = NULL;
/* DW_FORM_ref_addr can reference an entry in a different CU. It
is an offset from the .debug_info section, not the current CU. */
@@ -2294,7 +2296,12 @@
/* We only support DW_FORM_ref_addr within the same file, so
any relocations should be resolved already. */
if (!die_ref)
- abort ();
+ {
+ _bfd_error_handler
+ (_("Dwarf Error: Abstract instance DIE ref zero."));
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
info_ptr = unit->sec_info_ptr + die_ref;
info_ptr_end = unit->end_ptr;
@@ -2329,9 +2336,10 @@
(*_bfd_error_handler)
(_("Dwarf Error: Unable to read alt ref %u."), die_ref);
bfd_set_error (bfd_error_bad_value);
- return NULL;
+ return FALSE;
}
- info_ptr_end = unit->stash->alt_dwarf_info_buffer + unit->stash->alt_dwarf_info_size;
+ info_ptr_end = (unit->stash->alt_dwarf_info_buffer
+ + unit->stash->alt_dwarf_info_size);
/* FIXME: Do we need to locate the correct CU, in a similar
fashion to the code in the DW_FORM_ref_addr case above ? */
@@ -2353,6 +2361,7 @@
(*_bfd_error_handler)
(_("Dwarf Error: Could not find abbrev number %u."), abbrev_number);
bfd_set_error (bfd_error_bad_value);
+ return FALSE;
}
else
{
@@ -2362,6 +2371,15 @@
info_ptr, info_ptr_end);
if (info_ptr == NULL)
break;
+ /* It doesn't ever make sense for DW_AT_specification to
+ refer to the same DIE. Stop simple recursion. */
+ if (info_ptr == orig_info_ptr)
+ {
+ _bfd_error_handler
+ (_("Dwarf Error: Abstract instance recursion detected."));
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
switch (attr.name)
{
case DW_AT_name:
@@ -2375,7 +2393,9 @@
}
break;
case DW_AT_specification:
- name = find_abstract_instance_name (unit, &attr, is_linkage);
+ if (!find_abstract_instance_name (unit, info_ptr, &attr,
+ pname, is_linkage))
+ return FALSE;
break;
case DW_AT_linkage_name:
case DW_AT_MIPS_linkage_name:
@@ -2393,7 +2413,8 @@
}
}
}
- return name;
+ *pname = name;
+ return TRUE;
}
static bfd_boolean
@@ -2454,20 +2475,22 @@
bfd *abfd = unit->abfd;
bfd_byte *info_ptr = unit->first_child_die_ptr;
bfd_byte *info_ptr_end = unit->stash->info_ptr_end;
- int nesting_level = 1;
- struct funcinfo **nested_funcs;
+ int nesting_level = 0;
+ struct nest_funcinfo {
+ struct funcinfo *func;
+ } *nested_funcs;
int nested_funcs_size;
/* Maintain a stack of in-scope functions and inlined functions, which we
can use to set the caller_func field. */
nested_funcs_size = 32;
- nested_funcs = (struct funcinfo **)
- bfd_malloc (nested_funcs_size * sizeof (struct funcinfo *));
+ nested_funcs = (struct nest_funcinfo *)
+ bfd_malloc (nested_funcs_size * sizeof (*nested_funcs));
if (nested_funcs == NULL)
return FALSE;
- nested_funcs[nesting_level] = 0;
+ nested_funcs[nesting_level].func = 0;
- while (nesting_level)
+ while (nesting_level >= 0)
{
unsigned int abbrev_number, bytes_read, i;
struct abbrev_info *abbrev;
@@ -2516,13 +2539,13 @@
BFD_ASSERT (!unit->cached);
if (func->tag == DW_TAG_inlined_subroutine)
- for (i = nesting_level - 1; i >= 1; i--)
- if (nested_funcs[i])
+ for (i = nesting_level; i-- != 0; )
+ if (nested_funcs[i].func)
{
- func->caller_func = nested_funcs[i];
+ func->caller_func = nested_funcs[i].func;
break;
}
- nested_funcs[nesting_level] = func;
+ nested_funcs[nesting_level].func = func;
}
else
{
@@ -2541,12 +2564,13 @@
}
/* No inline function in scope at this nesting level. */
- nested_funcs[nesting_level] = 0;
+ nested_funcs[nesting_level].func = 0;
}
for (i = 0; i < abbrev->num_attrs; ++i)
{
- info_ptr = read_attribute (&attr, &abbrev->attrs[i], unit, info_ptr, info_ptr_end);
+ info_ptr = read_attribute (&attr, &abbrev->attrs[i],
+ unit, info_ptr, info_ptr_end);
if (info_ptr == NULL)
goto fail;
@@ -2565,8 +2589,10 @@
case DW_AT_abstract_origin:
case DW_AT_specification:
- func->name = find_abstract_instance_name (unit, &attr,
- &func->is_linkage);
+ if (!find_abstract_instance_name (unit, info_ptr, &attr,
+ &func->name,
+ &func->is_linkage))
+ goto fail;
break;
case DW_AT_name:
@@ -2691,17 +2717,17 @@
if (nesting_level >= nested_funcs_size)
{
- struct funcinfo **tmp;
+ struct nest_funcinfo *tmp;
nested_funcs_size *= 2;
- tmp = (struct funcinfo **)
+ tmp = (struct nest_funcinfo *)
bfd_realloc (nested_funcs,
- nested_funcs_size * sizeof (struct funcinfo *));
+ nested_funcs_size * sizeof (*nested_funcs));
if (tmp == NULL)
goto fail;
nested_funcs = tmp;
}
- nested_funcs[nesting_level] = 0;
+ nested_funcs[nesting_level].func = 0;
}
}
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-11-08 12:45:10.614155229 +0530
+++ git/bfd/ChangeLog 2017-11-08 12:46:55.791054918 +0530
@@ -1,3 +1,13 @@
+2017-09-24 Alan Modra <amodra@gmail.com>
+
+ PR 22187
+ * dwarf2.c (find_abstract_instance_name): Add orig_info_ptr and
+ pname param. Return status. Make name const. Don't abort,
+ return an error. Formatting. Exit if current info_ptr matches
+ orig_info_ptr. Update callers.
+ (scan_unit_for_symbols): Start at nesting_level of zero. Make
+ nested_funcs an array of structs for extensibility. Formatting.
+
2017-09-22 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/22170

View File

@@ -0,0 +1,153 @@
commit 1b86808a86077722ee4f42ff97f836b12420bb2a
Author: Alan Modra <amodra@gmail.com>
Date: Tue Sep 26 21:47:24 2017 +0930
PR22209, invalid memory read in find_abstract_instance_name
This patch adds bounds checking for DW_FORM_ref_addr die refs, and
calculates them relative to the first .debug_info section. See the
big comment for why calculating relative to the current .debug_info
section was wrong for relocatable object files.
PR 22209
* dwarf2.c (struct comp_unit): Delete sec_info_ptr field.
(find_abstract_instance_name): Calculate DW_FORM_ref_addr relative
to stash->info_ptr_memory, and check die_ref is within that memory.
Set info_ptr_end correctly when another CU is refd. Check die_ref
for DW_FORM_ref4 etc. is within CU.
Upstream-Status: Backport
CVE: CVE-2017-15938
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/dwarf2.c
===================================================================
--- git.orig/bfd/dwarf2.c 2017-11-07 18:52:19.896253364 +0530
+++ git/bfd/dwarf2.c 2017-11-07 18:52:19.952253802 +0530
@@ -119,8 +119,7 @@
/* A pointer to the memory block allocated for info_ptr. Neither
info_ptr nor sec_info_ptr are guaranteed to stay pointing to the
- beginning of the malloc block. This is used only to free the
- memory later. */
+ beginning of the malloc block. */
bfd_byte *info_ptr_memory;
/* Pointer to the symbol table. */
@@ -238,9 +237,6 @@
by its reference. */
bfd_byte *info_ptr_unit;
- /* Pointer to the start of the debug section, for DW_FORM_ref_addr. */
- bfd_byte *sec_info_ptr;
-
/* The offset into .debug_line of the line number table. */
unsigned long line_offset;
@@ -2294,21 +2290,37 @@
if (attr_ptr->form == DW_FORM_ref_addr)
{
/* We only support DW_FORM_ref_addr within the same file, so
- any relocations should be resolved already. */
- if (!die_ref)
+ any relocations should be resolved already. Check this by
+ testing for a zero die_ref; There can't be a valid reference
+ to the header of a .debug_info section.
+ DW_FORM_ref_addr is an offset relative to .debug_info.
+ Normally when using the GNU linker this is accomplished by
+ emitting a symbolic reference to a label, because .debug_info
+ sections are linked at zero. When there are multiple section
+ groups containing .debug_info, as there might be in a
+ relocatable object file, it would be reasonable to assume that
+ a symbolic reference to a label in any .debug_info section
+ might be used. Since we lay out multiple .debug_info
+ sections at non-zero VMAs (see place_sections), and read
+ them contiguously into stash->info_ptr_memory, that means
+ the reference is relative to stash->info_ptr_memory. */
+ size_t total;
+
+ info_ptr = unit->stash->info_ptr_memory;
+ info_ptr_end = unit->stash->info_ptr_end;
+ total = info_ptr_end - info_ptr;
+ if (!die_ref || die_ref >= total)
{
_bfd_error_handler
- (_("Dwarf Error: Abstract instance DIE ref zero."));
+ (_("Dwarf Error: Invalid abstract instance DIE ref."));
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
-
- info_ptr = unit->sec_info_ptr + die_ref;
- info_ptr_end = unit->end_ptr;
+ info_ptr += die_ref;
/* Now find the CU containing this pointer. */
if (info_ptr >= unit->info_ptr_unit && info_ptr < unit->end_ptr)
- ;
+ info_ptr_end = unit->end_ptr;
else
{
/* Check other CUs to see if they contain the abbrev. */
@@ -2324,7 +2336,10 @@
break;
if (u)
- unit = u;
+ {
+ unit = u;
+ info_ptr_end = unit->end_ptr;
+ }
/* else FIXME: What do we do now ? */
}
}
@@ -2346,8 +2361,22 @@
}
else
{
- info_ptr = unit->info_ptr_unit + die_ref;
+ /* DW_FORM_ref1, DW_FORM_ref2, DW_FORM_ref4, DW_FORM_ref8 or
+ DW_FORM_ref_udata. These are all references relative to the
+ start of the current CU. */
+ size_t total;
+
+ info_ptr = unit->info_ptr_unit;
info_ptr_end = unit->end_ptr;
+ total = info_ptr_end - info_ptr;
+ if (!die_ref || die_ref >= total)
+ {
+ _bfd_error_handler
+ (_("Dwarf Error: Invalid abstract instance DIE ref."));
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ info_ptr += die_ref;
}
abbrev_number = safe_read_leb128 (abfd, info_ptr, &bytes_read, FALSE, info_ptr_end);
@@ -2846,7 +2875,6 @@
unit->end_ptr = end_ptr;
unit->stash = stash;
unit->info_ptr_unit = info_ptr_unit;
- unit->sec_info_ptr = stash->sec_info_ptr;
for (i = 0; i < abbrev->num_attrs; ++i)
{
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-11-07 18:52:19.900253395 +0530
+++ git/bfd/ChangeLog 2017-11-07 18:53:29.668799630 +0530
@@ -1,3 +1,12 @@
+2017-09-26 Alan Modra <amodra@gmail.com>
+
+ PR 22209
+ * dwarf2.c (struct comp_unit): Delete sec_info_ptr field.
+ (find_abstract_instance_name): Calculate DW_FORM_ref_addr relative
+ to stash->info_ptr_memory, and check die_ref is within that memory.
+ Set info_ptr_end correctly when another CU is refd. Check die_ref
+ for DW_FORM_ref4 etc. is within CU.
+
2017-09-24 Alan Modra <amodra@gmail.com>
PR 22187

View File

@@ -0,0 +1,40 @@
commit 69ace2200106348a1b00d509a6a234337c104c17
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Dec 1 15:20:19 2016 +0000
Fix seg fault attempting to unget an EOF character.
PR gas/20898
* app.c (do_scrub_chars): Do not attempt to unget EOF.
Upstream-Status: backport
CVE: CVE-2017-7223
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/gas/ChangeLog
===================================================================
--- git.orig/gas/ChangeLog 2017-09-04 12:42:08.941602299 +0530
+++ git/gas/ChangeLog 2017-09-04 12:48:28.863820763 +0530
@@ -1,3 +1,8 @@
+2016-12-01 Nick Clifton <nickc@redhat.com>
+
+ PR gas/20898
+ * app.c (do_scrub_chars): Do not attempt to unget EOF.
+
2016-08-05 Nick Clifton <nickc@redhat.com>
PR gas/20364
Index: git/gas/app.c
===================================================================
--- git.orig/gas/app.c 2017-09-04 12:42:05.261580103 +0530
+++ git/gas/app.c 2017-09-04 12:47:19.923428673 +0530
@@ -1187,7 +1187,7 @@
state = -2;
break;
}
- else
+ else if (ch2 != EOF)
{
UNGET (ch2);
}

View File

@@ -0,0 +1,48 @@
commit e82ab856bb4689330c29fb9f1c57a8555b26380e
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Dec 1 10:49:39 2016 +0000
Fix a seg-fault disassembling a corrupt binary.
PR binutils/20892
* aoutx.h (find_nearest_line): Handle the case where the function
name is empty.
Upstream-Status: Backport
CVE: CVE-2017-7224
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-04 12:54:37.513859864 +0530
+++ git/bfd/ChangeLog 2017-09-04 13:00:22.891753836 +0530
@@ -120,6 +120,10 @@
* peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
the end of the string buffer.
+ PR binutils/20892
+ * aoutx.h (find_nearest_line): Handle the case where the function
+ name is empty.
+
2016-08-02 Nick Clifton <nickc@redhat.com>
PR ld/17739
Index: git/bfd/aoutx.h
===================================================================
--- git.orig/bfd/aoutx.h 2017-09-04 12:54:35.957851411 +0530
+++ git/bfd/aoutx.h 2017-09-04 12:57:50.634902163 +0530
@@ -2819,6 +2819,13 @@
const char *function = func->name;
char *colon;
+ if (buf == NULL)
+ {
+ /* PR binutils/20892: In a corrupt input file func can be empty. */
+ * functionname_ptr = NULL;
+ return TRUE;
+ }
+
/* The caller expects a symbol name. We actually have a
function name, without the leading underscore. Put the
underscore back in, so that the caller gets a symbol name. */

View File

@@ -0,0 +1,66 @@
commit 50455f1ab2935f7321215dfa681745c9b1cb5b19
Author: Nick Clifton <nickc@redhat.com>
Date: Thu Dec 1 10:15:07 2016 +0000
Fix seg-fault running addr2line on a corrupt binary.
PR binutils/20891
* aoutx.h (find_nearest_line): Handle the case where the main file
name and the directory name are both empty.
Upstream-Status: backport
CVE: CVE-2017-7225
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-04 13:04:20.941485636 +0530
+++ git/bfd/ChangeLog 2017-09-04 13:08:05.003175703 +0530
@@ -120,6 +120,12 @@
* peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
the end of the string buffer.
+2016-12-01 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/20891
+ * aoutx.h (find_nearest_line): Handle the case where the main file
+ name and the directory name are both empty.
+
PR binutils/20892
* aoutx.h (find_nearest_line): Handle the case where the function
name is empty.
Index: git/bfd/aoutx.h
===================================================================
--- git.orig/bfd/aoutx.h 2017-09-04 13:04:20.941485636 +0530
+++ git/bfd/aoutx.h 2017-09-04 13:10:55.856441243 +0530
@@ -2663,7 +2663,7 @@
char *buf;
*filename_ptr = abfd->filename;
- *functionname_ptr = 0;
+ *functionname_ptr = NULL;
*line_ptr = 0;
if (disriminator_ptr)
*disriminator_ptr = 0;
@@ -2808,9 +2808,17 @@
*filename_ptr = main_file_name;
else
{
- sprintf (buf, "%s%s", directory_name, main_file_name);
- *filename_ptr = buf;
- buf += filelen + 1;
+ if (buf == NULL)
+ /* PR binutils/20891: In a corrupt input file both
+ main_file_name and directory_name can be empty... */
+ * filename_ptr = NULL;
+ else
+ {
+ snprintf (buf, filelen + 1, "%s%s", directory_name,
+ main_file_name);
+ *filename_ptr = buf;
+ buf += filelen + 1;
+ }
}
}

View File

@@ -0,0 +1,42 @@
Fix seg-fault in the binutils utilities when reading a corrupt input file.
PR binutils/20905
* peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
the end of the string buffer.
Upstream-Status: Backport
CVE: CVE-2017-7226
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-08-23 13:59:16.868424171 +0530
+++ git/bfd/ChangeLog 2017-08-23 14:03:22.683013823 +0530
@@ -39,6 +39,12 @@
(bfd_elf_final_link): Only initialize the extended symbol index
section if there are extended symbol tables to list.
+2016-12-05 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/20905
+ * peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
+ the end of the string buffer.
+
2016-08-02 Nick Clifton <nickc@redhat.com>
PR ld/17739
Index: git/bfd/peicode.h
===================================================================
--- git.orig/bfd/peicode.h 2017-08-23 13:59:06.948319100 +0530
+++ git/bfd/peicode.h 2017-08-23 13:59:16.920424722 +0530
@@ -1264,7 +1264,8 @@
}
symbol_name = (char *) ptr;
- source_dll = symbol_name + strlen (symbol_name) + 1;
+ /* See PR 20905 for an example of where the strnlen is necessary. */
+ source_dll = symbol_name + strnlen (symbol_name, size - 1) + 1;
/* Verify that the strings are null terminated. */
if (ptr[size - 1] != 0

View File

@@ -0,0 +1,49 @@
commit 406bd128dba2a59d0736839fc87a59bce319076c
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Dec 5 16:00:43 2016 +0000
Fix seg-fault in linker when passed a bogus input script.
PR ld/20906
* ldlex.l: Check for bogus strings in linker scripts.
Upstream-Status: backport
CVE: CVE-2017-7227
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/ld/ChangeLog
===================================================================
--- git.orig/ld/ChangeLog 2017-09-04 13:18:09.660584245 +0530
+++ git/ld/ChangeLog 2017-09-04 13:20:34.286155911 +0530
@@ -1,3 +1,8 @@
+2016-12-05 Nick Clifton <nickc@redhat.com>
+
+ PR ld/20906
+ * ldlex.l: Check for bogus strings in linker scripts.
+
2016-08-02 Nick Clifton <nickc@redhat.com>
PR ld/17739
Index: git/ld/ldlex.l
===================================================================
--- git.orig/ld/ldlex.l 2017-09-04 13:18:09.692584605 +0530
+++ git/ld/ldlex.l 2017-09-04 13:22:54.483583368 +0530
@@ -416,9 +416,15 @@
<EXPRESSION,BOTH,SCRIPT,VERS_NODE,INPUTLIST>"\""[^\"]*"\"" {
/* No matter the state, quotes
- give what's inside */
+ give what's inside. */
+ bfd_size_type len;
yylval.name = xstrdup (yytext + 1);
- yylval.name[yyleng - 2] = 0;
+ /* PR ld/20906. A corrupt input file
+ can contain bogus strings. */
+ len = strlen (yylval.name);
+ if (len > yyleng - 2)
+ len = yyleng - 2;
+ yylval.name[len] = 0;
return NAME;
}
<BOTH,SCRIPT,EXPRESSION>"\n" { lineno++;}

View File

@@ -0,0 +1,47 @@
commit d7f399a8de4c55eb841db6493597a587fac002de
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Dec 2 17:46:26 2016 +0000
Fix seg-fault in linker when passed a corrupt binary input file.
PR lf/20908
* elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
when following indirect links.
Upstream-Status: Backport
CVE: CVE-2017-7299
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/elflink.c
===================================================================
--- git.orig/bfd/elflink.c 2017-09-20 14:15:26.337333504 +0530
+++ git/bfd/elflink.c 2017-09-20 14:20:19.000000000 +0530
@@ -11201,6 +11201,12 @@
asection *sec;
sec = p->u.indirect.section;
+ /* See PR 20908 for a reproducer. */
+ if (bfd_get_flavour (sec->owner) != bfd_target_elf_flavour)
+ {
+ _bfd_error_handler (_("%B: not in ELF format"), sec->owner);
+ goto error_return;
+ }
esdi = elf_section_data (sec);
/* Mark all sections which are to be included in the
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-20 14:20:19.000000000 +0530
+++ git/bfd/ChangeLog 2017-09-20 14:23:48.743556932 +0530
@@ -192,6 +192,10 @@
2016-12-02 Nick Clifton <nickc@redhat.com>
+ PR lf/20908
+ * elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
+ when following indirect links.
+
PR ld/20909
* aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
for an illegal string offset.

View File

@@ -0,0 +1,120 @@
commit a961cdd5f139d3c3e09170db52bd8df7dafae13f
Author: Alan Modra <amodra@gmail.com>
Date: Thu Dec 15 21:29:44 2016 +1030
Linking non-ELF file broken by PR20908 fix
PR ld/20968
PR ld/20908
* elflink.c (bfd_elf_final_link): Revert 2016-12-02 change. Move
reloc counting code later after ELF flavour test.
Upstream-Status: Backport
CVE: CVE-2017-7299
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/elflink.c
===================================================================
--- git.orig/bfd/elflink.c 2017-09-20 14:15:28.133343092 +0530
+++ git/bfd/elflink.c 2017-09-20 14:15:28.189343391 +0530
@@ -11201,13 +11201,6 @@
asection *sec;
sec = p->u.indirect.section;
- /* See PR 20908 for a reproducer. */
- if (bfd_get_flavour (sec->owner) != bfd_target_elf_flavour)
- {
- _bfd_error_handler (_("%B: not in ELF format"), sec->owner);
- goto error_return;
- }
- esdi = elf_section_data (sec);
/* Mark all sections which are to be included in the
link. This will normally be every section. We need
@@ -11218,37 +11211,18 @@
if (sec->flags & SEC_MERGE)
merged = TRUE;
- if (esdo->this_hdr.sh_type == SHT_REL
- || esdo->this_hdr.sh_type == SHT_RELA)
- /* Some backends use reloc_count in relocation sections
- to count particular types of relocs. Of course,
- reloc sections themselves can't have relocations. */
- reloc_count = 0;
- else if (emit_relocs)
- {
- reloc_count = sec->reloc_count;
- if (bed->elf_backend_count_additional_relocs)
- {
- int c;
- c = (*bed->elf_backend_count_additional_relocs) (sec);
- additional_reloc_count += c;
- }
- }
- else if (bed->elf_backend_count_relocs)
- reloc_count = (*bed->elf_backend_count_relocs) (info, sec);
-
if (sec->rawsize > max_contents_size)
max_contents_size = sec->rawsize;
if (sec->size > max_contents_size)
max_contents_size = sec->size;
- /* We are interested in just local symbols, not all
- symbols. */
if (bfd_get_flavour (sec->owner) == bfd_target_elf_flavour
&& (sec->owner->flags & DYNAMIC) == 0)
{
size_t sym_count;
+ /* We are interested in just local symbols, not all
+ symbols. */
if (elf_bad_symtab (sec->owner))
sym_count = (elf_tdata (sec->owner)->symtab_hdr.sh_size
/ bed->s->sizeof_sym);
@@ -11262,6 +11236,27 @@
&& elf_symtab_shndx_list (sec->owner) != NULL)
max_sym_shndx_count = sym_count;
+ if (esdo->this_hdr.sh_type == SHT_REL
+ || esdo->this_hdr.sh_type == SHT_RELA)
+ /* Some backends use reloc_count in relocation sections
+ to count particular types of relocs. Of course,
+ reloc sections themselves can't have relocations. */
+ ;
+ else if (emit_relocs)
+ {
+ reloc_count = sec->reloc_count;
+ if (bed->elf_backend_count_additional_relocs)
+ {
+ int c;
+ c = (*bed->elf_backend_count_additional_relocs) (sec);
+ additional_reloc_count += c;
+ }
+ }
+ else if (bed->elf_backend_count_relocs)
+ reloc_count = (*bed->elf_backend_count_relocs) (info, sec);
+
+ esdi = elf_section_data (sec);
+
if ((sec->flags & SEC_RELOC) != 0)
{
size_t ext_size = 0;
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-20 14:15:28.013342453 +0530
+++ git/bfd/ChangeLog 2017-09-20 14:19:06.990419395 +0530
@@ -156,6 +156,13 @@
(bfd_elf_final_link): Only initialize the extended symbol index
section if there are extended symbol tables to list.
+2016-12-15 Alan Modra <amodra@gmail.com>
+
+ PR ld/20968
+ PR ld/20908
+ * elflink.c (bfd_elf_final_link): Revert 2016-12-02 change. Move
+ reloc counting code later after ELF flavour test.
+
2016-12-06 Nick Clifton <nickc@redhat.com>
PR binutils/20931

View File

@@ -0,0 +1,55 @@
From 531336e3a0b79ed60cfc36ad2d6579b6a71175da Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Fri, 2 Dec 2016 16:41:14 +0000
Subject: [PATCH] Fix seg-fault in the linker when examining a corrupt binary.
PR ld/20909
* aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
for an illegal string offset.
Upstream-Status: Backport
CVE: CVE-2017-7300
VER: < 2.27-r0.9.1
Signed-off-by: Manjunath Matti <mmatti@mvista.com>
---
bfd/ChangeLog | 6 ++++++
bfd/aoutx.h | 3 +--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d061e66..c8085e7 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -175,6 +175,12 @@
* aoutx.h (find_nearest_line): Handle the case where the function
name is empty.
+2016-12-02 Nick Clifton <nickc@redhat.com>
+
+ PR ld/20909
+ * aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
+ for an illegal string offset.
+
2016-08-02 Nick Clifton <nickc@redhat.com>
PR ld/17739
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index 4308679..b9ac2b7 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -3031,10 +3031,9 @@ aout_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
continue;
/* PR 19629: Corrupt binaries can contain illegal string offsets. */
- if (GET_WORD (abfd, p->e_strx) > obj_aout_external_string_size (abfd))
+ if (GET_WORD (abfd, p->e_strx) >= obj_aout_external_string_size (abfd))
return FALSE;
name = strings + GET_WORD (abfd, p->e_strx);
-
value = GET_WORD (abfd, p->e_value);
flags = BSF_GLOBAL;
string = NULL;
--
2.9.3

View File

@@ -0,0 +1,52 @@
commit daae68f4f372e0618d6b9c64ec0f1f74eae6ab3d
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Dec 5 12:25:34 2016 +0000
Fix seg-fault in linker parsing a corrupt input file.
PR ld/20924
(aout_link_add_symbols): Fix off by one error checking for
overflow of string offset.
Upstream-Status: Backport
CVE: CVE-2017-7301
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-04 15:42:15.244812577 +0530
+++ git/bfd/ChangeLog 2017-09-04 15:51:36.573466525 +0530
@@ -120,6 +120,10 @@
* peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
the end of the string buffer.
+ PR ld/20924
+ (aout_link_add_symbols): Fix off by one error checking for
+ overflow of string offset.
+
2016-12-01 Nick Clifton <nickc@redhat.com>
PR binutils/20891
Index: git/bfd/aoutx.h
===================================================================
--- git.orig/bfd/aoutx.h 2017-09-04 15:42:15.244812577 +0530
+++ git/bfd/aoutx.h 2017-09-04 15:49:36.500479341 +0530
@@ -3091,7 +3091,7 @@
BFD_ASSERT (p + 1 < pend);
++p;
/* PR 19629: Corrupt binaries can contain illegal string offsets. */
- if (GET_WORD (abfd, p->e_strx) > obj_aout_external_string_size (abfd))
+ if (GET_WORD (abfd, p->e_strx) >= obj_aout_external_string_size (abfd))
return FALSE;
string = strings + GET_WORD (abfd, p->e_strx);
section = bfd_ind_section_ptr;
@@ -3127,7 +3127,7 @@
++p;
string = name;
/* PR 19629: Corrupt binaries can contain illegal string offsets. */
- if (GET_WORD (abfd, p->e_strx) > obj_aout_external_string_size (abfd))
+ if (GET_WORD (abfd, p->e_strx) >= obj_aout_external_string_size (abfd))
return FALSE;
name = strings + GET_WORD (abfd, p->e_strx);
section = bfd_und_section_ptr;

View File

@@ -0,0 +1,81 @@
commit e2996cc315d6ea242e1a954dc20246485ccc8512
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Dec 5 14:32:30 2016 +0000
Fix seg-fault running strip on a corrupt binary.
PR binutils/20921
* aoutx.h (squirt_out_relocs): Check for and report any relocs
that could not be recognised.
Upstream-Status: Backport
CVE: CVE-2017-7302
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-04 15:57:38.564419146 +0530
+++ git/bfd/ChangeLog 2017-09-04 16:02:31.994883900 +0530
@@ -124,6 +124,10 @@
(aout_link_add_symbols): Fix off by one error checking for
overflow of string offset.
+ PR binutils/20921
+ * aoutx.h (squirt_out_relocs): Check for and report any relocs
+ that could not be recognised.
+
2016-12-01 Nick Clifton <nickc@redhat.com>
PR binutils/20891
Index: git/bfd/aoutx.h
===================================================================
--- git.orig/bfd/aoutx.h 2017-09-04 15:57:38.564419146 +0530
+++ git/bfd/aoutx.h 2017-09-04 16:01:08.830188291 +0530
@@ -1952,6 +1952,7 @@
PUT_WORD (abfd, g->address, natptr->r_address);
+ BFD_ASSERT (g->howto != NULL);
r_length = g->howto->size ; /* Size as a power of two. */
r_pcrel = (int) g->howto->pc_relative; /* Relative to PC? */
/* XXX This relies on relocs coming from a.out files. */
@@ -2390,16 +2391,34 @@
for (natptr = native;
count != 0;
--count, natptr += each_size, ++generic)
- MY_swap_ext_reloc_out (abfd, *generic,
- (struct reloc_ext_external *) natptr);
+ {
+ if ((*generic)->howto == NULL)
+ {
+ bfd_set_error (bfd_error_invalid_operation);
+ _bfd_error_handler (_("%B: attempt to write out unknown reloc type"), abfd);
+ return FALSE;
+ }
+ MY_swap_ext_reloc_out (abfd, *generic,
+ (struct reloc_ext_external *) natptr);
+ }
}
else
{
for (natptr = native;
count != 0;
--count, natptr += each_size, ++generic)
- MY_swap_std_reloc_out (abfd, *generic,
- (struct reloc_std_external *) natptr);
+ {
+ /* PR 20921: If the howto field has not been initialised then skip
+ this reloc. */
+ if ((*generic)->howto == NULL)
+ {
+ bfd_set_error (bfd_error_invalid_operation);
+ _bfd_error_handler (_("%B: attempt to write out unknown reloc type"), abfd);
+ return FALSE;
+ }
+ MY_swap_std_reloc_out (abfd, *generic,
+ (struct reloc_std_external *) natptr);
+ }
}
if (bfd_bwrite ((void *) native, natsize, abfd) != natsize)

View File

@@ -0,0 +1,55 @@
commit a55c9876bb111fd301b4762cf501de0040b8f9db
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Dec 5 13:35:50 2016 +0000
Fix seg-fault attempting to strip a corrupt binary.
PR binutils/20922
* elf.c (find_link): Check for null headers before attempting to
match them.
Upstream-Status: Backport
CVE: CVE-2017-7303
Signed-off-by: Thiruvadi Rajaraman <tarjaraman@mvista.com>
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-04 16:06:08.996688391 +0530
+++ git/bfd/ChangeLog 2017-09-04 16:09:26.810320541 +0530
@@ -124,6 +124,10 @@
(aout_link_add_symbols): Fix off by one error checking for
overflow of string offset.
+ PR binutils/20922
+ * elf.c (find_link): Check for null headers before attempting to
+ match them.
+
PR binutils/20921
* aoutx.h (squirt_out_relocs): Check for and report any relocs
that could not be recognised.
Index: git/bfd/elf.c
===================================================================
--- git.orig/bfd/elf.c 2017-09-04 16:05:55.612577527 +0530
+++ git/bfd/elf.c 2017-09-04 16:08:35.709900050 +0530
@@ -1249,13 +1249,19 @@
Elf_Internal_Shdr ** oheaders = elf_elfsections (obfd);
unsigned int i;
- if (section_match (oheaders[hint], iheader))
+ BFD_ASSERT (iheader != NULL);
+
+ /* See PR 20922 for a reproducer of the NULL test. */
+ if (oheaders[hint] != NULL
+ && section_match (oheaders[hint], iheader))
return hint;
for (i = 1; i < elf_numsections (obfd); i++)
{
Elf_Internal_Shdr * oheader = oheaders[i];
+ if (oheader == NULL)
+ continue;
if (section_match (oheader, iheader))
/* FIXME: Do we care if there is a potential for
multiple matches ? */

View File

@@ -0,0 +1,53 @@
commit 4f3ca05b487e9755018b4c9a053a2e6c35d8a7df
Author: Nick Clifton <nickc@redhat.com>
Date: Tue Dec 6 16:53:57 2016 +0000
Fix seg-fault in strip when copying a corrupt binary.
PR binutils/20931
* elf.c (copy_special_section_fields): Check for an invalid
sh_link field before attempting to follow it.
Upstream-Status: Backport
CVE: CVE-2017-7304
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-04 16:13:03.512095249 +0530
+++ git/bfd/ChangeLog 2017-09-04 16:16:25.173745111 +0530
@@ -114,6 +114,12 @@
(bfd_elf_final_link): Only initialize the extended symbol index
section if there are extended symbol tables to list.
+ 2016-12-06 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/20931
+ * elf.c (copy_special_section_fields): Check for an invalid
+ sh_link field before attempting to follow it.
+
2016-12-05 Nick Clifton <nickc@redhat.com>
PR binutils/20905
Index: git/bfd/elf.c
===================================================================
--- git.orig/bfd/elf.c 2017-09-04 16:13:03.512095249 +0530
+++ git/bfd/elf.c 2017-09-04 16:15:38.257359045 +0530
@@ -1324,6 +1324,16 @@
in the input bfd. */
if (iheader->sh_link != SHN_UNDEF)
{
+ /* See PR 20931 for a reproducer. */
+ if (iheader->sh_link >= elf_numsections (ibfd))
+ {
+ (* _bfd_error_handler)
+ /* xgettext:c-format */
+ (_("%B: Invalid sh_link field (%d) in section number %d"),
+ ibfd, iheader->sh_link, secnum);
+ return FALSE;
+ }
+
sh_link = find_link (obfd, iheaders[iheader->sh_link], iheader->sh_link);
if (sh_link != SHN_UNDEF)
{

View File

@@ -0,0 +1,105 @@
From ad32986fdf9da1c8748e47b8b45100398223dba8 Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Tue, 4 Apr 2017 11:23:36 +0100
Subject: [PATCH] Fix null pointer dereferences when using a link built with
clang.
PR binutils/21342
* elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
dereference.
(bfd_elf_final_link): Only initialize the extended symbol index
section if there are extended symbol tables to list.
Upstream-Status: Backport
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ad32986fdf9da1c8748e47b8b45100398223dba8
CVE: CVE-2017-7614
Singed-off-by: Armin Kuster <akuster@mvista.com>
---
bfd/elflink.c | 35 +++++++++++++++++++++--------------
2 files changed, 29 insertions(+), 14 deletions(-)
Index: git/bfd/elflink.c
===================================================================
--- git.orig/bfd/elflink.c
+++ git/bfd/elflink.c
@@ -118,15 +118,18 @@ _bfd_elf_define_linkage_sym (bfd *abfd,
defined in shared libraries can't be overridden, because we
lose the link to the bfd which is via the symbol section. */
h->root.type = bfd_link_hash_new;
+ bh = &h->root;
}
+ else
+ bh = NULL;
- bh = &h->root;
bed = get_elf_backend_data (abfd);
if (!_bfd_generic_link_add_one_symbol (info, abfd, name, BSF_GLOBAL,
sec, 0, NULL, FALSE, bed->collect,
&bh))
return NULL;
h = (struct elf_link_hash_entry *) bh;
+ BFD_ASSERT (h != NULL);
h->def_regular = 1;
h->non_elf = 0;
h->root.linker_def = 1;
@@ -11789,24 +11792,28 @@ bfd_elf_final_link (bfd *abfd, struct bf
{
/* Finish up and write out the symbol string table (.strtab)
section. */
- Elf_Internal_Shdr *symstrtab_hdr;
+ Elf_Internal_Shdr *symstrtab_hdr = NULL;
file_ptr off = symtab_hdr->sh_offset + symtab_hdr->sh_size;
- symtab_shndx_hdr = & elf_symtab_shndx_list (abfd)->hdr;
- if (symtab_shndx_hdr != NULL && symtab_shndx_hdr->sh_name != 0)
+ if (elf_symtab_shndx_list (abfd))
{
- symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX;
- symtab_shndx_hdr->sh_entsize = sizeof (Elf_External_Sym_Shndx);
- symtab_shndx_hdr->sh_addralign = sizeof (Elf_External_Sym_Shndx);
- amt = bfd_get_symcount (abfd) * sizeof (Elf_External_Sym_Shndx);
- symtab_shndx_hdr->sh_size = amt;
+ symtab_shndx_hdr = & elf_symtab_shndx_list (abfd)->hdr;
- off = _bfd_elf_assign_file_position_for_section (symtab_shndx_hdr,
- off, TRUE);
+ if (symtab_shndx_hdr != NULL && symtab_shndx_hdr->sh_name != 0)
+ {
+ symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX;
+ symtab_shndx_hdr->sh_entsize = sizeof (Elf_External_Sym_Shndx);
+ symtab_shndx_hdr->sh_addralign = sizeof (Elf_External_Sym_Shndx);
+ amt = bfd_get_symcount (abfd) * sizeof (Elf_External_Sym_Shndx);
+ symtab_shndx_hdr->sh_size = amt;
- if (bfd_seek (abfd, symtab_shndx_hdr->sh_offset, SEEK_SET) != 0
- || (bfd_bwrite (flinfo.symshndxbuf, amt, abfd) != amt))
- return FALSE;
+ off = _bfd_elf_assign_file_position_for_section (symtab_shndx_hdr,
+ off, TRUE);
+
+ if (bfd_seek (abfd, symtab_shndx_hdr->sh_offset, SEEK_SET) != 0
+ || (bfd_bwrite (flinfo.symshndxbuf, amt, abfd) != amt))
+ return FALSE;
+ }
}
symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr;
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog
+++ git/bfd/ChangeLog
@@ -1,3 +1,11 @@
+2017-04-04 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/21342
+ * elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
+ dereference.
+ (bfd_elf_final_link): Only initialize the extended symbol index
+ section if there are extended symbol tables to list.
+
2016-08-02 Nick Clifton <nickc@redhat.com>
PR ld/17739

View File

@@ -0,0 +1,201 @@
commit bce964aa6c777d236fbd641f2bc7bb931cfe4bf3
Author: Alan Modra <amodra@gmail.com>
Date: Sun Apr 23 11:03:34 2017 +0930
PR 21412, get_reloc_section assumes .rel/.rela name for SHT_REL/RELA.
This patch fixes an assumption made by code that runs for objcopy and
strip, that SHT_REL/SHR_RELA sections are always named starting with a
.rel/.rela prefix. I'm also modifying the interface for
elf_backend_get_reloc_section, so any backend function just needs to
handle name mapping.
PR 21412
* elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
parameters and comment.
(_bfd_elf_get_reloc_section): Delete.
(_bfd_elf_plt_get_reloc_section): Declare.
* elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
New functions. Don't blindly skip over assumed .rel/.rela prefix.
Extracted from..
(_bfd_elf_get_reloc_section): ..here. Delete.
(assign_section_numbers): Call elf_get_reloc_section.
* elf64-ppc.c (elf_backend_get_reloc_section): Define.
* elfxx-target.h (elf_backend_get_reloc_section): Update.
Upstream-Status: Backport
CVE: CVE-2017-8393
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/elf-bfd.h
===================================================================
--- git.orig/bfd/elf-bfd.h 2017-09-04 17:43:22.156623008 +0530
+++ git/bfd/elf-bfd.h 2017-09-04 17:43:33.836716941 +0530
@@ -1298,8 +1298,10 @@
bfd_size_type (*maybe_function_sym) (const asymbol *sym, asection *sec,
bfd_vma *code_off);
- /* Return the section which RELOC_SEC applies to. */
- asection *(*get_reloc_section) (asection *reloc_sec);
+ /* Given NAME, the name of a relocation section stripped of its
+ .rel/.rela prefix, return the section in ABFD to which the
+ relocations apply. */
+ asection *(*get_reloc_section) (bfd *abfd, const char *name);
/* Called to set the sh_flags, sh_link and sh_info fields of OSECTION which
has a type >= SHT_LOOS. Returns TRUE if the fields were initialised,
@@ -2358,7 +2360,7 @@
extern bfd_size_type _bfd_elf_maybe_function_sym (const asymbol *, asection *,
bfd_vma *);
-extern asection *_bfd_elf_get_reloc_section (asection *);
+extern asection *_bfd_elf_plt_get_reloc_section (bfd *, const char *);
extern int bfd_elf_get_default_section_type (flagword);
Index: git/bfd/elf.c
===================================================================
--- git.orig/bfd/elf.c 2017-09-04 17:43:33.780716491 +0530
+++ git/bfd/elf.c 2017-09-04 17:43:33.836716941 +0530
@@ -3493,17 +3493,39 @@
H_PUT_32 (abfd, sec->flags & SEC_LINK_ONCE ? GRP_COMDAT : 0, loc);
}
-/* Return the section which RELOC_SEC applies to. */
+/* Given NAME, the name of a relocation section stripped of its
+ .rel/.rela prefix, return the section in ABFD to which the
+ relocations apply. */
asection *
-_bfd_elf_get_reloc_section (asection *reloc_sec)
+_bfd_elf_plt_get_reloc_section (bfd *abfd, const char *name)
+{
+ /* If a target needs .got.plt section, relocations in rela.plt/rel.plt
+ section likely apply to .got.plt or .got section. */
+ if (get_elf_backend_data (abfd)->want_got_plt
+ && strcmp (name, ".plt") == 0)
+ {
+ asection *sec;
+
+ name = ".got.plt";
+ sec = bfd_get_section_by_name (abfd, name);
+ if (sec != NULL)
+ return sec;
+ name = ".got";
+ }
+
+ return bfd_get_section_by_name (abfd, name);
+}
+
+/* Return the section to which RELOC_SEC applies. */
+
+static asection *
+elf_get_reloc_section (asection *reloc_sec)
{
const char *name;
unsigned int type;
bfd *abfd;
-
- if (reloc_sec == NULL)
- return NULL;
+ const struct elf_backend_data *bed;
type = elf_section_data (reloc_sec)->this_hdr.sh_type;
if (type != SHT_REL && type != SHT_RELA)
@@ -3511,28 +3533,15 @@
/* We look up the section the relocs apply to by name. */
name = reloc_sec->name;
- if (type == SHT_REL)
- name += 4;
- else
- name += 5;
+ if (strncmp (name, ".rel", 4) != 0)
+ return NULL;
+ name += 4;
+ if (type == SHT_RELA && *name++ != 'a')
+ return NULL;
- /* If a target needs .got.plt section, relocations in rela.plt/rel.plt
- section apply to .got.plt section. */
abfd = reloc_sec->owner;
- if (get_elf_backend_data (abfd)->want_got_plt
- && strcmp (name, ".plt") == 0)
- {
- /* .got.plt is a linker created input section. It may be mapped
- to some other output section. Try two likely sections. */
- name = ".got.plt";
- reloc_sec = bfd_get_section_by_name (abfd, name);
- if (reloc_sec != NULL)
- return reloc_sec;
- name = ".got";
- }
-
- reloc_sec = bfd_get_section_by_name (abfd, name);
- return reloc_sec;
+ bed = get_elf_backend_data (abfd);
+ return bed->get_reloc_section (abfd, name);
}
/* Assign all ELF section numbers. The dummy first section is handled here
@@ -3790,7 +3799,7 @@
if (s != NULL)
d->this_hdr.sh_link = elf_section_data (s)->this_idx;
- s = get_elf_backend_data (abfd)->get_reloc_section (sec);
+ s = elf_get_reloc_section (sec);
if (s != NULL)
{
d->this_hdr.sh_info = elf_section_data (s)->this_idx;
Index: git/bfd/elfxx-target.h
===================================================================
--- git.orig/bfd/elfxx-target.h 2017-09-04 17:43:22.216623490 +0530
+++ git/bfd/elfxx-target.h 2017-09-04 17:43:33.836716941 +0530
@@ -686,7 +686,7 @@
#endif
#ifndef elf_backend_get_reloc_section
-#define elf_backend_get_reloc_section _bfd_elf_get_reloc_section
+#define elf_backend_get_reloc_section _bfd_elf_plt_get_reloc_section
#endif
#ifndef elf_backend_copy_special_section_fields
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-04 17:43:33.780716491 +0530
+++ git/bfd/ChangeLog 2017-09-04 17:45:58.349944078 +0530
@@ -82,6 +82,21 @@
* readelf.c (process_mips_specific): Remove null GOT data check.
+2017-04-23 Alan Modra <amodra@gmail.com>
+
+ PR 21412
+ * elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
+ parameters and comment.
+ (_bfd_elf_get_reloc_section): Delete.
+ (_bfd_elf_plt_get_reloc_section): Declare.
+ * elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
+ New functions. Don't blindly skip over assumed .rel/.rela prefix.
+ Extracted from..
+ (_bfd_elf_get_reloc_section): ..here. Delete.
+ (assign_section_numbers): Call elf_get_reloc_section.
+ * elf64-ppc.c (elf_backend_get_reloc_section): Define.
+ * elfxx-target.h (elf_backend_get_reloc_section): Update.
+
2017-04-13 Nick Clifton <nickc@redhat.com>
PR binutils/21379
Index: git/bfd/elf64-ppc.c
===================================================================
--- git.orig/bfd/elf64-ppc.c 2017-09-04 17:43:22.200623362 +0530
+++ git/bfd/elf64-ppc.c 2017-09-04 17:47:04.458511122 +0530
@@ -117,6 +117,7 @@
#define elf_backend_link_output_symbol_hook ppc64_elf_output_symbol_hook
#define elf_backend_special_sections ppc64_elf_special_sections
#define elf_backend_merge_symbol_attribute ppc64_elf_merge_symbol_attribute
+#define elf_backend_get_reloc_section bfd_get_section_by_name
/* The name of the dynamic interpreter. This is put in the .interp
section. */

View File

@@ -0,0 +1,114 @@
commit 7eacd66b086cabb1daab20890d5481894d4f56b2
Author: Alan Modra <amodra@gmail.com>
Date: Sun Apr 23 15:21:11 2017 +0930
PR 21414, null pointer deref of _bfd_elf_large_com_section sym
PR 21414
* section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
* elf.c (lcomm_sym): New.
(_bfd_elf_large_com_section): Use lcomm_sym section symbol.
* bfd-in2.h: Regenerate.
Upstream-Status: Backport
CVE: CVE-2017-8394
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/bfd-in2.h
===================================================================
--- git.orig/bfd/bfd-in2.h 2017-09-20 12:54:44.847475928 +0530
+++ git/bfd/bfd-in2.h 2017-09-20 12:54:44.903476171 +0530
@@ -1805,6 +1805,18 @@
{ NULL }, { NULL } \
}
+/* We use a macro to initialize the static asymbol structures because
+ traditional C does not permit us to initialize a union member while
+ gcc warns if we don't initialize it.
+ the_bfd, name, value, attr, section [, udata] */
+#ifdef __STDC__
+#define GLOBAL_SYM_INIT(NAME, SECTION) \
+ { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
+#else
+#define GLOBAL_SYM_INIT(NAME, SECTION) \
+ { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
+#endif
+
void bfd_section_list_clear (bfd *);
asection *bfd_get_section_by_name (bfd *abfd, const char *name);
Index: git/bfd/section.c
===================================================================
--- git.orig/bfd/section.c 2017-09-20 12:54:44.847475928 +0530
+++ git/bfd/section.c 2017-09-20 12:54:44.903476171 +0530
@@ -738,20 +738,20 @@
. { NULL }, { NULL } \
. }
.
+.{* We use a macro to initialize the static asymbol structures because
+. traditional C does not permit us to initialize a union member while
+. gcc warns if we don't initialize it.
+. the_bfd, name, value, attr, section [, udata] *}
+.#ifdef __STDC__
+.#define GLOBAL_SYM_INIT(NAME, SECTION) \
+. { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
+.#else
+.#define GLOBAL_SYM_INIT(NAME, SECTION) \
+. { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
+.#endif
+.
*/
-/* We use a macro to initialize the static asymbol structures because
- traditional C does not permit us to initialize a union member while
- gcc warns if we don't initialize it. */
- /* the_bfd, name, value, attr, section [, udata] */
-#ifdef __STDC__
-#define GLOBAL_SYM_INIT(NAME, SECTION) \
- { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
-#else
-#define GLOBAL_SYM_INIT(NAME, SECTION) \
- { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
-#endif
-
/* These symbols are global, not specific to any BFD. Therefore, anything
that tries to change them is broken, and should be repaired. */
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-20 12:54:44.735475444 +0530
+++ git/bfd/ChangeLog 2017-09-20 12:54:44.903476171 +0530
@@ -102,6 +102,14 @@
* readelf.c (process_mips_specific): Remove null GOT data check.
2017-04-23 Alan Modra <amodra@gmail.com>
+
+ PR 21414
+ * section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
+ * elf.c (lcomm_sym): New.
+ (_bfd_elf_large_com_section): Use lcomm_sym section symbol.
+ * bfd-in2.h: Regenerate.
+
+2017-04-23 Alan Modra <amodra@gmail.com>
PR 21412
* elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
Index: git/bfd/elf.c
===================================================================
--- git.orig/bfd/elf.c 2017-09-20 12:54:44.847475928 +0530
+++ git/bfd/elf.c 2017-09-20 13:00:22.636091768 +0530
@@ -10986,9 +10986,11 @@
/* It is only used by x86-64 so far.
??? This repeats *COM* id of zero. sec->id is supposed to be unique,
- but current usage would allow all of _bfd_std_section to be zero. t*/
+ but current usage would allow all of _bfd_std_section to be zero. */
+static const asymbol lcomm_sym
+ = GLOBAL_SYM_INIT ("LARGE_COMMON", &_bfd_elf_large_com_section);
asection _bfd_elf_large_com_section
- = BFD_FAKE_SECTION (_bfd_elf_large_com_section, NULL,
+ = BFD_FAKE_SECTION (_bfd_elf_large_com_section, &lcomm_sym,
"LARGE_COMMON", 0, SEC_IS_COMMON);
void

View File

@@ -0,0 +1,80 @@
commit 821e6ff6299aa39e841ca50e1ae8a98e3554fd5f
Author: Alan Modra <amodra@gmail.com>
Date: Wed Oct 12 09:41:33 2016 +1030
BFD_FAKE_SECTION macro params
Order NAME, IDX, FLAGS as per STD_SECTION macro.
* section.c (BFD_FAKE_SECTION): Reorder parameters. Formatting.
(STD_SECTION): Adjust to suit.
* elf.c (_bfd_elf_large_com_section): Likewise.
* bfd-in2.h: Regenerate.
Upstream-Status: Backport
CVE: CVE-2017-8394
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/bfd-in2.h
===================================================================
--- git.orig/bfd/bfd-in2.h 2017-09-20 12:54:42.423465338 +0530
+++ git/bfd/bfd-in2.h 2017-09-20 13:02:48.000000000 +0530
@@ -1767,9 +1767,9 @@
#define bfd_section_removed_from_list(ABFD, S) \
((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
-#define BFD_FAKE_SECTION(SEC, FLAGS, SYM, NAME, IDX) \
+#define BFD_FAKE_SECTION(SEC, SYM, NAME, IDX, FLAGS) \
/* name, id, index, next, prev, flags, user_set_vma, */ \
- { NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
+ { NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
\
/* linker_mark, linker_has_input, gc_mark, decompress_status, */ \
0, 0, 1, 0, \
Index: git/bfd/elf.c
===================================================================
--- git.orig/bfd/elf.c 2017-09-20 12:54:44.503474440 +0530
+++ git/bfd/elf.c 2017-09-20 13:02:48.000000000 +0530
@@ -10984,10 +10984,12 @@
return n;
}
-/* It is only used by x86-64 so far. */
+/* It is only used by x86-64 so far.
+ ??? This repeats *COM* id of zero. sec->id is supposed to be unique,
+ but current usage would allow all of _bfd_std_section to be zero. t*/
asection _bfd_elf_large_com_section
- = BFD_FAKE_SECTION (_bfd_elf_large_com_section,
- SEC_IS_COMMON, NULL, "LARGE_COMMON", 0);
+ = BFD_FAKE_SECTION (_bfd_elf_large_com_section, NULL,
+ "LARGE_COMMON", 0, SEC_IS_COMMON);
void
_bfd_elf_post_process_headers (bfd * abfd,
Index: git/bfd/section.c
===================================================================
--- git.orig/bfd/section.c 2017-09-20 12:54:43.815471454 +0530
+++ git/bfd/section.c 2017-09-20 13:02:48.000000000 +0530
@@ -700,9 +700,9 @@
.#define bfd_section_removed_from_list(ABFD, S) \
. ((S)->next == NULL ? (ABFD)->section_last != (S) : (S)->next->prev != (S))
.
-.#define BFD_FAKE_SECTION(SEC, FLAGS, SYM, NAME, IDX) \
+.#define BFD_FAKE_SECTION(SEC, SYM, NAME, IDX, FLAGS) \
. {* name, id, index, next, prev, flags, user_set_vma, *} \
-. { NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
+. { NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
. \
. {* linker_mark, linker_has_input, gc_mark, decompress_status, *} \
. 0, 0, 1, 0, \
@@ -764,7 +764,7 @@
};
#define STD_SECTION(NAME, IDX, FLAGS) \
- BFD_FAKE_SECTION(_bfd_std_section[IDX], FLAGS, &global_syms[IDX], NAME, IDX)
+ BFD_FAKE_SECTION(_bfd_std_section[IDX], &global_syms[IDX], NAME, IDX, FLAGS)
asection _bfd_std_section[] = {
STD_SECTION (BFD_COM_SECTION_NAME, 0, SEC_IS_COMMON),

View File

@@ -0,0 +1,72 @@
commit e63d123268f23a4cbc45ee55fb6dbc7d84729da3
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 26 13:07:49 2017 +0100
Fix seg-fault attempting to compress a debug section in a corrupt binary.
PR binutils/21431
* compress.c (bfd_init_section_compress_status): Check the return
value from bfd_malloc.
Upstream-Status: Backport
CVE: CVE-2017-8395
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/compress.c
===================================================================
--- git.orig/bfd/compress.c 2017-09-04 17:55:00.546577566 +0530
+++ git/bfd/compress.c 2017-09-04 17:55:10.770664577 +0530
@@ -534,7 +534,6 @@
{
bfd_size_type uncompressed_size;
bfd_byte *uncompressed_buffer;
- bfd_boolean ret;
/* Error if not opened for read. */
if (abfd->direction != read_direction
@@ -550,18 +549,18 @@
/* Read in the full section contents and compress it. */
uncompressed_size = sec->size;
uncompressed_buffer = (bfd_byte *) bfd_malloc (uncompressed_size);
+ /* PR 21431 */
+ if (uncompressed_buffer == NULL)
+ return FALSE;
+
if (!bfd_get_section_contents (abfd, sec, uncompressed_buffer,
0, uncompressed_size))
- ret = FALSE;
- else
- {
- uncompressed_size = bfd_compress_section_contents (abfd, sec,
- uncompressed_buffer,
- uncompressed_size);
- ret = uncompressed_size != 0;
- }
+ return FALSE;
- return ret;
+ uncompressed_size = bfd_compress_section_contents (abfd, sec,
+ uncompressed_buffer,
+ uncompressed_size);
+ return uncompressed_size != 0;
}
/*
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-04 17:55:10.714664101 +0530
+++ git/bfd/ChangeLog 2017-09-04 17:56:40.991431847 +0530
@@ -73,6 +73,12 @@
(evax_bfd_print_egsd): Check for an overlarge record length.
(evax_bfd_print_etir): Likewise.
+2017-04-26 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/21431
+ * compress.c (bfd_init_section_compress_status): Check the return
+ value from bfd_malloc.
+
2017-04-25 Maciej W. Rozycki <macro@imgtec.com>
* readelf.c (process_mips_specific): Remove error reporting from

View File

@@ -0,0 +1,102 @@
commit a941291cab71b9ac356e1c03968c177c03e602ab
Author: Alan Modra <amodra@gmail.com>
Date: Sat Apr 29 14:48:16 2017 +0930
PR21432, buffer overflow in perform_relocation
The existing reloc offset range tests didn't catch small negative
offsets less than the size of the reloc field.
PR 21432
* reloc.c (reloc_offset_in_range): New function.
(bfd_perform_relocation, bfd_install_relocation): Use it.
(_bfd_final_link_relocate): Likewise.
Upstream-Status: Backport
CVE: CVE-2017-8396
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/reloc.c
===================================================================
--- git.orig/bfd/reloc.c 2017-09-05 18:12:07.448886623 +0530
+++ git/bfd/reloc.c 2017-09-05 18:12:07.564887511 +0530
@@ -538,6 +538,22 @@
return flag;
}
+/* HOWTO describes a relocation, at offset OCTET. Return whether the
+ relocation field is within SECTION of ABFD. */
+
+static bfd_boolean
+reloc_offset_in_range (reloc_howto_type *howto, bfd *abfd,
+ asection *section, bfd_size_type octet)
+{
+ bfd_size_type octet_end = bfd_get_section_limit_octets (abfd, section);
+ bfd_size_type reloc_size = bfd_get_reloc_size (howto);
+
+ /* The reloc field must be contained entirely within the section.
+ Allow zero length fields (marker relocs or NONE relocs where no
+ relocation will be performed) at the end of the section. */
+ return octet <= octet_end && octet + reloc_size <= octet_end;
+}
+
/*
FUNCTION
bfd_perform_relocation
@@ -618,15 +634,9 @@
return cont;
}
- /* Is the address of the relocation really within the section?
- Include the size of the reloc in the test for out of range addresses.
- PR 17512: file: c146ab8b, 46dff27f, 38e53ebf. */
+ /* Is the address of the relocation really within the section? */
octets = reloc_entry->address * bfd_octets_per_byte (abfd);
- if (octets + bfd_get_reloc_size (howto)
- > bfd_get_section_limit_octets (abfd, input_section)
- /* Check for an overly large offset which
- masquerades as a negative value too. */
- || (octets + bfd_get_reloc_size (howto) < bfd_get_reloc_size (howto)))
+ if (!reloc_offset_in_range (howto, abfd, input_section, octets))
return bfd_reloc_outofrange;
/* Work out which section the relocation is targeted at and the
@@ -1010,8 +1020,7 @@
/* Is the address of the relocation really within the section? */
octets = reloc_entry->address * bfd_octets_per_byte (abfd);
- if (octets + bfd_get_reloc_size (howto)
- > bfd_get_section_limit_octets (abfd, input_section))
+ if (!reloc_offset_in_range (howto, abfd, input_section, octets))
return bfd_reloc_outofrange;
/* Work out which section the relocation is targeted at and the
@@ -1349,8 +1358,7 @@
bfd_size_type octets = address * bfd_octets_per_byte (input_bfd);
/* Sanity check the address. */
- if (octets + bfd_get_reloc_size (howto)
- > bfd_get_section_limit_octets (input_bfd, input_section))
+ if (!reloc_offset_in_range (howto, input_bfd, input_section, octets))
return bfd_reloc_outofrange;
/* This function assumes that we are dealing with a basic relocation
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-05 18:12:07.448886623 +0530
+++ git/bfd/ChangeLog 2017-09-05 18:13:46.745645897 +0530
@@ -73,6 +73,13 @@
(evax_bfd_print_egsd): Check for an overlarge record length.
(evax_bfd_print_etir): Likewise.
+2017-04-29 Alan Modra <amodra@gmail.com>
+
+ PR 21432
+ * reloc.c (reloc_offset_in_range): New function.
+ (bfd_perform_relocation, bfd_install_relocation): Use it.
+ (_bfd_final_link_relocate): Likewise.
+
2017-04-26 Nick Clifton <nickc@redhat.com>
PR binutils/21434

View File

@@ -0,0 +1,50 @@
commit 04b31182bf3f8a1a76e995bdfaaaab4c009b9cb2
Author: Nick Clifton <nickc@redhat.com>
Date: Wed Apr 26 16:30:22 2017 +0100
Fix a seg-fault when processing a corrupt binary containing reloc(s) with negative addresses.
PR binutils/21434
* reloc.c (bfd_perform_relocation): Check for a negative address
in the reloc.
Upstream-Status: Backport
CVE: CVE-2017-8397
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/bfd/reloc.c
===================================================================
--- git.orig/bfd/reloc.c 2017-09-04 18:06:00.651987605 +0530
+++ git/bfd/reloc.c 2017-09-04 18:06:10.740066291 +0530
@@ -623,7 +623,10 @@
PR 17512: file: c146ab8b, 46dff27f, 38e53ebf. */
octets = reloc_entry->address * bfd_octets_per_byte (abfd);
if (octets + bfd_get_reloc_size (howto)
- > bfd_get_section_limit_octets (abfd, input_section))
+ > bfd_get_section_limit_octets (abfd, input_section)
+ /* Check for an overly large offset which
+ masquerades as a negative value too. */
+ || (octets + bfd_get_reloc_size (howto) < bfd_get_reloc_size (howto)))
return bfd_reloc_outofrange;
/* Work out which section the relocation is targeted at and the
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog 2017-09-04 18:06:10.684065855 +0530
+++ git/bfd/ChangeLog 2017-09-04 18:08:33.845183050 +0530
@@ -75,6 +75,12 @@
2017-04-26 Nick Clifton <nickc@redhat.com>
+ PR binutils/21434
+ * reloc.c (bfd_perform_relocation): Check for a negative address
+ in the reloc.
+
+2017-04-26 Nick Clifton <nickc@redhat.com>
+
PR binutils/21431
* compress.c (bfd_init_section_compress_status): Check the return
value from bfd_malloc.

View File

@@ -0,0 +1,147 @@
commit d949ff5607b9f595e0eed2ff15fbe5eb84eb3a34
Author: Nick Clifton <nickc@redhat.com>
Date: Fri Apr 28 10:28:04 2017 +0100
Fix heap-buffer overflow bugs caused when dumping debug information from a corrupt binary.
PR binutils/21438
* dwarf.c (process_extended_line_op): Do not assume that the
string extracted from the section is NUL terminated.
(fetch_indirect_string): If the string retrieved from the section
is not NUL terminated, return an error message.
(fetch_indirect_line_string): Likewise.
(fetch_indexed_string): Likewise.
Upstream-Status: Backport
CVE: CVE-2017-8398
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/binutils/dwarf.c
===================================================================
--- git.orig/binutils/dwarf.c 2017-09-20 13:40:17.148898512 +0530
+++ git/binutils/dwarf.c 2017-09-20 13:45:17.564730907 +0530
@@ -472,15 +472,20 @@
printf (_(" Entry\tDir\tTime\tSize\tName\n"));
printf (" %d\t", ++state_machine_regs.last_file_entry);
- name = data;
- data += strnlen ((char *) data, end - data) + 1;
- printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
- data += bytes_read;
- printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
- data += bytes_read;
- printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
- data += bytes_read;
- printf ("%s\n\n", name);
+ {
+ size_t l;
+
+ name = data;
+ l = strnlen ((char *) data, end - data);
+ data += len + 1;
+ printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
+ data += bytes_read;
+ printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
+ data += bytes_read;
+ printf ("%s\t", dwarf_vmatoa ("u", read_uleb128 (data, & bytes_read, end)));
+ data += bytes_read;
+ printf ("%.*s\n\n", (int) l, name);
+ }
if (((unsigned int) (data - orig_data) != len) || data == end)
warn (_("DW_LNE_define_file: Bad opcode length\n"));
@@ -597,18 +602,28 @@
fetch_indirect_string (dwarf_vma offset)
{
struct dwarf_section *section = &debug_displays [str].section;
+ const unsigned char * ret;
if (section->start == NULL)
return (const unsigned char *) _("<no .debug_str section>");
- if (offset > section->size)
+ if (offset >= section->size)
{
warn (_("DW_FORM_strp offset too big: %s\n"),
dwarf_vmatoa ("x", offset));
return (const unsigned char *) _("<offset is too big>");
}
- return (const unsigned char *) section->start + offset;
+ ret = section->start + offset;
+ /* Unfortunately we cannot rely upon the .debug_str section ending with a
+ NUL byte. Since our caller is expecting to receive a well formed C
+ string we test for the lack of a terminating byte here. */
+ if (strnlen ((const char *) ret, section->size - offset)
+ == section->size - offset)
+ ret = (const unsigned char *)
+ _("<no NUL byte at end of .debug_str section>");
+
+ return ret;
}
static const char *
@@ -621,6 +636,7 @@
struct dwarf_section *str_section = &debug_displays [str_sec_idx].section;
dwarf_vma index_offset = idx * offset_size;
dwarf_vma str_offset;
+ const char * ret;
if (index_section->start == NULL)
return (dwo ? _("<no .debug_str_offsets.dwo section>")
@@ -628,7 +644,7 @@
if (this_set != NULL)
index_offset += this_set->section_offsets [DW_SECT_STR_OFFSETS];
- if (index_offset > index_section->size)
+ if (index_offset >= index_section->size)
{
warn (_("DW_FORM_GNU_str_index offset too big: %s\n"),
dwarf_vmatoa ("x", index_offset));
@@ -641,14 +657,22 @@
str_offset = byte_get (index_section->start + index_offset, offset_size);
str_offset -= str_section->address;
- if (str_offset > str_section->size)
+ if (str_offset >= str_section->size)
{
warn (_("DW_FORM_GNU_str_index indirect offset too big: %s\n"),
dwarf_vmatoa ("x", str_offset));
return _("<indirect index offset is too big>");
}
- return (const char *) str_section->start + str_offset;
+ ret = (const char *) str_section->start + str_offset;
+ /* Unfortunately we cannot rely upon str_section ending with a NUL byte.
+ Since our caller is expecting to receive a well formed C string we test
+ for the lack of a terminating byte here. */
+ if (strnlen (ret, str_section->size - str_offset)
+ == str_section->size - str_offset)
+ ret = (const char *) _("<no NUL byte at end of section>");
+
+ return ret;
}
static const char *
Index: git/binutils/ChangeLog
===================================================================
--- git.orig/binutils/ChangeLog 2017-09-20 13:40:18.900898599 +0530
+++ git/binutils/ChangeLog 2017-09-20 13:48:02.976503560 +0530
@@ -10,6 +10,16 @@
* objdump.c (dump_relocs_in_section): Check for an excessive
number of relocs before attempting to dump them.
+2017-04-28 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/21438
+ * dwarf.c (process_extended_line_op): Do not assume that the
+ string extracted from the section is NUL terminated.
+ (fetch_indirect_string): If the string retrieved from the section
+ is not NUL terminated, return an error message.
+ (fetch_indirect_line_string): Likewise.
+ (fetch_indexed_string): Likewise.
+
2017-02-14 Nick Clifton <nickc@redhat.com>
PR binutils/21157

View File

@@ -0,0 +1,51 @@
commit 39ff1b79f687b65f4144ddb379f22587003443fb
Author: Nick Clifton <nickc@redhat.com>
Date: Tue May 2 11:54:53 2017 +0100
Prevent memory exhaustion from a corrupt PE binary with an overlarge number of relocs.
PR 21440
* objdump.c (dump_relocs_in_section): Check for an excessive
number of relocs before attempting to dump them.
Upstream-Status: Backport
CVE: CVE-2017-8421
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Index: git/binutils/objdump.c
===================================================================
--- git.orig/binutils/objdump.c 2017-09-05 11:34:23.140802515 +0530
+++ git/binutils/objdump.c 2017-09-05 11:34:28.716824776 +0530
@@ -3238,6 +3238,14 @@
return;
}
+ if ((bfd_get_file_flags (abfd) & (BFD_IN_MEMORY | BFD_LINKER_CREATED)) == 0
+ && relsize > get_file_size (bfd_get_filename (abfd)))
+ {
+ printf (" (too many: 0x%x)\n", section->reloc_count);
+ bfd_set_error (bfd_error_file_truncated);
+ bfd_fatal (bfd_get_filename (abfd));
+ }
+
relpp = (arelent **) xmalloc (relsize);
relcount = bfd_canonicalize_reloc (abfd, section, relpp, syms);
Index: git/binutils/ChangeLog
===================================================================
--- git.orig/binutils/ChangeLog 2017-09-05 11:34:28.040822070 +0530
+++ git/binutils/ChangeLog 2017-09-05 11:36:02.413217129 +0530
@@ -4,6 +4,12 @@
* rddbg.c (read_symbol_stabs_debugging_info): Check for an empty
string whilst concatenating symbol names.
+2017-05-02 Nick Clifton <nickc@redhat.com>
+
+ PR 21440
+ * objdump.c (dump_relocs_in_section): Check for an excessive
+ number of relocs before attempting to dump them.
+
2017-02-14 Nick Clifton <nickc@redhat.com>
PR binutils/21157

View File

@@ -0,0 +1,51 @@
From f32ba72991d2406b21ab17edc234a2f3fa7fb23d Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Mon, 3 Apr 2017 11:01:45 +0100
Subject: [PATCH] readelf: Update check for invalid word offsets in ARM unwind
information.
PR binutils/21343
* readelf.c (get_unwind_section_word): Fix snafu checking for
invalid word offsets in ARM unwind information.
Upstream-Status: Backport
CVE: CVE-2017-9039
Affects: binutils <= 2.28
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
binutils/ChangeLog | 6 ++++++
binutils/readelf.c | 6 +++---
2 files changed, 9 insertions(+), 3 deletions(-)
Index: git/binutils/readelf.c
===================================================================
--- git.orig/binutils/readelf.c
+++ git/binutils/readelf.c
@@ -7745,9 +7745,9 @@ get_unwind_section_word (struct arm_unw_
return FALSE;
/* If the offset is invalid then fail. */
- if (word_offset > (sec->sh_size - 4)
- /* PR 18879 */
- || (sec->sh_size < 5 && word_offset >= sec->sh_size)
+ if (/* PR 21343 *//* PR 18879 */
+ sec->sh_size < 4
+ || word_offset > (sec->sh_size - 4)
|| ((bfd_signed_vma) word_offset) < 0)
return FALSE;
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog
+++ git/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2017-04-03 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/21343
+ * readelf.c (get_unwind_section_word): Fix snafu checking for
+ invalid word offsets in ARM unwind information.
+
2017-04-04 Nick Clifton <nickc@redhat.com>
PR binutils/21342

View File

@@ -0,0 +1,72 @@
From 75ec1fdbb797a389e4fe4aaf2e15358a070dcc19 Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Mon, 3 Apr 2017 11:13:21 +0100
Subject: [PATCH] Fix runtime seg-fault in readelf when parsing a corrupt MIPS
binary.
PR binutils/21344
* readelf.c (process_mips_specific): Check for an out of range GOT
entry before reading the module pointer.
Upstream-Status: Backport
CVE: CVE-2017-9039 supporting patch
VER: <= 2.28
Signed-off-by: Armin kuster <akuster@mvista.com>
---
binutils/ChangeLog | 6 ++++++
binutils/readelf.c | 26 ++++++++++++++++++--------
2 files changed, 24 insertions(+), 8 deletions(-)
Index: git/binutils/readelf.c
===================================================================
--- git.orig/binutils/readelf.c
+++ git/binutils/readelf.c
@@ -14987,14 +14987,24 @@ process_mips_specific (FILE * file)
printf (_(" Lazy resolver\n"));
if (ent == (bfd_vma) -1)
goto got_print_fail;
- if (data
- && (byte_get (data + ent - pltgot, addr_size)
- >> (addr_size * 8 - 1)) != 0)
+
+ if (data)
{
- ent = print_mips_got_entry (data, pltgot, ent, data_end);
- printf (_(" Module pointer (GNU extension)\n"));
- if (ent == (bfd_vma) -1)
- goto got_print_fail;
+ /* PR 21344 */
+ if (data + ent - pltgot > data_end - addr_size)
+ {
+ error (_("Invalid got entry - %#lx - overflows GOT table\n"), ent);
+ goto got_print_fail;
+ }
+
+ if (byte_get (data + ent - pltgot, addr_size)
+ >> (addr_size * 8 - 1) != 0)
+ {
+ ent = print_mips_got_entry (data, pltgot, ent, data_end);
+ printf (_(" Module pointer (GNU extension)\n"));
+ if (ent == (bfd_vma) -1)
+ goto got_print_fail;
+ }
}
printf ("\n");
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog
+++ git/bfd/ChangeLog
@@ -1,5 +1,11 @@
2017-04-03 Nick Clifton <nickc@redhat.com>
+ PR binutils/21344
+ * readelf.c (process_mips_specific): Check for an out of range GOT
+ entry before reading the module pointer.
+
+2017-04-03 Nick Clifton <nickc@redhat.com>
+
PR binutils/21343
* readelf.c (get_unwind_section_word): Fix snafu checking for
invalid word offsets in ARM unwind information.

View File

@@ -0,0 +1,56 @@
From 82156ab704b08b124d319c0decdbd48b3ca2dac5 Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Mon, 3 Apr 2017 12:14:06 +0100
Subject: [PATCH] readelf: Fix overlarge memory allocation when reading a
binary with an excessive number of program headers.
PR binutils/21345
* readelf.c (get_program_headers): Check for there being too many
program headers before attempting to allocate space for them.
Upstream-Status: Backport
CVE: CVE-2017-9039
VER: <= 2.28
Signed-off-by: Armin Kuster <akuster@mvista.com>
---
binutils/ChangeLog | 6 ++++++
binutils/readelf.c | 17 ++++++++++++++---
2 files changed, 20 insertions(+), 3 deletions(-)
Index: git/binutils/readelf.c
===================================================================
--- git.orig/binutils/readelf.c
+++ git/binutils/readelf.c
@@ -4705,9 +4705,19 @@ get_program_headers (FILE * file)
if (program_headers != NULL)
return 1;
- phdrs = (Elf_Internal_Phdr *) cmalloc (elf_header.e_phnum,
- sizeof (Elf_Internal_Phdr));
+ /* Be kind to memory checkers by looking for
+ e_phnum values which we know must be invalid. */
+ if (elf_header.e_phnum
+ * (is_32bit_elf ? sizeof (Elf32_External_Phdr) : sizeof (Elf64_External_Phdr))
+ >= current_file_size)
+ {
+ error (_("Too many program headers - %#x - the file is not that big\n"),
+ elf_header.e_phnum);
+ return FALSE;
+ }
+ phdrs = (Elf_Internal_Phdr *) cmalloc (elf_header.e_phnum,
+ sizeof (Elf_Internal_Phdr));
if (phdrs == NULL)
{
error (_("Out of memory reading %u program headers\n"),
@@ -14993,7 +15003,8 @@ process_mips_specific (FILE * file)
/* PR 21344 */
if (data + ent - pltgot > data_end - addr_size)
{
- error (_("Invalid got entry - %#lx - overflows GOT table\n"), ent);
+ error (_("Invalid got entry - %#lx - overflows GOT table\n"),
+ (long) ent);
goto got_print_fail;
}

Some files were not shown because too many files have changed in this diff Show More