From d0633aed96aaed8d8996ecec7213ad2bf1a819df Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Sat, 2 Jun 2012 07:56:45 -0400 Subject: [PATCH] Linux v3.4-10115-g829f51d --- config-generic | 23 ++-- drm-cirrus-qemu-fix-crash.patch | 101 ------------------ kernel.spec | 11 +- linux-2.6-32bit-mmap-exec-randomization.patch | 26 ++--- sources | 2 +- 5 files changed, 30 insertions(+), 133 deletions(-) delete mode 100644 drm-cirrus-qemu-fix-crash.patch diff --git a/config-generic b/config-generic index ef4e4afce..7fb1d4a6a 100644 --- a/config-generic +++ b/config-generic @@ -2662,6 +2662,7 @@ CONFIG_FB=y # CONFIG_FB_ATY_CT is not set # CONFIG_FB_ATY_GX is not set # CONFIG_FB_ASILIANT is not set +# CONFIG_FB_AUO_K190X is not set # CONFIG_FB_CARMINE is not set # CONFIG_FB_CIRRUS is not set # CONFIG_FB_CYBER2000 is not set @@ -3631,17 +3632,17 @@ CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m -CONFIG_NLS_CODEPAGE_MACROMAN=m -CONFIG_NLS_CODEPAGE_MACCELTIC=m -CONFIG_NLS_CODEPAGE_MACCENTEURO=m -CONFIG_NLS_CODEPAGE_MACCROATIAN=m -CONFIG_NLS_CODEPAGE_MACCYRILLIC=m -CONFIG_NLS_CODEPAGE_MACGAELIC=m -CONFIG_NLS_CODEPAGE_MACGREEK=m -CONFIG_NLS_CODEPAGE_MACICELAND=m -CONFIG_NLS_CODEPAGE_MACINUIT=m -CONFIG_NLS_CODEPAGE_MACROMANIAN=m -CONFIG_NLS_CODEPAGE_MACTURKISH=m +CONFIG_NLS_MAC_ROMAN=m +CONFIG_NLS_MAC_CELTIC=m +CONFIG_NLS_MAC_CENTEURO=m +CONFIG_NLS_MAC_CROATIAN=m +CONFIG_NLS_MAC_CYRILLIC=m +CONFIG_NLS_MAC_GAELIC=m +CONFIG_NLS_MAC_GREEK=m +CONFIG_NLS_MAC_ICELAND=m +CONFIG_NLS_MAC_INUIT=m +CONFIG_NLS_MAC_ROMANIAN=m +CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS_ASCII=y diff --git a/drm-cirrus-qemu-fix-crash.patch b/drm-cirrus-qemu-fix-crash.patch deleted file mode 100644 index be6f13509..000000000 --- a/drm-cirrus-qemu-fix-crash.patch +++ /dev/null @@ -1,101 +0,0 @@ -diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c -index d703823..7053140 100644 ---- a/drivers/gpu/drm/cirrus/cirrus_drv.c -+++ b/drivers/gpu/drm/cirrus/cirrus_drv.c -@@ -35,9 +35,28 @@ static DEFINE_PCI_DEVICE_TABLE(pciidlist) = { - {0,} - }; - -+ -+static void cirrus_kick_out_firmware_fb(struct pci_dev *pdev) -+{ -+ struct apertures_struct *ap; -+ bool primary = false; -+ -+ ap = alloc_apertures(1); -+ ap->ranges[0].base = pci_resource_start(pdev, 0); -+ ap->ranges[0].size = pci_resource_len(pdev, 0); -+ -+#ifdef CONFIG_X86 -+ primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -+#endif -+ remove_conflicting_framebuffers(ap, "cirrusdrmfb", primary); -+ kfree(ap); -+} -+ - static int __devinit - cirrus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - { -+ cirrus_kick_out_firmware_fb(pdev); -+ - return drm_get_pci_dev(pdev, ent, &driver); - } - -diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.h b/drivers/gpu/drm/cirrus/cirrus_drv.h -index 21bdfa8..64ea597 100644 ---- a/drivers/gpu/drm/cirrus/cirrus_drv.h -+++ b/drivers/gpu/drm/cirrus/cirrus_drv.h -@@ -145,7 +145,7 @@ struct cirrus_device { - struct ttm_bo_device bdev; - atomic_t validate_sequence; - } ttm; -- -+ bool mm_inited; - }; - - -diff --git a/drivers/gpu/drm/cirrus/cirrus_ttm.c b/drivers/gpu/drm/cirrus/cirrus_ttm.c -index 2ebcd11..50e170f 100644 ---- a/drivers/gpu/drm/cirrus/cirrus_ttm.c -+++ b/drivers/gpu/drm/cirrus/cirrus_ttm.c -@@ -275,12 +275,17 @@ int cirrus_mm_init(struct cirrus_device *cirrus) - pci_resource_len(dev->pdev, 0), - DRM_MTRR_WC); - -+ cirrus->mm_inited = true; - return 0; - } - - void cirrus_mm_fini(struct cirrus_device *cirrus) - { - struct drm_device *dev = cirrus->dev; -+ -+ if (!cirrus->mm_inited) -+ return; -+ - ttm_bo_device_release(&cirrus->ttm.bdev); - - cirrus_ttm_global_release(cirrus); -diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c -index 3c8e04f..93e832d 100644 ---- a/drivers/gpu/drm/mgag200/mgag200_drv.c -+++ b/drivers/gpu/drm/mgag200/mgag200_drv.c -@@ -41,9 +41,28 @@ static DEFINE_PCI_DEVICE_TABLE(pciidlist) = { - - MODULE_DEVICE_TABLE(pci, pciidlist); - -+static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -+{ -+ struct apertures_struct *ap; -+ bool primary = false; -+ -+ ap = alloc_apertures(1); -+ ap->ranges[0].base = pci_resource_start(pdev, 0); -+ ap->ranges[0].size = pci_resource_len(pdev, 0); -+ -+#ifdef CONFIG_X86 -+ primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -+#endif -+ remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); -+ kfree(ap); -+} -+ -+ - static int __devinit - mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - { -+ mgag200_kick_out_firmware_fb(pdev); -+ - return drm_get_pci_dev(pdev, ent, &driver); - } - diff --git a/kernel.spec b/kernel.spec index 3bca69678..c28328c09 100644 --- a/kernel.spec +++ b/kernel.spec @@ -95,7 +95,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 0 # The git snapshot level -%define gitrev 11 +%define gitrev 12 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -747,9 +747,6 @@ Patch22000: weird-root-dentry-name-debug.patch #selinux ptrace child permissions Patch22001: selinux-apply-different-permission-to-ptrace-child.patch -#rhbz 826983 -Patch22002: drm-cirrus-qemu-fix-crash.patch - # END OF PATCH DEFINITIONS %endif @@ -1443,9 +1440,6 @@ ApplyPatch selinux-apply-different-permission-to-ptrace-child.patch #Highbank clock functions ApplyPatch highbank-export-clock-functions.patch -# rhbz 826983 -ApplyPatch drm-cirrus-qemu-fix-crash.patch - # END OF PATCH APPLICATIONS %endif @@ -2296,6 +2290,9 @@ fi # ||----w | # || || %changelog +* Sat Jun 02 2012 Josh Boyer - 3.5.0-0.rc0.git12.1 +- Linux v3.4-10115-g829f51d + * Fri Jun 01 2012 Josh Boyer - 3.5.0-0.rc0.git11.1 - Linux v3.4-9547-gfb21aff diff --git a/linux-2.6-32bit-mmap-exec-randomization.patch b/linux-2.6-32bit-mmap-exec-randomization.patch index f6079841d..1c0800127 100644 --- a/linux-2.6-32bit-mmap-exec-randomization.patch +++ b/linux-2.6-32bit-mmap-exec-randomization.patch @@ -51,10 +51,10 @@ index 66e6d93..b80cde7 100644 ret = addr; goto up_fail; diff --git a/include/linux/mm.h b/include/linux/mm.h -index 7d5c37f..92cb90d 100644 +index b36d08c..91e573d 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -1389,7 +1389,13 @@ extern int install_special_mapping(struct mm_struct *mm, +@@ -1387,7 +1387,13 @@ extern int install_special_mapping(struct mm_struct *mm, unsigned long addr, unsigned long len, unsigned long flags, struct page **pages); @@ -70,7 +70,7 @@ index 7d5c37f..92cb90d 100644 extern unsigned long mmap_region(struct file *file, unsigned long addr, unsigned long len, unsigned long flags, diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h -index 26574c7..54a063d 100644 +index dad95bd..01a150c 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -294,6 +294,9 @@ struct mm_struct { @@ -84,7 +84,7 @@ index 26574c7..54a063d 100644 #endif unsigned long mmap_base; /* base of mmap area */ diff --git a/include/linux/sched.h b/include/linux/sched.h -index f45c0b2..7234f1d 100644 +index f34437e..12fe177 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -391,6 +391,10 @@ extern void arch_pick_mmap_layout(struct mm_struct *mm); @@ -99,7 +99,7 @@ index f45c0b2..7234f1d 100644 arch_get_unmapped_area_topdown(struct file *filp, unsigned long addr, unsigned long len, unsigned long pgoff, diff --git a/mm/mmap.c b/mm/mmap.c -index e8dcfc7..4bb6ac9 100644 +index 3edfcdf..076ec09 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -31,6 +31,7 @@ @@ -110,7 +110,7 @@ index e8dcfc7..4bb6ac9 100644 #include #include -@@ -1013,7 +1014,8 @@ static unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, +@@ -1011,7 +1012,8 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, /* Obtain the address to map to. we verify (or select) it and ensure * that it represents a valid section of the address space. */ @@ -120,7 +120,7 @@ index e8dcfc7..4bb6ac9 100644 if (addr & ~PAGE_MASK) return addr; -@@ -1603,8 +1605,8 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) +@@ -1568,8 +1570,8 @@ void arch_unmap_area_topdown(struct mm_struct *mm, unsigned long addr) } unsigned long @@ -131,7 +131,7 @@ index e8dcfc7..4bb6ac9 100644 { unsigned long (*get_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); -@@ -1617,7 +1619,11 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, +@@ -1582,7 +1584,11 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, if (len > TASK_SIZE) return -ENOMEM; @@ -144,9 +144,9 @@ index e8dcfc7..4bb6ac9 100644 if (file && file->f_op && file->f_op->get_unmapped_area) get_area = file->f_op->get_unmapped_area; addr = get_area(file, addr, len, pgoff, flags); -@@ -1631,8 +1637,83 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, - - return arch_rebalance_pgtables(addr, len); +@@ -1598,8 +1604,83 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, + error = security_mmap_addr(addr); + return error ? error : addr; } +EXPORT_SYMBOL(get_unmapped_area_prot); + @@ -230,10 +230,10 @@ index e8dcfc7..4bb6ac9 100644 /* Look up the first VMA which satisfies addr < vm_end, NULL if none. */ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr) diff --git a/mm/mremap.c b/mm/mremap.c -index db8d983..3a2d940 100644 +index 21fed20..a3de1ee 100644 --- a/mm/mremap.c +++ b/mm/mremap.c -@@ -521,10 +521,10 @@ unsigned long do_mremap(unsigned long addr, +@@ -519,10 +519,10 @@ SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len, if (vma->vm_flags & VM_MAYSHARE) map_flags |= MAP_SHARED; diff --git a/sources b/sources index 08446e6bb..56e7a1d0a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 967f72983655e2479f951195953e8480 linux-3.4.tar.xz -33effd70d1ca8908f1473c3640b5c61b patch-3.4-git11.xz +7b31bb2f2955f20be0d1d6c6f2c4b7d3 patch-3.4-git12.xz