Linux v3.9.1
This commit is contained in:
parent
cea9a6f1ab
commit
511c1c627a
|
@ -1,51 +0,0 @@
|
|||
If on iwl_dump_nic_event_log() error occurs before that function
|
||||
initialize buf, we process uninitiated pointer in
|
||||
iwl_dbgfs_log_event_read() and can hit "BUG at mm/slub.c:3409"
|
||||
|
||||
Resolves:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=951241
|
||||
|
||||
Reported-by: ian.odette@eprize.com
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
---
|
||||
Patch is only compile tested, but I'm sure it fixes the problem.
|
||||
|
||||
drivers/net/wireless/iwlwifi/dvm/debugfs.c | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/iwlwifi/dvm/debugfs.c b/drivers/net/wireless/iwlwifi/dvm/debugfs.c
|
||||
index 7b8178b..cb6dd58 100644
|
||||
--- a/drivers/net/wireless/iwlwifi/dvm/debugfs.c
|
||||
+++ b/drivers/net/wireless/iwlwifi/dvm/debugfs.c
|
||||
@@ -2237,15 +2237,15 @@ static ssize_t iwl_dbgfs_log_event_read(struct file *file,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct iwl_priv *priv = file->private_data;
|
||||
- char *buf;
|
||||
- int pos = 0;
|
||||
- ssize_t ret = -ENOMEM;
|
||||
+ char *buf = NULL;
|
||||
+ ssize_t ret;
|
||||
|
||||
- ret = pos = iwl_dump_nic_event_log(priv, true, &buf, true);
|
||||
- if (buf) {
|
||||
- ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
|
||||
- kfree(buf);
|
||||
- }
|
||||
+ ret = iwl_dump_nic_event_log(priv, true, &buf, true);
|
||||
+ if (ret < 0)
|
||||
+ goto err;
|
||||
+ ret = simple_read_from_buffer(user_buf, count, ppos, buf, ret);
|
||||
+err:
|
||||
+ kfree(buf);
|
||||
return ret;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
25
kernel.spec
25
kernel.spec
|
@ -62,7 +62,7 @@ Summary: The Linux kernel
|
|||
# For non-released -rc kernels, this will be appended after the rcX and
|
||||
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
||||
#
|
||||
%global baserelease 303
|
||||
%global baserelease 301
|
||||
%global fedora_build %{baserelease}
|
||||
|
||||
# base_sublevel is the kernel version we're starting with and patching
|
||||
|
@ -74,7 +74,7 @@ Summary: The Linux kernel
|
|||
%if 0%{?released_kernel}
|
||||
|
||||
# Do we have a -stable update to apply?
|
||||
%define stable_update 0
|
||||
%define stable_update 1
|
||||
# Is it a -stable RC?
|
||||
%define stable_rc 0
|
||||
# Set rpm version accordingly
|
||||
|
@ -746,17 +746,8 @@ Patch23006: fix-child-thread-introspection.patch
|
|||
#rhbz 928024
|
||||
Patch23008: forcedeth-dma-error-check.patch
|
||||
|
||||
#rhbz 919176
|
||||
Patch25010: wireless-regulatory-fix-channel-disabling-race-condition.patch
|
||||
|
||||
#rhbz 951241
|
||||
Patch25011: iwlwifi-fix-freeing-uninitialized-pointer.patch
|
||||
|
||||
Patch25014: blkcg-fix-scheduling-while-atomic-in-blk_queue_bypass_start.patch
|
||||
|
||||
Patch25015: powerpc-Add-isync-to-copy_and_flush.patch
|
||||
Patch25016: powerpc-power8-Fix-secondary-CPUs-hanging-on-boot-for-HV=0.patch
|
||||
Patch25017: powerpc-Fix-hardware-IRQs-with-MMU-on-exceptions-when-HV=0.patch
|
||||
Patch25018: pci-Set-dev-dev.type-in-alloc_pci_dev.patch
|
||||
Patch25019: powerpc-Set-default-VGA-device.patch
|
||||
|
||||
|
@ -1455,17 +1446,8 @@ ApplyPatch fix-child-thread-introspection.patch
|
|||
#rhbz 928024
|
||||
ApplyPatch forcedeth-dma-error-check.patch
|
||||
|
||||
#rhbz 919176
|
||||
ApplyPatch wireless-regulatory-fix-channel-disabling-race-condition.patch
|
||||
|
||||
#rhbz 951241
|
||||
ApplyPatch iwlwifi-fix-freeing-uninitialized-pointer.patch
|
||||
|
||||
ApplyPatch blkcg-fix-scheduling-while-atomic-in-blk_queue_bypass_start.patch
|
||||
|
||||
ApplyPatch powerpc-Add-isync-to-copy_and_flush.patch
|
||||
ApplyPatch powerpc-power8-Fix-secondary-CPUs-hanging-on-boot-for-HV=0.patch
|
||||
ApplyPatch powerpc-Fix-hardware-IRQs-with-MMU-on-exceptions-when-HV=0.patch
|
||||
ApplyPatch pci-Set-dev-dev.type-in-alloc_pci_dev.patch
|
||||
ApplyPatch powerpc-Set-default-VGA-device.patch
|
||||
|
||||
|
@ -2296,6 +2278,9 @@ fi
|
|||
# and build.
|
||||
|
||||
%changelog
|
||||
* Wed May 08 2013 Josh Boyer <jwboyer@redhat.com> - 3.0.1-301
|
||||
- Linux v3.9.1
|
||||
|
||||
* Tue May 07 2013 Josh Boyer <jwboyer@redhat.com> - 3.9.0-303
|
||||
- Fix dmesg_restrict patch to avoid regression (rhbz 952655)
|
||||
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
From 29ce3c5073057991217916abc25628e906911757 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Neuling <michael.neuling@au1.ibm.com>
|
||||
Date: Wed, 24 Apr 2013 00:30:09 +0000
|
||||
Subject: powerpc: Add isync to copy_and_flush
|
||||
|
||||
In __after_prom_start we copy the kernel down to zero in two calls to
|
||||
copy_and_flush. After the first call (copy from 0 to copy_to_here:)
|
||||
we jump to the newly copied code soon after.
|
||||
|
||||
Unfortunately there's no isync between the copy of this code and the
|
||||
jump to it. Hence it's possible that stale instructions could still be
|
||||
in the icache or pipeline before we branch to it.
|
||||
|
||||
We've seen this on real machines and it's results in no console output
|
||||
after:
|
||||
calling quiesce...
|
||||
returning from prom_init
|
||||
|
||||
The below adds an isync to ensure that the copy and flushing has
|
||||
completed before any branching to the new instructions occurs.
|
||||
|
||||
Signed-off-by: Michael Neuling <mikey@neuling.org>
|
||||
CC: <stable@vger.kernel.org>
|
||||
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
---
|
||||
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
|
||||
index 0886ae6..b61363d 100644
|
||||
--- a/arch/powerpc/kernel/head_64.S
|
||||
+++ b/arch/powerpc/kernel/head_64.S
|
||||
@@ -509,6 +509,7 @@ _GLOBAL(copy_and_flush)
|
||||
sync
|
||||
addi r5,r5,8
|
||||
addi r6,r6,8
|
||||
+ isync
|
||||
blr
|
||||
|
||||
.align 8
|
||||
--
|
||||
cgit v0.9.1
|
|
@ -1,39 +0,0 @@
|
|||
From 3e96ca7f007ddb06b82a74a68585d1dbafa85ff1 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Neuling <mikey@neuling.org>
|
||||
Date: Thu, 25 Apr 2013 15:30:57 +0000
|
||||
Subject: powerpc: Fix hardware IRQs with MMU on exceptions when HV=0
|
||||
|
||||
POWER8 allows us to take interrupts with the MMU on. This gives us a
|
||||
second set of vectors offset at 0x4000.
|
||||
|
||||
Unfortunately when coping these vectors we missed checking for MSR HV
|
||||
for hardware interrupts (0x500). This results in us trying to use
|
||||
HSRR0/1 when HV=0, rather than SRR0/1 on HW IRQs
|
||||
|
||||
The below fixes this to check CPU_FTR_HVMODE when patching the code at
|
||||
0x4500.
|
||||
|
||||
Also we remove the check for CPU_FTR_ARCH_206 since relocation on IRQs
|
||||
are only available in arch 2.07 and beyond.
|
||||
|
||||
Thanks to benh for helping find this.
|
||||
|
||||
Signed-off-by: Michael Neuling <mikey@neuling.org>
|
||||
CC: <stable@vger.kernel.org>
|
||||
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
---
|
||||
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
|
||||
index e789ee7..82ceab4 100644
|
||||
--- a/arch/powerpc/kernel/exceptions-64s.S
|
||||
+++ b/arch/powerpc/kernel/exceptions-64s.S
|
||||
@@ -797,7 +797,7 @@ hardware_interrupt_relon_hv:
|
||||
_MASKABLE_RELON_EXCEPTION_PSERIES(0x502, hardware_interrupt, EXC_HV, SOFTEN_TEST_HV)
|
||||
FTR_SECTION_ELSE
|
||||
_MASKABLE_RELON_EXCEPTION_PSERIES(0x500, hardware_interrupt, EXC_STD, SOFTEN_TEST_PR)
|
||||
- ALT_FTR_SECTION_END_IFSET(CPU_FTR_ARCH_206)
|
||||
+ ALT_FTR_SECTION_END_IFSET(CPU_FTR_HVMODE)
|
||||
STD_RELON_EXCEPTION_PSERIES(0x4600, 0x600, alignment)
|
||||
STD_RELON_EXCEPTION_PSERIES(0x4700, 0x700, program_check)
|
||||
STD_RELON_EXCEPTION_PSERIES(0x4800, 0x800, fp_unavailable)
|
||||
--
|
||||
cgit v0.9.1
|
|
@ -1,33 +0,0 @@
|
|||
From 8c2a381734fc9718f127f4aba958e8a7958d4028 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Neuling <mikey@neuling.org>
|
||||
Date: Wed, 24 Apr 2013 21:00:37 +0000
|
||||
Subject: powerpc/power8: Fix secondary CPUs hanging on boot for HV=0
|
||||
|
||||
In __restore_cpu_power8 we determine if we are HV and if not, we return
|
||||
before setting HV only resources.
|
||||
|
||||
Unfortunately we forgot to restore the link register from r11 before
|
||||
returning.
|
||||
|
||||
This will happen on boot and with secondary CPUs not coming online.
|
||||
|
||||
This adds the missing link register restore.
|
||||
|
||||
Signed-off-by: Michael Neuling <mikey@neuling.org>
|
||||
CC: <stable@vger.kernel.org>
|
||||
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
---
|
||||
diff --git a/arch/powerpc/kernel/cpu_setup_power.S b/arch/powerpc/kernel/cpu_setup_power.S
|
||||
index 2e6ad11..4daa5b7 100644
|
||||
--- a/arch/powerpc/kernel/cpu_setup_power.S
|
||||
+++ b/arch/powerpc/kernel/cpu_setup_power.S
|
||||
@@ -67,6 +67,7 @@ _GLOBAL(__restore_cpu_power8)
|
||||
bl __init_FSCR
|
||||
mfmsr r3
|
||||
rldicl. r0,r3,4,63
|
||||
+ mtlr r11
|
||||
beqlr
|
||||
li r0,0
|
||||
mtspr SPRN_LPID,r0
|
||||
--
|
||||
cgit v0.9.1
|
1
sources
1
sources
|
@ -1 +1,2 @@
|
|||
4348c9b6b2eb3144d601e87c19d5d909 linux-3.9.tar.xz
|
||||
66f171a17aa39b6dc6eb8bb51a4117c7 patch-3.9.1.xz
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
From: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
When a full scan 2.4 and 5 GHz scan is scheduled, but then the 2.4 GHz
|
||||
part of the scan disables a 5.2 GHz channel due to, e.g. receiving
|
||||
country or frequency information, that 5.2 GHz channel might already
|
||||
be in the list of channels to scan next. Then, when the driver checks
|
||||
if it should do a passive scan, that will return false and attempt an
|
||||
active scan. This is not only wrong but can also lead to the iwlwifi
|
||||
device firmware crashing since it checks regulatory as well.
|
||||
|
||||
Fix this by not setting the channel flags to just disabled but rather
|
||||
OR'ing in the disabled flag. That way, even if the race happens, the
|
||||
channel will be scanned passively which is still (mostly) correct.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
---
|
||||
net/wireless/reg.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
|
||||
index 93ab840..507c28e 100644
|
||||
--- a/net/wireless/reg.c
|
||||
+++ b/net/wireless/reg.c
|
||||
@@ -855,7 +855,7 @@ static void handle_channel(struct wiphy *wiphy,
|
||||
return;
|
||||
|
||||
REG_DBG_PRINT("Disabling freq %d MHz\n", chan->center_freq);
|
||||
- chan->flags = IEEE80211_CHAN_DISABLED;
|
||||
+ chan->flags |= IEEE80211_CHAN_DISABLED;
|
||||
return;
|
||||
}
|
||||
|
||||
--
|
||||
1.8.0
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
Loading…
Reference in New Issue