summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-08-02 15:07:04 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-02 15:07:04 -0700
commitd53dcc0597a7665c880dee81ff7a7a96040eab32 (patch)
tree4bd08e48edf931b57cb20c5b433b037846810316
parent0d1514e0157dd89564045969f05e3e0b5f4ddf8d (diff)
downloadstable-queue-d53dcc0597a7665c880dee81ff7a7a96040eab32.tar.gz
3.0 patches
-rw-r--r--queue-3.0/apparmor-fix-masking-of-capabilities-in-complain-mode.patch41
-rw-r--r--queue-3.0/apparmor-fix-reference-to-rcu-protected-pointer-outside-of.patch45
-rw-r--r--queue-3.0/cfg80211-really-ignore-the-regulatory-request.patch52
-rw-r--r--queue-3.0/gfs2-fix-mount-hang-caused-by-certain-access-pattern-to-sysfs-files.patch38
-rw-r--r--queue-3.0/hvc_console-improve-tty-console-put_chars-handling.patch57
-rw-r--r--queue-3.0/ipc-sem.c-fix-race-with-concurrent-semtimedop-timeouts.patch61
-rw-r--r--queue-3.0/memcg-fix-behavior-of-mem_cgroup_resize_limit.patch47
-rw-r--r--queue-3.0/oom-task-mm-null-doesn-t-mean-the-memory-was-freed.patch50
-rw-r--r--queue-3.0/powerpc-pseries-hvconsole-fix-dropped-console-output.patch31
-rw-r--r--queue-3.0/rt2x00-add-device-id-for-rt539f-device.patch29
-rw-r--r--queue-3.0/serial-sc26xx-fix-link-error.patch41
-rw-r--r--queue-3.0/series12
-rw-r--r--queue-3.0/tty-serial-fix-xscale-serial-ports-e.g.-ce4100.patch37
13 files changed, 541 insertions, 0 deletions
diff --git a/queue-3.0/apparmor-fix-masking-of-capabilities-in-complain-mode.patch b/queue-3.0/apparmor-fix-masking-of-capabilities-in-complain-mode.patch
new file mode 100644
index 0000000000..283e32cfae
--- /dev/null
+++ b/queue-3.0/apparmor-fix-masking-of-capabilities-in-complain-mode.patch
@@ -0,0 +1,41 @@
+From 25e75dff519bcce2cb35023105e7df51d7b9e691 Mon Sep 17 00:00:00 2001
+From: John Johansen <john.johansen@canonical.com>
+Date: Sat, 25 Jun 2011 16:57:07 +0100
+Subject: AppArmor: Fix masking of capabilities in complain mode
+
+From: John Johansen <john.johansen@canonical.com>
+
+commit 25e75dff519bcce2cb35023105e7df51d7b9e691 upstream.
+
+AppArmor is masking the capabilities returned by capget against the
+capabilities mask in the profile. This is wrong, in complain mode the
+profile has effectively all capabilities, as the profile restrictions are
+not being enforced, merely tested against to determine if an access is
+known by the profile.
+
+This can result in the wrong behavior of security conscience applications
+like sshd which examine their capability set, and change their behavior
+accordingly. In this case because of the masked capability set being
+returned sshd fails due to DAC checks, even when the profile is in complain
+mode.
+
+Kernels affected: 2.6.36 - 3.0.
+
+Signed-off-by: John Johansen <john.johansen@canonical.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ security/apparmor/lsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/security/apparmor/lsm.c
++++ b/security/apparmor/lsm.c
+@@ -127,7 +127,7 @@ static int apparmor_capget(struct task_s
+ *inheritable = cred->cap_inheritable;
+ *permitted = cred->cap_permitted;
+
+- if (!unconfined(profile)) {
++ if (!unconfined(profile) && !COMPLAIN_MODE(profile)) {
+ *effective = cap_intersect(*effective, profile->caps.allow);
+ *permitted = cap_intersect(*permitted, profile->caps.allow);
+ }
diff --git a/queue-3.0/apparmor-fix-reference-to-rcu-protected-pointer-outside-of.patch b/queue-3.0/apparmor-fix-reference-to-rcu-protected-pointer-outside-of.patch
new file mode 100644
index 0000000000..9bc35f4f5c
--- /dev/null
+++ b/queue-3.0/apparmor-fix-reference-to-rcu-protected-pointer-outside-of.patch
@@ -0,0 +1,45 @@
+From 04fdc099f9c80c7775dbac388fc97e156d4d47e7 Mon Sep 17 00:00:00 2001
+From: John Johansen <john.johansen@canonical.com>
+Date: Tue, 28 Jun 2011 15:06:38 +0100
+Subject: AppArmor: Fix reference to rcu protected pointer outside of
+ rcu_read_lock
+
+From: John Johansen <john.johansen@canonical.com>
+
+commit 04fdc099f9c80c7775dbac388fc97e156d4d47e7 upstream.
+
+The pointer returned from tracehook_tracer_task() is only valid inside
+the rcu_read_lock. However the tracer pointer obtained is being passed
+to aa_may_ptrace outside of the rcu_read_lock critical section.
+
+Mover the aa_may_ptrace test into the rcu_read_lock critical section, to
+fix this.
+
+Kernels affected: 2.6.36 - 3.0
+
+Reported-by: Oleg Nesterov <oleg@redhat.com>
+Signed-off-by: John Johansen <john.johansen@canonical.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ security/apparmor/domain.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/security/apparmor/domain.c
++++ b/security/apparmor/domain.c
+@@ -73,7 +73,6 @@ static int may_change_ptraced_domain(str
+ cred = get_task_cred(tracer);
+ tracerp = aa_cred_profile(cred);
+ }
+- rcu_read_unlock();
+
+ /* not ptraced */
+ if (!tracer || unconfined(tracerp))
+@@ -82,6 +81,7 @@ static int may_change_ptraced_domain(str
+ error = aa_may_ptrace(tracer, tracerp, to_profile, PTRACE_MODE_ATTACH);
+
+ out:
++ rcu_read_unlock();
+ if (cred)
+ put_cred(cred);
+
diff --git a/queue-3.0/cfg80211-really-ignore-the-regulatory-request.patch b/queue-3.0/cfg80211-really-ignore-the-regulatory-request.patch
new file mode 100644
index 0000000000..ce432ffef3
--- /dev/null
+++ b/queue-3.0/cfg80211-really-ignore-the-regulatory-request.patch
@@ -0,0 +1,52 @@
+From a203c2aa4cefccb879c879b8e1cad1a09a679e55 Mon Sep 17 00:00:00 2001
+From: Sven Neumann <s.neumann@raumfeld.com>
+Date: Tue, 12 Jul 2011 15:52:07 +0200
+Subject: cfg80211: really ignore the regulatory request
+
+From: Sven Neumann <s.neumann@raumfeld.com>
+
+commit a203c2aa4cefccb879c879b8e1cad1a09a679e55 upstream.
+
+At the beginning of wiphy_update_regulatory() a check is performed
+whether the request is to be ignored. Then the request is sent to
+the driver nevertheless. This happens even if last_request points
+to NULL, leading to a crash in the driver:
+
+ [<bf01d864>] (lbs_set_11d_domain_info+0x28/0x1e4 [libertas]) from [<c03b714c>] (wiphy_update_regulatory+0x4d0/0x4f4)
+ [<c03b714c>] (wiphy_update_regulatory+0x4d0/0x4f4) from [<c03b4008>] (wiphy_register+0x354/0x420)
+ [<c03b4008>] (wiphy_register+0x354/0x420) from [<bf01b17c>] (lbs_cfg_register+0x80/0x164 [libertas])
+ [<bf01b17c>] (lbs_cfg_register+0x80/0x164 [libertas]) from [<bf020e64>] (lbs_start_card+0x20/0x88 [libertas])
+ [<bf020e64>] (lbs_start_card+0x20/0x88 [libertas]) from [<bf02cbd8>] (if_sdio_probe+0x898/0x9c0 [libertas_sdio])
+
+Fix this by returning early. Also remove the out: label as it is
+not any longer needed.
+
+Signed-off-by: Sven Neumann <s.neumann@raumfeld.com>
+Cc: linux-wireless@vger.kernel.org
+Cc: Johannes Berg <johannes@sipsolutions.net>
+Cc: Daniel Mack <daniel@zonque.org>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/wireless/reg.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/net/wireless/reg.c
++++ b/net/wireless/reg.c
+@@ -1125,12 +1125,13 @@ void wiphy_update_regulatory(struct wiph
+ enum ieee80211_band band;
+
+ if (ignore_reg_update(wiphy, initiator))
+- goto out;
++ return;
++
+ for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
+ if (wiphy->bands[band])
+ handle_band(wiphy, band, initiator);
+ }
+-out:
++
+ reg_process_beacons(wiphy);
+ reg_process_ht_flags(wiphy);
+ if (wiphy->reg_notifier)
diff --git a/queue-3.0/gfs2-fix-mount-hang-caused-by-certain-access-pattern-to-sysfs-files.patch b/queue-3.0/gfs2-fix-mount-hang-caused-by-certain-access-pattern-to-sysfs-files.patch
new file mode 100644
index 0000000000..96435b9f97
--- /dev/null
+++ b/queue-3.0/gfs2-fix-mount-hang-caused-by-certain-access-pattern-to-sysfs-files.patch
@@ -0,0 +1,38 @@
+From 19237039919088781b4191a00bdc1284d8fea1dd Mon Sep 17 00:00:00 2001
+From: Steven Whitehouse <swhiteho@redhat.com>
+Date: Tue, 26 Jul 2011 09:15:45 +0100
+Subject: GFS2: Fix mount hang caused by certain access pattern to sysfs files
+
+From: Steven Whitehouse <swhiteho@redhat.com>
+
+commit 19237039919088781b4191a00bdc1284d8fea1dd upstream.
+
+Depending upon the order of userspace/kernel during the
+mount process, this can result in a hang without the
+_all version of the completion.
+
+Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ fs/gfs2/ops_fstype.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/fs/gfs2/ops_fstype.c
++++ b/fs/gfs2/ops_fstype.c
+@@ -1018,13 +1018,13 @@ hostdata_error:
+ fsname++;
+ if (lm->lm_mount == NULL) {
+ fs_info(sdp, "Now mounting FS...\n");
+- complete(&sdp->sd_locking_init);
++ complete_all(&sdp->sd_locking_init);
+ return 0;
+ }
+ ret = lm->lm_mount(sdp, fsname);
+ if (ret == 0)
+ fs_info(sdp, "Joined cluster. Now mounting FS...\n");
+- complete(&sdp->sd_locking_init);
++ complete_all(&sdp->sd_locking_init);
+ return ret;
+ }
+
diff --git a/queue-3.0/hvc_console-improve-tty-console-put_chars-handling.patch b/queue-3.0/hvc_console-improve-tty-console-put_chars-handling.patch
new file mode 100644
index 0000000000..a2896d1540
--- /dev/null
+++ b/queue-3.0/hvc_console-improve-tty-console-put_chars-handling.patch
@@ -0,0 +1,57 @@
+From 8c2381af0d3ef62a681dac5a141b6dabb27bf2e1 Mon Sep 17 00:00:00 2001
+From: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
+Date: Tue, 5 Jul 2011 21:50:18 +0000
+Subject: hvc_console: Improve tty/console put_chars handling
+
+From: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
+
+commit 8c2381af0d3ef62a681dac5a141b6dabb27bf2e1 upstream.
+
+Currently, the hvc_console_print() function drops console output if the
+hvc backend's put_chars() returns 0. This patch changes this behavior
+to allow a retry through returning -EAGAIN.
+
+This change also affects the hvc_push() function. Both functions are
+changed to handle -EAGAIN and to retry the put_chars() operation.
+
+If a hvc backend returns -EAGAIN, the retry handling differs:
+
+ - hvc_console_print() spins to write the complete console output.
+ - hvc_push() behaves the same way as for returning 0.
+
+Now hvc backends can indirectly control the way how console output is
+handled through the hvc console layer.
+
+Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
+Acked-by: Anton Blanchard <anton@samba.org>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/tty/hvc/hvc_console.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/drivers/tty/hvc/hvc_console.c
++++ b/drivers/tty/hvc/hvc_console.c
+@@ -163,8 +163,10 @@ static void hvc_console_print(struct con
+ } else {
+ r = cons_ops[index]->put_chars(vtermnos[index], c, i);
+ if (r <= 0) {
+- /* throw away chars on error */
+- i = 0;
++ /* throw away characters on error
++ * but spin in case of -EAGAIN */
++ if (r != -EAGAIN)
++ i = 0;
+ } else if (r > 0) {
+ i -= r;
+ if (i > 0)
+@@ -448,7 +450,7 @@ static int hvc_push(struct hvc_struct *h
+
+ n = hp->ops->put_chars(hp->vtermno, hp->outbuf, hp->n_outbuf);
+ if (n <= 0) {
+- if (n == 0) {
++ if (n == 0 || n == -EAGAIN) {
+ hp->do_wakeup = 1;
+ return 0;
+ }
diff --git a/queue-3.0/ipc-sem.c-fix-race-with-concurrent-semtimedop-timeouts.patch b/queue-3.0/ipc-sem.c-fix-race-with-concurrent-semtimedop-timeouts.patch
new file mode 100644
index 0000000000..dcc418614d
--- /dev/null
+++ b/queue-3.0/ipc-sem.c-fix-race-with-concurrent-semtimedop-timeouts.patch
@@ -0,0 +1,61 @@
+From d694ad62bf539dbb20a0899ac2a954555f9e4a83 Mon Sep 17 00:00:00 2001
+From: Manfred Spraul <manfred@colorfullife.com>
+Date: Mon, 25 Jul 2011 17:11:47 -0700
+Subject: ipc/sem.c: fix race with concurrent semtimedop() timeouts
+ and IPC_RMID
+
+From: Manfred Spraul <manfred@colorfullife.com>
+
+commit d694ad62bf539dbb20a0899ac2a954555f9e4a83 upstream.
+
+If a semaphore array is removed and in parallel a sleeping task is woken
+up (signal or timeout, does not matter), then the woken up task does not
+wait until wake_up_sem_queue_do() is completed. This will cause crashes,
+because wake_up_sem_queue_do() will read from a stale pointer.
+
+The fix is simple: Regardless of anything, always call get_queue_result().
+This function waits until wake_up_sem_queue_do() has finished it's task.
+
+Addresses https://bugzilla.kernel.org/show_bug.cgi?id=27142
+
+Reported-by: Yuriy Yevtukhov <yuriy@ucoz.com>
+Reported-by: Harald Laabs <kernel@dasr.de>
+Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
+Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
+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@suse.de>
+
+---
+ ipc/sem.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+--- a/ipc/sem.c
++++ b/ipc/sem.c
+@@ -1456,15 +1456,24 @@ SYSCALL_DEFINE4(semtimedop, int, semid,
+ }
+
+ sma = sem_lock(ns, semid);
++
++ /*
++ * Wait until it's guaranteed that no wakeup_sem_queue_do() is ongoing.
++ */
++ error = get_queue_result(&queue);
++
++ /*
++ * Array removed? If yes, leave without sem_unlock().
++ */
+ if (IS_ERR(sma)) {
+ error = -EIDRM;
+ goto out_free;
+ }
+
+- error = get_queue_result(&queue);
+
+ /*
+- * If queue.status != -EINTR we are woken up by another process
++ * If queue.status != -EINTR we are woken up by another process.
++ * Leave without unlink_queue(), but with sem_unlock().
+ */
+
+ if (error != -EINTR) {
diff --git a/queue-3.0/memcg-fix-behavior-of-mem_cgroup_resize_limit.patch b/queue-3.0/memcg-fix-behavior-of-mem_cgroup_resize_limit.patch
new file mode 100644
index 0000000000..61d7078505
--- /dev/null
+++ b/queue-3.0/memcg-fix-behavior-of-mem_cgroup_resize_limit.patch
@@ -0,0 +1,47 @@
+From 108b6a78463bb8c7163e4f9779f36ad8bbade334 Mon Sep 17 00:00:00 2001
+From: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
+Date: Tue, 26 Jul 2011 16:08:25 -0700
+Subject: memcg: fix behavior of mem_cgroup_resize_limit()
+
+From: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
+
+commit 108b6a78463bb8c7163e4f9779f36ad8bbade334 upstream.
+
+Commit 22a668d7c3ef ("memcg: fix behavior under memory.limit equals to
+memsw.limit") introduced "memsw_is_minimum" flag, which becomes true
+when mem_limit == memsw_limit. The flag is checked at the beginning of
+reclaim, and "noswap" is set if the flag is true, because using swap is
+meaningless in this case.
+
+This works well in most cases, but when we try to shrink mem_limit,
+which is the same as memsw_limit now, we might fail to shrink mem_limit
+because swap doesn't used.
+
+This patch fixes this behavior by:
+ - check MEM_CGROUP_RECLAIM_SHRINK at the begining of reclaim
+ - If it is set, don't set "noswap" flag even if memsw_is_minimum is true.
+
+Signed-off-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
+Cc: Balbir Singh <bsingharora@gmail.com>
+Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
+Cc: Michal Hocko <mhocko@suse.cz>
+Cc: Ying Han <yinghan@google.com>
+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@suse.de>
+
+---
+ mm/memcontrol.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/mm/memcontrol.c
++++ b/mm/memcontrol.c
+@@ -1730,7 +1730,7 @@ static int mem_cgroup_hierarchical_recla
+ excess = res_counter_soft_limit_excess(&root_mem->res) >> PAGE_SHIFT;
+
+ /* If memsw_is_minimum==1, swap-out is of-no-use. */
+- if (!check_soft && root_mem->memsw_is_minimum)
++ if (!check_soft && !shrink && root_mem->memsw_is_minimum)
+ noswap = true;
+
+ while (1) {
diff --git a/queue-3.0/oom-task-mm-null-doesn-t-mean-the-memory-was-freed.patch b/queue-3.0/oom-task-mm-null-doesn-t-mean-the-memory-was-freed.patch
new file mode 100644
index 0000000000..8fced3ae08
--- /dev/null
+++ b/queue-3.0/oom-task-mm-null-doesn-t-mean-the-memory-was-freed.patch
@@ -0,0 +1,50 @@
+From c027a474a68065391c8773f6e83ed5412657e369 Mon Sep 17 00:00:00 2001
+From: Oleg Nesterov <oleg@redhat.com>
+Date: Sat, 30 Jul 2011 16:35:02 +0200
+Subject: oom: task->mm == NULL doesn't mean the memory was freed
+
+From: Oleg Nesterov <oleg@redhat.com>
+
+commit c027a474a68065391c8773f6e83ed5412657e369 upstream.
+
+exit_mm() sets ->mm == NULL then it does mmput()->exit_mmap() which
+frees the memory.
+
+However select_bad_process() checks ->mm != NULL before TIF_MEMDIE,
+so it continues to kill other tasks even if we have the oom-killed
+task freeing its memory.
+
+Change select_bad_process() to check ->mm after TIF_MEMDIE, but skip
+the tasks which have already passed exit_notify() to ensure a zombie
+with TIF_MEMDIE set can't block oom-killer. Alternatively we could
+probably clear TIF_MEMDIE after exit_mmap().
+
+Signed-off-by: Oleg Nesterov <oleg@redhat.com>
+Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ mm/oom_kill.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/mm/oom_kill.c
++++ b/mm/oom_kill.c
+@@ -303,7 +303,7 @@ static struct task_struct *select_bad_pr
+ do_each_thread(g, p) {
+ unsigned int points;
+
+- if (!p->mm)
++ if (p->exit_state)
+ continue;
+ if (oom_unkillable_task(p, mem, nodemask))
+ continue;
+@@ -319,6 +319,8 @@ static struct task_struct *select_bad_pr
+ */
+ if (test_tsk_thread_flag(p, TIF_MEMDIE))
+ return ERR_PTR(-1UL);
++ if (!p->mm)
++ continue;
+
+ if (p->flags & PF_EXITING) {
+ /*
diff --git a/queue-3.0/powerpc-pseries-hvconsole-fix-dropped-console-output.patch b/queue-3.0/powerpc-pseries-hvconsole-fix-dropped-console-output.patch
new file mode 100644
index 0000000000..07776a9622
--- /dev/null
+++ b/queue-3.0/powerpc-pseries-hvconsole-fix-dropped-console-output.patch
@@ -0,0 +1,31 @@
+From 51d33021425e1f905beb4208823146f2fb6517da Mon Sep 17 00:00:00 2001
+From: Anton Blanchard <anton@samba.org>
+Date: Tue, 5 Jul 2011 21:51:36 +0000
+Subject: powerpc/pseries/hvconsole: Fix dropped console output
+
+From: Anton Blanchard <anton@samba.org>
+
+commit 51d33021425e1f905beb4208823146f2fb6517da upstream.
+
+Return -EAGAIN when we get H_BUSY back from the hypervisor. This
+makes the hvc console driver retry, avoiding dropped printks.
+
+Signed-off-by: Anton Blanchard <anton@samba.org>
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/powerpc/platforms/pseries/hvconsole.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/powerpc/platforms/pseries/hvconsole.c
++++ b/arch/powerpc/platforms/pseries/hvconsole.c
+@@ -73,7 +73,7 @@ int hvc_put_chars(uint32_t vtermno, cons
+ if (ret == H_SUCCESS)
+ return count;
+ if (ret == H_BUSY)
+- return 0;
++ return -EAGAIN;
+ return -EIO;
+ }
+
diff --git a/queue-3.0/rt2x00-add-device-id-for-rt539f-device.patch b/queue-3.0/rt2x00-add-device-id-for-rt539f-device.patch
new file mode 100644
index 0000000000..b567af9ec9
--- /dev/null
+++ b/queue-3.0/rt2x00-add-device-id-for-rt539f-device.patch
@@ -0,0 +1,29 @@
+From 71e0b38c2914018b01f3f08b43ee9e3328197699 Mon Sep 17 00:00:00 2001
+From: Gertjan van Wingerde <gwingerde@gmail.com>
+Date: Wed, 6 Jul 2011 22:58:55 +0200
+Subject: rt2x00: Add device ID for RT539F device.
+
+From: Gertjan van Wingerde <gwingerde@gmail.com>
+
+commit 71e0b38c2914018b01f3f08b43ee9e3328197699 upstream.
+
+Reported-by: Wim Vander Schelden <wim@fixnum.org>
+Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com>
+Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/wireless/rt2x00/rt2800pci.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/net/wireless/rt2x00/rt2800pci.c
++++ b/drivers/net/wireless/rt2x00/rt2800pci.c
+@@ -1158,6 +1158,7 @@ static DEFINE_PCI_DEVICE_TABLE(rt2800pci
+ #endif
+ #ifdef CONFIG_RT2800PCI_RT53XX
+ { PCI_DEVICE(0x1814, 0x5390) },
++ { PCI_DEVICE(0x1814, 0x539f) },
+ #endif
+ { 0, }
+ };
diff --git a/queue-3.0/serial-sc26xx-fix-link-error.patch b/queue-3.0/serial-sc26xx-fix-link-error.patch
new file mode 100644
index 0000000000..b66769698a
--- /dev/null
+++ b/queue-3.0/serial-sc26xx-fix-link-error.patch
@@ -0,0 +1,41 @@
+From f2eb3cdf14457fccb14ae8c4d7d7cee088cd3957 Mon Sep 17 00:00:00 2001
+From: Ralf Baechle <ralf@linux-mips.org>
+Date: Mon, 27 Jun 2011 14:26:56 +0100
+Subject: SERIAL: SC26xx: Fix link error.
+
+From: Ralf Baechle <ralf@linux-mips.org>
+
+commit f2eb3cdf14457fccb14ae8c4d7d7cee088cd3957 upstream.
+
+Kconfig allows enabling console support for the SC26xx driver even when
+it's configured as a module resulting in a:
+
+ERROR: "uart_console_device" [drivers/tty/serial/sc26xx.ko] undefined!
+
+modpost error since the driver was merged in
+eea63e0e8a60d00485b47fb6e75d9aa2566b989b [SC26XX: New serial driver for
+SC2681 uarts] in 2.6.25. Fixed by only allowing console support to be
+enabled if the driver is builtin.
+
+Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+Cc: linux-serial@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org
+Cc: linux-mips@linux-mips.org
+Acked-by: Alan Cox <alan@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/tty/serial/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/tty/serial/Kconfig
++++ b/drivers/tty/serial/Kconfig
+@@ -1419,7 +1419,7 @@ config SERIAL_SC26XX
+
+ config SERIAL_SC26XX_CONSOLE
+ bool "Console on SC2681/SC2692 serial port"
+- depends on SERIAL_SC26XX
++ depends on SERIAL_SC26XX=y
+ select SERIAL_CORE_CONSOLE
+ help
+ Support for Console on SC2681/SC2692 serial ports.
diff --git a/queue-3.0/series b/queue-3.0/series
index d115d5b66d..c404118473 100644
--- a/queue-3.0/series
+++ b/queue-3.0/series
@@ -82,3 +82,15 @@ proc-fix-a-race-in-do_io_accounting.patch
n_gsm-fix-the-wrong-fcs-handling.patch
ehci-only-power-off-port-if-over-current-is-active.patch
ehci-fix-direction-handling-for-interrupt-data-toggles.patch
+cfg80211-really-ignore-the-regulatory-request.patch
+memcg-fix-behavior-of-mem_cgroup_resize_limit.patch
+tty-serial-fix-xscale-serial-ports-e.g.-ce4100.patch
+serial-sc26xx-fix-link-error.patch
+powerpc-pseries-hvconsole-fix-dropped-console-output.patch
+hvc_console-improve-tty-console-put_chars-handling.patch
+ipc-sem.c-fix-race-with-concurrent-semtimedop-timeouts.patch
+apparmor-fix-reference-to-rcu-protected-pointer-outside-of.patch
+apparmor-fix-masking-of-capabilities-in-complain-mode.patch
+oom-task-mm-null-doesn-t-mean-the-memory-was-freed.patch
+rt2x00-add-device-id-for-rt539f-device.patch
+gfs2-fix-mount-hang-caused-by-certain-access-pattern-to-sysfs-files.patch
diff --git a/queue-3.0/tty-serial-fix-xscale-serial-ports-e.g.-ce4100.patch b/queue-3.0/tty-serial-fix-xscale-serial-ports-e.g.-ce4100.patch
new file mode 100644
index 0000000000..afd7ede8e0
--- /dev/null
+++ b/queue-3.0/tty-serial-fix-xscale-serial-ports-e.g.-ce4100.patch
@@ -0,0 +1,37 @@
+From 5568181f188ae9485a0cdbea5ea48f63d186a298 Mon Sep 17 00:00:00 2001
+From: Stephen Warren <swarren@nvidia.com>
+Date: Fri, 17 Jun 2011 09:45:07 -0600
+Subject: tty/serial: Fix XSCALE serial ports, e.g. ce4100
+
+From: Stephen Warren <swarren@nvidia.com>
+
+commit 5568181f188ae9485a0cdbea5ea48f63d186a298 upstream.
+
+Commit 4539c24fe4f92c09ee668ef959d3e8180df619b9 "tty/serial: Add
+explicit PORT_TEGRA type" introduced separate flags describing the need
+for IER bits UUE and RTOIE. Both bits are required for the XSCALE port
+type. While that patch updated uart_config[] as required, the auto-probing
+code wasn't updated to set the RTOIE flag when an XSCALE port type was
+detected. This caused such ports to stop working. This patch rectifies
+that.
+
+Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Tested-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+Signed-off-by: Stephen Warren <swarren@nvidia.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/tty/serial/8250.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/tty/serial/8250.c
++++ b/drivers/tty/serial/8250.c
+@@ -1107,7 +1107,7 @@ static void autoconfig_16550a(struct uar
+ */
+ DEBUG_AUTOCONF("Xscale ");
+ up->port.type = PORT_XSCALE;
+- up->capabilities |= UART_CAP_UUE;
++ up->capabilities |= UART_CAP_UUE | UART_CAP_RTOIE;
+ return;
+ }
+ } else {