diff --git a/kernel.spec b/kernel.spec index 2238947cd..d2c3125c2 100644 --- a/kernel.spec +++ b/kernel.spec @@ -738,8 +738,6 @@ Patch21098: hfsplus-Fix-bless-ioctl-when-used-with-hardlinks.patch #rhbz 754518 Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch -Patch21260: x86-Avoid-invoking-RCU-when-CPU-is-idle.patch - #rhbz 804957 CVE-2012-1568 Patch21306: shlib_base_randomize.patch diff --git a/libata-forbid-port-runtime-pm-by-default.patch b/libata-forbid-port-runtime-pm-by-default.patch deleted file mode 100644 index 0d93a19f5..000000000 --- a/libata-forbid-port-runtime-pm-by-default.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Lin Ming -Date: Wed, 18 Apr 2012 09:13:41 +0800 -Subject: [PATCH] libata: forbid port runtime pm by default - -Forbid port runtime pm by default because it has known hotplug issue. -User can allow it by, for example - -echo auto > /sys/devices/pci0000:00/0000:00:1f.2/ata2/power/control - -Signed-off-by: Lin Ming ---- - drivers/ata/libata-transport.c | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - ---- linux-3.3.noarch.orig/drivers/ata/libata-transport.c -+++ linux-3.3.noarch/drivers/ata/libata-transport.c -@@ -294,6 +294,7 @@ int ata_tport_add(struct device *parent, - device_enable_async_suspend(dev); - pm_runtime_set_active(dev); - pm_runtime_enable(dev); -+ pm_runtime_forbid(dev); - - transport_add_device(dev); - transport_configure_device(dev); diff --git a/mac80211-fix-possible-tid_rx-reorder_timer-use-after-free.patch b/mac80211-fix-possible-tid_rx-reorder_timer-use-after-free.patch deleted file mode 100644 index accda8afc..000000000 --- a/mac80211-fix-possible-tid_rx-reorder_timer-use-after-free.patch +++ /dev/null @@ -1,42 +0,0 @@ -Is possible that we will arm the tid_rx->reorder_timer after -del_timer_sync() in ___ieee80211_stop_rx_ba_session(). We need to stop -timer after RCU grace period finish, so move it to -ieee80211_free_tid_rx(). Timer will not be armed again, as -rcu_dereference(sta->ampdu_mlme.tid_rx[tid]) will return NULL. - -Debug object detected problem with the following warning: -ODEBUG: free active (active state 0) object type: timer_list hint: sta_rx_agg_reorder_timer_expired+0x0/0xf0 [mac80211] - -Bug report (with all warning messages): -https://bugzilla.redhat.com/show_bug.cgi?id=804007 - -Reported-by: "jan p. springer" -Cc: stable@vger.kernel.org -Signed-off-by: Stanislaw Gruszka ---- - net/mac80211/agg-rx.c | 3 ++- - 1 files changed, 2 insertions(+), 1 deletions(-) - -diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c -index 1068f66..64d3ce5 100644 ---- a/net/mac80211/agg-rx.c -+++ b/net/mac80211/agg-rx.c -@@ -49,6 +49,8 @@ static void ieee80211_free_tid_rx(struct rcu_head *h) - container_of(h, struct tid_ampdu_rx, rcu_head); - int i; - -+ del_timer_sync(&tid_rx->reorder_timer); -+ - for (i = 0; i < tid_rx->buf_size; i++) - dev_kfree_skb(tid_rx->reorder_buf[i]); - kfree(tid_rx->reorder_buf); -@@ -91,7 +93,6 @@ void ___ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid, - tid, WLAN_BACK_RECIPIENT, reason); - - del_timer_sync(&tid_rx->session_timer); -- del_timer_sync(&tid_rx->reorder_timer); - - call_rcu(&tid_rx->rcu_head, ieee80211_free_tid_rx); - } --- -1.7.1 diff --git a/pci-fix-ats-compile.patch b/pci-fix-ats-compile.patch deleted file mode 100644 index 1dcb7e967..000000000 --- a/pci-fix-ats-compile.patch +++ /dev/null @@ -1,26 +0,0 @@ -I get this compile failure on parisc: - -drivers/pci/ats.c: In function 'ats_alloc_one': -drivers/pci/ats.c:29: error: implicit declaration of function 'kzalloc' -drivers/pci/ats.c:29: warning: assignment makes pointer from integer without a cast -drivers/pci/ats.c: In function 'ats_free_one': -drivers/pci/ats.c:45: error: implicit declaration of function 'kfree' - -Because ats.c is missing linux/slab.h as an include. This patch fixes it - -Signed-off-by: James Bottomley - ---- - -diff --git a/drivers/pci/ats.c b/drivers/pci/ats.c -index 7ec56fb..b0dd08e 100644 ---- a/drivers/pci/ats.c -+++ b/drivers/pci/ats.c -@@ -13,6 +13,7 @@ - #include - #include - #include -+#include - - #include "pci.h" - diff --git a/x86-Avoid-invoking-RCU-when-CPU-is-idle.patch b/x86-Avoid-invoking-RCU-when-CPU-is-idle.patch deleted file mode 100644 index 2d45056bb..000000000 --- a/x86-Avoid-invoking-RCU-when-CPU-is-idle.patch +++ /dev/null @@ -1,118 +0,0 @@ -diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c -index 15763af..f6978b0 100644 ---- a/arch/x86/kernel/process.c -+++ b/arch/x86/kernel/process.c -@@ -386,17 +386,21 @@ void default_idle(void) - */ - smp_mb(); - -+ rcu_idle_enter(); - if (!need_resched()) - safe_halt(); /* enables interrupts racelessly */ - else - local_irq_enable(); -+ rcu_idle_exit(); - current_thread_info()->status |= TS_POLLING; - trace_power_end(smp_processor_id()); - trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()); - } else { - local_irq_enable(); - /* loop is done by the caller */ -+ rcu_idle_enter(); - cpu_relax(); -+ rcu_idle_exit(); - } - } - #ifdef CONFIG_APM_MODULE -@@ -457,14 +461,19 @@ static void mwait_idle(void) - - __monitor((void *)¤t_thread_info()->flags, 0, 0); - smp_mb(); -+ rcu_idle_enter(); - if (!need_resched()) - __sti_mwait(0, 0); - else - local_irq_enable(); -+ rcu_idle_exit(); - trace_power_end(smp_processor_id()); - trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()); -- } else -+ } else { - local_irq_enable(); -+ rcu_idle_enter(); -+ rcu_idle_exit(); -+ } - } - - /* -@@ -477,8 +486,10 @@ static void poll_idle(void) - trace_power_start(POWER_CSTATE, 0, smp_processor_id()); - trace_cpu_idle(0, smp_processor_id()); - local_irq_enable(); -+ rcu_idle_enter(); - while (!need_resched()) - cpu_relax(); -+ rcu_idle_exit(); - trace_power_end(smp_processor_id()); - trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()); - } -diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c -index 485204f..6d9d4d5 100644 ---- a/arch/x86/kernel/process_32.c -+++ b/arch/x86/kernel/process_32.c -@@ -100,7 +100,6 @@ void cpu_idle(void) - /* endless idle loop with no priority at all */ - while (1) { - tick_nohz_idle_enter(); -- rcu_idle_enter(); - while (!need_resched()) { - - check_pgt_cache(); -@@ -117,7 +116,6 @@ void cpu_idle(void) - pm_idle(); - start_critical_timings(); - } -- rcu_idle_exit(); - tick_nohz_idle_exit(); - preempt_enable_no_resched(); - schedule(); -diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c -index 9b9fe4a..55a1a35 100644 ---- a/arch/x86/kernel/process_64.c -+++ b/arch/x86/kernel/process_64.c -@@ -140,13 +140,9 @@ void cpu_idle(void) - /* Don't trace irqs off for idle */ - stop_critical_timings(); - -- /* enter_idle() needs rcu for notifiers */ -- rcu_idle_enter(); -- - if (cpuidle_idle_call()) - pm_idle(); - -- rcu_idle_exit(); - start_critical_timings(); - - /* In many cases the interrupt that ended idle -diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c -index 20bce51..a9ddab8 100644 ---- a/drivers/idle/intel_idle.c -+++ b/drivers/idle/intel_idle.c -@@ -261,6 +261,7 @@ static int intel_idle(struct cpuidle_device *dev, - kt_before = ktime_get_real(); - - stop_critical_timings(); -+ rcu_idle_enter(); - if (!need_resched()) { - - __monitor((void *)¤t_thread_info()->flags, 0, 0); -@@ -268,6 +269,7 @@ static int intel_idle(struct cpuidle_device *dev, - if (!need_resched()) - __mwait(eax, ecx); - } -+ rcu_idle_exit(); - - start_critical_timings(); - - - \ No newline at end of file