openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
November 2015
- 1 participants
- 1310 discussions
Hello community,
here is the log from the commit of package kholidays for openSUSE:Factory checked in at 2015-11-02 12:54:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kholidays (Old)
and /work/SRC/openSUSE:Factory/.kholidays.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kholidays"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kholidays/kholidays.changes 2015-10-14 16:46:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kholidays.new/kholidays.changes 2015-11-02 12:55:00.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Oct 29 17:34:15 UTC 2015 - alarrosa(a)suse.com
+
+- Separated library in a new package named libKF5Holidays5 as required
+ by the openSUSE shared library packaging policy
+- Duplicated BuildRequired package removed
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kholidays.spec ++++++
--- /var/tmp/diff_new_pack.xbxaAI/_old 2015-11-02 12:55:01.000000000 +0100
+++ /var/tmp/diff_new_pack.xbxaAI/_new 2015-11-02 12:55:01.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kholidays
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -37,7 +37,6 @@
BuildRequires: kdelibs4support-devel >= %{kf5_version}
BuildRequires: kdoctools-devel >= %{kf5_version}
BuildRequires: kemoticons-devel >= %{kf5_version}
-BuildRequires: kcodecs-devel >= %{kf5_version}
BuildRequires: kf5-filesystem
BuildRequires: ki18n-devel >= %{kf5_version}
BuildRequires: kio-devel >= %{kf5_version}
@@ -67,11 +66,21 @@
%description
This package contains the Holiday API library for KDE PIM applications.
+%package -n libKF5Holidays5
+Summary: KDE PIM Libraries
+Group: System/GUI/KDE
+
+%description -n libKF5Holidays5
+This package contains the Holiday API library for KDE PIM applications.
+
+
+
%package devel
Summary: KDE PIM Libraries: Build Environment
Group: Development/Libraries/KDE
-Requires: kholidays = %{version}
Requires: kdelibs4support-devel >= %{kf5_version}
+Requires: kholidays = %{version}
+Requires: libKF5Holidays5 = %{version}
%description devel
This package contains necessary include files and libraries needed
@@ -87,16 +96,20 @@
%install
%kf5_makeinstall -C build
-%post -p /sbin/ldconfig
+%post -n libKF5Holidays5 -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%postun -n libKF5Holidays5 -p /sbin/ldconfig
%files
%defattr(-,root,root)
-%doc COPYING.LIB DESIGN
-%dir %{_kf5_plugindir}/designer
+%doc DESIGN
+
+%files -n libKF5Holidays5
+%defattr(-,root,root)
+%doc COPYING.LIB
%{_kf5_datadir}/libkholidays/
%{_kf5_libdir}/libKF5Holidays.so.*
+%dir %{_kf5_plugindir}/designer
%{_kf5_plugindir}/designer/holidays5widgets.so
%files devel
1
0
Hello community,
here is the log from the commit of package filezilla for openSUSE:Factory checked in at 2015-11-02 12:54:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/filezilla (Old)
and /work/SRC/openSUSE:Factory/.filezilla.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "filezilla"
Changes:
--------
--- /work/SRC/openSUSE:Factory/filezilla/filezilla.changes 2015-08-01 11:34:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.filezilla.new/filezilla.changes 2015-11-02 12:54:56.000000000 +0100
@@ -1,0 +2,78 @@
+Tue Oct 27 16:54:16 UTC 2015 - aloisio(a)gmx.com
+
+- Added requirement for pugixml 1.7
+
+-------------------------------------------------------------------
+Tue Oct 27 11:52:10 UTC 2015 - tchvatal(a)suse.com
+
+- Simply rely on gcc-c++ from system as we won't build on older distros
+ anyway
+
+-------------------------------------------------------------------
+Fri Oct 23 16:32:53 UTC 2015 - aloisio(a)gmx.com
+
+- Update to version 3.14.1 (2015-10-16)
+ * For third-party builds, add configure flag to allow using
+ system ciphers for FTP over TLS. Display a warning if an
+ insecure cipher is negotiated as result of using system ciphers.
+ * Fixed loading of the directory comparison flag for bookmakrs
+ in the Site Manager
+ * Changing the interface layout and icon theme no longer results
+ in an inconsistent UI state
+ * Some SFTP servers send additional information on errors. This
+ information is now shown in the message log
+ * If the local file cannot be opened on SFTP transfers FileZilla
+ no longer automatically retries
+ * Updated SFTP components from PuTTY
+ 3.14.0 (2015-09-16)
+ * When connecting using SFTP, show an error message instead of
+ silently failing when encountering an insecure cipher
+ 3.14.0-rc2 (2015-09-09)
+ * Removing selected queue items is now faster
+ * Reduced memory usage of queue
+ * When connecting to hostnames with multiple IPs, reset timeout
+ if trying the next address
+ 3.14.0-rc1 (2015-09-04)
+ * Add support for password-protected SSH private keys
+ * SSH private keys not in PuTTY's native format no longer need
+ to be converted if they aren't password-protected
+ * When using synchronized browsing, changing to a directory
+ that does not exist on both sides now asks whether the missing
+ directory should be created
+ * SSH1 support for SFTP has been disabled
+ 3.13.1 (2015-08-24)
+ * Fix SFTP component crashing on some combinations of encryption
+ and key exchange algorithm
+ * Fixed Ctrl+Shift+I shortcut to toggle filters
+ * OS X: Fixed Ctrl+, shortcut to open settings dialog
+ * Optimizations to reduce memory footprint
+ * Build system fixes
+
+- Added filezilla-3.14.1_wxstring.patch and filezilla-3.14.1_xml.patch
+ to address build problems
+
+- Dropped tinyxml requirements
+
+-------------------------------------------------------------------
+Fri Sep 4 13:03:25 UTC 2015 - tchvatal(a)suse.com
+
+- Add pugixml as dependency
+
+-------------------------------------------------------------------
+Fri Sep 4 12:43:15 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 3.13.1:
+ * Fix SFTP component crashing on some combinations of encryption and key
+ * exchange algorithm
+ * Fixed Ctrl+Shift+I shortcut to toggle filters
+ * OS X: Fixed Ctrl+, shortcut to open settings dialog
+ * Optimizations to reduce memory footprint
+ * Build system fixes
+ * Display home directory instead of root directory if the last used directory
+ * does not exist
+ * Larger initial size of main window if there is no stored size
+ * Slightly increased size of page selection box in settings dialog
+- Refresh patch:
+ * filezilla-3.5.3-buildinfo-no-date.patch
+
+-------------------------------------------------------------------
Old:
----
FileZilla_3.12.0.2_src.tar.bz2
New:
----
FileZilla_3.14.1_src.tar.bz2
filezilla-3.14.1_wxstring.patch
filezilla-3.14.1_xml.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ filezilla.spec ++++++
--- /var/tmp/diff_new_pack.uth8Lz/_old 2015-11-02 12:54:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uth8Lz/_new 2015-11-02 12:54:57.000000000 +0100
@@ -17,25 +17,24 @@
Name: filezilla
-Version: 3.12.0.2
+Version: 3.14.1
Release: 0
Summary: A GUI FTP and SFTP Client
License: GPL-2.0+
Group: Productivity/Networking/Ftp/Clients
Url: http://filezilla-project.org/
-Source0: http://prdownloads.sourceforge.net/filezilla/FileZilla_%{version}_src.tar.b…
+Source0: http://download.filezilla-project.org/client/FileZilla_%{version}_src.tar.b…
Patch0: putty-no_DATE_and_TIME_.patch
Patch1: filezilla-3.5.3-buildinfo-no-date.patch
+Patch2: filezilla-3.14.1_wxstring.patch
+Patch3: filezilla-3.14.1_xml.patch
BuildRequires: cppunit-devel
BuildRequires: fdupes
BuildRequires: gcc-c++
-BuildRequires: tinyxml-devel
+# needs long long support in pugixml
+BuildRequires: pugixml-devel >= 1.7
BuildRequires: update-desktop-files
-%if 0%{suse_version} >= 1310
BuildRequires: wxWidgets-3_0-devel >= 3.0.2
-%else
-BuildRequires: wxWidgets-devel >= 3.0.2
-%endif
BuildRequires: xdg-utils
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(gnutls) >= 3.1.12
@@ -71,6 +70,8 @@
%setup -q
%patch0
%patch1
+%patch2 -p1
+%patch3 -p1
# Fix invalid translation locales:
cd locales
@@ -112,7 +113,6 @@
--disable-static \
--disable-manualupdatecheck \
--disable-autoupdatecheck \
- --with-tinyxml=system \
--with-dbus
make %{?_smp_mflags}
@@ -133,6 +133,7 @@
%{_bindir}/fzputtygen
%{_datadir}/%{name}
%{_datadir}/pixmaps/%{name}.png
+%dir %{_datadir}/appdata
%{_datadir}/appdata/%{name}.appdata.xml
%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
++++++ FileZilla_3.12.0.2_src.tar.bz2 -> FileZilla_3.14.1_src.tar.bz2 ++++++
++++ 251379 lines of diff (skipped)
++++++ filezilla-3.14.1_wxstring.patch ++++++
Index: filezilla-3.14.1/src/engine/directorylisting.cpp
===================================================================
--- filezilla-3.14.1.orig/src/engine/directorylisting.cpp
+++ filezilla-3.14.1/src/engine/directorylisting.cpp
@@ -4,7 +4,7 @@ wxString CDirentry::dump() const
{
wxString str = wxString::Format(_T("name=%s\nsize=%lld\npermissions=%s\nownerGroup=%s\ndir=%d\nlink=%d\ntarget=%s\nunsure=%d\n"),
name, static_cast<long long>(size), *permissions, *ownerGroup, flags & flag_dir, flags & flag_link,
- target ? *target : wxString(), flags & flag_unsure);
+ target ? *target : std::wstring(), flags & flag_unsure);
if( has_date() ) {
str += _T("date=") + time.Format(_T("%Y-%m-%d"), CDateTime::local) + _T("\n");
++++++ filezilla-3.14.1_xml.patch ++++++
Index: filezilla-3.14.1/src/interface/xmlfunctions.cpp
===================================================================
--- filezilla-3.14.1.orig/src/interface/xmlfunctions.cpp
+++ filezilla-3.14.1/src/interface/xmlfunctions.cpp
@@ -689,7 +689,7 @@ bool CXmlFile::ParseData(char* data)
{
Close();
m_document.load_string(data);
- m_element = m_document.child(m_rootName);
+ m_element = m_document.child(m_rootName.mb_str());
if (!m_element) {
Close();
}
++++++ filezilla-3.5.3-buildinfo-no-date.patch ++++++
--- /var/tmp/diff_new_pack.uth8Lz/_old 2015-11-02 12:55:00.000000000 +0100
+++ /var/tmp/diff_new_pack.uth8Lz/_new 2015-11-02 12:55:00.000000000 +0100
@@ -1,7 +1,7 @@
Index: src/interface/buildinfo.cpp
===================================================================
---- src/interface/buildinfo.cpp.orig 2010-02-07 15:40:21.000000000 +0000
-+++ src/interface/buildinfo.cpp 2012-04-04 23:53:47.000000000 +0100
+--- src/interface/buildinfo.cpp.orig
++++ src/interface/buildinfo.cpp
@@ -10,7 +10,7 @@ wxString CBuildInfo::GetBuildDateString(
{
// Get build date. Unfortunately it is in the ugly Mmm dd yyyy format.
@@ -11,7 +11,7 @@
while (date.Replace(_T(" "), _T(" ")));
const wxChar months[][4] = { _T("Jan"), _T("Feb"), _T("Mar"),
-@@ -50,7 +50,7 @@ wxString CBuildInfo::GetBuildDateString(
+@@ -49,7 +49,7 @@ wxString CBuildInfo::GetBuildDateString(
wxString CBuildInfo::GetBuildTimeString()
{
@@ -19,4 +19,4 @@
+ return wxString(_T(""), wxConvLocal);
}
- wxDateTime CBuildInfo::GetBuildDate()
+ CDateTime CBuildInfo::GetBuildDate()
1
0
Hello community,
here is the log from the commit of package python-sip for openSUSE:Factory checked in at 2015-11-02 12:54:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sip (Old)
and /work/SRC/openSUSE:Factory/.python-sip.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sip"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sip/python-sip.changes 2015-07-23 15:21:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-sip.new/python-sip.changes 2015-11-02 12:54:49.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Oct 30 17:57:26 UTC 2015 - termim(a)gmail.com
+
+- Update to 4.17.0
+ * This version adds support for PEP 465, PEP 492 and MSVC 2015.
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python-sip/python3-sip.changes 2015-07-23 15:21:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-sip.new/python3-sip.changes 2015-11-02 12:54:49.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Oct 30 17:56:19 UTC 2015 - termim(a)gmail.com
+
+- Update to 4.17.0
+ * This version adds support for PEP 465, PEP 492 and MSVC 2015.
+
+-------------------------------------------------------------------
Old:
----
sip-4.16.9.tar.gz
New:
----
sip-4.17.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sip.spec ++++++
--- /var/tmp/diff_new_pack.yE0VKq/_old 2015-11-02 12:54:50.000000000 +0100
+++ /var/tmp/diff_new_pack.yE0VKq/_new 2015-11-02 12:54:50.000000000 +0100
@@ -18,7 +18,7 @@
%define python_sip_api 11.2
Name: python-sip
-Version: 4.16.9
+Version: 4.17
Release: 0
Summary: SIP tool to use python sip bindings
License: GPL-2.0 or GPL-3.0 or SUSE-SIP
++++++ python3-sip.spec ++++++
--- /var/tmp/diff_new_pack.yE0VKq/_old 2015-11-02 12:54:50.000000000 +0100
+++ /var/tmp/diff_new_pack.yE0VKq/_new 2015-11-02 12:54:50.000000000 +0100
@@ -21,7 +21,7 @@
%define py3_incdir %{_includedir}/python3.2mu
%endif
Name: python3-sip
-Version: 4.16.9
+Version: 4.17
Release: 0
Summary: SIP tool to use python sip bindings
License: GPL-2.0 or GPL-3.0 or SUSE-SIP
++++++ sip-4.16.9.tar.gz -> sip-4.17.tar.gz ++++++
++++ 7073 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package xen for openSUSE:Factory checked in at 2015-11-02 12:54:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
and /work/SRC/openSUSE:Factory/.xen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xen"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes 2015-10-14 16:43:21.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes 2015-11-02 12:54:43.000000000 +0100
@@ -1,0 +2,52 @@
+Wed Oct 28 09:47:38 MDT 2015 - carnold(a)suse.com
+
+- Upstream patches from Jan
+ 5604f239-x86-PV-properly-populate-descriptor-tables.patch
+ 561bbc8b-VT-d-don-t-suppress-invalidation-address-write-when-0.patch
+ 561d2046-VT-d-use-proper-error-codes-in-iommu_enable_x2apic_IR.patch
+ 561d20a0-x86-hide-MWAITX-from-PV-domains.patch
+ 561e3283-x86-NUMA-fix-SRAT-table-processor-entry-handling.patch
+
+-------------------------------------------------------------------
+Fri Oct 23 13:35:59 MDT 2015 - carnold(a)suse.com
+
+- bsc#951845 - VUL-0: CVE-2015-7972: xen: x86: populate-on-demand
+ balloon size inaccuracy can crash guests (XSA-153)
+ xsa153-libxl.patch
+
+-------------------------------------------------------------------
+Fri Oct 16 08:40:31 MDT 2015 - carnold(a)suse.com
+
+- bsc#950703 - VUL-1: CVE-2015-7969: xen: leak of main per-domain
+ vcpu pointer array (DoS) (XSA-149)
+ xsa149.patch
+- bsc#950705 - VUL-1: CVE-2015-7969: xen: x86: leak of per-domain
+ profiling-related vcpu pointer array (DoS) (XSA-151)
+ xsa151.patch
+- bsc#950706 - VUL-0: CVE-2015-7971: xen: x86: some pmu and
+ profiling hypercalls log without rate limiting (XSA-152)
+ xsa152.patch
+- Dropped
+ 55dc7937-x86-IO-APIC-don-t-create-pIRQ-mapping-from-masked-RTE.patch
+ 5604f239-x86-PV-properly-populate-descriptor-tables.patch
+
+-------------------------------------------------------------------
+Thu Oct 15 11:43:23 MDT 2015 - carnold(a)suse.com
+
+- bsc#932267 - VUL-1: CVE-2015-4037: qemu,kvm,xen: insecure
+ temporary file use in /net/slirp.c
+ CVE-2015-4037-qemuu-smb-config-dir-name.patch
+ CVE-2015-4037-qemut-smb-config-dir-name.patch
+- bsc#877642 - VUL-0: CVE-2014-0222: qemu: qcow1: validate L2 table
+ size to avoid integer overflows
+ CVE-2014-0222-qemuu-qcow1-validate-l2-table-size.patch
+ CVE-2014-0222-qemut-qcow1-validate-l2-table-size.patch
+
+-------------------------------------------------------------------
+Wed Oct 14 10:24:15 MDT 2015 - carnold(a)suse.com
+
+- bsc#950367 - VUL-0: CVE-2015-7835: xen: x86: Uncontrolled
+ creation of large page mappings by PV guests (XSA-148)
+ CVE-2015-7835-xsa148.patch
+
+-------------------------------------------------------------------
Old:
----
55dc7937-x86-IO-APIC-don-t-create-pIRQ-mapping-from-masked-RTE.patch
New:
----
561bbc8b-VT-d-don-t-suppress-invalidation-address-write-when-0.patch
561d2046-VT-d-use-proper-error-codes-in-iommu_enable_x2apic_IR.patch
561d20a0-x86-hide-MWAITX-from-PV-domains.patch
561e3283-x86-NUMA-fix-SRAT-table-processor-entry-handling.patch
CVE-2014-0222-qemut-qcow1-validate-l2-table-size.patch
CVE-2014-0222-qemuu-qcow1-validate-l2-table-size.patch
CVE-2015-4037-qemut-smb-config-dir-name.patch
CVE-2015-4037-qemuu-smb-config-dir-name.patch
CVE-2015-7835-xsa148.patch
xsa149.patch
xsa151.patch
xsa152.patch
xsa153-libxl.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -158,7 +158,7 @@
%endif
%endif
-Version: 4.5.1_10
+Version: 4.5.1_13
Release: 0
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
License: GPL-2.0
@@ -205,41 +205,55 @@
Patch2: 55103616-vm-assist-prepare-for-discontiguous-used-bit-numbers.patch
Patch3: 551ac326-xentop-add-support-for-qdisk.patch
Patch4: 552d0f49-x86-traps-identify-the-vcpu-in-context-when-dumping-regs.patch
-Patch5: 5537a4d8-libxl-use-DEBUG-log-level-instead-of-INFO.patch
-Patch6: 5548e903-domctl-don-t-truncate-XEN_DOMCTL_max_mem-requests.patch
-Patch7: 5548e95d-x86-allow-to-suppress-M2P-user-mode-exposure.patch
-Patch8: 554cc211-libxl-add-qxl.patch
-Patch9: 556d973f-unmodified-drivers-tolerate-IRQF_DISABLED-being-undefined.patch
-Patch10: 5576f178-kexec-add-more-pages-to-v1-environment.patch
-Patch11: 55780be1-x86-EFI-adjust-EFI_MEMORY_WP-handling-for-spec-version-2.5.patch
-Patch12: 558bfaa0-x86-traps-avoid-using-current-too-early.patch
-Patch13: 5592a116-nested-EPT-fix-the-handling-of-nested-EPT.patch
-Patch14: 559b9dd6-x86-p2m-ept-don-t-unmap-in-use-EPT-pagetable.patch
-Patch15: 559bc633-x86-cpupool-clear-proper-cpu_valid-bit-on-CPU-teardown.patch
-Patch16: 559bc64e-credit1-properly-deal-with-CPUs-not-in-any-pool.patch
-Patch17: 559bc87f-x86-hvmloader-avoid-data-corruption-with-xenstore-rw.patch
-Patch18: 559bdde5-pull-in-latest-linux-earlycpio.patch
-Patch19: 55a62eb0-xl-correct-handling-of-extra_config-in-main_cpupoolcreate.patch
-Patch20: 55a66a1e-make-rangeset_report_ranges-report-all-ranges.patch
-Patch21: 55a77e4f-dmar-device-scope-mem-leak-fix.patch
-Patch22: 55c1d83d-x86-gdt-Drop-write-only-xalloc-d-array.patch
-Patch23: 55c3232b-x86-mm-Make-hap-shadow-teardown-preemptible.patch
-Patch24: 55dc78e9-x86-amd_ucode-skip-updates-for-final-levels.patch
-Patch25: 55dc7937-x86-IO-APIC-don-t-create-pIRQ-mapping-from-masked-RTE.patch
-Patch26: 55df2f76-IOMMU-skip-domains-without-page-tables-when-dumping.patch
-Patch27: 55e43fd8-x86-NUMA-fix-setup_node.patch
-Patch28: 55e43ff8-x86-NUMA-don-t-account-hotplug-regions.patch
-Patch29: 55e593f1-x86-NUMA-make-init_node_heap-respect-Xen-heap-limit.patch
-Patch30: 55f2e438-x86-hvm-fix-saved-pmtimer-and-hpet-values.patch
-Patch31: 55f7f9d2-libxl-slightly-refine-pci-assignable-add-remove-handling.patch
-Patch32: 55f9345b-x86-MSI-fail-if-no-hardware-support.patch
-Patch33: 5604f239-x86-PV-properly-populate-descriptor-tables.patch
-Patch34: 5604f2e6-vt-d-fix-IM-bit-mask-and-unmask-of-FECTL_REG.patch
-Patch35: 560a4af9-x86-EPT-tighten-conditions-of-IOMMU-mapping-updates.patch
-Patch36: 560a7c36-x86-p2m-pt-delay-freeing-of-intermediate-page-tables.patch
-Patch37: 560a7c53-x86-p2m-pt-ignore-pt-share-flag-for-shadow-mode-guests.patch
-Patch38: 560bd926-credit1-fix-tickling-when-it-happens-from-a-remote-pCPU.patch
-Patch39: 560e6d34-x86-p2m-pt-tighten-conditions-of-IOMMU-mapping-updates.patch
+Patch5: 552d293b-x86-vMSI-X-honor-all-mask-requests.patch
+Patch6: 552d2966-x86-vMSI-X-add-valid-bits-for-read-acceleration.patch
+Patch7: 5537a4d8-libxl-use-DEBUG-log-level-instead-of-INFO.patch
+Patch8: 5548e903-domctl-don-t-truncate-XEN_DOMCTL_max_mem-requests.patch
+Patch9: 5548e95d-x86-allow-to-suppress-M2P-user-mode-exposure.patch
+Patch10: 554cc211-libxl-add-qxl.patch
+Patch11: 556d973f-unmodified-drivers-tolerate-IRQF_DISABLED-being-undefined.patch
+Patch12: 5576f143-x86-adjust-PV-I-O-emulation-functions-types.patch
+Patch13: 5576f178-kexec-add-more-pages-to-v1-environment.patch
+Patch14: 55780be1-x86-EFI-adjust-EFI_MEMORY_WP-handling-for-spec-version-2.5.patch
+Patch15: 55795a52-x86-vMSI-X-support-qword-MMIO-access.patch
+Patch16: 5583d9c5-x86-MSI-X-cleanup.patch
+Patch17: 5583da09-x86-MSI-track-host-and-guest-masking-separately.patch
+Patch18: 558bfaa0-x86-traps-avoid-using-current-too-early.patch
+Patch19: 5592a116-nested-EPT-fix-the-handling-of-nested-EPT.patch
+Patch20: 559b9dd6-x86-p2m-ept-don-t-unmap-in-use-EPT-pagetable.patch
+Patch21: 559bc633-x86-cpupool-clear-proper-cpu_valid-bit-on-CPU-teardown.patch
+Patch22: 559bc64e-credit1-properly-deal-with-CPUs-not-in-any-pool.patch
+Patch23: 559bc87f-x86-hvmloader-avoid-data-corruption-with-xenstore-rw.patch
+Patch24: 559bdde5-pull-in-latest-linux-earlycpio.patch
+Patch25: 55a62eb0-xl-correct-handling-of-extra_config-in-main_cpupoolcreate.patch
+Patch26: 55a66a1e-make-rangeset_report_ranges-report-all-ranges.patch
+Patch27: 55a77e4f-dmar-device-scope-mem-leak-fix.patch
+Patch28: 55b0a218-x86-PCI-CFG-write-intercept.patch
+Patch29: 55b0a255-x86-MSI-X-maskall.patch
+Patch30: 55b0a283-x86-MSI-X-teardown.patch
+Patch31: 55b0a2ab-x86-MSI-X-enable.patch
+Patch32: 55b0a2db-x86-MSI-track-guest-masking.patch
+Patch33: 55c1d83d-x86-gdt-Drop-write-only-xalloc-d-array.patch
+Patch34: 55c3232b-x86-mm-Make-hap-shadow-teardown-preemptible.patch
+Patch35: 55dc78e9-x86-amd_ucode-skip-updates-for-final-levels.patch
+Patch36: 55df2f76-IOMMU-skip-domains-without-page-tables-when-dumping.patch
+Patch37: 55e43fd8-x86-NUMA-fix-setup_node.patch
+Patch38: 55e43ff8-x86-NUMA-don-t-account-hotplug-regions.patch
+Patch39: 55e593f1-x86-NUMA-make-init_node_heap-respect-Xen-heap-limit.patch
+Patch40: 55f2e438-x86-hvm-fix-saved-pmtimer-and-hpet-values.patch
+Patch41: 55f7f9d2-libxl-slightly-refine-pci-assignable-add-remove-handling.patch
+Patch42: 55f9345b-x86-MSI-fail-if-no-hardware-support.patch
+Patch43: 5604f239-x86-PV-properly-populate-descriptor-tables.patch
+Patch44: 5604f2e6-vt-d-fix-IM-bit-mask-and-unmask-of-FECTL_REG.patch
+Patch45: 560a4af9-x86-EPT-tighten-conditions-of-IOMMU-mapping-updates.patch
+Patch46: 560a7c36-x86-p2m-pt-delay-freeing-of-intermediate-page-tables.patch
+Patch47: 560a7c53-x86-p2m-pt-ignore-pt-share-flag-for-shadow-mode-guests.patch
+Patch48: 560bd926-credit1-fix-tickling-when-it-happens-from-a-remote-pCPU.patch
+Patch49: 560e6d34-x86-p2m-pt-tighten-conditions-of-IOMMU-mapping-updates.patch
+Patch50: 561bbc8b-VT-d-don-t-suppress-invalidation-address-write-when-0.patch
+Patch51: 561d2046-VT-d-use-proper-error-codes-in-iommu_enable_x2apic_IR.patch
+Patch52: 561d20a0-x86-hide-MWAITX-from-PV-domains.patch
+Patch53: 561e3283-x86-NUMA-fix-SRAT-table-processor-entry-handling.patch
Patch131: CVE-2015-4106-xsa131-9.patch
Patch137: CVE-2015-3259-xsa137.patch
Patch139: xsa139-qemuu.patch
@@ -258,6 +272,11 @@
Patch14016: xsa140-qemut-6.patch
Patch14017: xsa140-qemut-7.patch
Patch142: CVE-2015-7311-xsa142.patch
+Patch148: CVE-2015-7835-xsa148.patch
+Patch149: xsa149.patch
+Patch151: xsa151.patch
+Patch152: xsa152.patch
+Patch153: xsa153-libxl.patch
# Upstream qemu
Patch250: VNC-Support-for-ExtendedKeyEvent-client-message.patch
Patch251: 0001-net-move-the-tap-buffer-into-TAPState.patch
@@ -278,6 +297,10 @@
Patch266: CVE-2015-6815-qemut-e1000-fix-infinite-loop.patch
Patch267: CVE-2015-5239-qemuu-limit-client_cut_text-msg-payload-size.patch
Patch268: CVE-2015-5239-qemut-limit-client_cut_text-msg-payload-size.patch
+Patch269: CVE-2015-4037-qemuu-smb-config-dir-name.patch
+Patch270: CVE-2015-4037-qemut-smb-config-dir-name.patch
+Patch271: CVE-2014-0222-qemuu-qcow1-validate-l2-table-size.patch
+Patch272: CVE-2014-0222-qemut-qcow1-validate-l2-table-size.patch
# Our platform specific patches
Patch301: xen-destdir.patch
Patch302: vif-bridge-no-iptables.patch
@@ -363,18 +386,6 @@
Patch606: xen.build-compare.seabios.patch
Patch607: xen.build-compare.man.patch
Patch608: ipxe-no-error-logical-not-parentheses.patch
-# MSI issues (bsc#907514 bsc#910258 bsc#918984 bsc#923967)
-Patch700: 552d293b-x86-vMSI-X-honor-all-mask-requests.patch
-Patch701: 552d2966-x86-vMSI-X-add-valid-bits-for-read-acceleration.patch
-Patch702: 5576f143-x86-adjust-PV-I-O-emulation-functions-types.patch
-Patch703: 55795a52-x86-vMSI-X-support-qword-MMIO-access.patch
-Patch704: 5583d9c5-x86-MSI-X-cleanup.patch
-Patch705: 5583da09-x86-MSI-track-host-and-guest-masking-separately.patch
-Patch706: 55b0a218-x86-PCI-CFG-write-intercept.patch
-Patch707: 55b0a255-x86-MSI-X-maskall.patch
-Patch708: 55b0a283-x86-MSI-X-teardown.patch
-Patch709: 55b0a2ab-x86-MSI-X-enable.patch
-Patch710: 55b0a2db-x86-MSI-track-guest-masking.patch
# grant table performance improvements
Patch715: 54c2553c-grant-table-use-uint16_t-consistently-for-offset-and-length.patch
Patch716: 54ca33bc-grant-table-refactor-grant-copy-to-reduce-duplicate-code.patch
@@ -648,6 +659,20 @@
%patch37 -p1
%patch38 -p1
%patch39 -p1
+%patch40 -p1
+%patch41 -p1
+%patch42 -p1
+%patch43 -p1
+%patch44 -p1
+%patch45 -p1
+%patch46 -p1
+%patch47 -p1
+%patch48 -p1
+%patch49 -p1
+%patch50 -p1
+%patch51 -p1
+%patch52 -p1
+%patch53 -p1
%patch131 -p1
%patch137 -p1
%patch139 -p1
@@ -666,6 +691,11 @@
%patch14016 -p1
%patch14017 -p1
%patch142 -p1
+%patch148 -p1
+%patch149 -p1
+%patch151 -p1
+%patch152 -p1
+%patch153 -p1
# Upstream qemu patches
%patch250 -p1
%patch251 -p1
@@ -686,6 +716,10 @@
%patch266 -p1
%patch267 -p1
%patch268 -p1
+%patch269 -p1
+%patch270 -p1
+%patch271 -p1
+%patch272 -p1
# Our platform specific patches
%patch301 -p1
%patch302 -p1
@@ -770,18 +804,6 @@
%patch606 -p1
%patch607 -p1
%patch608 -p1
-# MSI issues (bsc#907514 bsc#910258 bsc#918984 bsc#923967)
-%patch700 -p1
-%patch701 -p1
-%patch702 -p1
-%patch703 -p1
-%patch704 -p1
-%patch705 -p1
-%patch706 -p1
-%patch707 -p1
-%patch708 -p1
-%patch709 -p1
-%patch710 -p1
# grant table performance improvements
%patch715 -p1
%patch716 -p1
++++++ 557eb620-gnttab-make-the-grant-table-lock-a-read-write-lock.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -113,7 +113,7 @@
if ( idx != 0 )
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
-@@ -4592,7 +4592,7 @@ int xenmem_add_to_physmap_one(
+@@ -4595,7 +4595,7 @@ int xenmem_add_to_physmap_one(
mfn = virt_to_mfn(d->shared_info);
break;
case XENMAPSPACE_grant_table:
@@ -122,7 +122,7 @@
if ( d->grant_table->gt_version == 0 )
d->grant_table->gt_version = 1;
-@@ -4614,7 +4614,7 @@ int xenmem_add_to_physmap_one(
+@@ -4617,7 +4617,7 @@ int xenmem_add_to_physmap_one(
mfn = virt_to_mfn(d->grant_table->shared_raw[idx]);
}
@@ -133,7 +133,7 @@
case XENMAPSPACE_gmfn:
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
-@@ -196,7 +196,7 @@ active_entry_acquire(struct grant_table
+@@ -196,7 +196,7 @@ active_entry_acquire(struct grant_table
{
struct active_grant_entry *act;
++++++ 5583d9c5-x86-MSI-X-cleanup.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -104,7 +104,7 @@
u32 mask_bits;
u16 seg = entry->dev->seg;
u8 bus = entry->dev->bus;
-@@ -703,13 +707,14 @@ static u64 read_pci_mem_bar(u16 seg, u8
+@@ -701,13 +705,14 @@ static u64 read_pci_mem_bar(u16 seg, u8
* requested MSI-X entries with allocated irqs or non-zero for otherwise.
**/
static int msix_capability_init(struct pci_dev *dev,
@@ -120,7 +120,7 @@
u16 control;
u64 table_paddr;
u32 table_offset;
-@@ -721,7 +726,6 @@ static int msix_capability_init(struct p
+@@ -719,7 +724,6 @@ static int msix_capability_init(struct p
ASSERT(spin_is_locked(&pcidevs_lock));
@@ -128,7 +128,7 @@
control = pci_conf_read16(seg, bus, slot, func, msix_control_reg(pos));
msix_set_enable(dev, 0);/* Ensure msix is disabled as I set it up */
-@@ -886,10 +890,9 @@ static int __pci_enable_msi(struct msi_i
+@@ -884,10 +888,9 @@ static int __pci_enable_msi(struct msi_i
old_desc = find_msi_entry(pdev, msi->irq, PCI_CAP_ID_MSI);
if ( old_desc )
{
@@ -142,7 +142,7 @@
*desc = old_desc;
return 0;
}
-@@ -897,10 +900,10 @@ static int __pci_enable_msi(struct msi_i
+@@ -895,10 +898,10 @@ static int __pci_enable_msi(struct msi_i
old_desc = find_msi_entry(pdev, -1, PCI_CAP_ID_MSIX);
if ( old_desc )
{
@@ -157,7 +157,7 @@
}
return msi_capability_init(pdev, msi->irq, desc, msi->entry_nr);
-@@ -914,7 +917,6 @@ static void __pci_disable_msi(struct msi
+@@ -912,7 +915,6 @@ static void __pci_disable_msi(struct msi
msi_set_enable(dev, 0);
BUG_ON(list_empty(&dev->msi_list));
@@ -165,7 +165,7 @@
}
/**
-@@ -934,7 +936,7 @@ static void __pci_disable_msi(struct msi
+@@ -932,7 +934,7 @@ static void __pci_disable_msi(struct msi
**/
static int __pci_enable_msix(struct msi_info *msi, struct msi_desc **desc)
{
@@ -174,7 +174,7 @@
struct pci_dev *pdev;
u16 control;
u8 slot = PCI_SLOT(msi->devfn);
-@@ -943,23 +945,22 @@ static int __pci_enable_msix(struct msi_
+@@ -941,23 +943,22 @@ static int __pci_enable_msix(struct msi_
ASSERT(spin_is_locked(&pcidevs_lock));
pdev = pci_get_pdev(msi->seg, msi->bus, msi->devfn);
@@ -204,7 +204,7 @@
*desc = old_desc;
return 0;
}
-@@ -967,15 +968,13 @@ static int __pci_enable_msix(struct msi_
+@@ -965,15 +966,13 @@ static int __pci_enable_msix(struct msi_
old_desc = find_msi_entry(pdev, -1, PCI_CAP_ID_MSI);
if ( old_desc )
{
@@ -225,7 +225,7 @@
}
static void _pci_cleanup_msix(struct arch_msix *msix)
-@@ -993,19 +992,16 @@ static void _pci_cleanup_msix(struct arc
+@@ -991,19 +990,16 @@ static void _pci_cleanup_msix(struct arc
static void __pci_disable_msix(struct msi_desc *entry)
{
@@ -254,7 +254,7 @@
msix_set_enable(dev, 0);
BUG_ON(list_empty(&dev->msi_list));
-@@ -1047,7 +1043,7 @@ int pci_prepare_msix(u16 seg, u8 bus, u8
+@@ -1045,7 +1041,7 @@ int pci_prepare_msix(u16 seg, u8 bus, u8
u16 control = pci_conf_read16(seg, bus, slot, func,
msix_control_reg(pos));
@@ -263,7 +263,7 @@
multi_msix_capable(control));
}
spin_unlock(&pcidevs_lock);
-@@ -1066,8 +1062,8 @@ int pci_enable_msi(struct msi_info *msi,
+@@ -1064,8 +1060,8 @@ int pci_enable_msi(struct msi_info *msi,
if ( !use_msi )
return -EPERM;
@@ -274,7 +274,7 @@
}
/*
-@@ -1117,7 +1113,9 @@ int pci_restore_msi_state(struct pci_dev
+@@ -1115,7 +1111,9 @@ int pci_restore_msi_state(struct pci_dev
if ( !pdev )
return -EINVAL;
++++++ 5583da09-x86-MSI-track-host-and-guest-masking-separately.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -137,7 +137,7 @@
spin_unlock_irqrestore(&desc->lock, flags);
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
-@@ -2503,6 +2503,25 @@ int unmap_domain_pirq_emuirq(struct doma
+@@ -2502,6 +2502,25 @@ int unmap_domain_pirq_emuirq(struct doma
return ret;
}
@@ -230,7 +230,7 @@
.enable = unmask_msi_irq,
.disable = mask_msi_irq,
.ack = ack_maskable_msi_irq,
-@@ -593,7 +605,8 @@ static int msi_capability_init(struct pc
+@@ -591,7 +603,8 @@ static int msi_capability_init(struct pc
entry[i].msi_attrib.is_64 = is_64bit_address(control);
entry[i].msi_attrib.entry_nr = i;
entry[i].msi_attrib.maskbit = is_mask_bit_support(control);
@@ -240,7 +240,7 @@
entry[i].msi_attrib.pos = pos;
if ( entry[i].msi_attrib.maskbit )
entry[i].msi.mpos = mpos;
-@@ -819,7 +832,8 @@ static int msix_capability_init(struct p
+@@ -817,7 +830,8 @@ static int msix_capability_init(struct p
entry->msi_attrib.is_64 = 1;
entry->msi_attrib.entry_nr = msi->entry_nr;
entry->msi_attrib.maskbit = 1;
@@ -250,7 +250,7 @@
entry->msi_attrib.pos = pos;
entry->irq = msi->irq;
entry->dev = dev;
-@@ -1154,7 +1168,8 @@ int pci_restore_msi_state(struct pci_dev
+@@ -1152,7 +1166,8 @@ int pci_restore_msi_state(struct pci_dev
for ( i = 0; ; )
{
@@ -260,7 +260,7 @@
if ( !--nr )
break;
-@@ -1306,7 +1321,7 @@ static void dump_msi(unsigned char key)
+@@ -1304,7 +1319,7 @@ static void dump_msi(unsigned char key)
else
mask = '?';
printk(" %-6s%4u vec=%02x%7s%6s%3sassert%5s%7s"
@@ -269,7 +269,7 @@
type, irq,
(data & MSI_DATA_VECTOR_MASK) >> MSI_DATA_VECTOR_SHIFT,
data & MSI_DATA_DELIVERY_LOWPRI ? "lowest" : "fixed",
-@@ -1314,7 +1329,10 @@ static void dump_msi(unsigned char key)
+@@ -1312,7 +1327,10 @@ static void dump_msi(unsigned char key)
data & MSI_DATA_LEVEL_ASSERT ? "" : "de",
addr & MSI_ADDR_DESTMODE_LOGIC ? "log" : "phys",
addr & MSI_ADDR_REDIRECTION_LOWPRI ? "lowest" : "cpu",
@@ -317,18 +317,18 @@
static unsigned int iommu_msi_startup(struct irq_desc *desc)
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
-@@ -999,7 +999,7 @@ static void dma_msi_unmask(struct irq_de
- sts &= ~DMA_FECTL_IM;
- dmar_writel(iommu->reg, DMAR_FECTL_REG, sts);
+@@ -996,7 +996,7 @@ static void dma_msi_unmask(struct irq_de
+ spin_lock_irqsave(&iommu->register_lock, flags);
+ dmar_writel(iommu->reg, DMAR_FECTL_REG, 0);
spin_unlock_irqrestore(&iommu->register_lock, flags);
- iommu->msi.msi_attrib.masked = 0;
+ iommu->msi.msi_attrib.host_masked = 0;
}
static void dma_msi_mask(struct irq_desc *desc)
-@@ -1014,7 +1014,7 @@ static void dma_msi_mask(struct irq_desc
- sts |= DMA_FECTL_IM;
- dmar_writel(iommu->reg, DMAR_FECTL_REG, sts);
+@@ -1008,7 +1008,7 @@ static void dma_msi_mask(struct irq_desc
+ spin_lock_irqsave(&iommu->register_lock, flags);
+ dmar_writel(iommu->reg, DMAR_FECTL_REG, DMA_FECTL_IM);
spin_unlock_irqrestore(&iommu->register_lock, flags);
- iommu->msi.msi_attrib.masked = 1;
+ iommu->msi.msi_attrib.host_masked = 1;
++++++ 55b0a218-x86-PCI-CFG-write-intercept.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -14,7 +14,7 @@
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
-@@ -1110,6 +1110,12 @@ void pci_cleanup_msi(struct pci_dev *pde
+@@ -1108,6 +1108,12 @@ void pci_cleanup_msi(struct pci_dev *pde
msi_free_irqs(pdev);
}
++++++ 55b0a255-x86-MSI-X-maskall.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -15,7 +15,7 @@
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
-@@ -845,6 +845,12 @@ static int msix_capability_init(struct p
+@@ -843,6 +843,12 @@ static int msix_capability_init(struct p
if ( !msix->used_entries )
{
@@ -28,7 +28,7 @@
if ( rangeset_add_range(mmio_ro_ranges, msix->table.first,
msix->table.last) )
WARN();
-@@ -1113,6 +1119,34 @@ void pci_cleanup_msi(struct pci_dev *pde
+@@ -1111,6 +1117,34 @@ void pci_cleanup_msi(struct pci_dev *pde
int pci_msi_conf_write_intercept(struct pci_dev *pdev, unsigned int reg,
unsigned int size, uint32_t *data)
{
++++++ 55b0a283-x86-MSI-X-teardown.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -265,7 +265,7 @@
}
void guest_mask_msi_irq(struct irq_desc *desc, bool_t mask)
-@@ -422,13 +489,15 @@ void guest_mask_msi_irq(struct irq_desc
+@@ -422,13 +489,15 @@ void guest_mask_msi_irq(struct irq_desc
static unsigned int startup_msi_irq(struct irq_desc *desc)
{
@@ -283,7 +283,7 @@
}
void ack_nonmaskable_msi_irq(struct irq_desc *desc)
-@@ -742,6 +811,9 @@ static int msix_capability_init(struct p
+@@ -740,6 +809,9 @@ static int msix_capability_init(struct p
control = pci_conf_read16(seg, bus, slot, func, msix_control_reg(pos));
msix_set_enable(dev, 0);/* Ensure msix is disabled as I set it up */
@@ -293,7 +293,7 @@
if ( desc )
{
entry = alloc_msi_entry(1);
-@@ -881,7 +953,8 @@ static int msix_capability_init(struct p
+@@ -879,7 +951,8 @@ static int msix_capability_init(struct p
++msix->used_entries;
/* Restore MSI-X enabled bits */
@@ -303,7 +303,7 @@
return 0;
}
-@@ -1026,8 +1099,16 @@ static void __pci_disable_msix(struct ms
+@@ -1024,8 +1097,16 @@ static void __pci_disable_msix(struct ms
BUG_ON(list_empty(&dev->msi_list));
@@ -322,7 +322,7 @@
pci_conf_write16(seg, bus, slot, func, msix_control_reg(pos), control);
_pci_cleanup_msix(dev->msix);
-@@ -1201,15 +1282,24 @@ int pci_restore_msi_state(struct pci_dev
+@@ -1199,15 +1280,24 @@ int pci_restore_msi_state(struct pci_dev
nr = entry->msi.nvec;
}
else if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
++++++ 55b0a2ab-x86-MSI-X-enable.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -171,7 +171,7 @@
}
int __setup_msi_irq(struct irq_desc *desc, struct msi_desc *msidesc,
-@@ -805,20 +850,38 @@ static int msix_capability_init(struct p
+@@ -803,20 +848,38 @@ static int msix_capability_init(struct p
u8 bus = dev->bus;
u8 slot = PCI_SLOT(dev->devfn);
u8 func = PCI_FUNC(dev->devfn);
@@ -211,7 +211,7 @@
ASSERT(msi);
}
-@@ -849,6 +912,8 @@ static int msix_capability_init(struct p
+@@ -847,6 +910,8 @@ static int msix_capability_init(struct p
{
if ( !msi || !msi->table_base )
{
@@ -220,7 +220,7 @@
xfree(entry);
return -ENXIO;
}
-@@ -891,6 +956,8 @@ static int msix_capability_init(struct p
+@@ -889,6 +954,8 @@ static int msix_capability_init(struct p
if ( idx < 0 )
{
@@ -229,7 +229,7 @@
xfree(entry);
return idx;
}
-@@ -917,7 +984,7 @@ static int msix_capability_init(struct p
+@@ -915,7 +982,7 @@ static int msix_capability_init(struct p
if ( !msix->used_entries )
{
@@ -238,7 +238,7 @@
if ( !msix->guest_maskall )
control &= ~PCI_MSIX_FLAGS_MASKALL;
else
-@@ -953,8 +1020,8 @@ static int msix_capability_init(struct p
+@@ -951,8 +1018,8 @@ static int msix_capability_init(struct p
++msix->used_entries;
/* Restore MSI-X enabled bits */
@@ -249,7 +249,7 @@
return 0;
}
-@@ -1094,8 +1161,15 @@ static void __pci_disable_msix(struct ms
+@@ -1092,8 +1159,15 @@ static void __pci_disable_msix(struct ms
PCI_CAP_ID_MSIX);
u16 control = pci_conf_read16(seg, bus, slot, func,
msix_control_reg(entry->msi_attrib.pos));
@@ -266,7 +266,7 @@
BUG_ON(list_empty(&dev->msi_list));
-@@ -1107,8 +1181,11 @@ static void __pci_disable_msix(struct ms
+@@ -1105,8 +1179,11 @@ static void __pci_disable_msix(struct ms
"cannot disable IRQ %d: masking MSI-X on %04x:%02x:%02x.%u\n",
entry->irq, dev->seg, dev->bus,
PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn));
@@ -279,7 +279,7 @@
pci_conf_write16(seg, bus, slot, func, msix_control_reg(pos), control);
_pci_cleanup_msix(dev->msix);
-@@ -1257,6 +1334,8 @@ int pci_restore_msi_state(struct pci_dev
+@@ -1255,6 +1332,8 @@ int pci_restore_msi_state(struct pci_dev
list_for_each_entry_safe( entry, tmp, &pdev->msi_list, list )
{
unsigned int i = 0, nr = 1;
@@ -288,7 +288,7 @@
irq = entry->irq;
desc = &irq_desc[irq];
-@@ -1283,10 +1362,18 @@ int pci_restore_msi_state(struct pci_dev
+@@ -1281,10 +1360,18 @@ int pci_restore_msi_state(struct pci_dev
}
else if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
{
@@ -308,7 +308,7 @@
return -ENXIO;
}
}
-@@ -1316,11 +1403,9 @@ int pci_restore_msi_state(struct pci_dev
+@@ -1314,11 +1401,9 @@ int pci_restore_msi_state(struct pci_dev
if ( entry->msi_attrib.type == PCI_CAP_ID_MSI )
{
unsigned int cpos = msi_control_reg(entry->msi_attrib.pos);
@@ -322,7 +322,7 @@
multi_msi_enable(control, entry->msi.nvec);
pci_conf_write16(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
PCI_FUNC(pdev->devfn), cpos, control);
-@@ -1328,7 +1413,9 @@ int pci_restore_msi_state(struct pci_dev
+@@ -1326,7 +1411,9 @@ int pci_restore_msi_state(struct pci_dev
msi_set_enable(pdev, 1);
}
else if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
++++++ 55b0a2db-x86-MSI-track-guest-masking.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -15,7 +15,7 @@
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
-@@ -1305,6 +1305,37 @@ int pci_msi_conf_write_intercept(struct
+@@ -1303,6 +1303,37 @@ int pci_msi_conf_write_intercept(struct
return 1;
}
++++++ 55f9345b-x86-MSI-fail-if-no-hardware-support.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -12,7 +12,7 @@
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
-@@ -566,6 +566,8 @@ static int msi_capability_init(struct pc
+@@ -696,6 +696,8 @@ static int msi_capability_init(struct pc
ASSERT(spin_is_locked(&pcidevs_lock));
pos = pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSI);
++++++ 5604f239-x86-PV-properly-populate-descriptor-tables.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -18,9 +18,25 @@
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3(a)citrix.com>
+# Commit 61031e64d3dafd2fb1953436444bf02eccb9b146
+# Date 2015-10-27 14:46:12 +0100
+# Author Jan Beulich <jbeulich(a)suse.com>
+# Committer Jan Beulich <jbeulich(a)suse.com>
+x86/PV: don't zero-map LDT
+
+This effectvely reverts the LDT related part of commit cf6d39f819
+("x86/PV: properly populate descriptor tables"), which broke demand
+paged LDT handling in guests.
+
+Reported-by: David Vrabel <david.vrabel(a)citrix.com>
+Diagnosed-by: Andrew Cooper <andrew.cooper3(a)citrix.com>
+Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
+Tested-by: David Vrabel <david.vrabel(a)citrix.com>
+Reviewed-by: Andrew Cooper <andrew.cooper3(a)citrix.com>
+
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
-@@ -505,12 +505,13 @@ void update_cr3(struct vcpu *v)
+@@ -505,12 +505,12 @@ void update_cr3(struct vcpu *v)
make_cr3(v, cr3_mfn);
}
@@ -32,24 +48,24 @@
- int i;
- unsigned long pfn;
+ unsigned int i;
-+ unsigned long pfn, zero_pfn = PFN_DOWN(__pa(zero_page));
struct page_info *page;
BUG_ON(unlikely(in_irq()));
-@@ -526,8 +527,10 @@ static void invalidate_shadow_ldt(struct
+@@ -525,10 +525,10 @@ static void invalidate_shadow_ldt(struct
+
for ( i = 16; i < 32; i++ )
{
- pfn = l1e_get_pfn(pl1e[i]);
+- pfn = l1e_get_pfn(pl1e[i]);
- if ( pfn == 0 ) continue;
-- l1e_write(&pl1e[i], l1e_empty());
-+ if ( !(l1e_get_flags(pl1e[i]) & _PAGE_PRESENT) || pfn == zero_pfn )
++ if ( !(l1e_get_flags(pl1e[i]) & _PAGE_PRESENT) )
+ continue;
-+ l1e_write(&pl1e[i],
-+ l1e_from_pfn(zero_pfn, __PAGE_HYPERVISOR & ~_PAGE_RW));
- page = mfn_to_page(pfn);
++ page = l1e_get_page(pl1e[i]);
+ l1e_write(&pl1e[i], l1e_empty());
+- page = mfn_to_page(pfn);
ASSERT_PAGE_IS_TYPE(page, PGT_seg_desc_page);
ASSERT_PAGE_IS_DOMAIN(page, v->domain);
-@@ -4360,16 +4363,18 @@ long do_update_va_mapping_otherdomain(un
+ put_page_and_type(page);
+@@ -4360,16 +4360,18 @@ long do_update_va_mapping_otherdomain(un
void destroy_gdt(struct vcpu *v)
{
l1_pgentry_t *pl1e;
@@ -72,7 +88,7 @@
v->arch.pv_vcpu.gdt_frames[i] = 0;
}
}
-@@ -4382,7 +4387,7 @@ long set_gdt(struct vcpu *v,
+@@ -4382,7 +4384,7 @@ long set_gdt(struct vcpu *v,
struct domain *d = v->domain;
l1_pgentry_t *pl1e;
/* NB. There are 512 8-byte entries per GDT page. */
++++++ 5604f2e6-vt-d-fix-IM-bit-mask-and-unmask-of-FECTL_REG.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -39,7 +39,7 @@
+ sts &= ~DMA_FECTL_IM;
+ dmar_writel(iommu->reg, DMAR_FECTL_REG, sts);
spin_unlock_irqrestore(&iommu->register_lock, flags);
- iommu->msi.msi_attrib.masked = 0;
+ iommu->msi.msi_attrib.host_masked = 0;
}
@@ -1003,10 +1006,13 @@ static void dma_msi_mask(struct irq_desc
{
@@ -54,7 +54,7 @@
+ sts |= DMA_FECTL_IM;
+ dmar_writel(iommu->reg, DMAR_FECTL_REG, sts);
spin_unlock_irqrestore(&iommu->register_lock, flags);
- iommu->msi.msi_attrib.masked = 1;
+ iommu->msi.msi_attrib.host_masked = 1;
}
@@ -2002,6 +2008,7 @@ static int init_vtd_hw(void)
struct iommu_flush *flush = NULL;
++++++ 561bbc8b-VT-d-don-t-suppress-invalidation-address-write-when-0.patch ++++++
# Commit 710942e57fb42ff8f344ca82f6b678f67e38ae63
# Date 2015-10-12 15:58:35 +0200
# Author Jan Beulich <jbeulich(a)suse.com>
# Committer Jan Beulich <jbeulich(a)suse.com>
VT-d: don't suppress invalidation address write when it is zero
GFN zero is a valid address, and hence may need invalidation done for
it just like for any other GFN.
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3(a)citrix.com>
Acked-by: Yang Zhang <yang.z.zhang(a)intel.com>
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -414,7 +414,7 @@ static int flush_iotlb_reg(void *_iommu,
{
struct iommu *iommu = (struct iommu *) _iommu;
int tlb_offset = ecap_iotlb_offset(iommu->ecap);
- u64 val = 0, val_iva = 0;
+ u64 val = 0;
unsigned long flags;
/*
@@ -435,7 +435,6 @@ static int flush_iotlb_reg(void *_iommu,
switch ( type )
{
case DMA_TLB_GLOBAL_FLUSH:
- /* global flush doesn't need set IVA_REG */
val = DMA_TLB_GLOBAL_FLUSH|DMA_TLB_IVT;
break;
case DMA_TLB_DSI_FLUSH:
@@ -443,8 +442,6 @@ static int flush_iotlb_reg(void *_iommu,
break;
case DMA_TLB_PSI_FLUSH:
val = DMA_TLB_PSI_FLUSH|DMA_TLB_IVT|DMA_TLB_DID(did);
- /* Note: always flush non-leaf currently */
- val_iva = size_order | addr;
break;
default:
BUG();
@@ -457,8 +454,11 @@ static int flush_iotlb_reg(void *_iommu,
spin_lock_irqsave(&iommu->register_lock, flags);
/* Note: Only uses first TLB reg currently */
- if ( val_iva )
- dmar_writeq(iommu->reg, tlb_offset, val_iva);
+ if ( type == DMA_TLB_PSI_FLUSH )
+ {
+ /* Note: always flush non-leaf currently. */
+ dmar_writeq(iommu->reg, tlb_offset, size_order | addr);
+ }
dmar_writeq(iommu->reg, tlb_offset + 8, val);
/* Make sure hardware complete it */
++++++ 561d2046-VT-d-use-proper-error-codes-in-iommu_enable_x2apic_IR.patch ++++++
# Commit 6851e979874ebc05d270ea94360c49d920d3eaf4
# Date 2015-10-13 17:16:22 +0200
# Author Jan Beulich <jbeulich(a)suse.com>
# Committer Jan Beulich <jbeulich(a)suse.com>
VT-d: use proper error codes in iommu_enable_x2apic_IR()
... allowing to suppress a confusing message combination: When
ACPI_DMAR_X2APIC_OPT_OUT is set, so far we first logged a message
that IR could not be enabled (hence not using x2APIC), followed by
one indicating successful initialization of IR (if no other problems
prevented that).
Also adjust the return type of iommu_supports_eim() and fix some
broken indentation in the function.
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3(a)citrix.com>
Acked-by: Yang Zhang <yang.z.zhang(a)intel.com>
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -946,8 +946,18 @@ void __init x2apic_bsp_setup(void)
mask_8259A();
mask_IO_APIC_setup(ioapic_entries);
- if ( iommu_enable_x2apic_IR() )
+ switch ( iommu_enable_x2apic_IR() )
{
+ case 0:
+ break;
+ case -ENXIO: /* ACPI_DMAR_X2APIC_OPT_OUT set */
+ if ( !x2apic_enabled )
+ {
+ printk("Not enabling x2APIC (upon firmware request)\n");
+ goto restore_out;
+ }
+ /* fall through */
+ default:
if ( x2apic_enabled )
panic("Interrupt remapping could not be enabled while "
"x2APIC is already enabled by BIOS");
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -144,10 +144,10 @@ static void set_hpet_source_id(unsigned
set_ire_sid(ire, SVT_VERIFY_SID_SQ, SQ_13_IGNORE_3, hpetid_to_bdf(id));
}
-int iommu_supports_eim(void)
+bool_t iommu_supports_eim(void)
{
struct acpi_drhd_unit *drhd;
- int apic;
+ unsigned int apic;
if ( !iommu_qinval || !iommu_intremap || list_empty(&acpi_drhd_units) )
return 0;
@@ -155,12 +155,12 @@ int iommu_supports_eim(void)
/* We MUST have a DRHD unit for each IOAPIC. */
for ( apic = 0; apic < nr_ioapics; apic++ )
if ( !ioapic_to_drhd(IO_APIC_ID(apic)) )
- {
+ {
dprintk(XENLOG_WARNING VTDPREFIX,
"There is not a DRHD for IOAPIC %#x (id: %#x)!\n",
apic, IO_APIC_ID(apic));
return 0;
- }
+ }
for_each_drhd_unit ( drhd )
if ( !ecap_queued_inval(drhd->iommu->ecap) ||
@@ -834,10 +834,10 @@ int iommu_enable_x2apic_IR(void)
struct iommu *iommu;
if ( !iommu_supports_eim() )
- return -1;
+ return -EOPNOTSUPP;
if ( !platform_supports_x2apic() )
- return -1;
+ return -ENXIO;
for_each_drhd_unit ( drhd )
{
@@ -862,7 +862,7 @@ int iommu_enable_x2apic_IR(void)
{
dprintk(XENLOG_INFO VTDPREFIX,
"Failed to enable Queued Invalidation!\n");
- return -1;
+ return -EIO;
}
}
@@ -874,7 +874,7 @@ int iommu_enable_x2apic_IR(void)
{
dprintk(XENLOG_INFO VTDPREFIX,
"Failed to enable Interrupt Remapping!\n");
- return -1;
+ return -EIO;
}
}
--- a/xen/include/asm-x86/iommu.h
+++ b/xen/include/asm-x86/iommu.h
@@ -28,7 +28,7 @@ int iommu_setup_hpet_msi(struct msi_desc
/* While VT-d specific, this must get declared in a generic header. */
int adjust_vtd_irq_affinities(void);
void iommu_pte_flush(struct domain *d, u64 gfn, u64 *pte, int order, int present);
-int iommu_supports_eim(void);
+bool_t iommu_supports_eim(void);
int iommu_enable_x2apic_IR(void);
void iommu_disable_x2apic_IR(void);
++++++ 561d20a0-x86-hide-MWAITX-from-PV-domains.patch ++++++
# Commit 941cd44324db7eddc46cba4596fa13d505066ccf
# Date 2015-10-13 17:17:52 +0200
# Author Jan Beulich <jbeulich(a)suse.com>
# Committer Jan Beulich <jbeulich(a)suse.com>
x86: hide MWAITX from PV domains
Since MWAIT is hidden too. (Linux starting with 4.3 is making use of
that feature, and is checking for it without looking at the MWAIT one.)
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3(a)citrix.com>
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -904,6 +904,7 @@ void pv_cpuid(struct cpu_user_regs *regs
__clear_bit(X86_FEATURE_LWP % 32, &c);
__clear_bit(X86_FEATURE_NODEID_MSR % 32, &c);
__clear_bit(X86_FEATURE_TOPOEXT % 32, &c);
+ __clear_bit(X86_FEATURE_MWAITX % 32, &c);
break;
case 0x00000005: /* MONITOR/MWAIT */
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -137,6 +137,7 @@
#define X86_FEATURE_TBM (6*32+21) /* trailing bit manipulations */
#define X86_FEATURE_TOPOEXT (6*32+22) /* topology extensions CPUID leafs */
#define X86_FEATURE_DBEXT (6*32+26) /* data breakpoint extension */
+#define X86_FEATURE_MWAITX (6*32+29) /* MWAIT extension (MONITORX/MWAITX) */
/* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx), word 7 */
#define X86_FEATURE_FSGSBASE (7*32+ 0) /* {RD,WR}{FS,GS}BASE instructions */
++++++ 561e3283-x86-NUMA-fix-SRAT-table-processor-entry-handling.patch ++++++
# Commit 83281fc9b31396e94c0bfb6550b75c165037a0ad
# Date 2015-10-14 12:46:27 +0200
# Author Jan Beulich <jbeulich(a)suse.com>
# Committer Jan Beulich <jbeulich(a)suse.com>
x86/NUMA: fix SRAT table processor entry parsing and consumption
- don't overrun apicid_to_node[] (possible in the x2APIC case)
- don't limit number of processor related SRAT entries we can consume
- make acpi_numa_{processor,x2apic}_affinity_init() as similar to one
another as possible
- print APIC IDs in hex (to ease matching with other log messages), at
once making legacy and x2APIC ones distinguishable (by width)
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3(a)citrix.com>
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -347,7 +347,7 @@ void __init init_cpu_to_node(void)
u32 apicid = x86_cpu_to_apicid[i];
if ( apicid == BAD_APICID )
continue;
- node = apicid_to_node[apicid];
+ node = apicid < MAX_LOCAL_APIC ? apicid_to_node[apicid] : NUMA_NO_NODE;
if ( node == NUMA_NO_NODE || !node_online(node) )
node = 0;
numa_set_node(i, node);
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -191,7 +191,7 @@ void __devinit srat_detect_node(int cpu)
unsigned node;
u32 apicid = x86_cpu_to_apicid[cpu];
- node = apicid_to_node[apicid];
+ node = apicid < MAX_LOCAL_APIC ? apicid_to_node[apicid] : NUMA_NO_NODE;
if ( node == NUMA_NO_NODE )
node = 0;
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -885,7 +885,8 @@ int cpu_add(uint32_t apic_id, uint32_t a
cpu = node;
goto out;
}
- apicid_to_node[apic_id] = node;
+ if ( apic_id < MAX_LOCAL_APIC )
+ apicid_to_node[apic_id] = node;
}
/* Physically added CPUs do not have synchronised TSC. */
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -170,7 +170,6 @@ void __init
acpi_numa_x2apic_affinity_init(struct acpi_srat_x2apic_cpu_affinity *pa)
{
int pxm, node;
- int apic_id;
if (srat_disabled())
return;
@@ -178,8 +177,13 @@ acpi_numa_x2apic_affinity_init(struct ac
bad_srat();
return;
}
- if ((pa->flags & ACPI_SRAT_CPU_ENABLED) == 0)
+ if (!(pa->flags & ACPI_SRAT_CPU_ENABLED))
+ return;
+ if (pa->apic_id >= MAX_LOCAL_APIC) {
+ printk(KERN_INFO "SRAT: APIC %08x ignored\n", pa->apic_id);
return;
+ }
+
pxm = pa->proximity_domain;
node = setup_node(pxm);
if (node < 0) {
@@ -187,11 +191,11 @@ acpi_numa_x2apic_affinity_init(struct ac
return;
}
- apic_id = pa->apic_id;
- apicid_to_node[apic_id] = node;
+ apicid_to_node[pa->apic_id] = node;
+ node_set(node, processor_nodes_parsed);
acpi_numa = 1;
- printk(KERN_INFO "SRAT: PXM %u -> APIC %u -> Node %u\n",
- pxm, apic_id, node);
+ printk(KERN_INFO "SRAT: PXM %u -> APIC %08x -> Node %u\n",
+ pxm, pa->apic_id, node);
}
/* Callback for Proximity Domain -> LAPIC mapping */
@@ -221,7 +225,7 @@ acpi_numa_processor_affinity_init(struct
apicid_to_node[pa->apic_id] = node;
node_set(node, processor_nodes_parsed);
acpi_numa = 1;
- printk(KERN_INFO "SRAT: PXM %u -> APIC %u -> Node %u\n",
+ printk(KERN_INFO "SRAT: PXM %u -> APIC %02x -> Node %u\n",
pxm, pa->apic_id, node);
}
--- a/xen/drivers/acpi/numa.c
+++ b/xen/drivers/acpi/numa.c
@@ -199,9 +199,9 @@ int __init acpi_numa_init(void)
/* SRAT: Static Resource Affinity Table */
if (!acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat)) {
acpi_table_parse_srat(ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY,
- acpi_parse_x2apic_affinity, NR_CPUS);
+ acpi_parse_x2apic_affinity, 0);
acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY,
- acpi_parse_processor_affinity, NR_CPUS);
+ acpi_parse_processor_affinity, 0);
acpi_table_parse_srat(ACPI_SRAT_TYPE_MEMORY_AFFINITY,
acpi_parse_memory_affinity,
NR_NODE_MEMBLKS);
++++++ CVE-2014-0222-qemut-qcow1-validate-l2-table-size.patch ++++++
References: bsc#877642
Subject: qcow1: Validate L2 table size (CVE-2014-0222)
From: Kevin Wolf kwolf(a)redhat.com Thu May 15 16:10:11 2014 +0200
Date: Mon May 19 11:36:49 2014 +0200:
Git: 42eb58179b3b215bb507da3262b682b8a2ec10b5
Too large L2 table sizes cause unbounded allocations. Images actually
created by qemu-img only have 512 byte or 4k L2 tables.
To keep things consistent with cluster sizes, allow ranges between 512
bytes and 64k (in fact, down to 1 entry = 8 bytes is technically
working, but L2 table sizes smaller than a cluster don't make a lot of
sense).
This also means that the number of bytes on the virtual disk that are
described by the same L2 table is limited to at most 8k * 64k or 2^29,
preventively avoiding any integer overflows.
Cc: qemu-stable(a)nongnu.org
Signed-off-by: Kevin Wolf <kwolf(a)redhat.com>
Reviewed-by: Benoit Canet <benoit(a)irqsave.net>
Index: xen-4.5.1-testing/tools/qemu-xen-traditional-dir-remote/block-qcow.c
===================================================================
--- xen-4.5.1-testing.orig/tools/qemu-xen-traditional-dir-remote/block-qcow.c
+++ xen-4.5.1-testing/tools/qemu-xen-traditional-dir-remote/block-qcow.c
@@ -126,6 +126,10 @@ static int qcow_open(BlockDriverState *b
goto fail;
if (header.size <= 1 || header.cluster_bits < 9)
goto fail;
+ /* l2_bits specifies number of entries; storing a uint64_t in each entry,
+ * so bytes = num_entries << 3. */
+ if (header.l2_bits < 9 - 3 || header.l2_bits > 16 - 3)
+ goto fail;
if (header.crypt_method > QCOW_CRYPT_AES)
goto fail;
s->crypt_method_header = header.crypt_method;
++++++ CVE-2014-0222-qemuu-qcow1-validate-l2-table-size.patch ++++++
References: bsc#877642
Subject: qcow1: Validate L2 table size (CVE-2014-0222)
From: Kevin Wolf kwolf(a)redhat.com Thu May 15 16:10:11 2014 +0200
Date: Mon May 19 11:36:49 2014 +0200:
Git: 42eb58179b3b215bb507da3262b682b8a2ec10b5
Too large L2 table sizes cause unbounded allocations. Images actually
created by qemu-img only have 512 byte or 4k L2 tables.
To keep things consistent with cluster sizes, allow ranges between 512
bytes and 64k (in fact, down to 1 entry = 8 bytes is technically
working, but L2 table sizes smaller than a cluster don't make a lot of
sense).
This also means that the number of bytes on the virtual disk that are
described by the same L2 table is limited to at most 8k * 64k or 2^29,
preventively avoiding any integer overflows.
Cc: qemu-stable(a)nongnu.org
Signed-off-by: Kevin Wolf <kwolf(a)redhat.com>
Reviewed-by: Benoit Canet <benoit(a)irqsave.net>
Index: xen-4.5.1-testing/tools/qemu-xen-dir-remote/block/qcow.c
===================================================================
--- xen-4.5.1-testing.orig/tools/qemu-xen-dir-remote/block/qcow.c
+++ xen-4.5.1-testing/tools/qemu-xen-dir-remote/block/qcow.c
@@ -147,6 +147,14 @@ static int qcow_open(BlockDriverState *b
goto fail;
}
+ /* l2_bits specifies number of entries; storing a uint64_t in each entry,
+ * so bytes = num_entries << 3. */
+ if (header.l2_bits < 9 - 3 || header.l2_bits > 16 - 3) {
+ error_setg(errp, "L2 table size must be between 512 and 64k");
+ ret = -EINVAL;
+ goto fail;
+ }
+
if (header.crypt_method > QCOW_CRYPT_AES) {
error_setg(errp, "invalid encryption method in qcow header");
ret = -EINVAL;
++++++ CVE-2015-4037-qemut-smb-config-dir-name.patch ++++++
References: bsc#932267
Subject: slirp: use less predictable directory name in /tmp for smb config (CVE-2015-4037)
From: Michael Tokarev mjt(a)tls.msk.ru Thu May 28 14:12:26 2015 +0300
Date: Wed Jun 3 14:21:45 2015 +0300:
Git: 8b8f1c7e9ddb2e88a144638f6527bf70e32343e3
In this version I used mkdtemp(3) which is:
_BSD_SOURCE
|| /* Since glibc 2.10: */
(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
(POSIX.1-2008), so should be available on systems we care about.
While at it, reset the resulting directory name within smb structure
on error so cleanup function wont try to remove directory which we
failed to create.
Signed-off-by: Michael Tokarev <mjt(a)tls.msk.ru>
Reviewed-by: Markus Armbruster <armbru(a)redhat.com>
Index: xen-4.5.1-testing/tools/qemu-xen-traditional-dir-remote/net.c
===================================================================
--- xen-4.5.1-testing.orig/tools/qemu-xen-traditional-dir-remote/net.c
+++ xen-4.5.1-testing/tools/qemu-xen-traditional-dir-remote/net.c
@@ -624,9 +624,10 @@ void net_slirp_smb(const char *exported_
}
/* XXX: better tmp dir construction */
- snprintf(smb_dir, sizeof(smb_dir), "/tmp/qemu-smb.%d", getpid());
- if (mkdir(smb_dir, 0700) < 0) {
+ snprintf(smb_dir, sizeof(smb_dir), "/tmp/qemu-smb.XXXXXX");
+ if (!mkdtemp(smb_dir)) {
fprintf(stderr, "qemu: could not create samba server dir '%s'\n", smb_dir);
+ smb_dir[0] = 0;
exit(1);
}
snprintf(smb_conf, sizeof(smb_conf), "%s/%s", smb_dir, "smb.conf");
++++++ CVE-2015-4037-qemuu-smb-config-dir-name.patch ++++++
References: bsc#932267
Subject: slirp: use less predictable directory name in /tmp for smb config (CVE-2015-4037)
From: Michael Tokarev mjt(a)tls.msk.ru Thu May 28 14:12:26 2015 +0300
Date: Wed Jun 3 14:21:45 2015 +0300:
Git: 8b8f1c7e9ddb2e88a144638f6527bf70e32343e3
In this version I used mkdtemp(3) which is:
_BSD_SOURCE
|| /* Since glibc 2.10: */
(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
(POSIX.1-2008), so should be available on systems we care about.
While at it, reset the resulting directory name within smb structure
on error so cleanup function wont try to remove directory which we
failed to create.
Signed-off-by: Michael Tokarev <mjt(a)tls.msk.ru>
Reviewed-by: Markus Armbruster <armbru(a)redhat.com>
Index: xen-4.5.1-testing/tools/qemu-xen-dir-remote/net/slirp.c
===================================================================
--- xen-4.5.1-testing.orig/tools/qemu-xen-dir-remote/net/slirp.c
+++ xen-4.5.1-testing/tools/qemu-xen-dir-remote/net/slirp.c
@@ -481,7 +481,6 @@ static void slirp_smb_cleanup(SlirpState
static int slirp_smb(SlirpState* s, const char *exported_dir,
struct in_addr vserver_addr)
{
- static int instance;
char smb_conf[128];
char smb_cmdline[128];
struct passwd *passwd;
@@ -505,10 +504,10 @@ static int slirp_smb(SlirpState* s, cons
return -1;
}
- snprintf(s->smb_dir, sizeof(s->smb_dir), "/tmp/qemu-smb.%ld-%d",
- (long)getpid(), instance++);
- if (mkdir(s->smb_dir, 0700) < 0) {
+ snprintf(s->smb_dir, sizeof(s->smb_dir), "/tmp/qemu-smb.XXXXXX");
+ if (!mkdtemp(s->smb_dir)) {
error_report("could not create samba server dir '%s'", s->smb_dir);
+ s->smb_dir[0] = 0;
return -1;
}
snprintf(smb_conf, sizeof(smb_conf), "%s/%s", s->smb_dir, "smb.conf");
++++++ CVE-2015-7835-xsa148.patch ++++++
References: bsc#950367 CVE-2015-7835 XSA-148
x86: guard against undue super page PTE creation
When optional super page support got added (commit bd1cd81d64 "x86: PV
support for hugepages"), two adjustments were missed: mod_l2_entry()
needs to consider the PSE and RW bits when deciding whether to use the
fast path, and the PSE bit must not be removed from L2_DISALLOW_MASK
unconditionally.
This is CVE-2015-7835 / XSA-148.
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Reviewed-by: Tim Deegan <tim(a)xen.org>
Index: xen-4.5.1-testing/xen/arch/x86/mm.c
===================================================================
--- xen-4.5.1-testing.orig/xen/arch/x86/mm.c
+++ xen-4.5.1-testing/xen/arch/x86/mm.c
@@ -162,7 +162,10 @@ static void put_superpage(unsigned long
static uint32_t base_disallow_mask;
/* Global bit is allowed to be set on L1 PTEs. Intended for user mappings. */
#define L1_DISALLOW_MASK ((base_disallow_mask | _PAGE_GNTTAB) & ~_PAGE_GLOBAL)
-#define L2_DISALLOW_MASK (base_disallow_mask & ~_PAGE_PSE)
+
+#define L2_DISALLOW_MASK (unlikely(opt_allow_superpage) \
+ ? base_disallow_mask & ~_PAGE_PSE \
+ : base_disallow_mask)
#define l3_disallow_mask(d) (!is_pv_32on64_domain(d) ? \
base_disallow_mask : \
@@ -1790,7 +1793,10 @@ static int mod_l2_entry(l2_pgentry_t *pl
}
/* Fast path for identical mapping and presence. */
- if ( !l2e_has_changed(ol2e, nl2e, _PAGE_PRESENT) )
+ if ( !l2e_has_changed(ol2e, nl2e,
+ unlikely(opt_allow_superpage)
+ ? _PAGE_PSE | _PAGE_RW | _PAGE_PRESENT
+ : _PAGE_PRESENT) )
{
adjust_guest_l2e(nl2e, d);
if ( UPDATE_ENTRY(l2, pl2e, ol2e, nl2e, pfn, vcpu, preserve_ad) )
++++++ libxl.set-migration-constraints-from-cmdline.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -323,7 +323,7 @@
===================================================================
--- xen-4.5.1-testing.orig/tools/libxl/libxl_dom.c
+++ xen-4.5.1-testing/tools/libxl/libxl_dom.c
-@@ -1808,6 +1808,7 @@ void libxl__domain_suspend(libxl__egc *e
+@@ -1815,6 +1815,7 @@ void libxl__domain_suspend(libxl__egc *e
dss->xcflags = (live ? XCFLAGS_LIVE : 0)
| (debug ? XCFLAGS_DEBUG : 0)
++++++ xen-hvm-default-bridge.patch ++++++
--- /var/tmp/diff_new_pack.Do0HSP/_old 2015-11-02 12:54:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Do0HSP/_new 2015-11-02 12:54:48.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/net.h
+Index: xen-4.5.1-testing/tools/qemu-xen-traditional-dir-remote/net.h
===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/net.h
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/net.h
+--- xen-4.5.1-testing.orig/tools/qemu-xen-traditional-dir-remote/net.h
++++ xen-4.5.1-testing/tools/qemu-xen-traditional-dir-remote/net.h
@@ -107,8 +107,8 @@ void net_host_device_add(const char *dev
void net_host_device_remove(int vlan_id, const char *device);
@@ -13,11 +13,11 @@
#endif
#ifdef __sun__
#define SMBD_COMMAND "/usr/sfw/sbin/smbd"
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/net.c
+Index: xen-4.5.1-testing/tools/qemu-xen-traditional-dir-remote/net.c
===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/net.c
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/net.c
-@@ -1764,9 +1764,10 @@ int net_client_init(const char *device,
+--- xen-4.5.1-testing.orig/tools/qemu-xen-traditional-dir-remote/net.c
++++ xen-4.5.1-testing/tools/qemu-xen-traditional-dir-remote/net.c
+@@ -1765,9 +1765,10 @@ int net_client_init(const char *device,
}
if (get_param_value(script_arg, sizeof(script_arg), "scriptarg", p) == 0 &&
get_param_value(script_arg, sizeof(script_arg), "bridge", p) == 0) { /* deprecated; for xend compatibility */
@@ -30,10 +30,10 @@
}
} else
#endif
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
+Index: xen-4.5.1-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
+--- xen-4.5.1-testing.orig/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
++++ xen-4.5.1-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
@@ -1,36 +1,22 @@
#!/bin/sh
++++++ xsa149.patch ++++++
xen: free domain's vcpu array
This was overlooked in fb442e2171 ("x86_64: allow more vCPU-s per
guest").
This is XSA-149.
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Reviewed-by: Ian Campbell <ian.campbell(a)citrix.com>
Index: xen-4.5.1-testing/xen/common/domain.c
===================================================================
--- xen-4.5.1-testing.orig/xen/common/domain.c
+++ xen-4.5.1-testing/xen/common/domain.c
@@ -831,6 +831,7 @@ static void complete_domain_destroy(stru
xsm_free_security_domain(d);
free_cpumask_var(d->domain_dirty_cpumask);
+ xfree(d->vcpu);
free_domain_struct(d);
send_global_virq(VIRQ_DOM_EXC);
++++++ xsa151.patch ++++++
xenoprof: free domain's vcpu array
This was overlooked in fb442e2171 ("x86_64: allow more vCPU-s per
guest").
This is XSA-151.
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Reviewed-by: Ian Campbell <ian.campbell(a)citrix.com>
Index: xen-4.5.1-testing/xen/common/xenoprof.c
===================================================================
--- xen-4.5.1-testing.orig/xen/common/xenoprof.c
+++ xen-4.5.1-testing/xen/common/xenoprof.c
@@ -239,6 +239,7 @@ static int alloc_xenoprof_struct(
d->xenoprof->rawbuf = alloc_xenheap_pages(get_order_from_pages(npages), 0);
if ( d->xenoprof->rawbuf == NULL )
{
+ xfree(d->xenoprof->vcpu);
xfree(d->xenoprof);
d->xenoprof = NULL;
return -ENOMEM;
@@ -286,6 +287,7 @@ void free_xenoprof_pages(struct domain *
free_xenheap_pages(x->rawbuf, order);
}
+ xfree(x->vcpu);
xfree(x);
d->xenoprof = NULL;
}
++++++ xsa152.patch ++++++
x86: rate-limit logging in do_xen{oprof,pmu}_op()
Some of the sub-ops are acessible to all guests, and hence should be
rate-limited. In the xenoprof case, just like for XSA-146, include them
only in debug builds. Since the vPMU code is rather new, allow them to
be always present, but downgrade them to (rate limited) guest messages.
This is XSA-152.
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Index: xen-4.5.1-testing/xen/common/xenoprof.c
===================================================================
--- xen-4.5.1-testing.orig/xen/common/xenoprof.c
+++ xen-4.5.1-testing/xen/common/xenoprof.c
@@ -676,15 +676,13 @@ ret_t do_xenoprof_op(int op, XEN_GUEST_H
if ( (op < 0) || (op > XENOPROF_last_op) )
{
- printk("xenoprof: invalid operation %d for domain %d\n",
- op, current->domain->domain_id);
+ gdprintk(XENLOG_DEBUG, "invalid operation %d\n", op);
return -EINVAL;
}
if ( !NONPRIV_OP(op) && (current->domain != xenoprof_primary_profiler) )
{
- printk("xenoprof: dom %d denied privileged operation %d\n",
- current->domain->domain_id, op);
+ gdprintk(XENLOG_DEBUG, "denied privileged operation %d\n", op);
return -EPERM;
}
@@ -907,8 +905,7 @@ ret_t do_xenoprof_op(int op, XEN_GUEST_H
spin_unlock(&xenoprof_lock);
if ( ret < 0 )
- printk("xenoprof: operation %d failed for dom %d (status : %d)\n",
- op, current->domain->domain_id, ret);
+ gdprintk(XENLOG_DEBUG, "operation %d failed: %d\n", op, ret);
return ret;
}
++++++ xsa153-libxl.patch ++++++
>From 27593ec62bdad8621df910931349d964a6dbaa8c Mon Sep 17 00:00:00 2001
From: Ian Jackson <ian.jackson(a)eu.citrix.com>
Date: Wed, 21 Oct 2015 16:18:30 +0100
Subject: [PATCH XSA-153 v3] libxl: adjust PoD target by memory fudge, too
PoD guests need to balloon at least as far as required by PoD, or risk
crashing. Currently they don't necessarily know what the right value
is, because our memory accounting is (at the very least) confusing.
Apply the memory limit fudge factor to the in-hypervisor PoD memory
target, too. This will increase the size of the guest's PoD cache by
the fudge factor LIBXL_MAXMEM_CONSTANT (currently 1Mby). This ensures
that even with a slightly-off balloon driver, the guest will be
stable even under memory pressure.
There are two call sites of xc_domain_set_pod_target that need fixing:
The one in libxl_set_memory_target is straightforward.
The one in xc_hvm_build_x86.c:setup_guest is more awkward. Simply
setting the PoD target differently does not work because the various
amounts of memory during domain construction no longer match up.
Instead, we adjust the guest memory target in xenstore (but only for
PoD guests).
This introduces a 1Mby discrepancy between the balloon target of a PoD
guest at boot, and the target set by an apparently-equivalent `xl
mem-set' (or similar) later. This approach is low-risk for a security
fix but we need to fix this up properly in xen.git#staging and
probably also in stable trees.
This is XSA-153.
Signed-off-by: Ian Jackson <Ian.Jackson(a)eu.citrix.com>
---
tools/libxl/libxl.c | 2 +-
tools/libxl/libxl_dom.c | 9 ++++++++-
2 files changed, 9 insertions(+), 2 deletions(-)
Index: xen-4.5.1-testing/tools/libxl/libxl.c
===================================================================
--- xen-4.5.1-testing.orig/tools/libxl/libxl.c
+++ xen-4.5.1-testing/tools/libxl/libxl.c
@@ -4859,7 +4859,7 @@ retry_transaction:
new_target_memkb -= videoram;
rc = xc_domain_set_pod_target(ctx->xch, domid,
- new_target_memkb / 4, NULL, NULL, NULL);
+ (new_target_memkb + LIBXL_MAXMEM_CONSTANT) / 4, NULL, NULL, NULL);
if (rc != 0) {
LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
"xc_domain_set_pod_target domid=%d, memkb=%d "
Index: xen-4.5.1-testing/tools/libxl/libxl_dom.c
===================================================================
--- xen-4.5.1-testing.orig/tools/libxl/libxl_dom.c
+++ xen-4.5.1-testing/tools/libxl/libxl_dom.c
@@ -446,6 +446,7 @@ int libxl__build_post(libxl__gc *gc, uin
xs_transaction_t t;
char **ents;
int i, rc;
+ int64_t mem_target_fudge;
rc = libxl_domain_sched_params_set(CTX, domid, &info->sched_params);
if (rc)
@@ -472,11 +473,17 @@ int libxl__build_post(libxl__gc *gc, uin
}
}
+ mem_target_fudge =
+ (info->type == LIBXL_DOMAIN_TYPE_HVM &&
+ info->max_memkb > info->target_memkb)
+ ? LIBXL_MAXMEM_CONSTANT : 0;
+
ents = libxl__calloc(gc, 12 + (info->max_vcpus * 2) + 2, sizeof(char *));
ents[0] = "memory/static-max";
ents[1] = GCSPRINTF("%"PRId64, info->max_memkb);
ents[2] = "memory/target";
- ents[3] = GCSPRINTF("%"PRId64, info->target_memkb - info->video_memkb);
+ ents[3] = GCSPRINTF("%"PRId64, info->target_memkb - info->video_memkb
+ - mem_target_fudge);
ents[4] = "memory/videoram";
ents[5] = GCSPRINTF("%"PRId64, info->video_memkb);
ents[6] = "domid";
1
0
Hello community,
here is the log from the commit of package powerpc-utils for openSUSE:Factory checked in at 2015-11-02 12:54:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/powerpc-utils (Old)
and /work/SRC/openSUSE:Factory/.powerpc-utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "powerpc-utils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/powerpc-utils/powerpc-utils.changes 2015-10-12 10:01:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.powerpc-utils.new/powerpc-utils.changes 2015-11-02 12:54:38.000000000 +0100
@@ -1,0 +2,8 @@
+Thu Oct 29 08:34:04 UTC 2015 - jloeser(a)suse.com
+
+- free slot nodes before adding slots (bsc#952323)
+
+- added patches:
+ * powerpc-utils.bug-952323_drmgr-free_slot_nodes_before_adding_slots.patch
+
+-------------------------------------------------------------------
New:
----
powerpc-utils.bug-952323_drmgr-free_slot_nodes_before_adding_slots.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ powerpc-utils.spec ++++++
--- /var/tmp/diff_new_pack.qr5iqD/_old 2015-11-02 12:54:39.000000000 +0100
+++ /var/tmp/diff_new_pack.qr5iqD/_new 2015-11-02 12:54:39.000000000 +0100
@@ -45,6 +45,7 @@
Patch4: powerpc-utils.bug-945968_allocate-workarea-memory-instead-of-using-stac.patch
Patch5: powerpc-utils.bug-945968_drmgr-Combine-the-init_node-and-examine_child-routin.patch
Patch6: powerpc-utils.bug-948430-drmgr-Generate-error-message-when-PHB-is-not-found.patch
+Patch7: powerpc-utils.bug-952323_drmgr-free_slot_nodes_before_adding_slots.patch
ExclusiveArch: ppc ppc64 ppc64le
%description
@@ -59,6 +60,7 @@
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
%build
%configure
++++++ powerpc-utils.bug-952323_drmgr-free_slot_nodes_before_adding_slots.patch ++++++
@@ -, +, @@
---
src/drmgr/drslot_chrp_slot.c | 3 +++
1 file changed, 3 insertions(+)
--- a/src/drmgr/drslot_chrp_slot.c
+++ a/src/drmgr/drslot_chrp_slot.c
@@ -301,6 +301,9 @@ drslot_chrp_slot(struct options *opts)
opts->usr_drc_name);
rc = RC_ALREADY_OWN;
} else {
+ free_node(node);
+ node = NULL;
+
rc = add_slot(opts);
}
break;
1
0
Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2015-11-02 12:54:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
and /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes 2015-10-28 17:26:39.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes 2015-11-02 12:54:26.000000000 +0100
@@ -1,0 +2,49 @@
+Wed Oct 28 16:41:18 CET 2015 - jslaby(a)suse.cz
+
+- rpm/kernel-binary.spec.in: really pass down %{?_smp_mflags}
+- commit 273a7fb
+
+-------------------------------------------------------------------
+Wed Oct 28 08:49:09 CET 2015 - tiwai(a)suse.de
+
+- ALSA: hda - Disable 64bit address for Creative HDA controllers
+ (bnc#814440).
+- commit ef2823b
+
+-------------------------------------------------------------------
+Tue Oct 27 09:11:49 CET 2015 - jslaby(a)suse.cz
+
+- Linux 4.2.5.
+- commit 27d2719
+
+-------------------------------------------------------------------
+Mon Oct 26 17:15:43 CET 2015 - mmarek(a)suse.com
+
+- rpm/kernel-binary.spec.in: Use parallel make in all invocations
+ Also, remove the lengthy comment, since we are using a standard rpm
+ macro now.
+- commit 4d6ba88
+
+-------------------------------------------------------------------
+Mon Oct 26 17:13:43 CET 2015 - mmarek(a)suse.com
+
+- rpm/kernel-binary.spec.in: Delete one more DEBUG_SECTION_MISMATCH assignment
+- commit fce45dc
+
+-------------------------------------------------------------------
+Mon Oct 26 11:26:34 CET 2015 - mmarek(a)suse.com
+
+- rpm/kernel-binary.spec.in: Do not explicitly set DEBUG_SECTION_MISMATCH
+ CONFIG_DEBUG_SECTION_MISMATCH is a selectable Kconfig option since
+ 2.6.39 and is enabled in our configs.
+- commit 15aa4f8
+
+-------------------------------------------------------------------
+Sat Oct 24 20:59:13 CEST 2015 - stefan.bruens(a)rwth-aachen.de
+
+- config: arm: Enable ADS7846 touchscreen driver
+ This SPI connected chip is common on RPi TFT displays.
+ (cherry picked from commit 71386ea914fddea7d598c24a38a312ba210a51ae)
+- commit 48484ee
+
+-------------------------------------------------------------------
@@ -19,0 +69,9 @@
+Fri Oct 23 08:39:30 CEST 2015 - tiwai(a)suse.de
+
+- staging/dgnc: fix info leak in ioctl (CVE-2015-7885,
+ boo#951627).
+- [media] media/vivid-osd: fix info leak in ioctl (CVE-2015-7884,
+ bnc#951626).
+- commit 8031e24
+
+-------------------------------------------------------------------
@@ -27,0 +86,13 @@
+Tue Oct 20 20:38:15 CEST 2015 - tiwai(a)suse.de
+
+- Disable leftover CONFIG_FW_LOADER_USER_HELPER_FALLBACK in armv6hl/* (boo#951260)
+- commit 60f5033
+
+-------------------------------------------------------------------
+Tue Oct 20 20:37:10 CEST 2015 - tiwai(a)suse.de
+
+- drm/sti: Remove select of CONFIG_FW_LOADER_USER_HELPER_FALLBACK
+ (boo#951260).
+- commit e9cf2df
+
+-------------------------------------------------------------------
@@ -40,0 +112,6 @@
+Fri Oct 16 16:01:01 CEST 2015 - mmarek(a)suse.com
+
+- rpm/kernel-source.rpmlintrc: Update the filters
+- commit e26b4cc
+
+-------------------------------------------------------------------
@@ -48,0 +126,13 @@
+Fri Oct 16 10:32:06 CEST 2015 - mmarek(a)suse.com
+
+- rpm/kernel-binary.spec.in: Use upstream script to support config.addon
+- commit e8739f8
+
+-------------------------------------------------------------------
+Fri Oct 16 10:28:57 CEST 2015 - mmarek(a)suse.com
+
+- rpm/kernel-binary.spec.in: Drop the %build_src_dir macro
+ It is the parent directory of the O= directory.
+- commit 2ed0dbe
+
+-------------------------------------------------------------------
@@ -336 +426 @@
-- commit b57d276
+- commit 9012f40
@@ -3574 +3664 @@
-- commit 4f4442d
+- commit 14e56cc
kernel-default.changes: same change
kernel-docs.changes: same change
kernel-ec2.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa-xen.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-pv.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-vanilla.changes: same change
kernel-xen.changes: same change
Old:
----
configtool.pl
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:32.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:32.000000000 +0100
@@ -20,7 +20,7 @@
# needssslcertforbuild
%define srcversion 4.2
-%define patchversion 4.2.4
+%define patchversion 4.2.5
%define variant %{nil}
%define vanilla_only 0
@@ -31,13 +31,12 @@
%define build_xen ("%build_flavor" == "xen" || "%build_flavor" == "ec2")
%define build_vanilla ("%build_flavor" == "vanilla")
-%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
-%define kernel_build_dir %build_src_dir/linux-obj
+%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
-%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
+%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
@@ -59,9 +58,9 @@
Summary: A Debug Version of the Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 4.2.4
+Version: 4.2.5
%if 0%{?is_kotd}
-Release: <RELEASE>.g6ae5577
+Release: <RELEASE>.g0491388
%else
Release: 0
%endif
@@ -196,7 +195,6 @@
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
-Source66: configtool.pl
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
@@ -275,7 +273,6 @@
NoSource: 63
NoSource: 64
NoSource: 65
-NoSource: 66
NoSource: 67
NoSource: 68
NoSource: 69
@@ -428,14 +425,13 @@
cat %_sourcedir/localversion > localversion
fi
+cp %my_builddir/config/%cpu_arch_flavor .config
if test -e %my_builddir/config.addon/%cpu_arch_flavor; then
# FIXME: config.addon doesn't affect the %CONFIG_ macros defined at
# the top of the specfile
- %_sourcedir/configtool.pl %my_builddir/config{,.addon}/%cpu_arch_flavor >.config
-else
- cp %my_builddir/config/%cpu_arch_flavor .config
+ ../scripts/kconfig/merge_config.sh -m .config %my_builddir/config.addon/%cpu_arch_flavor
fi
-%build_src_dir/scripts/config \
+../scripts/config \
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
%if 0%{?__debug_package:1}
@@ -445,7 +441,7 @@
--disable CONFIG_DEBUG_INFO
%endif
-MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags} -C .. O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
else
@@ -504,24 +500,15 @@
touch x509.genkey
touch signing_key.x509
-# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
-# There are several ways how to define it:
-# If you are using the build script:
-# build --jobs=N kernel-$flavor.spec
-# With plain rpmbuild:
-# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
-# To spawn as many jobs as there are cpu cores:
-# rpmbuild -ba --define "%_smp_mflags -j 0$(grep -Ec 'cpu[0-9]' /proc/stat)" \
-# kernel-$flavor.spec
-# You can also set this permanently in ~/.rpmmacros:
-# %_smp_mflags -j 0%(grep -Ec 'cpu[0-9]' /proc/stat)
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}"
+
%if %CONFIG_KMSG_IDS == "y"
chmod +x ../scripts/kmsg-doc
MAKE_ARGS="$MAKE_ARGS D=2"
%endif
while true; do
- make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 \
+ make all $MAKE_ARGS 2>&1 \
| tee buildlog
if test "${PIPESTATUS[0]}" -eq 0; then
break
@@ -543,11 +530,6 @@
%if %CONFIG_EFI_STUB == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
-%ifarch %ix86
-# XXX: do not sign on x86, as the repackaging changes kernel-pae
-# from i686 to i586
-BRP_PESIGN_FILES=""
-%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
kernel-default.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:32.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:32.000000000 +0100
@@ -16,7 +16,7 @@
#
-%define patchversion 4.2.4
+%define patchversion 4.2.5
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -27,9 +27,9 @@
Summary: Kernel Documentation (man pages)
License: GPL-2.0
Group: Documentation/Man
-Version: 4.2.4
+Version: 4.2.5
%if 0%{?is_kotd}
-Release: <RELEASE>.g6ae5577
+Release: <RELEASE>.g0491388
%else
Release: 0
%endif
++++++ kernel-ec2.spec ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:32.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:32.000000000 +0100
@@ -20,7 +20,7 @@
# needssslcertforbuild
%define srcversion 4.2
-%define patchversion 4.2.4
+%define patchversion 4.2.5
%define variant %{nil}
%define vanilla_only 0
@@ -31,13 +31,12 @@
%define build_xen ("%build_flavor" == "xen" || "%build_flavor" == "ec2")
%define build_vanilla ("%build_flavor" == "vanilla")
-%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
-%define kernel_build_dir %build_src_dir/linux-obj
+%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
-%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
+%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
@@ -59,9 +58,9 @@
Summary: The Amazon EC2 Xen Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 4.2.4
+Version: 4.2.5
%if 0%{?is_kotd}
-Release: <RELEASE>.g6ae5577
+Release: <RELEASE>.g0491388
%else
Release: 0
%endif
@@ -190,7 +189,6 @@
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
-Source66: configtool.pl
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
@@ -269,7 +267,6 @@
NoSource: 63
NoSource: 64
NoSource: 65
-NoSource: 66
NoSource: 67
NoSource: 68
NoSource: 69
@@ -424,14 +421,13 @@
cat %_sourcedir/localversion > localversion
fi
+cp %my_builddir/config/%cpu_arch_flavor .config
if test -e %my_builddir/config.addon/%cpu_arch_flavor; then
# FIXME: config.addon doesn't affect the %CONFIG_ macros defined at
# the top of the specfile
- %_sourcedir/configtool.pl %my_builddir/config{,.addon}/%cpu_arch_flavor >.config
-else
- cp %my_builddir/config/%cpu_arch_flavor .config
+ ../scripts/kconfig/merge_config.sh -m .config %my_builddir/config.addon/%cpu_arch_flavor
fi
-%build_src_dir/scripts/config \
+../scripts/config \
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
%if 0%{?__debug_package:1}
@@ -441,7 +437,7 @@
--disable CONFIG_DEBUG_INFO
%endif
-MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags} -C .. O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
else
@@ -500,24 +496,15 @@
touch x509.genkey
touch signing_key.x509
-# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
-# There are several ways how to define it:
-# If you are using the build script:
-# build --jobs=N kernel-$flavor.spec
-# With plain rpmbuild:
-# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
-# To spawn as many jobs as there are cpu cores:
-# rpmbuild -ba --define "%_smp_mflags -j 0$(grep -Ec 'cpu[0-9]' /proc/stat)" \
-# kernel-$flavor.spec
-# You can also set this permanently in ~/.rpmmacros:
-# %_smp_mflags -j 0%(grep -Ec 'cpu[0-9]' /proc/stat)
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}"
+
%if %CONFIG_KMSG_IDS == "y"
chmod +x ../scripts/kmsg-doc
MAKE_ARGS="$MAKE_ARGS D=2"
%endif
while true; do
- make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 \
+ make all $MAKE_ARGS 2>&1 \
| tee buildlog
if test "${PIPESTATUS[0]}" -eq 0; then
break
@@ -539,11 +526,6 @@
%if %CONFIG_EFI_STUB == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
-%ifarch %ix86
-# XXX: do not sign on x86, as the repackaging changes kernel-pae
-# from i686 to i586
-BRP_PESIGN_FILES=""
-%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:32.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:32.000000000 +0100
@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
-%define patchversion 4.2.4
+%define patchversion 4.2.5
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -45,9 +45,9 @@
Summary: package kernel and initrd for OBS VM builds
License: GPL-2.0
Group: SLES
-Version: 4.2.4
+Version: 4.2.5
%if 0%{?is_kotd}
-Release: <RELEASE>.g6ae5577
+Release: <RELEASE>.g0491388
%else
Release: 0
%endif
++++++ kernel-obs-qa-xen.spec ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:32.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:32.000000000 +0100
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 4.2.4
+%define patchversion 4.2.5
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -36,9 +36,9 @@
Summary: Basic QA tests for the kernel
License: GPL-2.0
Group: SLES
-Version: 4.2.4
+Version: 4.2.5
%if 0%{?is_kotd}
-Release: <RELEASE>.g6ae5577
+Release: <RELEASE>.g0491388
%else
Release: 0
%endif
kernel-obs-qa.spec: same change
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:32.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:32.000000000 +0100
@@ -20,7 +20,7 @@
# needssslcertforbuild
%define srcversion 4.2
-%define patchversion 4.2.4
+%define patchversion 4.2.5
%define variant %{nil}
%define vanilla_only 0
@@ -31,13 +31,12 @@
%define build_xen ("%build_flavor" == "xen" || "%build_flavor" == "ec2")
%define build_vanilla ("%build_flavor" == "vanilla")
-%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
-%define kernel_build_dir %build_src_dir/linux-obj
+%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
-%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
+%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
@@ -59,9 +58,9 @@
Summary: Kernel with PAE Support
License: GPL-2.0
Group: System/Kernel
-Version: 4.2.4
+Version: 4.2.5
%if 0%{?is_kotd}
-Release: <RELEASE>.g6ae5577
+Release: <RELEASE>.g0491388
%else
Release: 0
%endif
@@ -202,7 +201,6 @@
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
-Source66: configtool.pl
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
@@ -281,7 +279,6 @@
NoSource: 63
NoSource: 64
NoSource: 65
-NoSource: 66
NoSource: 67
NoSource: 68
NoSource: 69
@@ -440,14 +437,13 @@
cat %_sourcedir/localversion > localversion
fi
+cp %my_builddir/config/%cpu_arch_flavor .config
if test -e %my_builddir/config.addon/%cpu_arch_flavor; then
# FIXME: config.addon doesn't affect the %CONFIG_ macros defined at
# the top of the specfile
- %_sourcedir/configtool.pl %my_builddir/config{,.addon}/%cpu_arch_flavor >.config
-else
- cp %my_builddir/config/%cpu_arch_flavor .config
+ ../scripts/kconfig/merge_config.sh -m .config %my_builddir/config.addon/%cpu_arch_flavor
fi
-%build_src_dir/scripts/config \
+../scripts/config \
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
%if 0%{?__debug_package:1}
@@ -457,7 +453,7 @@
--disable CONFIG_DEBUG_INFO
%endif
-MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags} -C .. O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
else
@@ -516,24 +512,15 @@
touch x509.genkey
touch signing_key.x509
-# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
-# There are several ways how to define it:
-# If you are using the build script:
-# build --jobs=N kernel-$flavor.spec
-# With plain rpmbuild:
-# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
-# To spawn as many jobs as there are cpu cores:
-# rpmbuild -ba --define "%_smp_mflags -j 0$(grep -Ec 'cpu[0-9]' /proc/stat)" \
-# kernel-$flavor.spec
-# You can also set this permanently in ~/.rpmmacros:
-# %_smp_mflags -j 0%(grep -Ec 'cpu[0-9]' /proc/stat)
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}"
+
%if %CONFIG_KMSG_IDS == "y"
chmod +x ../scripts/kmsg-doc
MAKE_ARGS="$MAKE_ARGS D=2"
%endif
while true; do
- make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 \
+ make all $MAKE_ARGS 2>&1 \
| tee buildlog
if test "${PIPESTATUS[0]}" -eq 0; then
break
@@ -555,11 +542,6 @@
%if %CONFIG_EFI_STUB == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
-%ifarch %ix86
-# XXX: do not sign on x86, as the repackaging changes kernel-pae
-# from i686 to i586
-BRP_PESIGN_FILES=""
-%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
++++++ kernel-pv.spec ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:32.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:32.000000000 +0100
@@ -20,7 +20,7 @@
# needssslcertforbuild
%define srcversion 4.2
-%define patchversion 4.2.4
+%define patchversion 4.2.5
%define variant %{nil}
%define vanilla_only 0
@@ -31,13 +31,12 @@
%define build_xen ("%build_flavor" == "xen" || "%build_flavor" == "ec2")
%define build_vanilla ("%build_flavor" == "vanilla")
-%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
-%define kernel_build_dir %build_src_dir/linux-obj
+%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
-%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
+%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
@@ -59,9 +58,9 @@
Summary: The para-virtualized Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 4.2.4
+Version: 4.2.5
%if 0%{?is_kotd}
-Release: <RELEASE>.g6ae5577
+Release: <RELEASE>.g0491388
%else
Release: 0
%endif
@@ -190,7 +189,6 @@
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
-Source66: configtool.pl
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
@@ -269,7 +267,6 @@
NoSource: 63
NoSource: 64
NoSource: 65
-NoSource: 66
NoSource: 67
NoSource: 68
NoSource: 69
@@ -423,14 +420,13 @@
cat %_sourcedir/localversion > localversion
fi
+cp %my_builddir/config/%cpu_arch_flavor .config
if test -e %my_builddir/config.addon/%cpu_arch_flavor; then
# FIXME: config.addon doesn't affect the %CONFIG_ macros defined at
# the top of the specfile
- %_sourcedir/configtool.pl %my_builddir/config{,.addon}/%cpu_arch_flavor >.config
-else
- cp %my_builddir/config/%cpu_arch_flavor .config
+ ../scripts/kconfig/merge_config.sh -m .config %my_builddir/config.addon/%cpu_arch_flavor
fi
-%build_src_dir/scripts/config \
+../scripts/config \
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
%if 0%{?__debug_package:1}
@@ -440,7 +436,7 @@
--disable CONFIG_DEBUG_INFO
%endif
-MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags} -C .. O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
else
@@ -499,24 +495,15 @@
touch x509.genkey
touch signing_key.x509
-# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
-# There are several ways how to define it:
-# If you are using the build script:
-# build --jobs=N kernel-$flavor.spec
-# With plain rpmbuild:
-# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
-# To spawn as many jobs as there are cpu cores:
-# rpmbuild -ba --define "%_smp_mflags -j 0$(grep -Ec 'cpu[0-9]' /proc/stat)" \
-# kernel-$flavor.spec
-# You can also set this permanently in ~/.rpmmacros:
-# %_smp_mflags -j 0%(grep -Ec 'cpu[0-9]' /proc/stat)
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}"
+
%if %CONFIG_KMSG_IDS == "y"
chmod +x ../scripts/kmsg-doc
MAKE_ARGS="$MAKE_ARGS D=2"
%endif
while true; do
- make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 \
+ make all $MAKE_ARGS 2>&1 \
| tee buildlog
if test "${PIPESTATUS[0]}" -eq 0; then
break
@@ -538,11 +525,6 @@
%if %CONFIG_EFI_STUB == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
-%ifarch %ix86
-# XXX: do not sign on x86, as the repackaging changes kernel-pae
-# from i686 to i586
-BRP_PESIGN_FILES=""
-%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:32.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:32.000000000 +0100
@@ -18,7 +18,7 @@
%define srcversion 4.2
-%define patchversion 4.2.4
+%define patchversion 4.2.5
%define variant %{nil}
%define vanilla_only 0
@@ -30,9 +30,9 @@
Summary: The Linux Kernel Sources
License: GPL-2.0
Group: Development/Sources
-Version: 4.2.4
+Version: 4.2.5
%if 0%{?is_kotd}
-Release: <RELEASE>.g6ae5577
+Release: <RELEASE>.g0491388
%else
Release: 0
%endif
@@ -86,7 +86,6 @@
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
-Source66: configtool.pl
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
@@ -115,7 +114,7 @@
# Source is only complete with devel files.
Requires: kernel-devel%variant = %version-%release
-%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
+%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%define symbols %(set -- $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define variant_symbols %(case %name in (*-rt) echo "RT" ;; esac)
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:32.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:32.000000000 +0100
@@ -24,10 +24,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0
Group: Development/Sources
-Version: 4.2.4
+Version: 4.2.5
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.g6ae5577
+Release: <RELEASE>.g0491388
%else
Release: 0
%endif
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:32.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:32.000000000 +0100
@@ -20,7 +20,7 @@
# needssslcertforbuild
%define srcversion 4.2
-%define patchversion 4.2.4
+%define patchversion 4.2.5
%define variant %{nil}
%define vanilla_only 0
@@ -31,13 +31,12 @@
%define build_xen ("%build_flavor" == "xen" || "%build_flavor" == "ec2")
%define build_vanilla ("%build_flavor" == "vanilla")
-%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
-%define kernel_build_dir %build_src_dir/linux-obj
+%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
-%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,configtool.pl,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
+%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh})
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
@@ -59,9 +58,9 @@
Summary: The Standard Kernel - without any SUSE patches
License: GPL-2.0
Group: System/Kernel
-Version: 4.2.4
+Version: 4.2.5
%if 0%{?is_kotd}
-Release: <RELEASE>.g6ae5577
+Release: <RELEASE>.g0491388
%else
Release: 0
%endif
@@ -190,7 +189,6 @@
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
-Source66: configtool.pl
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
@@ -269,7 +267,6 @@
NoSource: 63
NoSource: 64
NoSource: 65
-NoSource: 66
NoSource: 67
NoSource: 68
NoSource: 69
@@ -421,14 +418,13 @@
cat %_sourcedir/localversion > localversion
fi
+cp %my_builddir/config/%cpu_arch_flavor .config
if test -e %my_builddir/config.addon/%cpu_arch_flavor; then
# FIXME: config.addon doesn't affect the %CONFIG_ macros defined at
# the top of the specfile
- %_sourcedir/configtool.pl %my_builddir/config{,.addon}/%cpu_arch_flavor >.config
-else
- cp %my_builddir/config/%cpu_arch_flavor .config
+ ../scripts/kconfig/merge_config.sh -m .config %my_builddir/config.addon/%cpu_arch_flavor
fi
-%build_src_dir/scripts/config \
+../scripts/config \
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
%if 0%{?__debug_package:1}
@@ -438,7 +434,7 @@
--disable CONFIG_DEBUG_INFO
%endif
-MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags} -C .. O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
else
@@ -497,24 +493,15 @@
touch x509.genkey
touch signing_key.x509
-# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
-# There are several ways how to define it:
-# If you are using the build script:
-# build --jobs=N kernel-$flavor.spec
-# With plain rpmbuild:
-# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
-# To spawn as many jobs as there are cpu cores:
-# rpmbuild -ba --define "%_smp_mflags -j 0$(grep -Ec 'cpu[0-9]' /proc/stat)" \
-# kernel-$flavor.spec
-# You can also set this permanently in ~/.rpmmacros:
-# %_smp_mflags -j 0%(grep -Ec 'cpu[0-9]' /proc/stat)
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}"
+
%if %CONFIG_KMSG_IDS == "y"
chmod +x ../scripts/kmsg-doc
MAKE_ARGS="$MAKE_ARGS D=2"
%endif
while true; do
- make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 \
+ make all $MAKE_ARGS 2>&1 \
| tee buildlog
if test "${PIPESTATUS[0]}" -eq 0; then
break
@@ -536,11 +523,6 @@
%if %CONFIG_EFI_STUB == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
-%ifarch %ix86
-# XXX: do not sign on x86, as the repackaging changes kernel-pae
-# from i686 to i586
-BRP_PESIGN_FILES=""
-%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
kernel-xen.spec: same change
++++++ config.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/arm64/default new/config/arm64/default
--- old/config/arm64/default 2015-10-22 15:58:57.000000000 +0200
+++ new/config/arm64/default 2015-10-27 23:56:29.000000000 +0100
@@ -2924,7 +2924,7 @@
CONFIG_TABLET_SERIAL_WACOM4=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_OF_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
+CONFIG_TOUCHSCREEN_ADS7846=m
# CONFIG_TOUCHSCREEN_AD7877 is not set
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/arm64/vanilla new/config/arm64/vanilla
--- old/config/arm64/vanilla 2015-10-22 15:58:57.000000000 +0200
+++ new/config/arm64/vanilla 2015-10-27 23:56:29.000000000 +0100
@@ -2920,7 +2920,7 @@
CONFIG_TABLET_SERIAL_WACOM4=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_OF_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
+CONFIG_TOUCHSCREEN_ADS7846=m
# CONFIG_TOUCHSCREEN_AD7877 is not set
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv6hl/default new/config/armv6hl/default
--- old/config/armv6hl/default 2015-10-22 15:58:57.000000000 +0200
+++ new/config/armv6hl/default 2015-10-27 23:56:29.000000000 +0100
@@ -1527,7 +1527,7 @@
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
CONFIG_DEV_COREDUMP=y
@@ -2544,7 +2544,7 @@
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_OF_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_88PM860X=m
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
+CONFIG_TOUCHSCREEN_ADS7846=m
# CONFIG_TOUCHSCREEN_AD7877 is not set
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv6hl/vanilla new/config/armv6hl/vanilla
--- old/config/armv6hl/vanilla 2015-10-22 15:58:57.000000000 +0200
+++ new/config/armv6hl/vanilla 2015-10-27 23:56:29.000000000 +0100
@@ -2541,7 +2541,7 @@
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_OF_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_88PM860X=m
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
+CONFIG_TOUCHSCREEN_ADS7846=m
# CONFIG_TOUCHSCREEN_AD7877 is not set
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv7hl/default new/config/armv7hl/default
--- old/config/armv7hl/default 2015-10-22 15:58:57.000000000 +0200
+++ new/config/armv7hl/default 2015-10-27 23:56:29.000000000 +0100
@@ -3269,7 +3269,7 @@
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_OF_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_88PM860X=m
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
+CONFIG_TOUCHSCREEN_ADS7846=m
# CONFIG_TOUCHSCREEN_AD7877 is not set
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv7hl/lpae new/config/armv7hl/lpae
--- old/config/armv7hl/lpae 2015-10-22 15:58:57.000000000 +0200
+++ new/config/armv7hl/lpae 2015-10-27 23:56:29.000000000 +0100
@@ -3164,7 +3164,7 @@
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_OF_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_88PM860X=m
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
+CONFIG_TOUCHSCREEN_ADS7846=m
# CONFIG_TOUCHSCREEN_AD7877 is not set
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv7hl/vanilla new/config/armv7hl/vanilla
--- old/config/armv7hl/vanilla 2015-10-22 15:58:57.000000000 +0200
+++ new/config/armv7hl/vanilla 2015-10-27 23:56:29.000000000 +0100
@@ -3266,7 +3266,7 @@
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_OF_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_88PM860X=m
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
+CONFIG_TOUCHSCREEN_ADS7846=m
# CONFIG_TOUCHSCREEN_AD7877 is not set
CONFIG_TOUCHSCREEN_AD7879=m
CONFIG_TOUCHSCREEN_AD7879_I2C=m
++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:33.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:33.000000000 +0100
@@ -31,11 +31,10 @@
%define build_xen ("%build_flavor" == "xen" || "%build_flavor" == "ec2")
%define build_vanilla ("%build_flavor" == "vanilla")
-%define build_src_dir %my_builddir/linux-%srcversion
%define src_install_dir /usr/src/linux-%kernelrelease%variant
%define obj_install_dir %src_install_dir-obj
%define rpm_install_dir %buildroot%obj_install_dir
-%define kernel_build_dir %build_src_dir/linux-obj
+%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
%(chmod +x %_sourcedir/{@SCRIPTS@})
@@ -295,14 +294,13 @@
cat %_sourcedir/localversion > localversion
fi
+cp %my_builddir/config/%cpu_arch_flavor .config
if test -e %my_builddir/config.addon/%cpu_arch_flavor; then
# FIXME: config.addon doesn't affect the %CONFIG_ macros defined at
# the top of the specfile
- %_sourcedir/configtool.pl %my_builddir/config{,.addon}/%cpu_arch_flavor >.config
-else
- cp %my_builddir/config/%cpu_arch_flavor .config
+ ../scripts/kconfig/merge_config.sh -m .config %my_builddir/config.addon/%cpu_arch_flavor
fi
-%build_src_dir/scripts/config \
+../scripts/config \
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
%if 0%{?__debug_package:1}
@@ -312,7 +310,7 @@
--disable CONFIG_DEBUG_INFO
%endif
-MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags} -C .. O=$PWD"
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
yes '' | make oldconfig $MAKE_ARGS
else
@@ -371,24 +369,15 @@
touch x509.genkey
touch signing_key.x509
-# The %{_smp_mflags} macro is defined to a number, make will spawn that many jobs.
-# There are several ways how to define it:
-# If you are using the build script:
-# build --jobs=N kernel-$flavor.spec
-# With plain rpmbuild:
-# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
-# To spawn as many jobs as there are cpu cores:
-# rpmbuild -ba --define "%_smp_mflags -j 0$(grep -Ec 'cpu[0-9]' /proc/stat)" \
-# kernel-$flavor.spec
-# You can also set this permanently in ~/.rpmmacros:
-# %_smp_mflags -j 0%(grep -Ec 'cpu[0-9]' /proc/stat)
+MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}"
+
%if %CONFIG_KMSG_IDS == "y"
chmod +x ../scripts/kmsg-doc
MAKE_ARGS="$MAKE_ARGS D=2"
%endif
while true; do
- make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 \
+ make all $MAKE_ARGS 2>&1 \
| tee buildlog
if test "${PIPESTATUS[0]}" -eq 0; then
break
@@ -410,11 +399,6 @@
%if %CONFIG_EFI_STUB == "y"
BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
%endif
-%ifarch %ix86
-# XXX: do not sign on x86, as the repackaging changes kernel-pae
-# from i686 to i586
-BRP_PESIGN_FILES=""
-%endif
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
++++++ kernel-source.rpmlintrc ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:33.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:33.000000000 +0100
@@ -1,10 +1,11 @@
# These zero-length files are correct:
-addFilter("zero-length /usr/src/linux-3\..*obj/.*include/config.*h")
+addFilter("zero-length /usr/src/linux-.*-obj/.*/include/config.*h")
# vdsos are special
-addFilter("shared-lib-without-dependency-information /lib/modules/3\..*/vdso/.*")
-addFilter("missing-PT_GNU_STACK-section /lib/modules/3\..*/vdso/")
+addFilter("shared-lib-without-dependency-information /lib/modules/[1-9].*/vdso/.*")
+addFilter("missing-PT_GNU_STACK-section /lib/modules/[1-9].*/vdso/.*")
# This is a stale symlink until the kernel-source package is installed:
-addFilter("dangling-symlink /lib/modules/3\..*/source")
+addFilter("dangling-symlink /lib/modules/[1-9].*/source")
# These hidden files are fine:
-addFilter ("hidden-file-or-dir /usr/src/linux-3\..*-obj/.*/.config")
-addFilter ("hidden-file-or-dir /usr/src/linux-3\..*-obj/.*/.kernel-binary.spec.buildenv")
+addFilter("hidden-file-or-dir /usr/src/linux-.*-obj/.*/.config")
+addFilter("hidden-file-or-dir /usr/src/linux-.*-obj/.*/.kernel-binary.spec.buildenv")
+addFilter("hidden-file-or-dir /boot/\..*\.hmac")
++++++ kernel-source.spec.in ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:33.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:33.000000000 +0100
@@ -86,7 +86,6 @@
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
-Source66: configtool.pl
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/ALSA-hda-Disable-64bit-address-for-Creative-HDA-cont new/patches.drivers/ALSA-hda-Disable-64bit-address-for-Creative-HDA-cont
--- old/patches.drivers/ALSA-hda-Disable-64bit-address-for-Creative-HDA-cont 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/ALSA-hda-Disable-64bit-address-for-Creative-HDA-cont 2015-10-28 08:49:09.000000000 +0100
@@ -0,0 +1,54 @@
+From cadd16ea33a938d49aee99edd4758cc76048b399 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai(a)suse.de>
+Date: Tue, 27 Oct 2015 14:21:51 +0100
+Subject: [PATCH] ALSA: hda - Disable 64bit address for Creative HDA controllers
+Git-commit: cadd16ea33a938d49aee99edd4758cc76048b399
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
+Patch-mainline: Queued in subsystem maintainer repository
+References: bnc#814440
+
+We've had many reports that some Creative sound cards with CA0132
+don't work well. Some reported that it starts working after reloading
+the module, while some reported it starts working when a 32bit kernel
+is used. All these facts seem implying that the chip fails to
+communicate when the buffer is located in 64bit address.
+
+This patch addresses these issues by just adding AZX_DCAPS_NO_64BIT
+flag to the corresponding PCI entries. I casually had a chance to
+test an SB Recon3D board, and indeed this seems helping.
+
+Although this hasn't been tested on all Creative devices, it's safer
+to assume that this restriction applies to the rest of them, too. So
+the flag is applied to all Creative entries.
+
+Cc: <stable(a)vger.kernel.org>
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ sound/pci/hda/hda_intel.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -334,6 +334,7 @@ enum {
+
+ #define AZX_DCAPS_PRESET_CTHDA \
+ (AZX_DCAPS_NO_MSI | AZX_DCAPS_POSFIX_LPIB |\
++ AZX_DCAPS_NO_64BIT |\
+ AZX_DCAPS_4K_BDLE_BOUNDARY | AZX_DCAPS_SNOOP_OFF)
+
+ /*
+@@ -2284,11 +2285,13 @@ static const struct pci_device_id azx_id
+ .class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8,
+ .class_mask = 0xffffff,
+ .driver_data = AZX_DRIVER_CTX | AZX_DCAPS_CTX_WORKAROUND |
++ AZX_DCAPS_NO_64BIT |
+ AZX_DCAPS_RIRB_PRE_DELAY | AZX_DCAPS_POSFIX_LPIB },
+ #else
+ /* this entry seems still valid -- i.e. without emu20kx chip */
+ { PCI_DEVICE(0x1102, 0x0009),
+ .driver_data = AZX_DRIVER_CTX | AZX_DCAPS_CTX_WORKAROUND |
++ AZX_DCAPS_NO_64BIT |
+ AZX_DCAPS_RIRB_PRE_DELAY | AZX_DCAPS_POSFIX_LPIB },
+ #endif
+ /* CM8888 */
++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drm-sti-Remove-select-of-CONFI_FW_LOADER_USER_HELPER new/patches.fixes/drm-sti-Remove-select-of-CONFI_FW_LOADER_USER_HELPER
--- old/patches.fixes/drm-sti-Remove-select-of-CONFI_FW_LOADER_USER_HELPER 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/drm-sti-Remove-select-of-CONFI_FW_LOADER_USER_HELPER 2015-10-26 15:37:15.000000000 +0100
@@ -0,0 +1,37 @@
+From: Takashi Iwai <tiwai(a)suse.de>
+Subject: [PATCH] drm/sti: Remove select of CONFIG_FW_LOADER_USER_HELPER_FALLBACK
+Date: Mon, 19 Oct 2015 08:16:10 +0200
+Message-id: <1445235370-6717-1-git-send-email-tiwai(a)suse.de>
+Patch-mainline: Submitted, Mon, 19 Oct 2015 08:16:10 +0200, LKML
+References: boo#951260
+
+The commit [4fdbc678fe4d: drm: sti: add HQVDP plane] added the select
+of CONFIG_FW_LOADER_USER_HELPER_FALLBACK by some unwritten reason.
+But this config is known to be harmful, and is present only for
+compatibility reason for an old exotic system that mandates udev
+interaction which isn't supposed to be selected by a driver.
+Let's remove it.
+
+Fixes: 4fdbc678fe4d ('drm: sti: add HQVDP plane')
+Cc: <stable(a)vger.kernel.org>
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/gpu/drm/sti/Kconfig | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/sti/Kconfig b/drivers/gpu/drm/sti/Kconfig
+index fbccc105819b..a18159074b76 100644
+--- a/drivers/gpu/drm/sti/Kconfig
++++ b/drivers/gpu/drm/sti/Kconfig
+@@ -6,7 +6,6 @@ config DRM_STI
+ select DRM_GEM_CMA_HELPER
+ select DRM_KMS_CMA_HELPER
+ select DRM_PANEL
+- select FW_LOADER_USER_HELPER_FALLBACK
+ help
+ Choose this option to enable DRM on STM stiH41x chipset
+
+--
+2.6.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/media-media-vivid-osd-fix-info-leak-in-ioctl.patch new/patches.fixes/media-media-vivid-osd-fix-info-leak-in-ioctl.patch
--- old/patches.fixes/media-media-vivid-osd-fix-info-leak-in-ioctl.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/media-media-vivid-osd-fix-info-leak-in-ioctl.patch 2015-10-26 15:37:15.000000000 +0100
@@ -0,0 +1,35 @@
+From eda98796aff0d9bf41094b06811f5def3b4c333c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Salva=20Peir=C3=B3?= <speirofr(a)gmail.com>
+Date: Wed, 7 Oct 2015 07:09:26 -0300
+Subject: [PATCH] [media] media/vivid-osd: fix info leak in ioctl
+Mime-version: 1.0
+Content-type: text/plain; charset=UTF-8
+Content-transfer-encoding: 8bit
+Git-commit: eda98796aff0d9bf41094b06811f5def3b4c333c
+Git-repo: git://linuxtv.org/mchehab/media-next.git
+Patch-mainline: Queued in subsystem maintainer repository
+References: CVE-2015-7884, bnc#951626
+
+The vivid_fb_ioctl() code fails to initialize the 16 _reserved bytes of
+struct fb_vblank after the ->hcount member. Add an explicit
+memset(0) before filling the structure to avoid the info leak.
+
+Signed-off-by: Salva Peiró <speirofr(a)gmail.com>
+Signed-off-by: Hans Verkuil <hans.verkuil(a)cisco.com>
+Signed-off-by: Mauro Carvalho Chehab <mchehab(a)osg.samsung.com>
+Acked-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/media/platform/vivid/vivid-osd.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/media/platform/vivid/vivid-osd.c
++++ b/drivers/media/platform/vivid/vivid-osd.c
+@@ -85,6 +85,7 @@ static int vivid_fb_ioctl(struct fb_info
+ case FBIOGET_VBLANK: {
+ struct fb_vblank vblank;
+
++ memset(&vblank, 0, sizeof(vblank));
+ vblank.flags = FB_VBLANK_HAVE_COUNT | FB_VBLANK_HAVE_VCOUNT |
+ FB_VBLANK_HAVE_VSYNC;
+ vblank.count = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/staging-dgnc-fix-info-leak-in-ioctl.patch new/patches.fixes/staging-dgnc-fix-info-leak-in-ioctl.patch
--- old/patches.fixes/staging-dgnc-fix-info-leak-in-ioctl.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/staging-dgnc-fix-info-leak-in-ioctl.patch 2015-10-26 15:37:15.000000000 +0100
@@ -0,0 +1,34 @@
+From 4b6184336ebb5c8dc1eae7f7ab46ee608a748b05 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Salva=20Peir=C3=B3?= <speirofr(a)gmail.com>
+Date: Wed, 14 Oct 2015 17:48:02 +0200
+Subject: [PATCH] staging/dgnc: fix info leak in ioctl
+Mime-version: 1.0
+Content-type: text/plain; charset=UTF-8
+Content-transfer-encoding: 8bit
+Git-commit: 4b6184336ebb5c8dc1eae7f7ab46ee608a748b05
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
+Patch-mainline: Queued in subsystem maintainer repository
+References: CVE-2015-7885, boo#951627
+
+The dgnc_mgmt_ioctl() code fails to initialize the 16 _reserved bytes of
+struct digi_dinfo after the ->dinfo_nboards member. Add an explicit
+memset(0) before filling the structure to avoid the info leak.
+
+Signed-off-by: Salva Peiró <speirofr(a)gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
+Acked-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/staging/dgnc/dgnc_mgmt.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/staging/dgnc/dgnc_mgmt.c
++++ b/drivers/staging/dgnc/dgnc_mgmt.c
+@@ -115,6 +115,7 @@ long dgnc_mgmt_ioctl(struct file *file,
+
+ spin_lock_irqsave(&dgnc_global_lock, flags);
+
++ memset(&ddi, 0, sizeof(ddi));
+ ddi.dinfo_nboards = dgnc_NumBoards;
+ sprintf(ddi.dinfo_version, "%s", DG_PART);
+
++++++ patches.kernel.org.tar.bz2 ++++++
++++ 2009 lines of diff (skipped)
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:34.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:34.000000000 +0100
@@ -31,6 +31,7 @@
patches.kernel.org/patch-4.2.1-2
patches.kernel.org/patch-4.2.2-3
patches.kernel.org/patch-4.2.3-4
+ patches.kernel.org/patch-4.2.4-5
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -351,10 +352,12 @@
+jeffm patches.fixes/nouveau-fix-race-with-fence-signaling
patches.drivers/0001-vmwgfx-Rework-device-initialization.patch
patches.drivers/0002-drm-vmwgfx-Allow-dropped-masters-render-node-like-ac.patch
+ patches.fixes/drm-sti-Remove-select-of-CONFI_FW_LOADER_USER_HELPER
########################################################
# video4linux
########################################################
+ patches.fixes/media-media-vivid-osd-fix-info-leak-in-ioctl.patch
########################################################
# Network
@@ -404,6 +407,7 @@
# Sound
##########################################################
patches.drivers/ALSA-hda-Fix-deadlock-at-error-in-building-PCM
+ patches.drivers/ALSA-hda-Disable-64bit-address-for-Creative-HDA-cont
########################################################
# Char / serial
@@ -502,6 +506,7 @@
# Staging tree patches
# new drivers that are going upstream
########################################################
+ patches.fixes/staging-dgnc-fix-info-leak-in-ioctl.patch
########################################################
# You'd better have a good reason for adding a patch
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.lLRKlF/_old 2015-11-02 12:54:34.000000000 +0100
+++ /var/tmp/diff_new_pack.lLRKlF/_new 2015-11-02 12:54:34.000000000 +0100
@@ -1,3 +1,3 @@
-2015-10-24 18:00:29 +0200
-GIT Revision: 6ae5577eacb34a319fbd7bc1db7eadcaaceaa642
+2015-10-28 18:49:15 +0100
+GIT Revision: 0491388eeb2f409aa709a00b47cd55553bc6d41b
GIT Branch: stable
1
0
Hello community,
here is the log from the commit of package systemd for openSUSE:Factory checked in at 2015-11-02 12:54:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
and /work/SRC/openSUSE:Factory/.systemd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2015-09-27 14:31:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2015-11-02 12:54:16.000000000 +0100
@@ -1,0 +2,57 @@
+Wed Oct 21 20:18:58 UTC 2015 - dmueller(a)suse.com
+
+- enable seccomp for aarch64 (fate#318444)
+
+-------------------------------------------------------------------
+Thu Oct 15 14:12:44 UTC 2015 - fbui(a)suse.com
+
+- Fix again UEFI for mini package
+
+-------------------------------------------------------------------
+Thu Oct 15 09:07:51 UTC 2015 - jengelh(a)inai.de
+
+- Drop one more undesirable Obsoletes/Provides. This should have
+ been a Conflicts. (There was already a Conflicts, and since
+ Conflicts go both ways, we won't need a second one.)
+
+-------------------------------------------------------------------
+Thu Oct 15 08:19:00 UTC 2015 - werner(a)suse.de
+
+- No UEFI for systemd-mini
+
+-------------------------------------------------------------------
+Mon Oct 12 11:34:13 UTC 2015 - fbui(a)suse.com
+
+- Add 2 upstream patches to fix boo#949574 and bsc#932284
+ 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch
+ 0002-units-enable-waiting-for-unit-termination-in-certain.patch
+
+-------------------------------------------------------------------
+Fri Oct 9 18:03:02 UTC 2015 - fbui(a)suse.com
+
+- Disable systemd-boot on aarch64 since it fails to build.
+ Error while compiling src/boot/efi/util.o is:
+ usr/include/efi/aarch64/efibind.h:2:20: fatal error: stdint.h: No such file or directory
+
+-------------------------------------------------------------------
+Fri Oct 9 07:16:45 UTC 2015 - fbui(a)suse.com
+
+- Fix UEFI detection logic: basically we let configure.ac figure out
+ if UEFI is supported by the current build environment. No need to
+ clutter the spec file with a new conditionnal %has_efi.
+
+- Provide systemd-bootx64.efi (aka gummiboot)
+
+-------------------------------------------------------------------
+Tue Oct 6 15:13:04 UTC 2015 - werner(a)suse.de
+
+- Modify patch tty-ask-password-agent-on-console.patch to reflect
+ the changes done for pull request 1432
+
+-------------------------------------------------------------------
+Thu Oct 1 15:58:32 UTC 2015 - jengelh(a)inai.de
+
+- Undo Obsoletes/Provides (from Aug 11), creates too big a cycle.
+- Provide systemd-sysv-install program/link [bnc#948353]
+
+-------------------------------------------------------------------
systemd.changes: same change
New:
----
0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch
0002-units-enable-waiting-for-unit-termination-in-certain.patch
systemd-sysv-install
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd-mini.spec ++++++
--- /var/tmp/diff_new_pack.NuPtFS/_old 2015-11-02 12:54:18.000000000 +0100
+++ /var/tmp/diff_new_pack.NuPtFS/_new 2015-11-02 12:54:18.000000000 +0100
@@ -29,11 +29,6 @@
%bcond_with resolved
%bcond_with python
%bcond_with parentpathid
-%ifarch %{ix86} x86_64 aarch64
-%define has_efi 1
-%else
-%define has_efi 0
-%endif
%if 0%{?suse_version} > 1315
%bcond_without permission
%bcond_without blkrrpart
@@ -77,16 +72,21 @@
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libpci) >= 3
BuildRequires: pkgconfig(mount) >= 2.26
-%ifarch %ix86 x86_64 x32 %arm ppc64le s390x
+%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x
BuildRequires: pkgconfig(libseccomp)
%endif
+%ifarch %{ix86} x86_64
+BuildRequires: gnu-efi
+%endif
BuildRequires: pkgconfig(libselinux) >= 2.1.9
BuildRequires: pkgconfig(libsepol)
Conflicts: sysvinit
+Conflicts: otherproviders(systemd)
%if 0%{?bootstrap}
#!BuildIgnore: dbus-1
+Requires: this-is-only-for-build-envs
Provides: systemd = %version-%release
-Conflicts: otherproviders(systemd)
+Conflicts: kiwi
%else
BuildRequires: docbook-xsl-stylesheets
BuildRequires: libgcrypt-devel
@@ -143,6 +143,7 @@
Source9: nss-myhostname-config
Source10: macros.systemd.upstream
Source11: after-local.service
+Source12: systemd-sysv-install
Source1065: systemd-remount-tmpfs
@@ -181,6 +182,10 @@
Patch84: make-emergency.service-conflict-with-syslog.socket.patch
# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch
Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch
+# PATCH-FIX-UPSTREAM (boo#949574)
+Patch87: 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch
+# PATCH-FIX-UPSTREAM (bsc#932284)
+Patch88: 0002-units-enable-waiting-for-unit-termination-in-certain.patch
# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch
Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch
# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty
@@ -324,11 +329,8 @@
Requires: systemd-rpm-macros
%if 0%{?bootstrap}
Provides: systemd-devel = %version-%release
-Conflicts: otherproviders(systemd-devel)
-%else
-Obsoletes: systemd-mini-devel
-Provides: systemd-mini-devel
%endif
+Conflicts: otherproviders(systemd-devel)
%description devel
Development headers and auxiliary files for developing applications for systemd.
@@ -351,9 +353,7 @@
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libsystemd0
-%else
-Obsoletes: libsystemd0-mini
-Provides: libsystemd0-mini
+Requires: this-is-only-for-build-envs
%endif
%description -n libsystemd0%{?mini}
@@ -411,11 +411,9 @@
Requires: filesystem
%if 0%{?bootstrap}
Provides: udev = %version-%release
-Conflicts: otherproviders(udev)
-%else
-Obsoletes: udev-mini
-Provides: udev-mini
+Conflicts: kiwi
%endif
+Conflicts: otherproviders(udev)
%description -n udev%{?mini}
Udev creates and removes device nodes in /dev for devices discovered or
@@ -433,9 +431,6 @@
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libudev1
-%else
-Obsoletes: libudev1-mini
-Provides: libudev1-mini
%endif
%description -n libudev%{?mini}1
@@ -449,11 +444,8 @@
Requires: libudev%{?mini}1 = %version-%release
%if 0%{?bootstrap}
Provides: libudev-devel = %version-%release
-Conflicts: otherproviders(libudev-devel)
-%else
-Obsoletes: libudev-mini-devel
-Provides: libudev-mini-devel
%endif
+Conflicts: otherproviders(libudev-devel)
%description -n libudev%{?mini}-devel
This package contains the development files for the library libudev, a
@@ -565,6 +557,8 @@
%patch42 -p1
%patch84 -p1
%patch86 -p1
+%patch87 -p1
+%patch88 -p1
%patch90 -p1
%patch91 -p1
%patch120 -p1
@@ -700,9 +694,6 @@
--enable-selinux \
--enable-split-usr \
--disable-static \
-%if ! 0%{?has_efi}
- --disable-efi \
-%endif
--with-rc-local-script-path-start=/etc/init.d/boot.local \
--with-rc-local-script-path-stop=/etc/init.d/halt.local \
--with-debug-shell=/bin/bash \
@@ -726,6 +717,7 @@
%install
make install DESTDIR="%buildroot"
+install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/"
# move to %{_lib}
%if ! 0%{?bootstrap}
@@ -1147,6 +1139,7 @@
%{_bindir}/networkctl
%endif
%{_bindir}/busctl
+%{_bindir}/bootctl
%{_bindir}/kernel-install
%{_bindir}/hostnamectl
%{_bindir}/localectl
@@ -1187,6 +1180,7 @@
%dir %{_prefix}/lib/systemd
%dir %{_prefix}/lib/systemd/user
%dir %{_prefix}/lib/systemd/system
+%exclude %{_prefix}/lib/systemd/systemd-sysv*
%exclude %{_prefix}/lib/systemd/system/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/udev.service
%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service
@@ -1236,9 +1230,6 @@
%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator
%endif
%{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator
-%if 0%{has_efi}
-%{_bindir}/bootctl
-%endif
%{_prefix}/lib/systemd/system-generators/systemd-debug-generator
%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator
%if %{with sysvcompat}
@@ -1255,6 +1246,13 @@
/%{_lib}/security/pam_systemd.so
%config /etc/pam.d/systemd-user
+%ifarch %{ix86} x86_64
+%dir %{_prefix}/lib/systemd/boot
+%dir %{_prefix}/lib/systemd/boot/efi
+%{_prefix}/lib/systemd/boot/efi/*.efi
+%{_prefix}/lib/systemd/boot/efi/*.stub
+%endif
+
%dir %{_libexecdir}/modules-load.d
%dir %{_sysconfdir}/modules-load.d
%{_libexecdir}/modules-load.d/sg.conf
@@ -1443,6 +1441,8 @@
%{_mandir}/man8/telinit.8*
%{_mandir}/man8/runlevel.8*
%endif
+%dir %_prefix/lib/systemd
+%_prefix/lib/systemd/systemd-sysv-install
%files -n udev%{?mini}
%defattr(-,root,root)
++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.NuPtFS/_old 2015-11-02 12:54:18.000000000 +0100
+++ /var/tmp/diff_new_pack.NuPtFS/_new 2015-11-02 12:54:18.000000000 +0100
@@ -27,11 +27,6 @@
%bcond_with resolved
%bcond_with python
%bcond_with parentpathid
-%ifarch %{ix86} x86_64 aarch64
-%define has_efi 1
-%else
-%define has_efi 0
-%endif
%if 0%{?suse_version} > 1315
%bcond_without permission
%bcond_without blkrrpart
@@ -72,16 +67,21 @@
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libpci) >= 3
BuildRequires: pkgconfig(mount) >= 2.26
-%ifarch %ix86 x86_64 x32 %arm ppc64le s390x
+%ifarch aarch64 %ix86 x86_64 x32 %arm ppc64le s390x
BuildRequires: pkgconfig(libseccomp)
%endif
+%ifarch %{ix86} x86_64
+BuildRequires: gnu-efi
+%endif
BuildRequires: pkgconfig(libselinux) >= 2.1.9
BuildRequires: pkgconfig(libsepol)
Conflicts: sysvinit
+Conflicts: otherproviders(systemd)
%if 0%{?bootstrap}
#!BuildIgnore: dbus-1
+Requires: this-is-only-for-build-envs
Provides: systemd = %version-%release
-Conflicts: otherproviders(systemd)
+Conflicts: kiwi
%else
BuildRequires: docbook-xsl-stylesheets
BuildRequires: libgcrypt-devel
@@ -138,6 +138,7 @@
Source9: nss-myhostname-config
Source10: macros.systemd.upstream
Source11: after-local.service
+Source12: systemd-sysv-install
Source1065: systemd-remount-tmpfs
@@ -176,6 +177,10 @@
Patch84: make-emergency.service-conflict-with-syslog.socket.patch
# PATCH-FIX-SUSE 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch
Patch86: 0001-add-hdflush-for-reboot-or-hddown-for-poweroff.patch
+# PATCH-FIX-UPSTREAM (boo#949574)
+Patch87: 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch
+# PATCH-FIX-UPSTREAM (bsc#932284)
+Patch88: 0002-units-enable-waiting-for-unit-termination-in-certain.patch
# PATCH-FIX-SUSE 0001-On_s390_con3270_disable_ANSI_colour_esc.patch
Patch90: 0001-On_s390_con3270_disable_ANSI_colour_esc.patch
# PATCH-FIX-SUSE plymouth-quit-and-wait-for-emergency-service.patch -- Make sure that no plymouthd is locking the tty
@@ -319,11 +324,8 @@
Requires: systemd-rpm-macros
%if 0%{?bootstrap}
Provides: systemd-devel = %version-%release
-Conflicts: otherproviders(systemd-devel)
-%else
-Obsoletes: systemd-mini-devel
-Provides: systemd-mini-devel
%endif
+Conflicts: otherproviders(systemd-devel)
%description devel
Development headers and auxiliary files for developing applications for systemd.
@@ -346,9 +348,7 @@
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libsystemd0
-%else
-Obsoletes: libsystemd0-mini
-Provides: libsystemd0-mini
+Requires: this-is-only-for-build-envs
%endif
%description -n libsystemd0%{?mini}
@@ -406,11 +406,9 @@
Requires: filesystem
%if 0%{?bootstrap}
Provides: udev = %version-%release
-Conflicts: otherproviders(udev)
-%else
-Obsoletes: udev-mini
-Provides: udev-mini
+Conflicts: kiwi
%endif
+Conflicts: otherproviders(udev)
%description -n udev%{?mini}
Udev creates and removes device nodes in /dev for devices discovered or
@@ -428,9 +426,6 @@
Group: System/Libraries
%if 0%{?bootstrap}
Conflicts: libudev1
-%else
-Obsoletes: libudev1-mini
-Provides: libudev1-mini
%endif
%description -n libudev%{?mini}1
@@ -444,11 +439,8 @@
Requires: libudev%{?mini}1 = %version-%release
%if 0%{?bootstrap}
Provides: libudev-devel = %version-%release
-Conflicts: otherproviders(libudev-devel)
-%else
-Obsoletes: libudev-mini-devel
-Provides: libudev-mini-devel
%endif
+Conflicts: otherproviders(libudev-devel)
%description -n libudev%{?mini}-devel
This package contains the development files for the library libudev, a
@@ -560,6 +552,8 @@
%patch42 -p1
%patch84 -p1
%patch86 -p1
+%patch87 -p1
+%patch88 -p1
%patch90 -p1
%patch91 -p1
%patch120 -p1
@@ -695,9 +689,6 @@
--enable-selinux \
--enable-split-usr \
--disable-static \
-%if ! 0%{?has_efi}
- --disable-efi \
-%endif
--with-rc-local-script-path-start=/etc/init.d/boot.local \
--with-rc-local-script-path-stop=/etc/init.d/halt.local \
--with-debug-shell=/bin/bash \
@@ -721,6 +712,7 @@
%install
make install DESTDIR="%buildroot"
+install -pm0755 "%_sourcedir/systemd-sysv-install" "%buildroot/%_prefix/lib/systemd/"
# move to %{_lib}
%if ! 0%{?bootstrap}
@@ -1142,6 +1134,7 @@
%{_bindir}/networkctl
%endif
%{_bindir}/busctl
+%{_bindir}/bootctl
%{_bindir}/kernel-install
%{_bindir}/hostnamectl
%{_bindir}/localectl
@@ -1182,6 +1175,7 @@
%dir %{_prefix}/lib/systemd
%dir %{_prefix}/lib/systemd/user
%dir %{_prefix}/lib/systemd/system
+%exclude %{_prefix}/lib/systemd/systemd-sysv*
%exclude %{_prefix}/lib/systemd/system/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/udev.service
%exclude %{_prefix}/lib/systemd/system/initrd-udevadm-cleanup-db.service
@@ -1231,9 +1225,6 @@
%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator
%endif
%{_prefix}/lib/systemd/system-generators/systemd-dbus1-generator
-%if 0%{has_efi}
-%{_bindir}/bootctl
-%endif
%{_prefix}/lib/systemd/system-generators/systemd-debug-generator
%{_prefix}/lib/systemd/system-generators/systemd-hibernate-resume-generator
%if %{with sysvcompat}
@@ -1250,6 +1241,13 @@
/%{_lib}/security/pam_systemd.so
%config /etc/pam.d/systemd-user
+%ifarch %{ix86} x86_64
+%dir %{_prefix}/lib/systemd/boot
+%dir %{_prefix}/lib/systemd/boot/efi
+%{_prefix}/lib/systemd/boot/efi/*.efi
+%{_prefix}/lib/systemd/boot/efi/*.stub
+%endif
+
%dir %{_libexecdir}/modules-load.d
%dir %{_sysconfdir}/modules-load.d
%{_libexecdir}/modules-load.d/sg.conf
@@ -1438,6 +1436,8 @@
%{_mandir}/man8/telinit.8*
%{_mandir}/man8/runlevel.8*
%endif
+%dir %_prefix/lib/systemd
+%_prefix/lib/systemd/systemd-sysv-install
%files -n udev%{?mini}
%defattr(-,root,root)
++++++ 0001-Make-sure-the-mount-units-pulled-by-RequiresMountsFo.patch ++++++
>From 6a102f90a2ee50e43998d64819e8bd4ee241c22b Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui(a)suse.com>
Date: Thu, 8 Oct 2015 19:06:06 +0200
Subject: [PATCH 1/2] Make sure the mount units pulled by 'RequiresMountsFor='
are loaded (if they exist)
We should make sure that mount units involved by 'RequiresMountsFor='
directives are really loaded if not required by any others units so
that Requires= dependencies on the mount units are applied and thus
the mount unit dependencies are started.
(cherry picked from commit 9b3757e9c8c8d6e161481193c4ef60e425a9ae41)
---
src/core/unit.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/core/unit.c b/src/core/unit.c
index dd5e801..dc7bc5a 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -1141,13 +1141,23 @@ static int unit_add_mount_dependencies(Unit *u) {
char prefix[strlen(*i) + 1];
PATH_FOREACH_PREFIX_MORE(prefix, *i) {
+ _cleanup_free_ char *p = NULL;
Unit *m;
- r = manager_get_unit_by_path(u->manager, prefix, ".mount", &m);
+ r = unit_name_from_path(prefix, ".mount", &p);
if (r < 0)
return r;
- if (r == 0)
+
+ m = manager_get_unit(u->manager, p);
+ if (!m) {
+ /* Make sure to load the mount unit if
+ * it exists. If so the dependencies
+ * on this unit will be added later
+ * during the loading of the mount
+ * unit. */
+ (void) manager_load_unit_prepare(u->manager, p, NULL, NULL, &m);
continue;
+ }
if (m == u)
continue;
--
2.6.0
++++++ 0002-units-enable-waiting-for-unit-termination-in-certain.patch ++++++
>From d7f920bfcb0296fed214d4d3a21d64de09a68521 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart(a)poettering.net>
Date: Tue, 1 Sep 2015 17:25:59 +0200
Subject: [PATCH 2/2] units: enable waiting for unit termination in certain
cases
The legacy cgroup hierarchy does not support reliable empty
notifications in containers and if there are left-over subgroups in a
cgroup. This makes it hard to correctly wait for them running empty, and
thus we previously disabled this logic entirely.
With this change we explicitly check for the container case, and whether
the unit is a "delegation" unit (i.e. one where programs may create
their own subgroups). If we are neither in a container, nor operating on
a delegation unit cgroup empty notifications become reliable and thus we
start waiting for the empty notifications again.
This doesn't really fix the general problem around cgroup notifications
but reduces the effect around it.
(This also reorders #include lines by their focus, as suggsted in
CODING_STYLE. We have to add "virt.h", so let's do that at the right
place.)
Also see #317.
(cherry picked from commit e9db43d5910717a1084924c512bf85e2b8265375)
---
src/core/cgroup.c | 12 ++++++++++++
src/core/cgroup.h | 2 ++
src/core/unit.c | 40 +++++++++++++++++++++++-----------------
3 files changed, 37 insertions(+), 17 deletions(-)
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
index 6474e08..65af351 100644
--- a/src/core/cgroup.c
+++ b/src/core/cgroup.c
@@ -1127,6 +1127,18 @@ int unit_reset_cpu_usage(Unit *u) {
return 0;
}
+bool unit_cgroup_delegate(Unit *u) {
+ CGroupContext *c;
+
+ assert(u);
+
+ c = unit_get_cgroup_context(u);
+ if (!c)
+ return false;
+
+ return c->delegate;
+}
+
static const char* const cgroup_device_policy_table[_CGROUP_DEVICE_POLICY_MAX] = {
[CGROUP_AUTO] = "auto",
[CGROUP_CLOSED] = "closed",
diff --git a/src/core/cgroup.h b/src/core/cgroup.h
index 869ddae..7b38d21 100644
--- a/src/core/cgroup.h
+++ b/src/core/cgroup.h
@@ -130,5 +130,7 @@ int unit_get_memory_current(Unit *u, uint64_t *ret);
int unit_get_cpu_usage(Unit *u, nsec_t *ret);
int unit_reset_cpu_usage(Unit *u);
+bool unit_cgroup_delegate(Unit *u);
+
const char* cgroup_device_policy_to_string(CGroupDevicePolicy i) _const_;
CGroupDevicePolicy cgroup_device_policy_from_string(const char *s) _pure_;
diff --git a/src/core/unit.c b/src/core/unit.c
index dc7bc5a..275f567 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -28,26 +28,28 @@
#include "sd-id128.h"
#include "sd-messages.h"
#include "set.h"
-#include "unit.h"
#include "macro.h"
#include "strv.h"
#include "path-util.h"
-#include "load-fragment.h"
-#include "load-dropin.h"
#include "log.h"
-#include "unit-name.h"
-#include "dbus-unit.h"
-#include "special.h"
#include "cgroup-util.h"
#include "missing.h"
#include "mkdir.h"
#include "fileio-label.h"
+#include "formats-util.h"
+#include "process-util.h"
+#include "virt.h"
#include "bus-common-errors.h"
+#include "bus-util.h"
+#include "dropin.h"
+#include "unit-name.h"
+#include "special.h"
+#include "unit.h"
+#include "load-fragment.h"
+#include "load-dropin.h"
#include "dbus.h"
+#include "dbus-unit.h"
#include "execute.h"
-#include "dropin.h"
-#include "formats-util.h"
-#include "process-util.h"
const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX] = {
[UNIT_SERVICE] = &service_vtable,
@@ -3535,14 +3537,18 @@ int unit_kill_context(
} else if (r > 0) {
/* FIXME: For now, we will not wait for the
- * cgroup members to die, simply because
- * cgroup notification is unreliable. It
- * doesn't work at all in containers, and
- * outside of containers it can be confused
- * easily by leaving directories in the
- * cgroup. */
-
- /* wait_for_exit = true; */
+ * cgroup members to die if we are running in
+ * a container or if this is a delegation
+ * unit, simply because cgroup notification is
+ * unreliable in these cases. It doesn't work
+ * at all in containers, and outside of
+ * containers it can be confused easily by
+ * left-over directories in the cgroup --
+ * which however should not exist in
+ * non-delegated units. */
+
+ if (detect_container(NULL) == 0 && !unit_cgroup_delegate(u))
+ wait_for_exit = true;
if (c->send_sighup && k != KILL_KILL) {
set_free(pid_set);
--
2.6.0
++++++ systemd-sysv-install ++++++
#!/bin/sh
set -e
usage() {
echo "Usage: $0 [--root=path] enable|disable|is-enabled <sysv script name>" >&2
exit 1
}
eval set -- "$(getopt -o r: --long root: -- "$@")"
while true; do
case "$1" in
-r|--root)
ROOT="$2"
shift 2 ;;
--) shift ; break ;;
*) usage ;;
esac
done
NAME="$2"
ROOT="${ROOT:+--root=$ROOT}"
[ -n "$NAME" ] || usage
case "$1" in
enable) chkconfig $ROOT -a "$NAME" ;;
disable) chkconfig $ROOT -r "$NAME" ;;
is-enabled) chkconfig $ROOT -t "$NAME" ;;
*) usage ;;
esac
++++++ tty-ask-password-agent-on-console.patch ++++++
--- /var/tmp/diff_new_pack.NuPtFS/_old 2015-11-02 12:54:18.000000000 +0100
+++ /var/tmp/diff_new_pack.NuPtFS/_new 2015-11-02 12:54:18.000000000 +0100
@@ -1,6 +1,6 @@
-From 633a5904c1c4e363a7147f47e2d9fdb1925f7b9f Mon Sep 17 00:00:00 2001
+From 907bc2aa36f58c6050cd4b7b290e0992a4373e49 Mon Sep 17 00:00:00 2001
From: Werner Fink <werner(a)suse.de>
-Date: Fri, 25 Sep 2015 14:28:58 +0200
+Date: Wed, 30 Sep 2015 15:00:41 +0200
Subject: [PATCH] Ask for passphrases not only on the first console of
/dev/console
@@ -9,22 +9,45 @@
used. Even rack based servers attachted to both a serial console
as well as having a virtual console do sometimes miss a connected
monitor.
+
+To be able to ask on all terminal devices of /dev/console the devices
+are collected. If more than one device are found, then on each of the
+terminals a inquiring task for passphrase is forked and do not return
+to the caller.
+
+Every task has its own session and its own controlling terminal.
+If one of the tasks does handle a password, the remaining tasks
+will be terminated.
+
+Also let contradictory options on the command of
+systemd-tty-ask-password-agent fail.
+
+Spwan for each device of the system console /dev/console a own process.
+
+Replace the system call wait() with with system call waitid().
---
- src/tty-ask-password-agent/tty-ask-password-agent.c | 191 ++++++++++++++++++++-
- 1 file changed, 186 insertions(+), 5 deletions(-)
+ src/tty-ask-password-agent.c | 264 ++++++++++++++++++++-
+ 1 file changed, 255 insertions(+), 9 deletions(-)
diff --git src/tty-ask-password-agent/tty-ask-password-agent.c src/tty-ask-password-agent/tty-ask-password-agent.c
-index 82cbf95..928a5e8 100644
+index 4630eb9..df4bada 100644
--- a/src/tty-ask-password-agent/tty-ask-password-agent.c
+++ b/src/tty-ask-password-agent/tty-ask-password-agent.c
-@@ -31,6 +31,10 @@
+@@ -4,6 +4,7 @@
+ This file is part of systemd.
+
+ Copyright 2010 Lennart Poettering
++ Copyright 2015 Werner Fink
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published by
+@@ -31,6 +32,9 @@
#include <getopt.h>
#include <sys/signalfd.h>
#include <fcntl.h>
+#include <sys/prctl.h>
+#include <signal.h>
+#include <sys/wait.h>
-+#include <sys/mman.h>
#include "util.h"
#include "mkdir.h"
@@ -37,7 +60,7 @@
static enum {
ACTION_LIST,
-@@ -53,6 +59,19 @@ static enum {
+@@ -53,8 +59,21 @@ static enum {
ACTION_WALL
} arg_action = ACTION_QUERY;
@@ -46,88 +69,101 @@
+ char *tty;
+};
+
-+static volatile unsigned long *usemask;
+static volatile sig_atomic_t sigchild;
-+static void chld_handler(int sig)
-+{
-+ (void)sig;
++
++static void chld_handler(int sig) {
+ ++sigchild;
+}
+
static bool arg_plymouth = false;
static bool arg_console = false;
++static bool arg_device = false;
++static const char *current_dev = "/dev/console";
-@@ -210,6 +229,69 @@ static int ask_password_plymouth(
+ static int ask_password_plymouth(
+ const char *message,
+@@ -211,6 +230,80 @@ static int ask_password_plymouth(
return 0;
}
-+static void free_consoles(struct console *con, const unsigned int num) {
++static void free_consoles(struct console *con, unsigned int num) {
+ unsigned int n;
-+ if (!con || !num)
++
++ if (!con || num == 0)
+ return;
++
+ for (n = 0; n < num; n++)
+ free(con[n].tty);
++
+ free(con);
+}
+
-+static const char *current_dev = "/dev/console";
-+static struct console* collect_consoles(unsigned int * num) {
++static int collect_consoles(struct console **consoles, unsigned int *num) {
+ _cleanup_free_ char *active = NULL;
+ const char *word, *state;
+ struct console *con = NULL;
+ size_t con_len = 0, len;
++ unsigned int count = 0;
+ int ret;
+
+ assert(num);
-+ assert(*num == 0);
++ assert(consoles);
+
+ ret = read_one_line_file("/sys/class/tty/console/active", &active);
+ if (ret < 0)
-+ return con;
++ return log_error_errno(ret, "Failed to read /sys/class/tty/console/active: %m");
++
+ FOREACH_WORD(word, len, active, state) {
+ _cleanup_free_ char *tty = NULL;
+
-+ if (strneq(word, "tty0", len) &&
-+ read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) {
++ if (len == 4 && strneq(word, "tty0", 4)) {
++
++ ret = read_one_line_file("/sys/class/tty/tty0/active", &tty);
++ if (ret < 0)
++ return log_error_errno(ret, "Failed to read /sys/class/tty/tty0/active: %m");
++
+ word = tty;
+ len = strlen(tty);
+ }
-+ con = greedy_realloc((void**)&con, &con_len, 1+(*num), sizeof(struct console));
-+ if (con == NULL) {
-+ log_oom();
-+ return NULL;
-+ }
-+ if (asprintf(&con[*num].tty, "/dev/%.*s", (int)len, word) < 0) {
-+ free_consoles(con, *num);
-+ log_oom();
-+ *num = 0;
-+ return NULL;
++
++ con = GREEDY_REALLOC(con, con_len, 1+count);
++ if (!con)
++ return log_oom();
++
++ if (asprintf(&con[count].tty, "/dev/%.*s", (int)len, word) < 0) {
++ free_consoles(con, count);
++ return log_oom();
+ }
-+ con[*num].pid = 0;
-+ (*num)++;
++
++ con[count].pid = 0;
++ count++;
+ }
-+ if (con == NULL) {
-+ con = greedy_realloc((void**)&con, &con_len, 1, sizeof(struct console));
-+ if (con == NULL) {
-+ log_oom();
-+ return NULL;
-+ }
++
++ if (!con) {
++ con = GREEDY_REALLOC(con, con_len, 1);
++ if (!con)
++ return log_oom();
++
+ con[0].tty = strdup(current_dev);
-+ if (con[0].tty == NULL) {
++ if (!con[0].tty) {
+ free_consoles(con, 1);
-+ log_oom();
-+ return NULL;
++ return log_oom();
+ }
++
+ con[0].pid = 0;
-+ (*num)++;
++ count++;
+ }
-+ return con;
++
++ *num = count;
++ *consoles = con;
++
++ return 0;
+}
+
static int parse_password(const char *filename, char **wall) {
_cleanup_free_ char *socket_name = NULL, *message = NULL, *packet = NULL;
uint64_t not_after = 0;
-@@ -310,7 +392,7 @@ static int parse_password(const char *filename, char **wall) {
+@@ -311,7 +404,7 @@ static int parse_password(const char *fi
_cleanup_free_ char *password = NULL;
if (arg_console) {
@@ -136,137 +172,208 @@
if (tty_fd < 0)
return tty_fd;
}
-@@ -614,8 +696,90 @@ static int parse_argv(int argc, char *argv[]) {
+@@ -554,7 +647,7 @@ static int parse_argv(int argc, char *ar
+ { "watch", no_argument, NULL, ARG_WATCH },
+ { "wall", no_argument, NULL, ARG_WALL },
+ { "plymouth", no_argument, NULL, ARG_PLYMOUTH },
+- { "console", no_argument, NULL, ARG_CONSOLE },
++ { "console", optional_argument, NULL, ARG_CONSOLE },
+ {}
+ };
+
+@@ -598,6 +691,10 @@ static int parse_argv(int argc, char *ar
+
+ case ARG_CONSOLE:
+ arg_console = true;
++ if (optarg && *optarg) {
++ current_dev = optarg;
++ arg_device = true;
++ }
+ break;
+
+ case '?':
+@@ -612,9 +709,143 @@ static int parse_argv(int argc, char *ar
+ return -EINVAL;
+ }
+
++ if (arg_plymouth || arg_console) {
++
++ if (!IN_SET(arg_action, ACTION_QUERY, ACTION_WATCH)) {
++ log_error("%s conflicting options --query and --watch.", program_invocation_short_name);
++ return -EINVAL;
++ }
++
++ if (arg_plymouth && arg_console) {
++ log_error("%s conflicting options --plymouth and --console.", program_invocation_short_name);
++ return -EINVAL;
++ }
++ }
++
return 1;
}
-+static unsigned int wfa_child(const struct console * con, const unsigned int id)
-+{
-+ setsid();
-+ release_terminal();
-+ *usemask |= 1 << id; /* shared memory area */
-+ current_dev = con[id].tty;
-+ return id;
-+}
-+
-+static unsigned int wait_for_answer(void)
-+{
-+ struct console *consoles;
++/*
++ * To be able to ask on all terminal devices of /dev/console
++ * the devices are collected. If more than one device are found,
++ * then on each of the terminals a inquiring task is forked.
++ * Every task has its own session and its own controlling terminal.
++ * If one of the tasks does handle a password, the remaining tasks
++ * will be terminated.
++ */
++static int ask_on_consoles(int argc, char *argv[]) {
++ struct console *consoles = NULL;
+ struct sigaction sig = {
+ .sa_handler = chld_handler,
+ .sa_flags = SA_NOCLDSTOP | SA_RESTART,
+ };
+ struct sigaction oldsig;
-+ sigset_t set, oldset;
++ sigset_t oldset;
+ unsigned int num = 0, id;
-+ int status = 0, ret;
-+ pid_t job;
++ siginfo_t status = {};
++ int ret;
+
-+ consoles = collect_consoles(&num);
-+ if (!consoles) {
-+ log_error("Failed to query password: %m");
-+ exit(EXIT_FAILURE);
-+ }
-+ if (num < 2)
-+ return wfa_child(consoles, 0);
++ ret = collect_consoles(&consoles, &num);
++ if (ret < 0)
++ return log_error_errno(ret, "Failed to query password: %m");
++
++ assert_se(sigprocmask_many(SIG_UNBLOCK, &oldset, SIGHUP, SIGCHLD, -1) >= 0);
++
++ assert_se(sigemptyset(&sig.sa_mask) >= 0);
++ assert_se(sigaction(SIGCHLD, &sig, &oldsig) >= 0);
+
-+ assert_se(sigemptyset(&set) == 0);
-+ assert_se(sigaddset(&set, SIGHUP) == 0);
-+ assert_se(sigaddset(&set, SIGCHLD) == 0);
-+ assert_se(sigemptyset(&sig.sa_mask) == 0);
-+ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0);
-+ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0);
+ sig.sa_handler = SIG_DFL;
-+ assert_se(sigaction(SIGHUP, &sig, NULL) == 0);
++ assert_se(sigaction(SIGHUP, &sig, NULL) >= 0);
+
+ for (id = 0; id < num; id++) {
+ consoles[id].pid = fork();
+
-+ if (consoles[id].pid < 0) {
-+ log_error("Failed to query password: %m");
-+ exit(EXIT_FAILURE);
-+ }
++ if (consoles[id].pid < 0)
++ return log_error_errno(errno, "Failed to query password: %m");
+
+ if (consoles[id].pid == 0) {
-+ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0)
-+ _exit(EXIT_FAILURE);
++ char *conarg;
++ int ac;
++
++ conarg = strjoina("--console=", consoles[id].tty);
++ if (!conarg)
++ return log_oom();
++
++ free_consoles(consoles, num); /* not used anymore */
++
++ assert_se(prctl(PR_SET_PDEATHSIG, SIGHUP) >= 0);
++
+ zero(sig);
-+ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0);
-+ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0);
-+ return wfa_child(consoles, id);
++ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) >= 0);
++ assert_se(sigaction(SIGCHLD, &oldsig, NULL) >= 0);
++
++ for (ac = 0; ac < argc; ac++) {
++ if (streq(argv[ac], "--console")) {
++ argv[ac] = conarg;
++ break;
++ }
++ }
++
++ execv(SYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH, argv);
++
++ return log_error_errno(errno, "Failed to execute %s: %m", program_invocation_name);
+ }
+ }
+
+ ret = 0;
-+ while ((job = wait(&status)) != 0) {
-+ if (job < 0) {
-+ if (errno != EINTR)
++ while (true) {
++
++ if ((ret = waitid(P_ALL, 0, &status, WEXITED)) < 0) {
++
++ if (errno != EINTR) {
++ ret = -errno;
++ if (errno == ECHILD)
++ ret = EXIT_SUCCESS;
+ break;
++ }
+ continue;
+ }
++
+ for (id = 0; id < num; id++) {
-+ if (consoles[id].pid == job || kill(consoles[id].pid, 0) < 0) {
-+ *usemask &= ~(1 << id); /* shared memory area */
-+ continue;
-+ }
-+ if (*usemask & (1 << id)) /* shared memory area */
++ struct timespec timeout;
++ sigset_t set;
++ int signum;
++
++ if (consoles[id].pid == status.si_pid || kill(consoles[id].pid, 0) < 0)
++ consoles[id].pid = -1;
++
++ if (consoles[id].pid < 0)
+ continue;
++
+ kill(consoles[id].pid, SIGHUP);
-+ usleep(50000);
++
++ assert_se(sigemptyset(&set) >= 0);
++ assert_se(sigaddset(&set, SIGCHLD) >= 0);
++
++ timespec_store(&timeout, 50 * USEC_PER_MSEC);
++ signum = sigtimedwait(&set, NULL, &timeout);
++
++ if (signum != SIGCHLD) {
++
++ if (signum < 0 && errno != EAGAIN)
++ return log_error_errno(errno, "sigtimedwait() failed: %m");
++
++ if (signum >= 0)
++ log_warning("sigtimedwait() returned unexpected signal.");
++ }
++
+ kill(consoles[id].pid, SIGKILL);
+ }
-+ if (WIFEXITED(status) && ret == 0)
-+ ret = WEXITSTATUS(status);
++
++ if (WIFEXITED(status.si_status) && ret == 0)
++ ret = WEXITSTATUS(status.si_status);
+ }
++
+ free_consoles(consoles, num);
-+ exit(ret != 0 ? EXIT_FAILURE : EXIT_SUCCESS); /* parent */
++
++ return ret;
+}
+
int main(int argc, char *argv[]) {
-- int r;
-+ int r, id = 0;
+ int r;
- log_set_target(LOG_TARGET_AUTO);
- log_parse_environment();
-@@ -627,11 +791,27 @@ int main(int argc, char *argv[]) {
+@@ -628,15 +859,28 @@ int main(int argc, char *argv[]) {
if (r <= 0)
goto finish;
-+ /*
-+ * Use this shared memory area to be able to synchronize the
-+ * workers asking for password with the main process.
-+ * This allows to continue if one of the consoles had been
-+ * used as afterwards the remaining asking processes will
-+ * be terminated. The wait_for_terminate() does not help
-+ * for this use case.
-+ */
-+ usemask = mmap(NULL, sizeof(*usemask), PROT_READ | PROT_WRITE,
-+ MAP_ANONYMOUS | MAP_SHARED, -1, 0);
-+ assert_se(usemask != NULL);
-+
- if (arg_console) {
+- if (arg_console) {
- setsid();
- release_terminal();
-+ if (!arg_plymouth &&
-+ !IN_SET(arg_action, ACTION_WALL, ACTION_LIST)) {
-+ id = wait_for_answer();
-+ } else {
-+ setsid();
-+ release_terminal();
++ if (arg_console && !arg_device)
++ /*
++ * Spwan for each console device a own process
++ */
++ r = ask_on_consoles(argc, argv);
++ else {
++
++ if (arg_device) {
++ /*
++ * Later on a controlling terminal will be will be acquired,
++ * therefore the current process has to become a session
++ * leader and should not have a controlling terminal already.
++ */
++ (void) setsid();
++ (void) release_terminal();
+ }
++
++ if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL))
++ r = watch_passwords();
++ else
++ r = show_passwords();
}
-
- if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL))
- r = watch_passwords();
- else
-@@ -640,6 +820,7 @@ int main(int argc, char *argv[]) {
+- if (IN_SET(arg_action, ACTION_WATCH, ACTION_WALL))
+- r = watch_passwords();
+- else
+- r = show_passwords();
+
if (r < 0)
log_error_errno(r, "Error: %m");
-+ *usemask &= ~(1 << id); /* shared memory area */
- finish:
- return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
- }
--
2.2.0
1
0
Hello community,
here is the log from the commit of package build-compare for openSUSE:Factory checked in at 2015-11-02 12:54:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/build-compare (Old)
and /work/SRC/openSUSE:Factory/.build-compare.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build-compare"
Changes:
--------
--- /work/SRC/openSUSE:Factory/build-compare/build-compare.changes 2015-09-08 17:35:34.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.build-compare.new/build-compare.changes 2015-11-02 12:54:07.000000000 +0100
@@ -1,0 +2,15 @@
+Thu Oct 22 06:29:44 UTC 2015 - olaf(a)aepfle.de
+
+- Remove filename-too-long-for-joliet from rpmlint.log
+
+-------------------------------------------------------------------
+Mon Oct 12 13:59:31 UTC 2015 - olaf(a)aepfle.de
+
+- Filter out durations from rpmlint progress report
+
+-------------------------------------------------------------------
+Fri Oct 2 09:00:52 UTC 2015 - olaf(a)aepfle.de
+
+- Handle texi2html 5.0 timestamps
+
+-------------------------------------------------------------------
New:
----
_service
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ build-compare.spec ++++++
--- /var/tmp/diff_new_pack.N00lZa/_old 2015-11-02 12:54:08.000000000 +0100
+++ /var/tmp/diff_new_pack.N00lZa/_new 2015-11-02 12:54:08.000000000 +0100
@@ -21,7 +21,7 @@
License: GPL-2.0+
Group: Development/Tools/Building
Url: https://github.com/openSUSE/build-compare
-Version: 20150821T175907.9b8c0be
+Version: 20151022T083541.cd832db
Release: 0
Source1: COPYING
Source2: same-build-result.sh
++++++ _service ++++++
<services>
<service name="tar_scm" mode="disabled">
<param name="versionformat">%ci.%h</param>
<param name="url">git://github.com/openSUSE/build-compare.git</param>
<param name="scm">git</param>
</service>
<service name="extract_file" mode="disabled">
<param name="archive">*.tar</param>
<param name="files">*/build-compare.* */*.sh */COPYING</param>
</service>
<service name="set_version" mode="disabled"/>
</services>
++++++ pkg-diff.sh ++++++
--- /var/tmp/diff_new_pack.N00lZa/_old 2015-11-02 12:54:08.000000000 +0100
+++ /var/tmp/diff_new_pack.N00lZa/_new 2015-11-02 12:54:08.000000000 +0100
@@ -481,9 +481,11 @@
for f in old/$file new/$file; do
sed -i -e '
s|<!-- Created on [^,]\+, [0-9]\+ [0-9]\+ by texi2html [0-9\.]\+ -->|<!-- Created on July, 14 2015 by texi2html 1.78 -->|
+ s|<!-- Created on [^,]\+, [0-9]\+ by texi2html [0-9\.]\+$|<!-- Created on October 1, 2015 by texi2html 5.0|
s|^<!-- Created on .*, 20.. by texi2html .\...|<!-- Created on August 7, 2009 by texi2html 1.82|
s|This document was generated by <em>Autobuild</em> on <em>[^,]\+, [0-9]\+ [0-9]\+</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html [0-9\.]\+</em></a>.|This document was generated by <em>Autobuild</em> on <em>July, 15 2015</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78</em></a>.|
s|^ *This document was generated by <em>Autobuild</em> on <em>.*, 20..</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html .\...</em></a>.$| This document was generated by <em>Autobuild</em> on <em>August 7, 2009</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.|
+ s|^ *This document was generated on <i>[a-zA-Z]\+ [0-9]\+, [0-9]\+</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html [0-9\.]\+</i></a>.| This document was generated on <i>October 1, 2015</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 5.0</i></a>.|
s|Generated on ... ... [0-9]* [0-9]*:[0-9][0-9]:[0-9][0-9] 20[0-9][0-9] for |Generated on Mon May 10 20:45:00 2010 for |
s|Generated on ... ... [0-9]* 20[0-9][0-9] [0-9]*:[0-9][0-9]:[0-9][0-9] for |Generated on Mon May 10 20:45:00 2010 for |
' $f
++++++ same-build-result.sh ++++++
--- /var/tmp/diff_new_pack.N00lZa/_old 2015-11-02 12:54:08.000000000 +0100
+++ /var/tmp/diff_new_pack.N00lZa/_new 2015-11-02 12:54:08.000000000 +0100
@@ -117,13 +117,12 @@
# Remove release from files
sort -u $OLDDIR/rpmlint.log|sed -e "s,$ver_rel1,@VERSION@-@RELEASE@,g" -e "s|/tmp/rpmlint\..*spec|.spec|g" > $file1
sort -u $OTHERDIR/rpmlint.log|sed -e "s,$ver_rel2,@VERSION@-@RELEASE@,g" -e "s|/tmp/rpmlint\..*spec|.spec|g" > $file2
- ### kmp's are strange:
- # the correct way would be to find the versions of -kmp- packages and ignore them, but this will do, too.
- # example: this one leads to constant republishing of virtualbox for every build.
- # -virtualbox-guest-kmp-default.x86_64: W: filename-too-long-for-joliet virtualbox-guest-kmp-default-5.0.2_k3.16.7_24-177.d_l_ocaml.2.x86_64.rpm
- # +virtualbox-guest-kmp-default.x86_64: W: filename-too-long-for-joliet virtualbox-guest-kmp-default-5.0.2_k3.16.7_24-178.d_l_ocaml.1.x86_64.rpm
- sed -i -e "/W: filename-too-long-for-joliet/s,\(^.*-kmp-.*-kmp-\).*$,\1," $file1
- sed -i -e "/W: filename-too-long-for-joliet/s,\(^.*-kmp-.*-kmp-\).*$,\1," $file2
+ # Remove odd warning about filenames, they contain VERSION-RELEASE
+ # Remove durations from progress reports
+ sed -i -e "
+ /: W: filename-too-long-for-joliet /d
+ /: I: \(filelist-initialization\|check-completed\) /s| [0-9]\+\.[0-9] s| x.x s|
+ " $file1 $file2
if ! cmp -s $file1 $file2; then
echo "rpmlint.log files differ:"
diff -u $file1 $file2 |head -n 20
1
0
Hello community,
here is the log from the commit of package util-linux for openSUSE:Factory checked in at 2015-11-02 12:53:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/util-linux (Old)
and /work/SRC/openSUSE:Factory/.util-linux.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "util-linux"
Changes:
--------
--- /work/SRC/openSUSE:Factory/util-linux/python-libmount.changes 2015-10-14 16:34:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.util-linux.new/python-libmount.changes 2015-11-02 12:54:00.000000000 +0100
@@ -29,0 +30 @@
+ * colcrt: fix buffer overflow (bsc#949754, CVE-2015-5218)
util-linux-systemd.changes: same change
util-linux.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
util-linux-systemd.spec: same change
util-linux.spec: same change
1
0
Hello community,
here is the log from the commit of package virtualbox for openSUSE:13.2:Update checked in at 2015-11-01 09:20:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/virtualbox (Old)
and /work/SRC/openSUSE:13.2:Update/.virtualbox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtualbox"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.L52ZSZ/_old 2015-11-01 09:20:13.000000000 +0100
+++ /var/tmp/diff_new_pack.L52ZSZ/_new 2015-11-01 09:20:13.000000000 +0100
@@ -1 +1 @@
-<link package='virtualbox.4063' cicount='copy' />
+<link package='virtualbox.4120' cicount='copy' />
1
0