New issue
Advanced search Search tips

Issue 779808 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

CFI-icall libxml2 failures

Project Member Reported by vtsyrklevich@chromium.org, Oct 30 2017

Issue description

Remove the 'src:*third_party/libxml/*' line from tools/cfi/blacklist.txt and build unit_tests with 'is_cfi=true use_cfi_icall=true use_cfi_diag=true'. Run the tests and you will receive the following CFI failure:
../../third_party/libxml/src/encoding.c:1344:10: runtime error: control flow integrity check for type 'char *(const char *)' failed during indirect function call
out/cfi-icall/../../third_party/libxml/src/xmlstring.c:66: note: xmlStrdup defined here

If you blacklist that failure, you will receive the following failure:
../../third_party/libxml/src/xmlIO.c:3342:8: runtime error: control flow integrity check for type 'int (void *, char *, int)' failed during indirect function call
(/usr/local/google/home/vtsyrklevich/Development/chromium/src/out/cfi-icall/unit_tests+0x5a45220): note: xmlNop defined here
 
Fixed upstream, https://mail.gnome.org/archives/xml/2017-November/msg00014.html Still needs to be rolled in chrome
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f3766ff295fe4f687e4c79aa91afc04fbd7690f6

commit f3766ff295fe4f687e4c79aa91afc04fbd7690f6
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Fri Jan 12 01:54:15 2018

Roll libxml to 2677fbf4a4a6dec69ff52265addab713fe48ad1f and libxslt to 840c8e2b6ab33a02374d7a097868649e492da768

This update includes fixes to make calls into libxml cfi-icall safe and
requires rolling libxslt as well. A build change in libxslt enabled
POSIX extended locale support which broke WebKit's expectation that it
overrode libxslt's sorting behavior without any locale modifying code.
I added a patch to enable the old build behavior and disable POSIX
locale support since there did not appear to be an obvious way to fix
WebKit's behavior.

Bug:  779808 
Change-Id: Id5baf33879ab37d57892c435f723b809907ea1d9
Reviewed-on: https://chromium-review.googlesource.com/826326
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528844}
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/README.chromium
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/linux/config.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/linux/include/libxml/xmlversion.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/linux/xml2-config
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/mac/config.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/mac/include/libxml/xmlversion.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/HTMLparser.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/Makefile.am
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/config.h.in
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/configure.ac
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/encoding.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/entities.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/globals.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/hash.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/include/libxml/hash.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/include/libxml/list.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/include/libxml/xmlversion.h.in
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/include/win32config.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/libxml.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/libxml2.spec
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/list.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/macos/src/config-mac.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/nanohttp.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/parser.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/parserInternals.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/testapi.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/threads.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/tree.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/valid.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/win32/Makefile.bcb
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/win32/Makefile.mingw
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/win32/Makefile.msvc
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/xmlIO.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/xmlreader.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/xmlsave.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/xmlwriter.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/src/xpath.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/win32/config.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxml/win32/include/libxml/xmlversion.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/README.chromium
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/chromium/get-file-attributes-a.patch
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/chromium/roll.py
[add] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/chromium/xslt-locale.patch
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/linux/config.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/linux/libexslt/exsltconfig.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/linux/libxslt/xsltwin32config.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/mac/config.h
[delete] https://crrev.com/a3ab7388319114eb92838a72509b774fc6c1ef8d/third_party/libxslt/src/COPYING
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/Makefile.am
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/config.h.in
[rename] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/configure.ac
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/common.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/crypto.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/date.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/dynamic.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/exsltconfig.h.in
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/functions.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/libexslt.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/math.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/saxon.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/sets.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libexslt/strings.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt.spec
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/attributes.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/extensions.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/extra.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/extra.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/functions.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/functions.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/imports.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/keys.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/libxslt.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/numbers.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/pattern.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/preproc.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/security.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/templates.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/transform.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/transform.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/variables.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/xslt.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/xsltInternals.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/xsltconfig.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/xsltconfig.h.in
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/xsltlocale.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/xsltlocale.h
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/xsltutils.c
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/libxslt/xsltwin32config.h.in
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/win32/Makefile.msvc
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/win32/configure.js
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/win32/libxslt.def.src
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/win32/libxslt/libxslt_so.dsp
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/win32/libxslt/xsltproc.dsp
[modify] https://crrev.com/f3766ff295fe4f687e4c79aa91afc04fbd7690f6/third_party/libxslt/src/win32/runtests.py

Status: Fixed (was: Started)

Sign in to add a comment