]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.13-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Mar 2014 23:53:59 +0000 (16:53 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Mar 2014 23:53:59 +0000 (16:53 -0700)
added patches:
alsa-oxygen-modify-adjust_dg_dac_routing-function.patch
arm64-mm-add-double-logical-invert-to-pte-accessors.patch
audit-don-t-generate-loginuid-log-when-audit-disabled.patch
bio-integrity-fix-bio_integrity_verify-segment-start-bug.patch
fix-mountpoint-reference-leakage-in-linkat.patch
intel_pstate-add-setting-voltage-value-for-baytrail-p-states.patch
intel_pstate-add-support-for-baytrail-turbo-p-states.patch
memcg-reparent-charges-of-children-before-processing-parent.patch
mips-include-linux-types.h.patch
regulator-core-change-dummy-supplies-error-message-to-a-warning.patch

queue-3.13/alsa-oxygen-modify-adjust_dg_dac_routing-function.patch [new file with mode: 0644]
queue-3.13/arm64-mm-add-double-logical-invert-to-pte-accessors.patch [new file with mode: 0644]
queue-3.13/audit-don-t-generate-loginuid-log-when-audit-disabled.patch [new file with mode: 0644]
queue-3.13/bio-integrity-fix-bio_integrity_verify-segment-start-bug.patch [new file with mode: 0644]
queue-3.13/fix-mountpoint-reference-leakage-in-linkat.patch [new file with mode: 0644]
queue-3.13/intel_pstate-add-setting-voltage-value-for-baytrail-p-states.patch [new file with mode: 0644]
queue-3.13/intel_pstate-add-support-for-baytrail-turbo-p-states.patch [new file with mode: 0644]
queue-3.13/memcg-reparent-charges-of-children-before-processing-parent.patch [new file with mode: 0644]
queue-3.13/mips-include-linux-types.h.patch [new file with mode: 0644]
queue-3.13/regulator-core-change-dummy-supplies-error-message-to-a-warning.patch [new file with mode: 0644]
queue-3.13/series

diff --git a/queue-3.13/alsa-oxygen-modify-adjust_dg_dac_routing-function.patch b/queue-3.13/alsa-oxygen-modify-adjust_dg_dac_routing-function.patch
new file mode 100644 (file)
index 0000000..e54d394
--- /dev/null
@@ -0,0 +1,44 @@
+From 1f91ecc14deea9461aca93273d78871ec4d98fcd Mon Sep 17 00:00:00 2001
+From: Roman Volkov <v1ron@mail.ru>
+Date: Fri, 24 Jan 2014 16:18:11 +0400
+Subject: ALSA: oxygen: modify adjust_dg_dac_routing function
+
+From: Roman Volkov <v1ron@mail.ru>
+
+commit 1f91ecc14deea9461aca93273d78871ec4d98fcd upstream.
+
+When selecting the audio output destinations (headphones,
+FP headphones, multichannel output), the channel routing
+should be changed depending on what destination selected.
+Also unnecessary I2S channels are digitally muted. This
+function called when the user selects the destination
+in the ALSA mixer.
+
+Signed-off-by: Roman Volkov <v1ron@mail.ru>
+Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ sound/pci/oxygen/xonar_dg.c |   10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/sound/pci/oxygen/xonar_dg.c
++++ b/sound/pci/oxygen/xonar_dg.c
+@@ -294,6 +294,16 @@ static int output_switch_put(struct snd_
+               oxygen_write16_masked(chip, OXYGEN_GPIO_DATA,
+                                     data->output_sel == 1 ? GPIO_HP_REAR : 0,
+                                     GPIO_HP_REAR);
++              oxygen_write8_masked(chip, OXYGEN_PLAY_ROUTING,
++                                   data->output_sel == 0 ?
++                                   OXYGEN_PLAY_MUTE01 :
++                                   OXYGEN_PLAY_MUTE23 |
++                                   OXYGEN_PLAY_MUTE45 |
++                                   OXYGEN_PLAY_MUTE67,
++                                   OXYGEN_PLAY_MUTE01 |
++                                   OXYGEN_PLAY_MUTE23 |
++                                   OXYGEN_PLAY_MUTE45 |
++                                   OXYGEN_PLAY_MUTE67);
+       }
+       mutex_unlock(&chip->mutex);
+       return changed;
diff --git a/queue-3.13/arm64-mm-add-double-logical-invert-to-pte-accessors.patch b/queue-3.13/arm64-mm-add-double-logical-invert-to-pte-accessors.patch
new file mode 100644 (file)
index 0000000..5d7860a
--- /dev/null
@@ -0,0 +1,48 @@
+From 84fe6826c28f69d8708bd575faed7f75e6b6f57f Mon Sep 17 00:00:00 2001
+From: Steve Capper <steve.capper@linaro.org>
+Date: Tue, 25 Feb 2014 11:38:53 +0000
+Subject: arm64: mm: Add double logical invert to pte accessors
+
+From: Steve Capper <steve.capper@linaro.org>
+
+commit 84fe6826c28f69d8708bd575faed7f75e6b6f57f upstream.
+
+Page table entries on ARM64 are 64 bits, and some pte functions such as
+pte_dirty return a bitwise-and of a flag with the pte value. If the
+flag to be tested resides in the upper 32 bits of the pte, then we run
+into the danger of the result being dropped if downcast.
+
+For example:
+       gather_stats(page, md, pte_dirty(*pte), 1);
+where pte_dirty(*pte) is downcast to an int.
+
+This patch adds a double logical invert to all the pte_ accessors to
+ensure predictable downcasting.
+
+Signed-off-by: Steve Capper <steve.capper@linaro.org>
+[steve.capper@linaro.org: rebased patch to leave pte_write alone to
+allow for merge with 3.13 stable]
+Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm64/include/asm/pgtable.h |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/arch/arm64/include/asm/pgtable.h
++++ b/arch/arm64/include/asm/pgtable.h
+@@ -136,10 +136,10 @@ extern struct page *empty_zero_page;
+ /*
+  * The following only work if pte_present(). Undefined behaviour otherwise.
+  */
+-#define pte_present(pte)      (pte_val(pte) & (PTE_VALID | PTE_PROT_NONE))
+-#define pte_dirty(pte)                (pte_val(pte) & PTE_DIRTY)
+-#define pte_young(pte)                (pte_val(pte) & PTE_AF)
+-#define pte_special(pte)      (pte_val(pte) & PTE_SPECIAL)
++#define pte_present(pte)      (!!(pte_val(pte) & (PTE_VALID | PTE_PROT_NONE)))
++#define pte_dirty(pte)                (!!(pte_val(pte) & PTE_DIRTY))
++#define pte_young(pte)                (!!(pte_val(pte) & PTE_AF))
++#define pte_special(pte)      (!!(pte_val(pte) & PTE_SPECIAL))
+ #define pte_write(pte)                (!(pte_val(pte) & PTE_RDONLY))
+ #define pte_exec(pte)         (!(pte_val(pte) & PTE_UXN))
diff --git a/queue-3.13/audit-don-t-generate-loginuid-log-when-audit-disabled.patch b/queue-3.13/audit-don-t-generate-loginuid-log-when-audit-disabled.patch
new file mode 100644 (file)
index 0000000..daf8d53
--- /dev/null
@@ -0,0 +1,34 @@
+From c2412d91c68426e22add16550f97ae5cd988a159 Mon Sep 17 00:00:00 2001
+From: Gao feng <gaofeng@cn.fujitsu.com>
+Date: Fri, 1 Nov 2013 19:34:45 +0800
+Subject: audit: don't generate loginuid log when audit disabled
+
+From: Gao feng <gaofeng@cn.fujitsu.com>
+
+commit c2412d91c68426e22add16550f97ae5cd988a159 upstream.
+
+If audit is disabled, we shouldn't generate loginuid audit
+log.
+
+Acked-by: Eric Paris <eparis@redhat.com>
+Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
+Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
+Signed-off-by: Eric Paris <eparis@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/auditsc.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/kernel/auditsc.c
++++ b/kernel/auditsc.c
+@@ -1971,6 +1971,9 @@ static void audit_log_set_loginuid(kuid_
+       struct audit_buffer *ab;
+       uid_t uid, ologinuid, nloginuid;
++      if (!audit_enabled)
++              return;
++
+       uid = from_kuid(&init_user_ns, task_uid(current));
+       ologinuid = from_kuid(&init_user_ns, koldloginuid);
+       nloginuid = from_kuid(&init_user_ns, kloginuid),
diff --git a/queue-3.13/bio-integrity-fix-bio_integrity_verify-segment-start-bug.patch b/queue-3.13/bio-integrity-fix-bio_integrity_verify-segment-start-bug.patch
new file mode 100644 (file)
index 0000000..14aafe1
--- /dev/null
@@ -0,0 +1,47 @@
+From 5837c80e870bc3b12ac6a98cdc9ce7a9522a8fb6 Mon Sep 17 00:00:00 2001
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+Date: Tue, 21 Jan 2014 20:32:05 -0800
+Subject: bio-integrity: Fix bio_integrity_verify segment start bug
+
+From: Nicholas Bellinger <nab@linux-iscsi.org>
+
+commit 5837c80e870bc3b12ac6a98cdc9ce7a9522a8fb6 upstream.
+
+This patch addresses a bug in bio_integrity_verify() code that has
+been causing DIF READ verify operations to be silently skipped.
+
+The issue is that bio->bi_idx will have been incremented within
+bio_advance() code in the normal blk_update_request() ->
+req_bio_endio() completion path, and bio_integrity_verify() is
+using bio_for_each_segment() which starts the bio segment walk
+at the current bio->bi_idx.
+
+So instead use bio_for_each_segment_all() to always start the bio
+segment walk from zero, regardless of the current bio->bi_idx
+value after bio_advance() has been called.
+
+(Context change for v3.10.y -> v3.13.y code - nab)
+
+Cc: Martin K. Petersen <martin.petersen@oracle.com>
+Cc: Jens Axboe <axboe@kernel.dk>
+Cc: Christoph Hellwig <hch@lst.de>
+Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ fs/bio-integrity.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/fs/bio-integrity.c
++++ b/fs/bio-integrity.c
+@@ -458,7 +458,7 @@ static int bio_integrity_verify(struct b
+       bix.disk_name = bio->bi_bdev->bd_disk->disk_name;
+       bix.sector_size = bi->sector_size;
+-      bio_for_each_segment(bv, bio, i) {
++      bio_for_each_segment_all(bv, bio, i) {
+               void *kaddr = kmap_atomic(bv->bv_page);
+               bix.data_buf = kaddr + bv->bv_offset;
+               bix.data_size = bv->bv_len;
diff --git a/queue-3.13/fix-mountpoint-reference-leakage-in-linkat.patch b/queue-3.13/fix-mountpoint-reference-leakage-in-linkat.patch
new file mode 100644 (file)
index 0000000..110ccf6
--- /dev/null
@@ -0,0 +1,45 @@
+From d22e6338db7f613dd4f6095c190682fcc519e4b7 Mon Sep 17 00:00:00 2001
+From: Oleg Drokin <green@linuxhacker.ru>
+Date: Fri, 31 Jan 2014 15:41:58 -0500
+Subject: Fix mountpoint reference leakage in linkat
+
+From: Oleg Drokin <green@linuxhacker.ru>
+
+commit d22e6338db7f613dd4f6095c190682fcc519e4b7 upstream.
+
+Recent changes to retry on ESTALE in linkat
+(commit 442e31ca5a49e398351b2954b51f578353fdf210)
+introduced a mountpoint reference leak and a small memory
+leak in case a filesystem link operation returns ESTALE
+which is pretty normal for distributed filesystems like
+lustre, nfs and so on.
+Free old_path in such a case.
+
+[AV: there was another missing path_put() nearby - on the previous
+goto retry]
+
+Signed-off-by: Oleg Drokin: <green@linuxhacker.ru>
+Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/namei.c |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/fs/namei.c
++++ b/fs/namei.c
+@@ -3945,10 +3945,13 @@ out_dput:
+       done_path_create(&new_path, new_dentry);
+       if (delegated_inode) {
+               error = break_deleg_wait(&delegated_inode);
+-              if (!error)
++              if (!error) {
++                      path_put(&old_path);
+                       goto retry;
++              }
+       }
+       if (retry_estale(error, how)) {
++              path_put(&old_path);
+               how |= LOOKUP_REVAL;
+               goto retry;
+       }
diff --git a/queue-3.13/intel_pstate-add-setting-voltage-value-for-baytrail-p-states.patch b/queue-3.13/intel_pstate-add-setting-voltage-value-for-baytrail-p-states.patch
new file mode 100644 (file)
index 0000000..2cd22cb
--- /dev/null
@@ -0,0 +1,152 @@
+From 007bea098b869945a462420a1f9d442ff169f722 Mon Sep 17 00:00:00 2001
+From: Dirk Brandewie <dirk.j.brandewie@intel.com>
+Date: Wed, 18 Dec 2013 10:32:39 -0800
+Subject: intel_pstate: Add setting voltage value for baytrail P states.
+
+From: Dirk Brandewie <dirk.j.brandewie@intel.com>
+
+commit 007bea098b869945a462420a1f9d442ff169f722 upstream.
+
+Baytrail requires setting P state and voltage pairs when adjusting the
+requested P state.  Add function for retrieving the valid voltage
+values and modify *_set_pstate() functions to caluclate the
+appropriate voltage for the requested P state.
+
+Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/cpufreq/intel_pstate.c |   58 ++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 54 insertions(+), 4 deletions(-)
+
+--- a/drivers/cpufreq/intel_pstate.c
++++ b/drivers/cpufreq/intel_pstate.c
+@@ -35,6 +35,7 @@
+ #define SAMPLE_COUNT          3
+ #define BYT_RATIOS    0x66a
++#define BYT_VIDS        0x66b
+ #define FRAC_BITS 8
+ #define int_tofp(X) ((int64_t)(X) << FRAC_BITS)
+@@ -64,6 +65,12 @@ struct pstate_data {
+       int     turbo_pstate;
+ };
++struct vid_data {
++      int32_t min;
++      int32_t max;
++      int32_t ratio;
++};
++
+ struct _pid {
+       int setpoint;
+       int32_t integral;
+@@ -82,6 +89,7 @@ struct cpudata {
+       struct timer_list timer;
+       struct pstate_data pstate;
++      struct vid_data vid;
+       struct _pid pid;
+       int min_pstate_count;
+@@ -106,7 +114,8 @@ struct pstate_funcs {
+       int (*get_max)(void);
+       int (*get_min)(void);
+       int (*get_turbo)(void);
+-      void (*set)(int pstate);
++      void (*set)(struct cpudata*, int pstate);
++      void (*get_vid)(struct cpudata *);
+ };
+ struct cpu_defaults {
+@@ -358,6 +367,42 @@ static int byt_get_max_pstate(void)
+       return (value >> 16) & 0xFF;
+ }
++static void byt_set_pstate(struct cpudata *cpudata, int pstate)
++{
++      u64 val;
++      int32_t vid_fp;
++      u32 vid;
++
++      val = pstate << 8;
++      if (limits.no_turbo)
++              val |= (u64)1 << 32;
++
++      vid_fp = cpudata->vid.min + mul_fp(
++              int_tofp(pstate - cpudata->pstate.min_pstate),
++              cpudata->vid.ratio);
++
++      vid_fp = clamp_t(int32_t, vid_fp, cpudata->vid.min, cpudata->vid.max);
++      vid = fp_toint(vid_fp);
++
++      val |= vid;
++
++      wrmsrl(MSR_IA32_PERF_CTL, val);
++}
++
++static void byt_get_vid(struct cpudata *cpudata)
++{
++      u64 value;
++
++      rdmsrl(BYT_VIDS, value);
++      cpudata->vid.min = int_tofp((value >> 8) & 0x7f);
++      cpudata->vid.max = int_tofp((value >> 16) & 0x7f);
++      cpudata->vid.ratio = div_fp(
++              cpudata->vid.max - cpudata->vid.min,
++              int_tofp(cpudata->pstate.max_pstate -
++                      cpudata->pstate.min_pstate));
++}
++
++
+ static int core_get_min_pstate(void)
+ {
+       u64 value;
+@@ -384,7 +429,7 @@ static int core_get_turbo_pstate(void)
+       return ret;
+ }
+-static void core_set_pstate(int pstate)
++static void core_set_pstate(struct cpudata *cpudata, int pstate)
+ {
+       u64 val;
+@@ -425,7 +470,8 @@ static struct cpu_defaults byt_params =
+               .get_max = byt_get_max_pstate,
+               .get_min = byt_get_min_pstate,
+               .get_turbo = byt_get_max_pstate,
+-              .set = core_set_pstate,
++              .set = byt_set_pstate,
++              .get_vid = byt_get_vid,
+       },
+ };
+@@ -462,7 +508,7 @@ static void intel_pstate_set_pstate(stru
+       cpu->pstate.current_pstate = pstate;
+-      pstate_funcs.set(pstate);
++      pstate_funcs.set(cpu, pstate);
+ }
+ static inline void intel_pstate_pstate_increase(struct cpudata *cpu, int steps)
+@@ -488,6 +534,9 @@ static void intel_pstate_get_cpu_pstates
+       cpu->pstate.max_pstate = pstate_funcs.get_max();
+       cpu->pstate.turbo_pstate = pstate_funcs.get_turbo();
++      if (pstate_funcs.get_vid)
++              pstate_funcs.get_vid(cpu);
++
+       /*
+        * goto max pstate so we don't slow up boot if we are built-in if we are
+        * a module we will take care of it during normal operation
+@@ -782,6 +831,7 @@ static void copy_cpu_funcs(struct pstate
+       pstate_funcs.get_min   = funcs->get_min;
+       pstate_funcs.get_turbo = funcs->get_turbo;
+       pstate_funcs.set       = funcs->set;
++      pstate_funcs.get_vid   = funcs->get_vid;
+ }
+ #if IS_ENABLED(CONFIG_ACPI)
diff --git a/queue-3.13/intel_pstate-add-support-for-baytrail-turbo-p-states.patch b/queue-3.13/intel_pstate-add-support-for-baytrail-turbo-p-states.patch
new file mode 100644 (file)
index 0000000..a4b4e2f
--- /dev/null
@@ -0,0 +1,58 @@
+From 61d8d2abc15e9232c3914c55502b73e559366583 Mon Sep 17 00:00:00 2001
+From: Dirk Brandewie <dirk.j.brandewie@intel.com>
+Date: Wed, 12 Feb 2014 10:01:07 -0800
+Subject: intel_pstate: Add support for Baytrail turbo P states
+
+From: Dirk Brandewie <dirk.j.brandewie@intel.com>
+
+commit 61d8d2abc15e9232c3914c55502b73e559366583 upstream.
+
+A documentation update exposed the existance of the turbo ratio
+register. Update baytrail support to use the turbo range.
+
+Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
+Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/cpufreq/intel_pstate.c |   15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+--- a/drivers/cpufreq/intel_pstate.c
++++ b/drivers/cpufreq/intel_pstate.c
+@@ -34,8 +34,10 @@
+ #define SAMPLE_COUNT          3
+-#define BYT_RATIOS    0x66a
+-#define BYT_VIDS        0x66b
++#define BYT_RATIOS            0x66a
++#define BYT_VIDS              0x66b
++#define BYT_TURBO_RATIOS      0x66c
++
+ #define FRAC_BITS 8
+ #define int_tofp(X) ((int64_t)(X) << FRAC_BITS)
+@@ -367,6 +369,13 @@ static int byt_get_max_pstate(void)
+       return (value >> 16) & 0xFF;
+ }
++static int byt_get_turbo_pstate(void)
++{
++      u64 value;
++      rdmsrl(BYT_TURBO_RATIOS, value);
++      return value & 0x3F;
++}
++
+ static void byt_set_pstate(struct cpudata *cpudata, int pstate)
+ {
+       u64 val;
+@@ -469,7 +478,7 @@ static struct cpu_defaults byt_params =
+       .funcs = {
+               .get_max = byt_get_max_pstate,
+               .get_min = byt_get_min_pstate,
+-              .get_turbo = byt_get_max_pstate,
++              .get_turbo = byt_get_turbo_pstate,
+               .set = byt_set_pstate,
+               .get_vid = byt_get_vid,
+       },
diff --git a/queue-3.13/memcg-reparent-charges-of-children-before-processing-parent.patch b/queue-3.13/memcg-reparent-charges-of-children-before-processing-parent.patch
new file mode 100644 (file)
index 0000000..9a3362c
--- /dev/null
@@ -0,0 +1,71 @@
+From 4fb1a86fb5e4209a7d4426d4e586c58e9edc74ac Mon Sep 17 00:00:00 2001
+From: Filipe Brandenburger <filbranden@google.com>
+Date: Mon, 3 Mar 2014 15:38:25 -0800
+Subject: memcg: reparent charges of children before processing parent
+
+From: Filipe Brandenburger <filbranden@google.com>
+
+commit 4fb1a86fb5e4209a7d4426d4e586c58e9edc74ac upstream.
+
+Sometimes the cleanup after memcg hierarchy testing gets stuck in
+mem_cgroup_reparent_charges(), unable to bring non-kmem usage down to 0.
+
+There may turn out to be several causes, but a major cause is this: the
+workitem to offline parent can get run before workitem to offline child;
+parent's mem_cgroup_reparent_charges() circles around waiting for the
+child's pages to be reparented to its lrus, but it's holding
+cgroup_mutex which prevents the child from reaching its
+mem_cgroup_reparent_charges().
+
+Further testing showed that an ordered workqueue for cgroup_destroy_wq
+is not always good enough: percpu_ref_kill_and_confirm's call_rcu_sched
+stage on the way can mess up the order before reaching the workqueue.
+
+Instead, when offlining a memcg, call mem_cgroup_reparent_charges() on
+all its children (and grandchildren, in the correct order) to have their
+charges reparented first.
+
+Fixes: e5fca243abae ("cgroup: use a dedicated workqueue for cgroup destruction")
+Signed-off-by: Filipe Brandenburger <filbranden@google.com>
+Signed-off-by: Hugh Dickins <hughd@google.com>
+Reviewed-by: Tejun Heo <tj@kernel.org>
+Acked-by: Michal Hocko <mhocko@suse.cz>
+Cc: Johannes Weiner <hannes@cmpxchg.org>
+Cc: <stable@vger.kernel.org>   [v3.10+]
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ mm/memcontrol.c |   15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+--- a/mm/memcontrol.c
++++ b/mm/memcontrol.c
+@@ -6360,11 +6360,24 @@ static void mem_cgroup_invalidate_reclai
+ static void mem_cgroup_css_offline(struct cgroup_subsys_state *css)
+ {
+       struct mem_cgroup *memcg = mem_cgroup_from_css(css);
++      struct cgroup_subsys_state *iter;
+       kmem_cgroup_css_offline(memcg);
+       mem_cgroup_invalidate_reclaim_iterators(memcg);
+-      mem_cgroup_reparent_charges(memcg);
++
++      /*
++       * This requires that offlining is serialized.  Right now that is
++       * guaranteed because css_killed_work_fn() holds the cgroup_mutex.
++       */
++      rcu_read_lock();
++      css_for_each_descendant_post(iter, css) {
++              rcu_read_unlock();
++              mem_cgroup_reparent_charges(mem_cgroup_from_css(iter));
++              rcu_read_lock();
++      }
++      rcu_read_unlock();
++
+       mem_cgroup_destroy_all_caches(memcg);
+       vmpressure_cleanup(&memcg->vmpressure);
+ }
diff --git a/queue-3.13/mips-include-linux-types.h.patch b/queue-3.13/mips-include-linux-types.h.patch
new file mode 100644 (file)
index 0000000..bcec162
--- /dev/null
@@ -0,0 +1,39 @@
+From 87c99203fea897fbdd84b681ad9fced2517dcf98 Mon Sep 17 00:00:00 2001
+From: Qais Yousef <qais.yousef@imgtec.com>
+Date: Mon, 9 Dec 2013 09:49:45 +0000
+Subject: MIPS: include linux/types.h
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Qais Yousef <qais.yousef@imgtec.com>
+
+commit 87c99203fea897fbdd84b681ad9fced2517dcf98 upstream.
+
+The file uses u16 type but doesn't include its definition explicitly
+
+I was getting this error when including this header in my driver:
+
+  arch/mips/include/asm/mipsregs.h:644:33: error: unknown type name ‘u16’
+
+Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
+Reviewed-by: Steven J. Hill <Steven.Hill@imgtec.com>
+Acked-by: David Daney <david.daney@cavium.com>
+Signed-off-by: John Crispin <blogic@openwrt.org>
+Patchwork: http://patchwork.linux-mips.org/patch/6212/
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/mips/include/asm/mipsregs.h |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/mips/include/asm/mipsregs.h
++++ b/arch/mips/include/asm/mipsregs.h
+@@ -14,6 +14,7 @@
+ #define _ASM_MIPSREGS_H
+ #include <linux/linkage.h>
++#include <linux/types.h>
+ #include <asm/hazards.h>
+ #include <asm/war.h>
diff --git a/queue-3.13/regulator-core-change-dummy-supplies-error-message-to-a-warning.patch b/queue-3.13/regulator-core-change-dummy-supplies-error-message-to-a-warning.patch
new file mode 100644 (file)
index 0000000..92b013f
--- /dev/null
@@ -0,0 +1,35 @@
+From acc3d5cec84f82ebea535fa0bd9500ac3df2aee9 Mon Sep 17 00:00:00 2001
+From: Shuah Khan <shuah.kh@samsung.com>
+Date: Thu, 20 Feb 2014 12:58:15 -0700
+Subject: regulator: core: Change dummy supplies error message to a warning
+
+From: Shuah Khan <shuah.kh@samsung.com>
+
+commit acc3d5cec84f82ebea535fa0bd9500ac3df2aee9 upstream.
+
+Change "dummy supplies not allowed" error message to warning instead, as this
+is a just warning message with no change to the behavior.
+
+[Added a CC to stable since some other bug fixes cause this to come up
+more frequently on PCs which is how it was noticed -- broonie]
+
+Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
+Signed-off-by: Mark Brown <broonie@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ drivers/regulator/core.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/regulator/core.c
++++ b/drivers/regulator/core.c
+@@ -1360,7 +1360,7 @@ static struct regulator *_regulator_get(
+               rdev = dummy_regulator_rdev;
+               goto found;
+       } else {
+-              dev_err(dev, "dummy supplies not allowed\n");
++              dev_warn(dev, "dummy supplies not allowed\n");
+       }
+       mutex_unlock(&regulator_list_mutex);
index 1665a9b4ea26e14064d3b19884a46e2ba9a5532a..aecdc43985d1529aca4f19f6c855b4576311a31b 100644 (file)
@@ -137,3 +137,13 @@ x86-fpu-check-tsk_used_math-in-kernel_fpu_end-for-eager-fpu.patch
 btrfs-return-immediately-if-tree-log-mod-is-not-necessary.patch
 btrfs-fix-tree-mod-logging.patch
 btrfs-fix-data-corruption-when-reading-updating-compressed-extents.patch
+audit-don-t-generate-loginuid-log-when-audit-disabled.patch
+intel_pstate-add-setting-voltage-value-for-baytrail-p-states.patch
+intel_pstate-add-support-for-baytrail-turbo-p-states.patch
+alsa-oxygen-modify-adjust_dg_dac_routing-function.patch
+regulator-core-change-dummy-supplies-error-message-to-a-warning.patch
+fix-mountpoint-reference-leakage-in-linkat.patch
+mips-include-linux-types.h.patch
+bio-integrity-fix-bio_integrity_verify-segment-start-bug.patch
+arm64-mm-add-double-logical-invert-to-pte-accessors.patch
+memcg-reparent-charges-of-children-before-processing-parent.patch