Linux 3.1-git7 (upstream 31555213f)
This commit is contained in:
parent
05e763b50e
commit
ea8a97de39
5
TODO
5
TODO
@ -1,11 +1,9 @@
|
||||
**** Queued for 3.2 ***********************************************************************************
|
||||
|
||||
* hvcs_pi_buf_alloc.patch
|
||||
* acpi-ensure-thermal-limits-match-cpu-freq.patch
|
||||
* revert-efi-rtclock.patch
|
||||
* block-stray-block-put-after-teardown.patch
|
||||
* efi-dont-map-boot-services-on-32bit.patch
|
||||
* powerpc-Fix-deadlock-in-icswx-code.patch
|
||||
* usb-add-quirk-for-logitech-webcams.patch (reworked, sent upstream)
|
||||
* epoll-limit-paths.patch (in linux-next via -mm tree)
|
||||
|
||||
@ -101,6 +99,3 @@
|
||||
***********************************************************************************
|
||||
|
||||
Spec file/config todos/cleanups
|
||||
|
||||
* Remove all of the RHEL stuff. It isn't maintained in fedora at all and is
|
||||
just cruft
|
||||
|
@ -176,3 +176,5 @@ CONFIG_FTGMAC100=m
|
||||
# CONFIG_ATM_HE is not set
|
||||
# CONFIG_SCSI_ACARD is not set
|
||||
# CONFIG_ARM_KPROBES_TEST is not set
|
||||
# CONFIG_PL330_DMA is not set
|
||||
# CONFIG_VIDEO_S5K6AA is not set
|
||||
|
@ -3698,6 +3698,7 @@ CONFIG_SQUASHFS_XATTR=y
|
||||
CONFIG_SQUASHFS_LZO=y
|
||||
CONFIG_SQUASHFS_XZ=y
|
||||
CONFIG_SQUASHFS_ZLIB=y
|
||||
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
|
||||
# CONFIG_SQUASHFS_EMBEDDED is not set
|
||||
CONFIG_VXFS_FS=m
|
||||
# CONFIG_HPFS_FS is not set
|
||||
@ -4433,6 +4434,7 @@ CONFIG_UWB_WHCI=m
|
||||
CONFIG_UWB_I1480U=m
|
||||
|
||||
CONFIG_STAGING=y
|
||||
# CONFIG_STAGING_MEDIA is not set
|
||||
# CONFIG_ET131X is not set
|
||||
# CONFIG_SLICOSS is not set
|
||||
# CONFIG_WLAGS49_H2 is not set
|
||||
|
@ -8,6 +8,8 @@ CONFIG_PPC_PMAC64=y
|
||||
CONFIG_PPC_ISERIES=y
|
||||
CONFIG_PPC_PSERIES=y
|
||||
CONFIG_PPC_PMAC=y
|
||||
CONFIG_PPC_POWERNV=y
|
||||
CONFIG_PPC_POWERNV_RTAS=y
|
||||
# CONFIG_PPC_PASEMI is not set
|
||||
# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
|
||||
# CONFIG_PPC_PS3 is not set
|
||||
@ -41,6 +43,7 @@ CONFIG_SCSI_IPR_TRACE=y
|
||||
CONFIG_SCSI_IPR_DUMP=y
|
||||
CONFIG_HVC_RTAS=y
|
||||
CONFIG_HVC_ISERIES=y
|
||||
CONFIG_HVC_OPAL=y
|
||||
|
||||
# iSeries device drivers
|
||||
#
|
||||
|
@ -83,7 +83,7 @@ CONFIG_SGI_GRU=m
|
||||
|
||||
# CONFIG_VIDEO_CAFE_CCIC is not set
|
||||
|
||||
CONFIG_XEN_MAX_DOMAIN_MEMORY=32
|
||||
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
|
||||
# CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
|
||||
CONFIG_XEN_DEV_EVTCHN=m
|
||||
CONFIG_XEN_SYS_HYPERVISOR=y
|
||||
|
@ -1,43 +0,0 @@
|
||||
|
||||
The Power platform requires the partner info buffer to be page aligned
|
||||
otherwise it will fail the partner info hcall with H_PARAMETER. Switch
|
||||
from using kmalloc to allocate this buffer to __get_free_page to ensure
|
||||
page alignment.
|
||||
|
||||
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
|
||||
---
|
||||
|
||||
drivers/tty/hvc/hvcs.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff -puN drivers/tty/hvc/hvcs.c~hvcs_pi_buf_alloc drivers/tty/hvc/hvcs.c
|
||||
--- linux-2.6/drivers/tty/hvc/hvcs.c~hvcs_pi_buf_alloc 2011-09-09 16:00:25.000000000 -0500
|
||||
+++ linux-2.6-bjking1/drivers/tty/hvc/hvcs.c 2011-09-09 16:07:08.000000000 -0500
|
||||
@@ -1532,7 +1532,7 @@ static int __devinit hvcs_initialize(voi
|
||||
goto register_fail;
|
||||
}
|
||||
|
||||
- hvcs_pi_buff = kmalloc(PAGE_SIZE, GFP_KERNEL);
|
||||
+ hvcs_pi_buff = (unsigned long *) __get_free_page(GFP_KERNEL);
|
||||
if (!hvcs_pi_buff) {
|
||||
rc = -ENOMEM;
|
||||
goto buff_alloc_fail;
|
||||
@@ -1548,7 +1548,7 @@ static int __devinit hvcs_initialize(voi
|
||||
return 0;
|
||||
|
||||
kthread_fail:
|
||||
- kfree(hvcs_pi_buff);
|
||||
+ free_page((unsigned long)hvcs_pi_buff);
|
||||
buff_alloc_fail:
|
||||
tty_unregister_driver(hvcs_tty_driver);
|
||||
register_fail:
|
||||
@@ -1597,7 +1597,7 @@ static void __exit hvcs_module_exit(void
|
||||
kthread_stop(hvcs_task);
|
||||
|
||||
spin_lock(&hvcs_pi_lock);
|
||||
- kfree(hvcs_pi_buff);
|
||||
+ free_page((unsigned long)hvcs_pi_buff);
|
||||
hvcs_pi_buff = NULL;
|
||||
spin_unlock(&hvcs_pi_lock);
|
||||
|
||||
_
|
15
kernel.spec
15
kernel.spec
@ -87,7 +87,7 @@ Summary: The Linux kernel
|
||||
# The rc snapshot level
|
||||
%define rcrev 0
|
||||
# The git snapshot level
|
||||
%define gitrev 6
|
||||
%define gitrev 7
|
||||
# Set rpm version accordingly
|
||||
%define rpmversion 3.%{upstream_sublevel}.0
|
||||
%endif
|
||||
@ -691,10 +691,6 @@ Patch12303: dmar-disable-when-ricoh-multifunction.patch
|
||||
Patch13002: revert-efi-rtclock.patch
|
||||
Patch13003: efi-dont-map-boot-services-on-32bit.patch
|
||||
|
||||
Patch13009: hvcs_pi_buf_alloc.patch
|
||||
|
||||
Patch13013: powerpc-Fix-deadlock-in-icswx-code.patch
|
||||
|
||||
Patch20000: utrace.patch
|
||||
|
||||
# Flattened devicetree support
|
||||
@ -1321,11 +1317,6 @@ ApplyPatch dmar-disable-when-ricoh-multifunction.patch
|
||||
ApplyPatch revert-efi-rtclock.patch
|
||||
ApplyPatch efi-dont-map-boot-services-on-32bit.patch
|
||||
|
||||
|
||||
ApplyPatch hvcs_pi_buf_alloc.patch
|
||||
|
||||
ApplyPatch powerpc-Fix-deadlock-in-icswx-code.patch
|
||||
|
||||
# utrace.
|
||||
ApplyPatch utrace.patch
|
||||
|
||||
@ -2035,6 +2026,10 @@ fi
|
||||
# ||----w |
|
||||
# || ||
|
||||
%changelog
|
||||
* Mon Nov 07 2011 Josh Boyer <jwboyer@redhat.com>
|
||||
- Linux 3.1-git7
|
||||
- Drop override for XEN_MAX_DOMAIN_MEMORY (rhbz 751789)
|
||||
|
||||
* Fri Nov 04 2011 Josh Boyer <jwboyer@redhat.com>
|
||||
- Linux 3.1-git6
|
||||
|
||||
|
@ -1,74 +0,0 @@
|
||||
From patchwork Wed Sep 14 19:43:15 2011
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Subject: powerpc: Fix deadlock in icswx code
|
||||
Date: Wed, 14 Sep 2011 09:43:15 -0000
|
||||
From: Anton Blanchard <anton@samba.org>
|
||||
X-Patchwork-Id: 114701
|
||||
Message-Id: <20110915054315.5e5ae062@kryten>
|
||||
To: benh@kernel.crashing.org, paulus@samba.org
|
||||
Cc: linuxppc-dev@lists.ozlabs.org
|
||||
|
||||
The icswx code introduced an A-B B-A deadlock:
|
||||
|
||||
CPU0 CPU1
|
||||
---- ----
|
||||
lock(&anon_vma->mutex);
|
||||
lock(&mm->mmap_sem);
|
||||
lock(&anon_vma->mutex);
|
||||
lock(&mm->mmap_sem);
|
||||
|
||||
Instead of using the mmap_sem to keep mm_users constant, take the
|
||||
page table spinlock.
|
||||
|
||||
Signed-off-by: Anton Blanchard <anton@samba.org>
|
||||
Cc: <stable@kernel.org>
|
||||
|
||||
---
|
||||
|
||||
|
||||
diff --git a/arch/powerpc/mm/mmu_context_hash64.c b/arch/powerpc/mm/mmu_context_hash64.c
|
||||
index 3bafc3d..4ff587e 100644
|
||||
--- a/arch/powerpc/mm/mmu_context_hash64.c
|
||||
+++ b/arch/powerpc/mm/mmu_context_hash64.c
|
||||
@@ -136,8 +136,8 @@ int use_cop(unsigned long acop, struct mm_struct *mm)
|
||||
if (!mm || !acop)
|
||||
return -EINVAL;
|
||||
|
||||
- /* We need to make sure mm_users doesn't change */
|
||||
- down_read(&mm->mmap_sem);
|
||||
+ /* The page_table_lock ensures mm_users won't change under us */
|
||||
+ spin_lock(&mm->page_table_lock);
|
||||
spin_lock(mm->context.cop_lockp);
|
||||
|
||||
if (mm->context.cop_pid == COP_PID_NONE) {
|
||||
@@ -164,7 +164,7 @@ int use_cop(unsigned long acop, struct mm_struct *mm)
|
||||
|
||||
out:
|
||||
spin_unlock(mm->context.cop_lockp);
|
||||
- up_read(&mm->mmap_sem);
|
||||
+ spin_unlock(&mm->page_table_lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -185,8 +185,8 @@ void drop_cop(unsigned long acop, struct mm_struct *mm)
|
||||
if (WARN_ON_ONCE(!mm))
|
||||
return;
|
||||
|
||||
- /* We need to make sure mm_users doesn't change */
|
||||
- down_read(&mm->mmap_sem);
|
||||
+ /* The page_table_lock ensures mm_users won't change under us */
|
||||
+ spin_lock(&mm->page_table_lock);
|
||||
spin_lock(mm->context.cop_lockp);
|
||||
|
||||
mm->context.acop &= ~acop;
|
||||
@@ -213,7 +213,7 @@ void drop_cop(unsigned long acop, struct mm_struct *mm)
|
||||
}
|
||||
|
||||
spin_unlock(mm->context.cop_lockp);
|
||||
- up_read(&mm->mmap_sem);
|
||||
+ spin_unlock(&mm->page_table_lock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(drop_cop);
|
||||
|
Loading…
Reference in New Issue
Block a user