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 ***********************************************************************************
|
**** Queued for 3.2 ***********************************************************************************
|
||||||
|
|
||||||
* hvcs_pi_buf_alloc.patch
|
|
||||||
* acpi-ensure-thermal-limits-match-cpu-freq.patch
|
* acpi-ensure-thermal-limits-match-cpu-freq.patch
|
||||||
* revert-efi-rtclock.patch
|
* revert-efi-rtclock.patch
|
||||||
* block-stray-block-put-after-teardown.patch
|
* block-stray-block-put-after-teardown.patch
|
||||||
* efi-dont-map-boot-services-on-32bit.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)
|
* usb-add-quirk-for-logitech-webcams.patch (reworked, sent upstream)
|
||||||
* epoll-limit-paths.patch (in linux-next via -mm tree)
|
* epoll-limit-paths.patch (in linux-next via -mm tree)
|
||||||
|
|
||||||
@ -101,6 +99,3 @@
|
|||||||
***********************************************************************************
|
***********************************************************************************
|
||||||
|
|
||||||
Spec file/config todos/cleanups
|
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_ATM_HE is not set
|
||||||
# CONFIG_SCSI_ACARD is not set
|
# CONFIG_SCSI_ACARD is not set
|
||||||
# CONFIG_ARM_KPROBES_TEST 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_LZO=y
|
||||||
CONFIG_SQUASHFS_XZ=y
|
CONFIG_SQUASHFS_XZ=y
|
||||||
CONFIG_SQUASHFS_ZLIB=y
|
CONFIG_SQUASHFS_ZLIB=y
|
||||||
|
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
|
||||||
# CONFIG_SQUASHFS_EMBEDDED is not set
|
# CONFIG_SQUASHFS_EMBEDDED is not set
|
||||||
CONFIG_VXFS_FS=m
|
CONFIG_VXFS_FS=m
|
||||||
# CONFIG_HPFS_FS is not set
|
# CONFIG_HPFS_FS is not set
|
||||||
@ -4433,6 +4434,7 @@ CONFIG_UWB_WHCI=m
|
|||||||
CONFIG_UWB_I1480U=m
|
CONFIG_UWB_I1480U=m
|
||||||
|
|
||||||
CONFIG_STAGING=y
|
CONFIG_STAGING=y
|
||||||
|
# CONFIG_STAGING_MEDIA is not set
|
||||||
# CONFIG_ET131X is not set
|
# CONFIG_ET131X is not set
|
||||||
# CONFIG_SLICOSS is not set
|
# CONFIG_SLICOSS is not set
|
||||||
# CONFIG_WLAGS49_H2 is not set
|
# CONFIG_WLAGS49_H2 is not set
|
||||||
|
@ -8,6 +8,8 @@ CONFIG_PPC_PMAC64=y
|
|||||||
CONFIG_PPC_ISERIES=y
|
CONFIG_PPC_ISERIES=y
|
||||||
CONFIG_PPC_PSERIES=y
|
CONFIG_PPC_PSERIES=y
|
||||||
CONFIG_PPC_PMAC=y
|
CONFIG_PPC_PMAC=y
|
||||||
|
CONFIG_PPC_POWERNV=y
|
||||||
|
CONFIG_PPC_POWERNV_RTAS=y
|
||||||
# CONFIG_PPC_PASEMI is not set
|
# CONFIG_PPC_PASEMI is not set
|
||||||
# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
|
# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
|
||||||
# CONFIG_PPC_PS3 is not set
|
# CONFIG_PPC_PS3 is not set
|
||||||
@ -41,6 +43,7 @@ CONFIG_SCSI_IPR_TRACE=y
|
|||||||
CONFIG_SCSI_IPR_DUMP=y
|
CONFIG_SCSI_IPR_DUMP=y
|
||||||
CONFIG_HVC_RTAS=y
|
CONFIG_HVC_RTAS=y
|
||||||
CONFIG_HVC_ISERIES=y
|
CONFIG_HVC_ISERIES=y
|
||||||
|
CONFIG_HVC_OPAL=y
|
||||||
|
|
||||||
# iSeries device drivers
|
# iSeries device drivers
|
||||||
#
|
#
|
||||||
|
@ -83,7 +83,7 @@ CONFIG_SGI_GRU=m
|
|||||||
|
|
||||||
# CONFIG_VIDEO_CAFE_CCIC is not set
|
# 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_BALLOON_MEMORY_HOTPLUG is not set
|
||||||
CONFIG_XEN_DEV_EVTCHN=m
|
CONFIG_XEN_DEV_EVTCHN=m
|
||||||
CONFIG_XEN_SYS_HYPERVISOR=y
|
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
|
# The rc snapshot level
|
||||||
%define rcrev 0
|
%define rcrev 0
|
||||||
# The git snapshot level
|
# The git snapshot level
|
||||||
%define gitrev 6
|
%define gitrev 7
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%define rpmversion 3.%{upstream_sublevel}.0
|
%define rpmversion 3.%{upstream_sublevel}.0
|
||||||
%endif
|
%endif
|
||||||
@ -691,10 +691,6 @@ Patch12303: dmar-disable-when-ricoh-multifunction.patch
|
|||||||
Patch13002: revert-efi-rtclock.patch
|
Patch13002: revert-efi-rtclock.patch
|
||||||
Patch13003: efi-dont-map-boot-services-on-32bit.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
|
Patch20000: utrace.patch
|
||||||
|
|
||||||
# Flattened devicetree support
|
# Flattened devicetree support
|
||||||
@ -1321,11 +1317,6 @@ ApplyPatch dmar-disable-when-ricoh-multifunction.patch
|
|||||||
ApplyPatch revert-efi-rtclock.patch
|
ApplyPatch revert-efi-rtclock.patch
|
||||||
ApplyPatch efi-dont-map-boot-services-on-32bit.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.
|
# utrace.
|
||||||
ApplyPatch utrace.patch
|
ApplyPatch utrace.patch
|
||||||
|
|
||||||
@ -2035,6 +2026,10 @@ fi
|
|||||||
# ||----w |
|
# ||----w |
|
||||||
# || ||
|
# || ||
|
||||||
%changelog
|
%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>
|
* Fri Nov 04 2011 Josh Boyer <jwboyer@redhat.com>
|
||||||
- Linux 3.1-git6
|
- 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