Linux 3.1-git7 (upstream 31555213f)

This commit is contained in:
Josh Boyer 2011-11-07 11:25:51 -05:00
parent 05e763b50e
commit ea8a97de39
9 changed files with 14 additions and 134 deletions

5
TODO
View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
#

View File

@ -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

View File

@ -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);
_

View File

@ -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

View File

@ -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);

View File

@ -1,2 +1,2 @@
8d43453f8159b2332ad410b19d86a931 linux-3.1.tar.bz2
bd969a127cd8deb8eb4b94b9f5141c75 patch-3.1-git6.bz2
09e1b3dc6b0902e6dbfbf781322f294f patch-3.1-git7.bz2