[linux] 01/01: Update to 4.3-rc2
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Sat Sep 26 16:26:56 UTC 2015
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch master
in repository linux.
commit 5cdb1bae587546f46b2ffc5b732c9c2b5f3eb7e6
Author: Ben Hutchings <ben at decadent.org.uk>
Date: Sat Sep 26 17:23:14 2015 +0100
Update to 4.3-rc2
Drop a load of patches that went upstream.
Drop aic94xx patch which was obsoleted by a different fix upstream.
Refresh remaining patches.
---
debian/changelog | 6 +
...remove-broken-fallback-for-missing-ctrl-a.patch | 57 ---------
...ache-handle-escaped-paths-in-prepend_path.patch | 58 ----------
...uce-the-scope-of-i_lock-in-d_splice_alias.patch | 65 -----------
...-t-store-mtime-or-name-in-compressed-man-.patch | 31 -----
...-non-determinstic-installation-of-duplica.patch | 50 --------
.../all/docbook-generate-consistent-ids.patch | 31 -----
.../docbook-use-a-fixed-encoding-for-output.patch | 12 +-
...tight-loop-implementation-of-systime-read.patch | 61 ----------
...emove-redundant-log-messages-from-drivers.patch | 93 +++++++--------
...tatistics-unsigned-suitable-for-use-with-.patch | 128 ---------------------
.../all/kbuild-use-nostdinc-in-compile-tests.patch | 12 +-
...the-underlying-transport-exists-before-cr.patch | 74 ------------
...nel-doc-parse-kernel-doc-deterministicall.patch | 34 ------
...nel-doc-use-kbuild_build_timestamp-as-man.patch | 43 -------
...r-and-handle-paths-that-are-unreachable-f.patch | 104 -----------------
...ake-flush_workqueue-available-again-to-no.patch | 35 ------
.../patches/debian/yama-disable-by-default.patch | 14 +--
debian/patches/features/all/aufs4/aufs4-mmap.patch | 96 ++++++----------
.../features/all/aufs4/aufs4-standalone.patch | 52 ++++-----
...ow-memory-cgroup-support-to-be-included-b.patch | 30 +++--
.../all/regulator-axp20x-Add-module-alias.patch | 30 -----
...-automatic-support-for-armhf-architecture.patch | 4 +-
...-for-acpi-identification-to-xhci-platform.patch | 25 +---
...cteon-Add-support-for-the-UBNT-E200-board.patch | 10 +-
.../x86/x86-memtest-WARN-if-bad-RAM-found.patch | 8 +-
debian/patches/series | 14 ---
27 files changed, 153 insertions(+), 1024 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 101c90a..5a4978c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+linux (4.3~rc2-1~exp1) UNRELEASED; urgency=medium
+
+ * New upstream release candidate
+
+ -- Ben Hutchings <ben at decadent.org.uk> Sat, 26 Sep 2015 16:41:55 +0100
+
linux (4.2.1-1) unstable; urgency=medium
* New upstream stable update:
diff --git a/debian/patches/bugfix/all/aic94xx-remove-broken-fallback-for-missing-ctrl-a.patch b/debian/patches/bugfix/all/aic94xx-remove-broken-fallback-for-missing-ctrl-a.patch
deleted file mode 100644
index e41a526..0000000
--- a/debian/patches/bugfix/all/aic94xx-remove-broken-fallback-for-missing-ctrl-a.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From: Ben Hutchings <ben at decadent.org.uk>
-Date: Sun, 08 Jun 2014 23:37:44 +0100
-Subject: [SCSI] aic94xx: Remove broken fallback for missing 'Ctrl-A' user settings
-Forwarded: http://mid.gmane.org/1402267064.23860.42.camel@deadeye.wl.decadent.org.uk
-
-asd_process_ctrl_a_user() attempts to find user settings in flash, and
-if they are missing it prepares a substitute structure containing
-default values for PHY settings. But having done so, it will still
-try to read user settings - from some random address in flash, as the
-local variable 'offs' has not been initialised.
-
-Since asd_common_setup() already sets default PHY settings, there
-seems to be no need to repeat them here, and we can just return 0.
-
-Compile-tested only.
-
-Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
----
- drivers/scsi/aic94xx/aic94xx_sds.c | 18 ++----------------
- 1 file changed, 2 insertions(+), 16 deletions(-)
-
-diff --git a/drivers/scsi/aic94xx/aic94xx_sds.c b/drivers/scsi/aic94xx/aic94xx_sds.c
-index edb43fd..f5d51d2 100644
---- a/drivers/scsi/aic94xx/aic94xx_sds.c
-+++ b/drivers/scsi/aic94xx/aic94xx_sds.c
-@@ -981,29 +981,15 @@ static int asd_process_ctrla_phy_settings(struct asd_ha_struct *asd_ha,
- static int asd_process_ctrl_a_user(struct asd_ha_struct *asd_ha,
- struct asd_flash_dir *flash_dir)
- {
-- int err, i;
-+ int err;
- u32 offs, size;
- struct asd_ll_el *el;
- struct asd_ctrla_phy_settings *ps;
-- struct asd_ctrla_phy_settings dflt_ps;
-
- err = asd_find_flash_de(flash_dir, FLASH_DE_CTRL_A_USER, &offs, &size);
- if (err) {
- ASD_DPRINTK("couldn't find CTRL-A user settings section\n");
-- ASD_DPRINTK("Creating default CTRL-A user settings section\n");
--
-- dflt_ps.id0 = 'h';
-- dflt_ps.num_phys = 8;
-- for (i =0; i < ASD_MAX_PHYS; i++) {
-- memcpy(dflt_ps.phy_ent[i].sas_addr,
-- asd_ha->hw_prof.sas_addr, SAS_ADDR_SIZE);
-- dflt_ps.phy_ent[i].sas_link_rates = 0x98;
-- dflt_ps.phy_ent[i].flags = 0x0;
-- dflt_ps.phy_ent[i].sata_link_rates = 0x0;
-- }
--
-- size = sizeof(struct asd_ctrla_phy_settings);
-- ps = &dflt_ps;
-+ return 0;
- }
-
- if (size == 0)
diff --git a/debian/patches/bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch b/debian/patches/bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch
deleted file mode 100644
index 9b4e913..0000000
--- a/debian/patches/bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From: "Eric W. Biederman" <ebiederm at xmission.com>
-Date: Sat, 15 Aug 2015 13:36:12 -0500
-Subject: dcache: Handle escaped paths in prepend_path
-Origin: https://git.kernel.org/linus/cde93be45a8a90d8c264c776fab63487b5038a65
-
-A rename can result in a dentry that by walking up d_parent
-will never reach it's mnt_root. For lack of a better term
-I call this an escaped path.
-
-prepend_path is called by four different functions __d_path,
-d_absolute_path, d_path, and getcwd.
-
-__d_path only wants to see paths are connected to the root it passes
-in. So __d_path needs prepend_path to return an error.
-
-d_absolute_path similarly wants to see paths that are connected to
-some root. Escaped paths are not connected to any mnt_root so
-d_absolute_path needs prepend_path to return an error greater
-than 1. So escaped paths will be treated like paths on lazily
-unmounted mounts.
-
-getcwd needs to prepend "(unreachable)" so getcwd also needs
-prepend_path to return an error.
-
-d_path is the interesting hold out. d_path just wants to print
-something, and does not care about the weird cases. Which raises
-the question what should be printed?
-
-Given that <escaped_path>/<anything> should result in -ENOENT I
-believe it is desirable for escaped paths to be printed as empty
-paths. As there are not really any meaninful path components when
-considered from the perspective of a mount tree.
-
-So tweak prepend_path to return an empty path with an new error
-code of 3 when it encounters an escaped path.
-
-Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
-Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
----
- fs/dcache.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
---- a/fs/dcache.c
-+++ b/fs/dcache.c
-@@ -2927,6 +2927,13 @@ restart:
-
- if (dentry == vfsmnt->mnt_root || IS_ROOT(dentry)) {
- struct mount *parent = ACCESS_ONCE(mnt->mnt_parent);
-+ /* Escaped? */
-+ if (dentry != vfsmnt->mnt_root) {
-+ bptr = *buffer;
-+ blen = *buflen;
-+ error = 3;
-+ break;
-+ }
- /* Global root? */
- if (mnt != parent) {
- dentry = ACCESS_ONCE(mnt->mnt_mountpoint);
diff --git a/debian/patches/bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch b/debian/patches/bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch
deleted file mode 100644
index e41c4fa..0000000
--- a/debian/patches/bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From: "Eric W. Biederman" <ebiederm at xmission.com>
-Date: Sat, 15 Aug 2015 13:36:41 -0500
-Subject: dcache: Reduce the scope of i_lock in d_splice_alias
-Origin: https://git.kernel.org/linus/a03e283bf5c3d4851b4998122196ce9f849e6dfb
-
-i_lock is only needed until __d_find_any_alias calls dget on the alias
-dentry. After that the reference to new ensures that dentry_kill and
-d_delete will not remove the inode from the dentry, and remove the
-dentry from the inode->d_entry list.
-
-The inode i_lock came to be held over the the __d_move calls in
-d_splice_alias through a series of introduction of locks with
-increasing smaller scope. First it was the dcache_lock, then
-it was the dcache_inode_lock, and finally inode->i_lock.
-
-Furthermore inode->i_lock is not held over any other calls
-to d_move or __d_move so it can not provide any meaningful
-rename protection.
-
-Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
-Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
----
- fs/dcache.c | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
---- a/fs/dcache.c
-+++ b/fs/dcache.c
-@@ -2719,7 +2719,7 @@ struct dentry *d_ancestor(struct dentry
- * This helper attempts to cope with remotely renamed directories
- *
- * It assumes that the caller is already holding
-- * dentry->d_parent->d_inode->i_mutex, inode->i_lock and rename_lock
-+ * dentry->d_parent->d_inode->i_mutex, and rename_lock
- *
- * Note: If ever the locking in lock_rename() changes, then please
- * remember to update this too...
-@@ -2745,7 +2745,6 @@ out_unalias:
- __d_move(alias, dentry, false);
- ret = 0;
- out_err:
-- spin_unlock(&inode->i_lock);
- if (m2)
- mutex_unlock(m2);
- if (m1)
-@@ -2791,10 +2790,11 @@ struct dentry *d_splice_alias(struct ino
- if (S_ISDIR(inode->i_mode)) {
- struct dentry *new = __d_find_any_alias(inode);
- if (unlikely(new)) {
-+ /* The reference to new ensures it remains an alias */
-+ spin_unlock(&inode->i_lock);
- write_seqlock(&rename_lock);
- if (unlikely(d_ancestor(new, dentry))) {
- write_sequnlock(&rename_lock);
-- spin_unlock(&inode->i_lock);
- dput(new);
- new = ERR_PTR(-ELOOP);
- pr_warn_ratelimited(
-@@ -2813,7 +2813,6 @@ struct dentry *d_splice_alias(struct ino
- } else {
- __d_move(new, dentry, false);
- write_sequnlock(&rename_lock);
-- spin_unlock(&inode->i_lock);
- security_d_instantiate(new, inode);
- }
- iput(inode);
diff --git a/debian/patches/bugfix/all/docbook-don-t-store-mtime-or-name-in-compressed-man-.patch b/debian/patches/bugfix/all/docbook-don-t-store-mtime-or-name-in-compressed-man-.patch
deleted file mode 100644
index 73c3701..0000000
--- a/debian/patches/bugfix/all/docbook-don-t-store-mtime-or-name-in-compressed-man-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From: Ben Hutchings <ben at decadent.org.uk>
-Date: Wed, 8 Jul 2015 20:06:44 +0100
-Subject: DocBook: Don't store mtime (or name) in compressed man pages
-Bug-Debian: https://bugs.debian.org/769844
-Forwarded: http://thread.gmane.org/gmane.linux.documentation/31870/focus=31872
-
-The mtime on a man page is the build time. As gzip stores the mtime
-and original name in the compressed file by default, this makes
-compressed man pages unreproducible. Neither of these are important
-metadata in this case, so turn this off.
-
-Reported-by: Jérémy Bobbio <lunar at debian.org>
-Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
-Signed-off-by: Jonathan Corbet <corbet at lwn.net>
----
- Documentation/DocBook/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
-index b6a6a2e..11a4145 100644
---- a/Documentation/DocBook/Makefile
-+++ b/Documentation/DocBook/Makefile
-@@ -56,7 +56,7 @@ htmldocs: $(HTML)
-
- MAN := $(patsubst %.xml, %.9, $(BOOKS))
- mandocs: $(MAN)
-- find $(obj)/man -name '*.9' | xargs gzip -f
-+ find $(obj)/man -name '*.9' | xargs gzip -nf
-
- installmandocs: mandocs
- mkdir -p /usr/local/man/man9/
diff --git a/debian/patches/bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch b/debian/patches/bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch
deleted file mode 100644
index 3fbabcc..0000000
--- a/debian/patches/bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From: Ben Hutchings <ben at decadent.org.uk>
-Date: Thu, 6 Aug 2015 22:18:32 +0100
-Subject: DocBook: Fix non-determinstic installation of duplicate man pages
-Bug-Debian: https://bugs.debian.org/769844
-Forwarded: http://thread.gmane.org/gmane.linux.kernel/1997951/focus=32450
-
-Some kernel-doc sections are included in multiple DocBook files. This
-means the mandocs target will generate the same manual page multiple
-times with different metadata (author name/address and manual title,
-taken from the including DocBook file). If it's invoked in a parallel
-build, the output is non-determinstic.
-
-Build the manual pages in a separate subdirectory per DocBook file,
-then sort and de-duplicate when installing them (which is serialised).
-
-Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
----
- Documentation/DocBook/Makefile | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
-index 11a4145..198e9b5 100644
---- a/Documentation/DocBook/Makefile
-+++ b/Documentation/DocBook/Makefile
-@@ -60,7 +60,9 @@ mandocs: $(MAN)
-
- installmandocs: mandocs
- mkdir -p /usr/local/man/man9/
-- install $(obj)/man/*.9.gz /usr/local/man/man9/
-+ find $(obj)/man -name '*.9.gz' -printf '%h %f\n' | \
-+ sort -k 2 -k 1 | uniq -f 1 | sed -e 's: :/:' | \
-+ xargs install -t /usr/local/man/man9/
-
- ###
- #External programs used
-@@ -150,12 +152,12 @@ quiet_cmd_db2html = HTML $@
- cp $(PNG-$(basename $(notdir $@))) $(patsubst %.html,%,$@); fi
-
- quiet_cmd_db2man = MAN $@
-- cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; fi
-+ cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man/$(*F) $< ; fi
- %.9 : %.xml
- @(which xmlto > /dev/null 2>&1) || \
- (echo "*** You need to install xmlto ***"; \
- exit 1)
-- $(Q)mkdir -p $(obj)/man
-+ $(Q)mkdir -p $(obj)/man/$(*F)
- $(call cmd,db2man)
- @touch $@
-
diff --git a/debian/patches/bugfix/all/docbook-generate-consistent-ids.patch b/debian/patches/bugfix/all/docbook-generate-consistent-ids.patch
deleted file mode 100644
index d0b084d..0000000
--- a/debian/patches/bugfix/all/docbook-generate-consistent-ids.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From: Ben Hutchings <ben at decadent.org.uk>
-Date: Wed, 8 Jul 2015 20:06:51 +0100
-Subject: DocBook: Generate consistent IDs
-Bug-Debian: https://bugs.debian.org/769844
-Forwarded: http://thread.gmane.org/gmane.linux.documentation/31870/focus=31873
-
-By default, DocBook XSL uses a non-deterministic function to generate
-IDs for HTML elements where it can't take a name from the input
-document. However, it has the option to generate 'consistent'
-(deterministic) IDs instead. Enable this to make the HTML pages
-reproducible.
-
-Reported-by: Jérémy Bobbio <lunar at debian.org>
-Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
-Signed-off-by: Jonathan Corbet <corbet at lwn.net>
----
- Documentation/DocBook/stylesheet.xsl | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Documentation/DocBook/stylesheet.xsl b/Documentation/DocBook/stylesheet.xsl
-index 85b2527..3bf4ecf 100644
---- a/Documentation/DocBook/stylesheet.xsl
-+++ b/Documentation/DocBook/stylesheet.xsl
-@@ -5,6 +5,7 @@
- <param name="funcsynopsis.tabular.threshold">80</param>
- <param name="callout.graphics">0</param>
- <!-- <param name="paper.type">A4</param> -->
-+<param name="generate.consistent.ids">1</param>
- <param name="generate.section.toc.level">2</param>
- <param name="use.id.as.filename">1</param>
- </stylesheet>
diff --git a/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch b/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch
index cbeafd3..b5874ce 100644
--- a/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch
+++ b/debian/patches/bugfix/all/docbook-use-a-fixed-encoding-for-output.patch
@@ -14,10 +14,10 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
---
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
-@@ -68,6 +68,12 @@ installmandocs: mandocs
- #External programs used
- KERNELDOC = $(srctree)/scripts/kernel-doc
- DOCPROC = $(objtree)/scripts/docproc
+@@ -69,6 +69,12 @@ installmandocs: mandocs
+ KERNELDOCXMLREF = $(srctree)/scripts/kernel-doc-xml-ref
+ KERNELDOC = $(srctree)/scripts/kernel-doc
+ DOCPROC = $(objtree)/scripts/docproc
+CHECK_LC_CTYPE = $(objtree)/scripts/check-lc_ctype
+
+# Use a fixed encoding - UTF-8 if the C library has support built-in
@@ -29,7 +29,7 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
XMLTOFLAGS += --skip-validation
--- a/Makefile
+++ b/Makefile
-@@ -1361,7 +1361,7 @@ $(help-board-dirs): help-%:
+@@ -1353,7 +1353,7 @@ $(help-board-dirs): help-%:
# Documentation targets
# ---------------------------------------------------------------------------
%docs: scripts_basic FORCE
@@ -48,7 +48,7 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
HOST_EXTRACFLAGS += -I$(srctree)/tools/include
-@@ -23,14 +24,16 @@ HOSTCFLAGS_asn1_compiler.o = -I$(srctree
+@@ -27,14 +28,16 @@ HOSTLOADLIBES_extract-cert = -lcrypto
always := $(hostprogs-y) $(hostprogs-m)
# The following hostprogs-y programs are only build on demand
diff --git a/debian/patches/bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch b/debian/patches/bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch
deleted file mode 100644
index 12f6aa2..0000000
--- a/debian/patches/bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From: Raanan Avargil <raanan.avargil at intel.com>
-Date: Sun, 19 Jul 2015 16:33:20 +0300
-Subject: e1000e: Fix tight loop implementation of systime read algorithm
-Origin: https://git.kernel.org/linus/37b12910dd11d9ab969f2c310dc9160b7f3e3405
-
-Change the algorithm. Read systimel twice and check for overflow.
-If there was no overflow, use the first value.
-If there was an overflow, read systimeh again and use the second
-systimel value.
-
-Signed-off-by: Raanan Avargil <raanan.avargil at intel.com>
-Tested-by: Aaron Brown <aaron.f.brown at intel.com>
-Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
----
- drivers/net/ethernet/intel/e1000e/netdev.c | 31 ++++++++++++++++++++----------
- 1 file changed, 21 insertions(+), 10 deletions(-)
-
-diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
-index 24b7269..96a8166 100644
---- a/drivers/net/ethernet/intel/e1000e/netdev.c
-+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
-@@ -4280,18 +4280,29 @@ static cycle_t e1000e_cyclecounter_read(const struct cyclecounter *cc)
- struct e1000_adapter *adapter = container_of(cc, struct e1000_adapter,
- cc);
- struct e1000_hw *hw = &adapter->hw;
-+ u32 systimel_1, systimel_2, systimeh;
- cycle_t systim, systim_next;
-- /* SYSTIMH latching upon SYSTIML read does not work well. To fix that
-- * we don't want to allow overflow of SYSTIML and a change to SYSTIMH
-- * to occur between reads, so if we read a vale close to overflow, we
-- * wait for overflow to occur and read both registers when its safe.
-+ /* SYSTIMH latching upon SYSTIML read does not work well.
-+ * This means that if SYSTIML overflows after we read it but before
-+ * we read SYSTIMH, the value of SYSTIMH has been incremented and we
-+ * will experience a huge non linear increment in the systime value
-+ * to fix that we test for overflow and if true, we re-read systime.
- */
-- u32 systim_overflow_latch_fix = 0x3FFFFFFF;
--
-- do {
-- systim = (cycle_t)er32(SYSTIML);
-- } while (systim > systim_overflow_latch_fix);
-- systim |= (cycle_t)er32(SYSTIMH) << 32;
-+ systimel_1 = er32(SYSTIML);
-+ systimeh = er32(SYSTIMH);
-+ systimel_2 = er32(SYSTIML);
-+ /* Check for overflow. If there was no overflow, use the values */
-+ if (systimel_1 < systimel_2) {
-+ systim = (cycle_t)systimel_1;
-+ systim |= (cycle_t)systimeh << 32;
-+ } else {
-+ /* There was an overflow, read again SYSTIMH, and use
-+ * systimel_2
-+ */
-+ systimeh = er32(SYSTIMH);
-+ systim = (cycle_t)systimel_2;
-+ systim |= (cycle_t)systimeh << 32;
-+ }
-
- if ((hw->mac.type == e1000_82574) || (hw->mac.type == e1000_82583)) {
- u64 incvalue, time_delta, rem, temp;
diff --git a/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch b/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
index 24a426d..c337564 100644
--- a/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
+++ b/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
@@ -203,7 +203,7 @@ upstream submission.
fw->size, fw_name);
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
-@@ -1285,11 +1285,8 @@ static void sdma_load_firmware(const str
+@@ -1408,11 +1408,8 @@ static void sdma_load_firmware(const str
const struct sdma_script_start_addrs *addr;
unsigned short *ram_code;
@@ -233,18 +233,18 @@ upstream submission.
where = 0;
--- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
-@@ -1558,10 +1558,8 @@ gf100_gr_ctor_fw(struct gf100_gr_priv *p
- if (ret) {
- snprintf(f, sizeof(f), "nouveau/%s", fwname);
- ret = request_firmware(&fw, f, nv_device_base(device));
-- if (ret) {
-- nv_error(priv, "failed to load %s\n", fwname);
-+ if (ret)
- return ret;
-- }
- }
+@@ -1643,10 +1643,8 @@ gf100_gr_ctor_fw(struct gf100_gr *gr, co
+
+ snprintf(f, sizeof(f), "nvidia/%s/%s.bin", cname, fwname);
+ ret = request_firmware(&fw, f, device->dev);
+- if (ret) {
+- nvkm_error(subdev, "failed to load %s\n", fwname);
++ if (ret)
+ return ret;
+- }
fuc->size = fw->size;
+ fuc->data = kmemdup(fw->data, fuc->size, GFP_KERNEL);
--- a/drivers/gpu/drm/r128/r128_cce.c
+++ b/drivers/gpu/drm/r128/r128_cce.c
@@ -154,11 +154,8 @@ static int r128_cce_load_microcode(drm_r
@@ -343,7 +343,7 @@ upstream submission.
ret = qib_ibsd_ucode_loaded(dd->pport, fw);
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
-@@ -2195,10 +2195,8 @@ static int mxt_load_fw(struct device *de
+@@ -2209,10 +2209,8 @@ static int mxt_load_fw(struct device *de
int ret;
ret = request_firmware(&fw, fn, dev);
@@ -686,14 +686,14 @@ upstream submission.
printk(KERN_INFO "tda1004x: please rename the firmware file to %s\n",
--- a/drivers/media/dvb-frontends/tda10071.c
+++ b/drivers/media/dvb-frontends/tda10071.c
-@@ -956,12 +956,8 @@ static int tda10071_init(struct dvb_fron
+@@ -850,12 +850,8 @@ static int tda10071_init(struct dvb_fron
/* request the firmware, this will block and timeout */
- ret = request_firmware(&fw, fw_file, priv->i2c->dev.parent);
+ ret = request_firmware(&fw, fw_file, &client->dev);
- if (ret) {
-- dev_err(&priv->i2c->dev,
-- "%s: did not find the firmware file. (%s) Please see linux/Documentation/dvb/ for more details on firmware-problems. (%d)\n",
-- KBUILD_MODNAME, fw_file, ret);
+- dev_err(&client->dev,
+- "did not find the firmware file. (%s) Please see linux/Documentation/dvb/ for more details on firmware-problems. (%d)\n",
+- fw_file, ret);
+ if (ret)
goto error;
- }
@@ -792,7 +792,7 @@ upstream submission.
b[0] = 0xaa;
--- a/drivers/media/usb/ttusb-dec/ttusb_dec.c
+++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c
-@@ -1297,11 +1297,8 @@ static int ttusb_dec_boot_dsp(struct ttu
+@@ -1292,11 +1292,8 @@ static int ttusb_dec_boot_dsp(struct ttu
dprintk("%s\n", __func__);
result = request_firmware(&fw_entry, dec->firmware_name, &dec->udev->dev);
@@ -822,7 +822,7 @@ upstream submission.
packet_num = ptr[0];
--- a/drivers/media/radio/wl128x/fmdrv_common.c
+++ b/drivers/media/radio/wl128x/fmdrv_common.c
-@@ -1252,10 +1252,8 @@ static int fm_download_firmware(struct f
+@@ -1249,10 +1249,8 @@ static int fm_download_firmware(struct f
ret = request_firmware(&fw_entry, fw_name,
&fmdev->radio_dev->dev);
@@ -1106,7 +1106,7 @@ upstream submission.
__func__, fw->size);
--- a/drivers/misc/ti-st/st_kim.c
+++ b/drivers/misc/ti-st/st_kim.c
-@@ -308,11 +308,8 @@ static long download_firmware(struct kim
+@@ -303,11 +303,8 @@ static long download_firmware(struct kim
request_firmware(&kim_gdata->fw_entry, bts_scr_name,
&kim_gdata->kim_pdev->dev);
if (unlikely((err != 0) || (kim_gdata->fw_entry->data == NULL) ||
@@ -1216,7 +1216,7 @@ upstream submission.
if (bp->mips_firmware->size < sizeof(*mips_fw) ||
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
-@@ -13003,11 +13003,8 @@ static int bnx2x_init_firmware(struct bn
+@@ -13393,11 +13393,8 @@ static int bnx2x_init_firmware(struct bn
BNX2X_DEV_INFO("Loading %s\n", fw_file_name);
rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev);
@@ -1568,7 +1568,7 @@ upstream submission.
else
--- a/drivers/net/wireless/iwlwifi/iwl-drv.c
+++ b/drivers/net/wireless/iwlwifi/iwl-drv.c
-@@ -1131,13 +1131,8 @@ static void iwl_req_fw_callback(const st
+@@ -1201,13 +1201,8 @@ static void iwl_req_fw_callback(const st
if (!pieces)
return;
@@ -1596,7 +1596,7 @@ upstream submission.
}
--- a/drivers/net/wireless/mwifiex/main.c
+++ b/drivers/net/wireless/mwifiex/main.c
-@@ -459,11 +459,8 @@ static void mwifiex_fw_dpc(const struct
+@@ -488,11 +488,8 @@ static void mwifiex_fw_dpc(const struct
bool init_failed = false;
struct wireless_dev *wdev;
@@ -1611,7 +1611,7 @@ upstream submission.
adapter->firmware = firmware;
--- a/drivers/net/wireless/mwl8k.c
+++ b/drivers/net/wireless/mwl8k.c
-@@ -5711,16 +5711,12 @@ static int mwl8k_firmware_load_success(s
+@@ -5712,16 +5712,12 @@ static int mwl8k_firmware_load_success(s
static void mwl8k_fw_state_machine(const struct firmware *fw, void *context)
{
struct mwl8k_priv *priv = context;
@@ -1629,7 +1629,7 @@ upstream submission.
priv->fw_helper = fw;
rc = mwl8k_request_fw(priv, priv->fw_pref, &priv->fw_ucode,
true);
-@@ -5755,11 +5751,8 @@ static void mwl8k_fw_state_machine(const
+@@ -5756,11 +5752,8 @@ static void mwl8k_fw_state_machine(const
break;
case FW_STATE_LOADING_ALT:
@@ -1642,7 +1642,7 @@ upstream submission.
priv->fw_ucode = fw;
rc = mwl8k_firmware_load_success(priv);
if (rc)
-@@ -5797,10 +5790,8 @@ retry:
+@@ -5798,10 +5791,8 @@ retry:
/* Ask userland hotplug daemon for the device firmware */
rc = mwl8k_request_firmware(priv, fw_image, nowait);
@@ -1690,7 +1690,7 @@ upstream submission.
--- a/drivers/net/wireless/orinoco/orinoco_usb.c
+++ b/drivers/net/wireless/orinoco/orinoco_usb.c
-@@ -1667,7 +1667,6 @@ static int ezusb_probe(struct usb_interf
+@@ -1668,7 +1668,6 @@ static int ezusb_probe(struct usb_interf
if (ezusb_firmware_download(upriv, &firmware) < 0)
goto error;
} else {
@@ -1894,7 +1894,7 @@ upstream submission.
}
--- a/drivers/scsi/aic94xx/aic94xx_init.c
+++ b/drivers/scsi/aic94xx/aic94xx_init.c
-@@ -389,8 +389,6 @@ static ssize_t asd_store_update_bios(str
+@@ -385,8 +385,6 @@ static ssize_t asd_store_update_bios(str
filename_ptr,
&asd_ha->pcidev->dev);
if (err) {
@@ -1930,7 +1930,7 @@ upstream submission.
}
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
-@@ -4010,10 +4010,8 @@ static ssize_t ipr_store_update_fw(struc
+@@ -4011,10 +4011,8 @@ static ssize_t ipr_store_update_fw(struc
len = snprintf(fname, 99, "%s", buf);
fname[len-1] = '\0';
@@ -1968,7 +1968,7 @@ upstream submission.
}
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
-@@ -5524,8 +5524,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
+@@ -5520,8 +5520,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
/* Load firmware blob. */
blob = qla2x00_request_firmware(vha);
if (!blob) {
@@ -1977,7 +1977,7 @@ upstream submission.
ql_log(ql_log_info, vha, 0x0084,
"Firmware images can be retrieved from: "QLA_FW_URL ".\n");
return QLA_FUNCTION_FAILED;
-@@ -5627,8 +5625,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
+@@ -5623,8 +5621,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
/* Load firmware blob. */
blob = qla2x00_request_firmware(vha);
if (!blob) {
@@ -2003,7 +2003,7 @@ upstream submission.
if (qla82xx_validate_firmware_blob(vha,
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
-@@ -5369,8 +5369,6 @@ qla2x00_request_firmware(scsi_qla_host_t
+@@ -5365,8 +5365,6 @@ qla2x00_request_firmware(scsi_qla_host_t
goto out;
if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) {
@@ -2136,10 +2136,10 @@ upstream submission.
}
--- a/drivers/staging/rtl8192u/r819xU_firmware.c
+++ b/drivers/staging/rtl8192u/r819xU_firmware.c
-@@ -243,10 +243,8 @@ bool init_firmware(struct net_device *de
+@@ -244,10 +244,8 @@ bool init_firmware(struct net_device *de
*/
if (rst_opt == OPT_SYSTEM_RESET) {
- rc = request_firmware(&fw_entry, fw_name[init_step],&priv->udev->dev);
+ rc = request_firmware(&fw_entry, fw_name[init_step], &priv->udev->dev);
- if (rc < 0) {
- RT_TRACE(COMP_ERR, "request firmware fail!\n");
+ if (rc)
@@ -2276,7 +2276,7 @@ upstream submission.
--- a/drivers/usb/atm/cxacru.c
+++ b/drivers/usb/atm/cxacru.c
-@@ -1081,8 +1081,6 @@ static int cxacru_find_firmware(struct c
+@@ -1086,8 +1086,6 @@ static int cxacru_find_firmware(struct c
return -ENOENT;
}
@@ -2431,24 +2431,15 @@ upstream submission.
BootMajorVersion = rec->data[0];
--- a/drivers/usb/serial/io_ti.c
+++ b/drivers/usb/serial/io_ti.c
-@@ -784,8 +784,6 @@ static int build_i2c_fw_hdr(__u8 *header
+@@ -2483,8 +2483,6 @@ static int edge_startup(struct usb_seria
- err = request_firmware(&fw, fw_name, dev);
- if (err) {
+ status = request_firmware(&fw, fw_name, dev);
+ if (status) {
- dev_err(dev, "Failed to load image \"%s\" err %d\n",
-- fw_name, err);
- kfree(buffer);
- return err;
+- fw_name, status);
+ kfree(edge_serial);
+ return status;
}
-@@ -1331,8 +1329,6 @@ static int download_fw(struct edgeport_s
-
- err = request_firmware(&fw, fw_name, dev);
- if (err) {
-- dev_err(dev, "Failed to load image \"%s\" err %d\n",
-- fw_name, err);
- kfree(buffer);
- return err;
- }
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
@@ -1485,10 +1485,8 @@ static int ti_download_firmware(struct t
@@ -2680,7 +2671,7 @@ upstream submission.
if (err) {
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
-@@ -5102,11 +5102,8 @@ static int hdsp_request_fw_loader(struct
+@@ -5103,11 +5103,8 @@ static int hdsp_request_fw_loader(struct
return -EINVAL;
}
diff --git a/debian/patches/bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch b/debian/patches/bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch
deleted file mode 100644
index 084de2d..0000000
--- a/debian/patches/bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From: Ben Hutchings <ben at decadent.org.uk>
-Date: Wed, 26 Aug 2015 00:44:21 +0100
-Subject: gfs2: Make statistics unsigned, suitable for use with do_div()
-Forwarded: http://mid.gmane.org/1440548464.26026.9.camel@decadent.org.uk
-
-None of these statistics can meaningfully be negative, and the
-numerator for do_div() must have the type u64. The generic
-implementation of do_div() used on some 32-bit architectures asserts
-that, resulting in a compiler error in gfs2_rgrp_congested().
-
-Fixes: 0166b197c2ed ("GFS2: Average in only non-zero round-trip times ...")
-Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
----
- fs/gfs2/glock.c | 22 +++++++++++-----------
- fs/gfs2/incore.h | 2 +-
- fs/gfs2/rgrp.c | 8 ++++----
- fs/gfs2/trace_gfs2.h | 16 ++++++++--------
- 4 files changed, 24 insertions(+), 24 deletions(-)
-
-diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
-index a38e38f..1b6aebe 100644
---- a/fs/gfs2/glock.c
-+++ b/fs/gfs2/glock.c
-@@ -1733,17 +1733,17 @@ static int gfs2_glstats_seq_show(struct seq_file *seq, void *iter_ptr)
- {
- struct gfs2_glock *gl = iter_ptr;
-
-- seq_printf(seq, "G: n:%u/%llx rtt:%lld/%lld rttb:%lld/%lld irt:%lld/%lld dcnt: %lld qcnt: %lld\n",
-+ seq_printf(seq, "G: n:%u/%llx rtt:%llu/%llu rttb:%llu/%llu irt:%llu/%llu dcnt: %llu qcnt: %llu\n",
- gl->gl_name.ln_type,
- (unsigned long long)gl->gl_name.ln_number,
-- (long long)gl->gl_stats.stats[GFS2_LKS_SRTT],
-- (long long)gl->gl_stats.stats[GFS2_LKS_SRTTVAR],
-- (long long)gl->gl_stats.stats[GFS2_LKS_SRTTB],
-- (long long)gl->gl_stats.stats[GFS2_LKS_SRTTVARB],
-- (long long)gl->gl_stats.stats[GFS2_LKS_SIRT],
-- (long long)gl->gl_stats.stats[GFS2_LKS_SIRTVAR],
-- (long long)gl->gl_stats.stats[GFS2_LKS_DCOUNT],
-- (long long)gl->gl_stats.stats[GFS2_LKS_QCOUNT]);
-+ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SRTT],
-+ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SRTTVAR],
-+ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SRTTB],
-+ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SRTTVARB],
-+ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SIRT],
-+ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_SIRTVAR],
-+ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_DCOUNT],
-+ (unsigned long long)gl->gl_stats.stats[GFS2_LKS_QCOUNT]);
- return 0;
- }
-
-@@ -1780,7 +1780,7 @@ static int gfs2_sbstats_seq_show(struct seq_file *seq, void *iter_ptr)
- struct gfs2_sbd *sdp = gi->sdp;
- unsigned index = gi->hash >> 3;
- unsigned subindex = gi->hash & 0x07;
-- s64 value;
-+ u64 value;
- int i;
-
- if (index == 0 && subindex != 0)
-@@ -1796,7 +1796,7 @@ static int gfs2_sbstats_seq_show(struct seq_file *seq, void *iter_ptr)
- } else {
- value = lkstats->lkstats[index - 1].stats[subindex];
- }
-- seq_printf(seq, " %15lld", (long long)value);
-+ seq_printf(seq, " %15llu", (long long)value);
- }
- seq_putc(seq, '\n');
- return 0;
-diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
-index a1ec7c2..7647e31 100644
---- a/fs/gfs2/incore.h
-+++ b/fs/gfs2/incore.h
-@@ -241,7 +241,7 @@ enum {
- };
-
- struct gfs2_lkstats {
-- s64 stats[GFS2_NR_LKSTATS];
-+ u64 stats[GFS2_NR_LKSTATS];
- };
-
- enum {
-diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
-index c6c6232..2884f6f 100644
---- a/fs/gfs2/rgrp.c
-+++ b/fs/gfs2/rgrp.c
-@@ -1862,11 +1862,11 @@ static bool gfs2_rgrp_congested(const struct gfs2_rgrpd *rgd, int loops)
- const struct gfs2_glock *gl = rgd->rd_gl;
- const struct gfs2_sbd *sdp = gl->gl_sbd;
- struct gfs2_lkstats *st;
-- s64 r_dcount, l_dcount;
-- s64 l_srttb, a_srttb = 0;
-+ u64 r_dcount, l_dcount;
-+ u64 l_srttb, a_srttb = 0;
- s64 srttb_diff;
-- s64 sqr_diff;
-- s64 var;
-+ u64 sqr_diff;
-+ u64 var;
- int cpu, nonzero = 0;
-
- preempt_disable();
-diff --git a/fs/gfs2/trace_gfs2.h b/fs/gfs2/trace_gfs2.h
-index 20c007d..03a7049 100644
---- a/fs/gfs2/trace_gfs2.h
-+++ b/fs/gfs2/trace_gfs2.h
-@@ -267,14 +267,14 @@ TRACE_EVENT(gfs2_glock_lock_time,
- __field( int, status )
- __field( char, flags )
- __field( s64, tdiff )
-- __field( s64, srtt )
-- __field( s64, srttvar )
-- __field( s64, srttb )
-- __field( s64, srttvarb )
-- __field( s64, sirt )
-- __field( s64, sirtvar )
-- __field( s64, dcount )
-- __field( s64, qcount )
-+ __field( u64, srtt )
-+ __field( u64, srttvar )
-+ __field( u64, srttb )
-+ __field( u64, srttvarb )
-+ __field( u64, sirt )
-+ __field( u64, sirtvar )
-+ __field( u64, dcount )
-+ __field( u64, qcount )
- ),
-
- TP_fast_assign(
diff --git a/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch b/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
index 7423057..cc12dd6 100644
--- a/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
+++ b/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
@@ -30,13 +30,17 @@ the kernel.
# cc-option-align
# Prefix align with either -falign or -malign
-@@ -126,14 +126,15 @@ cc-option-align = $(subst -functions=0,,
+@@ -126,18 +126,19 @@ cc-option-align = $(subst -functions=0,,
# cc-disable-warning
# Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable)
cc-disable-warning = $(call try-run,\
- $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
+ $(CC) $(NOSTDINC_FLAGS) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
+ # cc-name
+ # Expands to either gcc or clang
+ cc-name = $(shell $(CC) -v 2>&1 | grep -q "clang version" && echo clang || echo gcc)
+
# cc-version
-cc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh $(CC))
+cc-version = $(shell $(CONFIG_SHELL) \
@@ -49,7 +53,7 @@ the kernel.
# cc-ifversion
# Usage: EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
-@@ -147,7 +148,7 @@ cc-ldoption = $(call try-run,\
+@@ -151,7 +152,7 @@ cc-ldoption = $(call try-run,\
# ld-option
# Usage: LDFLAGS += $(call ld-option, -X)
ld-option = $(call try-run,\
@@ -60,7 +64,7 @@ the kernel.
# Usage: KBUILD_ARFLAGS := $(call ar-option,D)
--- a/Makefile
+++ b/Makefile
-@@ -621,6 +621,8 @@ else
+@@ -614,6 +614,8 @@ else
KBUILD_CFLAGS += -O2
endif
@@ -69,7 +73,7 @@ the kernel.
# Tell gcc to never replace conditional load with a non-conditional one
KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
-@@ -751,7 +753,7 @@ KBUILD_CFLAGS += $(call cc-option, -fno-
+@@ -744,7 +746,7 @@ KBUILD_CFLAGS += $(call cc-option, -fno-
endif
# arch Makefile may override CC so keep this after arch Makefile is included
diff --git a/debian/patches/bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch b/debian/patches/bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch
deleted file mode 100644
index 0068818..0000000
--- a/debian/patches/bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From: Sasha Levin <sasha.levin at oracle.com>
-Date: Tue, 8 Sep 2015 10:53:40 -0400
-Subject: RDS: verify the underlying transport exists before creating a
- connection
-Origin: https://git.kernel.org/linus/74e98eb085889b0d2d4908f59f6e00026063014f
-
-There was no verification that an underlying transport exists when creating
-a connection, this would cause dereferencing a NULL ptr.
-
-It might happen on sockets that weren't properly bound before attempting to
-send a message, which will cause a NULL ptr deref:
-
-[135546.047719] kasan: GPF could be caused by NULL-ptr deref or user memory accessgeneral protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC KASAN
-[135546.051270] Modules linked in:
-[135546.051781] CPU: 4 PID: 15650 Comm: trinity-c4 Not tainted 4.2.0-next-20150902-sasha-00041-gbaa1222-dirty #2527
-[135546.053217] task: ffff8800835bc000 ti: ffff8800bc708000 task.ti: ffff8800bc708000
-[135546.054291] RIP: __rds_conn_create (net/rds/connection.c:194)
-[135546.055666] RSP: 0018:ffff8800bc70fab0 EFLAGS: 00010202
-[135546.056457] RAX: dffffc0000000000 RBX: 0000000000000f2c RCX: ffff8800835bc000
-[135546.057494] RDX: 0000000000000007 RSI: ffff8800835bccd8 RDI: 0000000000000038
-[135546.058530] RBP: ffff8800bc70fb18 R08: 0000000000000001 R09: 0000000000000000
-[135546.059556] R10: ffffed014d7a3a23 R11: ffffed014d7a3a21 R12: 0000000000000000
-[135546.060614] R13: 0000000000000001 R14: ffff8801ec3d0000 R15: 0000000000000000
-[135546.061668] FS: 00007faad4ffb700(0000) GS:ffff880252000000(0000) knlGS:0000000000000000
-[135546.062836] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
-[135546.063682] CR2: 000000000000846a CR3: 000000009d137000 CR4: 00000000000006a0
-[135546.064723] Stack:
-[135546.065048] ffffffffafe2055c ffffffffafe23fc1 ffffed00493097bf ffff8801ec3d0008
-[135546.066247] 0000000000000000 00000000000000d0 0000000000000000 ac194a24c0586342
-[135546.067438] 1ffff100178e1f78 ffff880320581b00 ffff8800bc70fdd0 ffff880320581b00
-[135546.068629] Call Trace:
-[135546.069028] ? __rds_conn_create (include/linux/rcupdate.h:856 net/rds/connection.c:134)
-[135546.069989] ? rds_message_copy_from_user (net/rds/message.c:298)
-[135546.071021] rds_conn_create_outgoing (net/rds/connection.c:278)
-[135546.071981] rds_sendmsg (net/rds/send.c:1058)
-[135546.072858] ? perf_trace_lock (include/trace/events/lock.h:38)
-[135546.073744] ? lockdep_init (kernel/locking/lockdep.c:3298)
-[135546.074577] ? rds_send_drop_to (net/rds/send.c:976)
-[135546.075508] ? __might_fault (./arch/x86/include/asm/current.h:14 mm/memory.c:3795)
-[135546.076349] ? __might_fault (mm/memory.c:3795)
-[135546.077179] ? rds_send_drop_to (net/rds/send.c:976)
-[135546.078114] sock_sendmsg (net/socket.c:611 net/socket.c:620)
-[135546.078856] SYSC_sendto (net/socket.c:1657)
-[135546.079596] ? SYSC_connect (net/socket.c:1628)
-[135546.080510] ? trace_dump_stack (kernel/trace/trace.c:1926)
-[135546.081397] ? ring_buffer_unlock_commit (kernel/trace/ring_buffer.c:2479 kernel/trace/ring_buffer.c:2558 kernel/trace/ring_buffer.c:2674)
-[135546.082390] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749)
-[135546.083410] ? trace_event_raw_event_sys_enter (include/trace/events/syscalls.h:16)
-[135546.084481] ? do_audit_syscall_entry (include/trace/events/syscalls.h:16)
-[135546.085438] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749)
-[135546.085515] rds_ib_laddr_check(): addr 36.74.25.172 ret -99 node type -1
-
-Acked-by: Santosh Shilimkar <santosh.shilimkar at oracle.com>
-Signed-off-by: Sasha Levin <sasha.levin at oracle.com>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
- net/rds/connection.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
---- a/net/rds/connection.c
-+++ b/net/rds/connection.c
-@@ -187,6 +187,12 @@ new_conn:
- }
- }
-
-+ if (trans == NULL) {
-+ kmem_cache_free(rds_conn_slab, conn);
-+ conn = ERR_PTR(-ENODEV);
-+ goto out;
-+ }
-+
- conn->c_trans = trans;
-
- ret = trans->conn_alloc(conn, gfp);
diff --git a/debian/patches/bugfix/all/scripts-kernel-doc-parse-kernel-doc-deterministicall.patch b/debian/patches/bugfix/all/scripts-kernel-doc-parse-kernel-doc-deterministicall.patch
deleted file mode 100644
index 3c835fb..0000000
--- a/debian/patches/bugfix/all/scripts-kernel-doc-parse-kernel-doc-deterministicall.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Jérémy Bobbio <lunar at debian.org>
-Date: Wed, 8 Jul 2015 20:06:33 +0100
-Subject: scripts/kernel-doc: parse kernel-doc deterministically
-Bug-Debian: https://bugs.debian.org/769844
-Forwarded: http://thread.gmane.org/gmane.linux.documentation/31870/focus=31871
-
-Regular expressions for highlights in kernel-doc are stored in a Perl
-hash. These hashes are ordered differently for each Perl run. This will
-prevent kernel-doc to behave deterministically when parsing “@foo()” as
-in some runs it will be interpreted as a parameter and in the others it
-will be interpreted as a function.
-
-We now sort the %highlights hash to get the same behavior on every run.
-
-Signed-off-by: Jérémy Bobbio <lunar at debian.org>
-Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
-Signed-off-by: Jonathan Corbet <corbet at lwn.net>
----
- scripts/kernel-doc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/scripts/kernel-doc b/scripts/kernel-doc
-index 9922e66..71ada00 100755
---- a/scripts/kernel-doc
-+++ b/scripts/kernel-doc
-@@ -2587,7 +2587,7 @@ $kernelversion = get_kernel_version();
-
- # generate a sequence of code that will splice in highlighting information
- # using the s// operator.
--foreach my $pattern (keys %highlights) {
-+foreach my $pattern (sort keys %highlights) {
- # print STDERR "scanning pattern:$pattern, highlight:($highlights{$pattern})\n";
- $dohighlight .= "\$contents =~ s:$pattern:$highlights{$pattern}:gs;\n";
- }
diff --git a/debian/patches/bugfix/all/scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch b/debian/patches/bugfix/all/scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch
deleted file mode 100644
index e4385f6..0000000
--- a/debian/patches/bugfix/all/scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From: Ben Hutchings <ben at decadent.org.uk>
-Date: Wed, 8 Jul 2015 20:07:16 +0100
-Subject: scripts/kernel-doc: Use $KBUILD_BUILD_TIMESTAMP as man page date
-Bug-Debian: https://bugs.debian.org/769844
-Forwarded: http://thread.gmane.org/gmane.linux.documentation/31870/focus=31875
-
-Together with the preceding changes, this allows man pages to be built
-reproducibly.
-
-Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
-Signed-off-by: Jonathan Corbet <corbet at lwn.net>
----
- scripts/kernel-doc | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/scripts/kernel-doc b/scripts/kernel-doc
-index 71ada00..0ac1a07 100755
---- a/scripts/kernel-doc
-+++ b/scripts/kernel-doc
-@@ -253,11 +253,20 @@ my %highlights = %highlights_man;
- my $blankline = $blankline_man;
- my $modulename = "Kernel API";
- my $function_only = 0;
-+my $show_not_found = 0;
-+
-+my @build_time;
-+if (defined($ENV{'KBUILD_BUILD_TIMESTAMP'}) &&
-+ (my $seconds = `date -d"${ENV{'KBUILD_BUILD_TIMESTAMP'}}" +%s`) ne '') {
-+ @build_time = gmtime($seconds);
-+} else {
-+ @build_time = localtime;
-+}
-+
- my $man_date = ('January', 'February', 'March', 'April', 'May', 'June',
- 'July', 'August', 'September', 'October',
-- 'November', 'December')[(localtime)[4]] .
-- " " . ((localtime)[5]+1900);
--my $show_not_found = 0;
-+ 'November', 'December')[$build_time[4]] .
-+ " " . ($build_time[5]+1900);
-
- # Essentially these are globals.
- # They probably want to be tidied up, made more localised or something.
diff --git a/debian/patches/bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch b/debian/patches/bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch
deleted file mode 100644
index 7d38eac..0000000
--- a/debian/patches/bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From: "Eric W. Biederman" <ebiederm at xmission.com>
-Date: Sat, 15 Aug 2015 20:27:13 -0500
-Subject: vfs: Test for and handle paths that are unreachable from their mnt_root
-Origin: https://git.kernel.org/linus/397d425dc26da728396e66d392d5dcb8dac30c37
-
-In rare cases a directory can be renamed out from under a bind mount.
-In those cases without special handling it becomes possible to walk up
-the directory tree to the root dentry of the filesystem and down
-from the root dentry to every other file or directory on the filesystem.
-
-Like division by zero .. from an unconnected path can not be given
-a useful semantic as there is no predicting at which path component
-the code will realize it is unconnected. We certainly can not match
-the current behavior as the current behavior is a security hole.
-
-Therefore when encounting .. when following an unconnected path
-return -ENOENT.
-
-- Add a function path_connected to verify path->dentry is reachable
- from path->mnt.mnt_root. AKA to validate that rename did not do
- something nasty to the bind mount.
-
- To avoid races path_connected must be called after following a path
- component to it's next path component.
-
-Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
-Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
----
- fs/namei.c | 27 +++++++++++++++++++++++++--
- 1 file changed, 25 insertions(+), 2 deletions(-)
-
-diff --git a/fs/namei.c b/fs/namei.c
-index 1c2105e..29b9279 100644
---- a/fs/namei.c
-+++ b/fs/namei.c
-@@ -560,6 +560,24 @@ static int __nd_alloc_stack(struct nameidata *nd)
- return 0;
- }
-
-+/**
-+ * path_connected - Verify that a path->dentry is below path->mnt.mnt_root
-+ * @path: nameidate to verify
-+ *
-+ * Rename can sometimes move a file or directory outside of a bind
-+ * mount, path_connected allows those cases to be detected.
-+ */
-+static bool path_connected(const struct path *path)
-+{
-+ struct vfsmount *mnt = path->mnt;
-+
-+ /* Only bind mounts can have disconnected paths */
-+ if (mnt->mnt_root == mnt->mnt_sb->s_root)
-+ return true;
-+
-+ return is_subdir(path->dentry, mnt->mnt_root);
-+}
-+
- static inline int nd_alloc_stack(struct nameidata *nd)
- {
- if (likely(nd->depth != EMBEDDED_LEVELS))
-@@ -1296,6 +1314,8 @@ static int follow_dotdot_rcu(struct nameidata *nd)
- return -ECHILD;
- nd->path.dentry = parent;
- nd->seq = seq;
-+ if (unlikely(!path_connected(&nd->path)))
-+ return -ENOENT;
- break;
- } else {
- struct mount *mnt = real_mount(nd->path.mnt);
-@@ -1396,7 +1416,7 @@ static void follow_mount(struct path *path)
- }
- }
-
--static void follow_dotdot(struct nameidata *nd)
-+static int follow_dotdot(struct nameidata *nd)
- {
- if (!nd->root.mnt)
- set_root(nd);
-@@ -1412,6 +1432,8 @@ static void follow_dotdot(struct nameidata *nd)
- /* rare case of legitimate dget_parent()... */
- nd->path.dentry = dget_parent(nd->path.dentry);
- dput(old);
-+ if (unlikely(!path_connected(&nd->path)))
-+ return -ENOENT;
- break;
- }
- if (!follow_up(&nd->path))
-@@ -1419,6 +1441,7 @@ static void follow_dotdot(struct nameidata *nd)
- }
- follow_mount(&nd->path);
- nd->inode = nd->path.dentry->d_inode;
-+ return 0;
- }
-
- /*
-@@ -1634,7 +1657,7 @@ static inline int handle_dots(struct nameidata *nd, int type)
- if (nd->flags & LOOKUP_RCU) {
- return follow_dotdot_rcu(nd);
- } else
-- follow_dotdot(nd);
-+ return follow_dotdot(nd);
- }
- return 0;
- }
diff --git a/debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch b/debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch
deleted file mode 100644
index 571cc90..0000000
--- a/debian/patches/bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Tim Gardner <tim.gardner at canonical.com>
-Date: Tue, 4 Aug 2015 11:26:04 -0600
-Subject: workqueue: Make flush_workqueue() available again to non GPL modules
-Origin: https://git.kernel.org/linus/1dadafa86a779884f14a6e7a3ddde1a57b0a0a65
-Bug-Debian: https://bugs.debian.org/798311
-
-Commit 37b1ef31a568fc02e53587620226e5f3c66454c8 ("workqueue: move
-flush_scheduled_work() to workqueue.h") moved the exported non GPL
-flush_scheduled_work() from a function to an inline wrapper.
-Unfortunately, it directly calls flush_workqueue() which is a GPL function.
-This has the effect of changing the licensing requirement for this function
-and makes it unavailable to non GPL modules.
-
-See commit ad7b1f841f8a54c6d61ff181451f55b68175e15a ("workqueue: Make
-schedule_work() available again to non GPL modules") for precedent.
-
-Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
-Signed-off-by: Tejun Heo <tj at kernel.org>
----
- kernel/workqueue.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index 4c4f061..a413acb 100644
---- a/kernel/workqueue.c
-+++ b/kernel/workqueue.c
-@@ -2614,7 +2614,7 @@ void flush_workqueue(struct workqueue_struct *wq)
- out_unlock:
- mutex_unlock(&wq->mutex);
- }
--EXPORT_SYMBOL_GPL(flush_workqueue);
-+EXPORT_SYMBOL(flush_workqueue);
-
- /**
- * drain_workqueue - drain a workqueue
diff --git a/debian/patches/debian/yama-disable-by-default.patch b/debian/patches/debian/yama-disable-by-default.patch
index cc5392f..bbf8f21 100644
--- a/debian/patches/debian/yama-disable-by-default.patch
+++ b/debian/patches/debian/yama-disable-by-default.patch
@@ -15,12 +15,12 @@ Forwarded: not-needed
/* describe a ptrace relationship for potential exception */
struct ptrace_relation {
-@@ -408,7 +408,7 @@ static __init int yama_init(void)
- return 0;
- yama_add_hooks();
- #endif
+@@ -402,7 +402,7 @@ static inline void yama_init_sysctl(void
+
+ void __init yama_add_hooks(void)
+ {
- pr_info("Yama: becoming mindful.\n");
+ pr_info("Yama: disabled by default; enable with sysctl kernel.yama.*\n");
-
- #ifdef CONFIG_SYSCTL
- if (!register_sysctl_paths(yama_sysctl_path, yama_sysctl_table))
+ security_add_hooks(yama_hooks, ARRAY_SIZE(yama_hooks));
+ yama_init_sysctl();
+ }
diff --git a/debian/patches/features/all/aufs4/aufs4-mmap.patch b/debian/patches/features/all/aufs4/aufs4-mmap.patch
index f0d7aa8..b7b4a91 100644
--- a/debian/patches/features/all/aufs4/aufs4-mmap.patch
+++ b/debian/patches/features/all/aufs4/aufs4-mmap.patch
@@ -8,11 +8,10 @@ Patch headers added by debian/patches/features/all/aufs4/gen-patch
aufs4.x-rcN mmap patch
-diff --git a/fs/buffer.c b/fs/buffer.c
-index 1cf7a53..076aff86 100644
+[bwh: Forward-ported to 4.3-rc2: adjust context, indentation]
--- a/fs/buffer.c
+++ b/fs/buffer.c
-@@ -2473,7 +2473,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
+@@ -2473,7 +2473,7 @@ int block_page_mkwrite(struct vm_area_st
* Update file times before taking page lock. We may end up failing the
* fault so this update may be superfluous but who really cares...
*/
@@ -21,11 +20,9 @@ index 1cf7a53..076aff86 100644
ret = __block_page_mkwrite(vma, vmf, get_block);
sb_end_pagefault(sb);
-diff --git a/fs/proc/base.c b/fs/proc/base.c
-index 87782e8..b287e64 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
-@@ -1934,7 +1934,7 @@ static int proc_map_files_get_link(struct dentry *dentry, struct path *path)
+@@ -1914,7 +1914,7 @@ static int proc_map_files_get_link(struc
down_read(&mm->mmap_sem);
vma = find_exact_vma(mm, vm_start, vm_end);
if (vma && vma->vm_file) {
@@ -34,11 +31,9 @@ index 87782e8..b287e64 100644
path_get(path);
rc = 0;
}
-diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c
-index f8595e8..cb8eda0 100644
--- a/fs/proc/nommu.c
+++ b/fs/proc/nommu.c
-@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region)
+@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_
file = region->vm_file;
if (file) {
@@ -50,11 +45,9 @@ index f8595e8..cb8eda0 100644
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
}
-diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
-index ca1e091..8940e47 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
-@@ -279,7 +279,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid)
+@@ -280,7 +280,10 @@ show_map_vma(struct seq_file *m, struct
const char *name = NULL;
if (file) {
@@ -66,7 +59,7 @@ index ca1e091..8940e47 100644
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
-@@ -1479,7 +1482,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
+@@ -1465,7 +1468,7 @@ static int show_numa_map(struct seq_file
struct proc_maps_private *proc_priv = &numa_priv->proc_maps;
struct vm_area_struct *vma = v;
struct numa_maps *md = &numa_priv->md;
@@ -75,11 +68,9 @@ index ca1e091..8940e47 100644
struct mm_struct *mm = vma->vm_mm;
struct mm_walk walk = {
.hugetlb_entry = gather_hugetlb_stats,
-diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c
-index e0d64c9..7aa92db 100644
--- a/fs/proc/task_nommu.c
+++ b/fs/proc/task_nommu.c
-@@ -160,7 +160,10 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma,
+@@ -160,7 +160,10 @@ static int nommu_vma_show(struct seq_fil
file = vma->vm_file;
if (file) {
@@ -91,11 +82,9 @@ index e0d64c9..7aa92db 100644
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
-diff --git a/include/linux/mm.h b/include/linux/mm.h
-index 2e872f9..2494ed2 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
-@@ -1173,6 +1173,28 @@ static inline int fixup_user_fault(struct task_struct *tsk,
+@@ -1190,6 +1190,28 @@ static inline int fixup_user_fault(struc
}
#endif
@@ -124,11 +113,9 @@ index 2e872f9..2494ed2 100644
extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write);
extern int access_remote_vm(struct mm_struct *mm, unsigned long addr,
void *buf, int len, int write);
-diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
-index 0038ac7..409940d 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
-@@ -259,6 +259,7 @@ struct vm_region {
+@@ -250,6 +250,7 @@ struct vm_region {
unsigned long vm_top; /* region allocated to here */
unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */
struct file *vm_file; /* the backing file or NULL */
@@ -136,7 +123,7 @@ index 0038ac7..409940d 100644
int vm_usage; /* region usage count (access under nommu_region_sem) */
bool vm_icache_flushed : 1; /* true if the icache has been flushed for
-@@ -323,6 +324,7 @@ struct vm_area_struct {
+@@ -324,6 +325,7 @@ struct vm_area_struct {
unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE
units, *not* PAGE_CACHE_SIZE */
struct file * vm_file; /* File we map to (can be NULL). */
@@ -144,11 +131,9 @@ index 0038ac7..409940d 100644
void * vm_private_data; /* was vm_pte (shared mem) */
#ifndef CONFIG_MMU
-diff --git a/kernel/fork.c b/kernel/fork.c
-index 1bfefc6..a86bd7f 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
-@@ -456,7 +456,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
+@@ -462,7 +462,7 @@ static int dup_mmap(struct mm_struct *mm
struct inode *inode = file_inode(file);
struct address_space *mapping = file->f_mapping;
@@ -157,11 +142,9 @@ index 1bfefc6..a86bd7f 100644
if (tmp->vm_flags & VM_DENYWRITE)
atomic_dec(&inode->i_writecount);
i_mmap_lock_write(mapping);
-diff --git a/mm/Makefile b/mm/Makefile
-index 98c4eae..3f0c9b9 100644
--- a/mm/Makefile
+++ b/mm/Makefile
-@@ -21,7 +21,7 @@ obj-y := filemap.o mempool.o oom_kill.o \
+@@ -21,7 +21,7 @@ obj-y := filemap.o mempool.o oom_kill.
mm_init.o mmu_context.o percpu.o slab_common.o \
compaction.o vmacache.o \
interval_tree.o list_lru.o workingset.o \
@@ -170,11 +153,9 @@ index 98c4eae..3f0c9b9 100644
obj-y += init-mm.o
-diff --git a/mm/filemap.c b/mm/filemap.c
-index 1283fc8..128f18f 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
-@@ -2089,7 +2089,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
+@@ -2089,7 +2089,7 @@ int filemap_page_mkwrite(struct vm_area_
int ret = VM_FAULT_LOCKED;
sb_start_pagefault(inode->i_sb);
@@ -183,11 +164,9 @@ index 1283fc8..128f18f 100644
lock_page(page);
if (page->mapping != inode->i_mapping) {
unlock_page(page);
-diff --git a/mm/memory.c b/mm/memory.c
-index a84fbb7..13973d2 100644
--- a/mm/memory.c
+++ b/mm/memory.c
-@@ -2034,7 +2034,7 @@ static inline int wp_page_reuse(struct mm_struct *mm,
+@@ -2035,7 +2035,7 @@ static inline int wp_page_reuse(struct m
}
if (!page_mkwrite)
@@ -196,11 +175,9 @@ index a84fbb7..13973d2 100644
}
return VM_FAULT_WRITE;
-diff --git a/mm/mmap.c b/mm/mmap.c
-index aa632ad..3ff75d3 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
-@@ -274,7 +274,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
+@@ -275,7 +275,7 @@ static struct vm_area_struct *remove_vma
if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma);
if (vma->vm_file)
@@ -209,7 +186,7 @@ index aa632ad..3ff75d3 100644
mpol_put(vma_policy(vma));
kmem_cache_free(vm_area_cachep, vma);
return next;
-@@ -886,7 +886,7 @@ again: remove_next = 1 + (end > next->vm_end);
+@@ -887,7 +887,7 @@ again: remove_next = 1 + (end > next->
if (remove_next) {
if (file) {
uprobe_munmap(next, next->vm_start, next->vm_end);
@@ -218,7 +195,7 @@ index aa632ad..3ff75d3 100644
}
if (next->anon_vma)
anon_vma_merge(vma, next);
-@@ -1671,8 +1671,8 @@ out:
+@@ -1682,8 +1682,8 @@ out:
return addr;
unmap_and_free_vma:
@@ -228,7 +205,7 @@ index aa632ad..3ff75d3 100644
/* Undo any partial mapping done by a device driver. */
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
-@@ -2473,7 +2473,7 @@ static int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2484,7 +2484,7 @@ static int __split_vma(struct mm_struct
goto out_free_mpol;
if (new->vm_file)
@@ -237,7 +214,7 @@ index aa632ad..3ff75d3 100644
if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
-@@ -2492,7 +2492,7 @@ static int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2503,7 +2503,7 @@ static int __split_vma(struct mm_struct
if (new->vm_ops && new->vm_ops->close)
new->vm_ops->close(new);
if (new->vm_file)
@@ -246,7 +223,7 @@ index aa632ad..3ff75d3 100644
unlink_anon_vmas(new);
out_free_mpol:
mpol_put(vma_policy(new));
-@@ -2635,7 +2635,6 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+@@ -2645,7 +2645,6 @@ SYSCALL_DEFINE5(remap_file_pages, unsign
struct vm_area_struct *vma;
unsigned long populate = 0;
unsigned long ret = -EINVAL;
@@ -254,7 +231,7 @@ index aa632ad..3ff75d3 100644
pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. "
"See Documentation/vm/remap_file_pages.txt.\n",
-@@ -2679,10 +2678,10 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+@@ -2689,10 +2688,10 @@ SYSCALL_DEFINE5(remap_file_pages, unsign
munlock_vma_pages_range(vma, start, start + size);
}
@@ -267,20 +244,18 @@ index aa632ad..3ff75d3 100644
out:
up_write(&mm->mmap_sem);
if (populate)
-@@ -2949,7 +2948,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
- if (anon_vma_clone(new_vma, vma))
- goto out_free_mempol;
- if (new_vma->vm_file)
-- get_file(new_vma->vm_file);
-+ vma_get_file(new_vma);
- if (new_vma->vm_ops && new_vma->vm_ops->open)
- new_vma->vm_ops->open(new_vma);
- vma_link(mm, new_vma, prev, rb_link, rb_parent);
-diff --git a/mm/nommu.c b/mm/nommu.c
-index 58ea364..f937b7e 100644
+@@ -2962,7 +2961,7 @@ struct vm_area_struct *copy_vma(struct v
+ if (anon_vma_clone(new_vma, vma))
+ goto out_free_mempol;
+ if (new_vma->vm_file)
+- get_file(new_vma->vm_file);
++ vma_get_file(new_vma);
+ if (new_vma->vm_ops && new_vma->vm_ops->open)
+ new_vma->vm_ops->open(new_vma);
+ vma_link(mm, new_vma, prev, rb_link, rb_parent);
--- a/mm/nommu.c
+++ b/mm/nommu.c
-@@ -671,7 +671,7 @@ static void __put_nommu_region(struct vm_region *region)
+@@ -671,7 +671,7 @@ static void __put_nommu_region(struct vm
up_write(&nommu_region_sem);
if (region->vm_file)
@@ -289,7 +264,7 @@ index 58ea364..f937b7e 100644
/* IO memory and memory shared directly out of the pagecache
* from ramfs/tmpfs mustn't be released here */
-@@ -829,7 +829,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
+@@ -829,7 +829,7 @@ static void delete_vma(struct mm_struct
if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma);
if (vma->vm_file)
@@ -298,7 +273,7 @@ index 58ea364..f937b7e 100644
put_nommu_region(vma->vm_region);
kmem_cache_free(vm_area_cachep, vma);
}
-@@ -1354,7 +1354,7 @@ unsigned long do_mmap_pgoff(struct file *file,
+@@ -1355,7 +1355,7 @@ unsigned long do_mmap(struct file *file,
goto error_just_free;
}
}
@@ -307,7 +282,7 @@ index 58ea364..f937b7e 100644
kmem_cache_free(vm_region_jar, region);
region = pregion;
result = start;
-@@ -1429,10 +1429,10 @@ error_just_free:
+@@ -1430,10 +1430,10 @@ error_just_free:
up_write(&nommu_region_sem);
error:
if (region->vm_file)
@@ -320,9 +295,6 @@ index 58ea364..f937b7e 100644
kmem_cache_free(vm_area_cachep, vma);
return ret;
-diff --git a/mm/prfile.c b/mm/prfile.c
-new file mode 100644
-index 0000000..b323b8a
--- /dev/null
+++ b/mm/prfile.c
@@ -0,0 +1,86 @@
diff --git a/debian/patches/features/all/aufs4/aufs4-standalone.patch b/debian/patches/features/all/aufs4/aufs4-standalone.patch
index 0143087..fc28158 100644
--- a/debian/patches/features/all/aufs4/aufs4-standalone.patch
+++ b/debian/patches/features/all/aufs4/aufs4-standalone.patch
@@ -8,6 +8,8 @@ Patch headers added by debian/patches/features/all/aufs4/gen-patch
aufs4.x-rcN standalone patch
+[bwh: Forward-ported to 4.3-rc2: remove export of inode_sb_list_lock which
+ no longer exists as a global variable]
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1272,6 +1272,7 @@ rename_retry:
@@ -36,16 +38,6 @@ aufs4.x-rcN standalone patch
void __init files_init(void)
{
---- a/fs/inode.c
-+++ b/fs/inode.c
-@@ -58,6 +58,7 @@ static struct hlist_head *inode_hashtabl
- static __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_hash_lock);
-
- __cacheline_aligned_in_smp DEFINE_SPINLOCK(inode_sb_list_lock);
-+EXPORT_SYMBOL_GPL(inode_sb_list_lock);
-
- /*
- * Empty aops. Can be used for the cases where the user does not
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -463,6 +463,7 @@ void __mnt_drop_write(struct vfsmount *m
@@ -108,23 +100,23 @@ aufs4.x-rcN standalone patch
/* Calculate mask of events for a list of marks */
u32 fsnotify_recalc_mask(struct hlist_head *head)
-@@ -202,6 +203,7 @@ void fsnotify_destroy_mark(struct fsnoti
- fsnotify_destroy_mark_locked(mark, group);
+@@ -208,6 +209,7 @@ void fsnotify_destroy_mark(struct fsnoti
mutex_unlock(&group->mark_mutex);
+ fsnotify_free_mark(mark);
}
+EXPORT_SYMBOL_GPL(fsnotify_destroy_mark);
- /*
- * Destroy all marks in the given list. The marks must be already detached from
-@@ -376,6 +378,7 @@ err:
-
+ void fsnotify_destroy_marks(struct hlist_head *head, spinlock_t *lock)
+ {
+@@ -402,6 +404,7 @@ int fsnotify_add_mark(struct fsnotify_ma
+ mutex_unlock(&group->mark_mutex);
return ret;
}
+EXPORT_SYMBOL_GPL(fsnotify_add_mark);
- int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group,
- struct inode *inode, struct vfsmount *mnt, int allow_dups)
-@@ -475,6 +478,7 @@ void fsnotify_init_mark(struct fsnotify_
+ /*
+ * Given a list of marks, find the mark associated with given group. If found
+@@ -492,6 +495,7 @@ void fsnotify_init_mark(struct fsnotify_
atomic_set(&mark->refcnt, 1);
mark->free_mark = free_mark;
}
@@ -198,7 +190,7 @@ aufs4.x-rcN standalone patch
int vfs_xattr_cmp(struct dentry *dentry, const char *xattr_name,
--- a/security/commoncap.c
+++ b/security/commoncap.c
-@@ -970,12 +970,14 @@ int cap_mmap_addr(unsigned long addr)
+@@ -1053,12 +1053,14 @@ int cap_mmap_addr(unsigned long addr)
}
return ret;
}
@@ -233,7 +225,7 @@ aufs4.x-rcN standalone patch
{
--- a/security/security.c
+++ b/security/security.c
-@@ -438,6 +438,7 @@ int security_path_rmdir(struct path *dir
+@@ -433,6 +433,7 @@ int security_path_rmdir(struct path *dir
return 0;
return call_int_hook(path_rmdir, 0, dir, dentry);
}
@@ -241,7 +233,7 @@ aufs4.x-rcN standalone patch
int security_path_unlink(struct path *dir, struct dentry *dentry)
{
-@@ -454,6 +455,7 @@ int security_path_symlink(struct path *d
+@@ -449,6 +450,7 @@ int security_path_symlink(struct path *d
return 0;
return call_int_hook(path_symlink, 0, dir, dentry, old_name);
}
@@ -249,7 +241,7 @@ aufs4.x-rcN standalone patch
int security_path_link(struct dentry *old_dentry, struct path *new_dir,
struct dentry *new_dentry)
-@@ -462,6 +464,7 @@ int security_path_link(struct dentry *ol
+@@ -457,6 +459,7 @@ int security_path_link(struct dentry *ol
return 0;
return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry);
}
@@ -257,7 +249,7 @@ aufs4.x-rcN standalone patch
int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
struct path *new_dir, struct dentry *new_dentry,
-@@ -489,6 +492,7 @@ int security_path_truncate(struct path *
+@@ -484,6 +487,7 @@ int security_path_truncate(struct path *
return 0;
return call_int_hook(path_truncate, 0, path);
}
@@ -265,7 +257,7 @@ aufs4.x-rcN standalone patch
int security_path_chmod(struct path *path, umode_t mode)
{
-@@ -496,6 +500,7 @@ int security_path_chmod(struct path *pat
+@@ -491,6 +495,7 @@ int security_path_chmod(struct path *pat
return 0;
return call_int_hook(path_chmod, 0, path, mode);
}
@@ -273,7 +265,7 @@ aufs4.x-rcN standalone patch
int security_path_chown(struct path *path, kuid_t uid, kgid_t gid)
{
-@@ -503,6 +508,7 @@ int security_path_chown(struct path *pat
+@@ -498,6 +503,7 @@ int security_path_chown(struct path *pat
return 0;
return call_int_hook(path_chown, 0, path, uid, gid);
}
@@ -281,7 +273,7 @@ aufs4.x-rcN standalone patch
int security_path_chroot(struct path *path)
{
-@@ -588,6 +594,7 @@ int security_inode_readlink(struct dentr
+@@ -583,6 +589,7 @@ int security_inode_readlink(struct dentr
return 0;
return call_int_hook(inode_readlink, 0, dentry);
}
@@ -289,7 +281,7 @@ aufs4.x-rcN standalone patch
int security_inode_follow_link(struct dentry *dentry, struct inode *inode,
bool rcu)
-@@ -603,6 +610,7 @@ int security_inode_permission(struct ino
+@@ -598,6 +605,7 @@ int security_inode_permission(struct ino
return 0;
return call_int_hook(inode_permission, 0, inode, mask);
}
@@ -297,7 +289,7 @@ aufs4.x-rcN standalone patch
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
{
-@@ -741,6 +749,7 @@ int security_file_permission(struct file
+@@ -736,6 +744,7 @@ int security_file_permission(struct file
return fsnotify_perm(file, mask);
}
@@ -305,7 +297,7 @@ aufs4.x-rcN standalone patch
int security_file_alloc(struct file *file)
{
-@@ -800,6 +809,7 @@ int security_mmap_file(struct file *file
+@@ -795,6 +804,7 @@ int security_mmap_file(struct file *file
return ret;
return ima_file_mmap(file, prot);
}
diff --git a/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch b/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch
index b2a6af6..95641c7 100644
--- a/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch
+++ b/debian/patches/features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch
@@ -19,7 +19,7 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
-@@ -580,8 +580,8 @@ bytes respectively. Such letter suffixes
+@@ -587,8 +587,8 @@ bytes respectively. Such letter suffixes
ccw_timeout_log [S390]
See Documentation/s390/CommonIO for details.
@@ -32,7 +32,7 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
a single hierarchy
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -990,6 +990,14 @@ config MEMCG
+@@ -1010,6 +1010,14 @@ config MEMCG
Provides a memory resource controller that manages both anonymous
memory and page cache. (See Documentation/cgroups/memory.txt)
@@ -49,7 +49,7 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
depends on MEMCG && SWAP
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
-@@ -5370,7 +5370,7 @@ out_free:
+@@ -5468,7 +5468,7 @@ out_free:
kfree(pathbuf);
}
@@ -58,19 +58,17 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
{
struct cgroup_subsys *ss;
char *token;
-@@ -5382,17 +5382,29 @@ static int __init cgroup_disable(char *s
+@@ -5483,16 +5483,27 @@ static int __init cgroup_disable(char *s
+ strcmp(token, ss->legacy_name))
+ continue;
- for_each_subsys(ss, i) {
- if (!strcmp(token, ss->name)) {
-- ss->disabled = 1;
-- printk(KERN_INFO "Disabling %s control group"
-- " subsystem\n", ss->name);
-+ ss->disabled = value;
-+ printk(KERN_INFO
-+ "%sabling %s control group subsystem\n",
-+ value ? "Dis" : "En", ss->name);
- break;
- }
+- ss->disabled = 1;
+- printk(KERN_INFO "Disabling %s control group subsystem\n",
+- ss->name);
++ ss->disabled = value;
++ printk(KERN_INFO "%sabling %s control group subsystem\n",
++ value ? "Dis" : "En", ss->name);
+ break;
}
}
return 1;
@@ -93,7 +91,7 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
printk("cgroup: using legacy files on the default hierarchy\n");
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
-@@ -5379,6 +5379,9 @@ static struct cftype memory_files[] = {
+@@ -5209,6 +5209,9 @@ static struct cftype memory_files[] = {
};
struct cgroup_subsys memory_cgrp_subsys = {
diff --git a/debian/patches/features/all/regulator-axp20x-Add-module-alias.patch b/debian/patches/features/all/regulator-axp20x-Add-module-alias.patch
deleted file mode 100644
index 21f67c4..0000000
--- a/debian/patches/features/all/regulator-axp20x-Add-module-alias.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d4ea7d86457a8d0ea40ce77bdeda1fc966cc35ec Mon Sep 17 00:00:00 2001
-From: Ian Campbell <ijc at hellion.org.uk>
-Date: Sat, 1 Aug 2015 18:13:25 +0100
-Subject: [PATCH] regulator: axp20x: Add module alias
-Origin: https://git.kernel.org/broonie/regulator/c/d4ea7d86457a8d0ea40ce77bdeda1fc966cc35ec
-
-This allows the module to be autoloaded.
-
-Together with 07949bf9c63c ("cpufreq: dt: allow driver to boot
-automatically") this is sufficient to allow a modular kernel (such
-as Debian's) to enable cpufreq on a Cubietruck.
-
-Signed-off-by: Ian Campbell <ijc at hellion.org.uk>
-Signed-off-by: Mark Brown <broonie at kernel.org>
----
- drivers/regulator/axp20x-regulator.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c
-index 6468291..01bf347 100644
---- a/drivers/regulator/axp20x-regulator.c
-+++ b/drivers/regulator/axp20x-regulator.c
-@@ -405,3 +405,4 @@ module_platform_driver(axp20x_regulator_driver);
- MODULE_LICENSE("GPL v2");
- MODULE_AUTHOR("Carlo Caione <carlo at caione.org>");
- MODULE_DESCRIPTION("Regulator Driver for AXP20X PMIC");
-+MODULE_ALIAS("platform:axp20x-regulator");
---
-2.1.4
-
diff --git a/debian/patches/features/arm/deb-pkg-add-automatic-support-for-armhf-architecture.patch b/debian/patches/features/arm/deb-pkg-add-automatic-support-for-armhf-architecture.patch
index 97bab79..3347d89 100644
--- a/debian/patches/features/arm/deb-pkg-add-automatic-support-for-armhf-architecture.patch
+++ b/debian/patches/features/arm/deb-pkg-add-automatic-support-for-armhf-architecture.patch
@@ -24,7 +24,7 @@ Ben.
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
-@@ -45,7 +45,16 @@ create_package() {
+@@ -52,7 +52,16 @@ set_debarch() {
arm64)
debarch=arm64 ;;
arm*)
@@ -40,5 +40,5 @@ Ben.
+ fi
+ ;;
*)
+ debarch=$(dpkg --print-architecture)
echo "" >&2
- echo "** ** ** WARNING ** ** **" >&2
diff --git a/debian/patches/features/arm64/usb-add-support-for-acpi-identification-to-xhci-platform.patch b/debian/patches/features/arm64/usb-add-support-for-acpi-identification-to-xhci-platform.patch
index f02e587..84c2c60 100644
--- a/debian/patches/features/arm64/usb-add-support-for-acpi-identification-to-xhci-platform.patch
+++ b/debian/patches/features/arm64/usb-add-support-for-acpi-identification-to-xhci-platform.patch
@@ -17,6 +17,7 @@ Signed-off-by: Mark Langsdorf <mlangsdo-H+wXaHxf7aLQT0dZR+AlfA at public.gmane.org>
[ ijc -- allow build as a module, otherwise cannot see various core
symbols, like xhci_resume or usb_add_hcd which are in modules. xhci-hcd-plat
can be built as a module from v3.18. ]
+[bwh: Drop Kconfig change as a similar change was applied upstream]
---
Changes from v2
@@ -28,26 +29,6 @@ Changes from v1
Removed changes to arm64/Kconfig
Made CONFIG_USB_XHCI_PLATFORM a user selectable config option
- drivers/usb/host/Kconfig | 7 ++++++-
- drivers/usb/host/xhci-plat.c | 11 +++++++++++
- 2 files changed, 17 insertions(+), 1 deletion(-)
-
---- a/drivers/usb/host/Kconfig
-+++ b/drivers/usb/host/Kconfig
-@@ -32,7 +32,12 @@ config USB_XHCI_PCI
- default y
-
- config USB_XHCI_PLATFORM
-- tristate
-+ tristate "xHCI platform driver support"
-+ ---help---
-+ Say 'Y' to enable the support for the xHCI host controller
-+ as a platform device. Many ARM SoCs provide USB this way.
-+
-+ If unsure, say 'Y'.
-
- config USB_XHCI_MVEBU
- tristate "xHCI support for Marvell Armada 375/38x"
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -19,6 +19,7 @@
@@ -58,7 +39,7 @@ Changes from v1
#include "xhci.h"
#include "xhci-mvebu.h"
-@@ -258,6 +259,15 @@ static const struct of_device_id usb_xhc
+@@ -262,6 +263,15 @@ static const struct of_device_id usb_xhc
MODULE_DEVICE_TABLE(of, usb_xhci_of_match);
#endif
@@ -74,7 +55,7 @@ Changes from v1
static struct platform_driver usb_xhci_driver = {
.probe = xhci_plat_probe,
.remove = xhci_plat_remove,
-@@ -265,6 +275,7 @@ static struct platform_driver usb_xhci_d
+@@ -269,6 +279,7 @@ static struct platform_driver usb_xhci_d
.name = "xhci-hcd",
.pm = DEV_PM_OPS,
.of_match_table = of_match_ptr(usb_xhci_of_match),
diff --git a/debian/patches/features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch b/debian/patches/features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch
index 3487d42..f83da4b 100644
--- a/debian/patches/features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch
+++ b/debian/patches/features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch
@@ -24,7 +24,7 @@ Signed-off-by: Markos Chandras <markos.chandras at imgtec.com>
case CVMX_BOARD_TYPE_CUST_DSR1000N:
/*
* Port 2 connects to Broadcom PHY (B5081). Other ports (0-1)
-@@ -759,6 +761,7 @@ enum cvmx_helper_board_usb_clock_types _
+@@ -765,6 +767,7 @@ enum cvmx_helper_board_usb_clock_types _
case CVMX_BOARD_TYPE_LANAI2_G:
case CVMX_BOARD_TYPE_NIC10E_66:
case CVMX_BOARD_TYPE_UBNT_E100:
@@ -34,19 +34,19 @@ Signed-off-by: Markos Chandras <markos.chandras at imgtec.com>
case CVMX_BOARD_TYPE_NIC10E:
--- a/arch/mips/include/asm/octeon/cvmx-bootinfo.h
+++ b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
-@@ -228,6 +228,7 @@ enum cvmx_board_types_enum {
+@@ -283,6 +283,7 @@ enum cvmx_board_types_enum {
*/
CVMX_BOARD_TYPE_CUST_PRIVATE_MIN = 20001,
CVMX_BOARD_TYPE_UBNT_E100 = 20002,
+ CVMX_BOARD_TYPE_UBNT_E200 = 20003,
CVMX_BOARD_TYPE_CUST_DSR1000N = 20006,
+ CVMX_BOARD_TYPE_KONTRON_S1901 = 21901,
CVMX_BOARD_TYPE_CUST_PRIVATE_MAX = 30000,
-
-@@ -328,6 +329,7 @@ static inline const char *cvmx_board_typ
+@@ -384,6 +385,7 @@ static inline const char *cvmx_board_typ
/* Customer private range */
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E200)
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
- }
diff --git a/debian/patches/features/x86/x86-memtest-WARN-if-bad-RAM-found.patch b/debian/patches/features/x86/x86-memtest-WARN-if-bad-RAM-found.patch
index 145de00..7a79520 100644
--- a/debian/patches/features/x86/x86-memtest-WARN-if-bad-RAM-found.patch
+++ b/debian/patches/features/x86/x86-memtest-WARN-if-bad-RAM-found.patch
@@ -15,7 +15,7 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
--- a/mm/memtest.c
+++ b/mm/memtest.c
-@@ -31,6 +31,10 @@ static u64 patterns[] __initdata = {
+@@ -26,6 +26,10 @@ static u64 patterns[] __initdata = {
static void __init reserve_bad_mem(u64 pattern, phys_addr_t start_bad, phys_addr_t end_bad)
{
@@ -23,6 +23,6 @@ Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
+ WARN_ONCE(1, "Bad RAM detected. Use memtest86+ to perform a thorough test\n"
+ "and the memmap= parameter to reserve the bad areas.");
+#endif
- printk(KERN_INFO " %016llx bad mem addr %010llx - %010llx reserved\n",
- (unsigned long long) pattern,
- (unsigned long long) start_bad,
+ pr_info(" %016llx bad mem addr %pa - %pa reserved\n",
+ cpu_to_be64(pattern), &start_bad, &end_bad);
+ memblock_reserve(start_bad, end_bad - start_bad);
diff --git a/debian/patches/series b/debian/patches/series
index d65aad0..9d82494 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -65,22 +65,15 @@ features/arm64/usb-add-support-for-acpi-identification-to-xhci-platform.patch
bugfix/all/misc-bmp085-Enable-building-as-a-module.patch
bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
bugfix/all/disable-some-marvell-phys.patch
-bugfix/all/aic94xx-remove-broken-fallback-for-missing-ctrl-a.patch
bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
bugfix/all/net-mv643xx-disable-tso-by-default.patch
# Reproducible docs
-bugfix/all/scripts-kernel-doc-parse-kernel-doc-deterministicall.patch
-bugfix/all/docbook-don-t-store-mtime-or-name-in-compressed-man-.patch
-bugfix/all/docbook-generate-consistent-ids.patch
-bugfix/all/docbook-fix-non-determinstic-installation-of-duplica.patch
-bugfix/all/scripts-kernel-doc-use-kbuild_build_timestamp-as-man.patch
bugfix/all/documentation-avoid-creating-man-pages-in-source-tree.patch
bugfix/all/docbook-use-a-fixed-encoding-for-output.patch
# Miscellaneous features
features/all/efi-autoload-efi-pstore.patch
-features/all/regulator-axp20x-Add-module-alias.patch
# Hardening from grsecurity
features/all/grsecurity/grsecurity-kconfig.patch
@@ -88,11 +81,4 @@ features/all/grsecurity/grsecurity-kconfig.patch
#features/all/grsecurity/grsecurity-kbuild.patch
features/all/grsecurity/grkernsec_perf_harden.patch
-bugfix/all/gfs2-make-statistics-unsigned-suitable-for-use-with-.patch
-bugfix/all/workqueue-make-flush_workqueue-available-again-to-no.patch
-bugfix/all/dcache-handle-escaped-paths-in-prepend_path.patch
-bugfix/all/dcache-reduce-the-scope-of-i_lock-in-d_splice_alias.patch
-bugfix/all/vfs-test-for-and-handle-paths-that-are-unreachable-f.patch
-bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch
-bugfix/all/e1000e-fix-tight-loop-implementation-of-systime-read.patch
bugfix/all/usb-whiteheat-fix-potential-null-deref-at-probe.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git
More information about the Kernel-svn-changes
mailing list