From: Greg Kroah-Hartman Date: Thu, 24 May 2012 17:38:45 +0000 (+0900) Subject: 3.0-stable patches X-Git-Tag: v3.0.33~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e90c706efb694972f64409d25d09076ab7581f34;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: ahci-detect-marvell-88se9172-sata-controller.patch docs-update-howto-for-2.6.x-3.x-versioning.patch mtd-sm_ftl-fix-typo-in-major-number.patch um-fix-__swp_type.patch um-implement-a-custom-pte_same-function.patch --- diff --git a/queue-3.0/ahci-detect-marvell-88se9172-sata-controller.patch b/queue-3.0/ahci-detect-marvell-88se9172-sata-controller.patch new file mode 100644 index 00000000000..c312fa5019b --- /dev/null +++ b/queue-3.0/ahci-detect-marvell-88se9172-sata-controller.patch @@ -0,0 +1,33 @@ +From 642d89252201c4155fc3946bf9cdea409e5d263e Mon Sep 17 00:00:00 2001 +From: Matt Johnson +Date: Fri, 27 Apr 2012 01:42:30 -0500 +Subject: ahci: Detect Marvell 88SE9172 SATA controller + +From: Matt Johnson + +commit 642d89252201c4155fc3946bf9cdea409e5d263e upstream. + +The Marvell 88SE9172 SATA controller (PCI ID 1b4b 917a) already worked +once it was detected, but was missing an ahci_pci_tbl entry. + +Boot tested on a Gigabyte Z68X-UD3H-B3 motherboard. + +Signed-off-by: Matt Johnson +Signed-off-by: Jeff Garzik +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/ata/ahci.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/ata/ahci.c ++++ b/drivers/ata/ahci.c +@@ -392,6 +392,8 @@ static const struct pci_device_id ahci_p + .driver_data = board_ahci_yes_fbs }, /* 88se9128 */ + { PCI_DEVICE(0x1b4b, 0x9125), + .driver_data = board_ahci_yes_fbs }, /* 88se9125 */ ++ { PCI_DEVICE(0x1b4b, 0x917a), ++ .driver_data = board_ahci_yes_fbs }, /* 88se9172 */ + { PCI_DEVICE(0x1b4b, 0x91a3), + .driver_data = board_ahci_yes_fbs }, + diff --git a/queue-3.0/docs-update-howto-for-2.6.x-3.x-versioning.patch b/queue-3.0/docs-update-howto-for-2.6.x-3.x-versioning.patch new file mode 100644 index 00000000000..a8d4817ee6a --- /dev/null +++ b/queue-3.0/docs-update-howto-for-2.6.x-3.x-versioning.patch @@ -0,0 +1,97 @@ +From 591bfc6bf9e5e25e464fd4c87d64afd5135667c4 Mon Sep 17 00:00:00 2001 +From: Kees Cook +Date: Wed, 18 Apr 2012 23:16:45 -0700 +Subject: docs: update HOWTO for 2.6.x -> 3.x versioning + +From: Kees Cook + +commit 591bfc6bf9e5e25e464fd4c87d64afd5135667c4 upstream. + +The HOWTO document needed updating for the new kernel versioning. The +git URI for -next was updated as well. + +Signed-off-by: Kees Cook +Signed-off-by: Greg Kroah-Hartman + +--- + Documentation/HOWTO | 32 ++++++++++++++++---------------- + 1 file changed, 16 insertions(+), 16 deletions(-) + +--- a/Documentation/HOWTO ++++ b/Documentation/HOWTO +@@ -218,16 +218,16 @@ The development process + Linux kernel development process currently consists of a few different + main kernel "branches" and lots of different subsystem-specific kernel + branches. These different branches are: +- - main 2.6.x kernel tree +- - 2.6.x.y -stable kernel tree +- - 2.6.x -git kernel patches ++ - main 3.x kernel tree ++ - 3.x.y -stable kernel tree ++ - 3.x -git kernel patches + - subsystem specific kernel trees and patches +- - the 2.6.x -next kernel tree for integration tests ++ - the 3.x -next kernel tree for integration tests + +-2.6.x kernel tree ++3.x kernel tree + ----------------- +-2.6.x kernels are maintained by Linus Torvalds, and can be found on +-kernel.org in the pub/linux/kernel/v2.6/ directory. Its development ++3.x kernels are maintained by Linus Torvalds, and can be found on ++kernel.org in the pub/linux/kernel/v3.x/ directory. Its development + process is as follows: + - As soon as a new kernel is released a two weeks window is open, + during this period of time maintainers can submit big diffs to +@@ -262,20 +262,20 @@ mailing list about kernel releases: + released according to perceived bug status, not according to a + preconceived timeline." + +-2.6.x.y -stable kernel tree ++3.x.y -stable kernel tree + --------------------------- +-Kernels with 4-part versions are -stable kernels. They contain ++Kernels with 3-part versions are -stable kernels. They contain + relatively small and critical fixes for security problems or significant +-regressions discovered in a given 2.6.x kernel. ++regressions discovered in a given 3.x kernel. + + This is the recommended branch for users who want the most recent stable + kernel and are not interested in helping test development/experimental + versions. + +-If no 2.6.x.y kernel is available, then the highest numbered 2.6.x ++If no 3.x.y kernel is available, then the highest numbered 3.x + kernel is the current stable kernel. + +-2.6.x.y are maintained by the "stable" team , and ++3.x.y are maintained by the "stable" team , and + are released as needs dictate. The normal release period is approximately + two weeks, but it can be longer if there are no pressing problems. A + security-related problem, instead, can cause a release to happen almost +@@ -285,7 +285,7 @@ The file Documentation/stable_kernel_rul + documents what kinds of changes are acceptable for the -stable tree, and + how the release process works. + +-2.6.x -git patches ++3.x -git patches + ------------------ + These are daily snapshots of Linus' kernel tree which are managed in a + git repository (hence the name.) These patches are usually released +@@ -317,13 +317,13 @@ revisions to it, and maintainers can mar + accepted, or rejected. Most of these patchwork sites are listed at + http://patchwork.kernel.org/. + +-2.6.x -next kernel tree for integration tests ++3.x -next kernel tree for integration tests + --------------------------------------------- +-Before updates from subsystem trees are merged into the mainline 2.6.x ++Before updates from subsystem trees are merged into the mainline 3.x + tree, they need to be integration-tested. For this purpose, a special + testing repository exists into which virtually all subsystem trees are + pulled on an almost daily basis: +- http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git ++ http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git + http://linux.f-seidel.de/linux-next/pmwiki/ + + This way, the -next kernel gives a summary outlook onto what will be diff --git a/queue-3.0/mtd-sm_ftl-fix-typo-in-major-number.patch b/queue-3.0/mtd-sm_ftl-fix-typo-in-major-number.patch new file mode 100644 index 00000000000..3ff1e638c0d --- /dev/null +++ b/queue-3.0/mtd-sm_ftl-fix-typo-in-major-number.patch @@ -0,0 +1,31 @@ +From 452380efbd72d8d41f53ea64c8a6ea1fedc4394d Mon Sep 17 00:00:00 2001 +From: Maxim Levitsky +Date: Sat, 17 Mar 2012 20:16:53 +0200 +Subject: mtd: sm_ftl: fix typo in major number. + +From: Maxim Levitsky + +commit 452380efbd72d8d41f53ea64c8a6ea1fedc4394d upstream. + +major == 0 allocates dynamic major, not major == -1 + +Signed-off-by: Maxim Levitsky +Signed-off-by: Artem Bityutskiy +Signed-off-by: David Woodhouse +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/mtd/sm_ftl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/mtd/sm_ftl.c ++++ b/drivers/mtd/sm_ftl.c +@@ -1256,7 +1256,7 @@ static void sm_remove_dev(struct mtd_blk + + static struct mtd_blktrans_ops sm_ftl_ops = { + .name = "smblk", +- .major = -1, ++ .major = 0, + .part_bits = SM_FTL_PARTN_BITS, + .blksize = SM_SECTOR_SIZE, + .getgeo = sm_getgeo, diff --git a/queue-3.0/series b/queue-3.0/series index 8183f9e38f4..abf6a22daf7 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -16,3 +16,8 @@ selinux-if-sel_make_bools-errors-don-t-leave-inconsistent-state.patch ib-core-fix-mismatch-between-locked-and-pinned-pages.patch drivers-staging-comedi-comedi_fops.c-add-missing-vfree.patch perf-x86-update-event-scheduling-constraints-for-amd-family-15h-models.patch +mtd-sm_ftl-fix-typo-in-major-number.patch +ahci-detect-marvell-88se9172-sata-controller.patch +um-fix-__swp_type.patch +um-implement-a-custom-pte_same-function.patch +docs-update-howto-for-2.6.x-3.x-versioning.patch diff --git a/queue-3.0/um-fix-__swp_type.patch b/queue-3.0/um-fix-__swp_type.patch new file mode 100644 index 00000000000..8533ebcaa93 --- /dev/null +++ b/queue-3.0/um-fix-__swp_type.patch @@ -0,0 +1,37 @@ +From 2b76ebaa728f8a3967c52aa189261c72fe56a6f1 Mon Sep 17 00:00:00 2001 +From: Richard Weinberger +Date: Sat, 14 Apr 2012 17:46:01 +0200 +Subject: um: Fix __swp_type() + +From: Richard Weinberger + +commit 2b76ebaa728f8a3967c52aa189261c72fe56a6f1 upstream. + +The current __swp_type() function uses a too small bitshift. +Using more than one swap files causes bad pages because +the type bits clash with other page flags. + +Analyzed-by: Hugh Dickins +Signed-off-by: Richard Weinberger +Signed-off-by: Greg Kroah-Hartman + +--- + arch/um/include/asm/pgtable.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/um/include/asm/pgtable.h ++++ b/arch/um/include/asm/pgtable.h +@@ -346,11 +346,11 @@ extern pte_t *virt_to_pte(struct mm_stru + #define update_mmu_cache(vma,address,ptep) do ; while (0) + + /* Encode and de-code a swap entry */ +-#define __swp_type(x) (((x).val >> 4) & 0x3f) ++#define __swp_type(x) (((x).val >> 5) & 0x1f) + #define __swp_offset(x) ((x).val >> 11) + + #define __swp_entry(type, offset) \ +- ((swp_entry_t) { ((type) << 4) | ((offset) << 11) }) ++ ((swp_entry_t) { ((type) << 5) | ((offset) << 11) }) + #define __pte_to_swp_entry(pte) \ + ((swp_entry_t) { pte_val(pte_mkuptodate(pte)) }) + #define __swp_entry_to_pte(x) ((pte_t) { (x).val }) diff --git a/queue-3.0/um-implement-a-custom-pte_same-function.patch b/queue-3.0/um-implement-a-custom-pte_same-function.patch new file mode 100644 index 00000000000..1306fad4c34 --- /dev/null +++ b/queue-3.0/um-implement-a-custom-pte_same-function.patch @@ -0,0 +1,39 @@ +From f15b9000eb1d09bbaa4b0a6b2089d7e1f64e84b3 Mon Sep 17 00:00:00 2001 +From: Richard Weinberger +Date: Sat, 14 Apr 2012 17:29:30 +0200 +Subject: um: Implement a custom pte_same() function + +From: Richard Weinberger + +commit f15b9000eb1d09bbaa4b0a6b2089d7e1f64e84b3 upstream. + +UML uses the _PAGE_NEWPAGE flag to mark pages which are not jet +installed on the host side using mmap(). +pte_same() has to ignore this flag, otherwise unuse_pte_range() +is unable to unuse the page because two identical +page tables entries with different _PAGE_NEWPAGE flags would not +match and swapoff() would never return. + +Analyzed-by: Hugh Dickins +Signed-off-by: Richard Weinberger +Signed-off-by: Greg Kroah-Hartman + +--- + arch/um/include/asm/pgtable.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/arch/um/include/asm/pgtable.h ++++ b/arch/um/include/asm/pgtable.h +@@ -271,6 +271,12 @@ static inline void set_pte(pte_t *pteptr + } + #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) + ++#define __HAVE_ARCH_PTE_SAME ++static inline int pte_same(pte_t pte_a, pte_t pte_b) ++{ ++ return !((pte_val(pte_a) ^ pte_val(pte_b)) & ~_PAGE_NEWPAGE); ++} ++ + /* + * Conversion functions: convert a page and protection to a page entry, + * and a page entry and page directory to the page they refer to.