From: Greg Kroah-Hartman Date: Wed, 19 Aug 2015 16:20:44 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v3.10.88~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c9801d8296b0c3852fcd4a1a1fb5f77a7b2bf87e;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: dm-thin-metadata-delete-btrees-when-releasing-metadata-snapshot.patch drm-radeon-add-new-oland-pci-id.patch edac-ppc4xx-access-mci-csrows-array-elements-properly.patch localmodconfig-use-kbuild-files-too.patch perf-fix-fasync-handling-on-inherited-events.patch --- diff --git a/queue-3.10/dm-thin-metadata-delete-btrees-when-releasing-metadata-snapshot.patch b/queue-3.10/dm-thin-metadata-delete-btrees-when-releasing-metadata-snapshot.patch new file mode 100644 index 00000000000..ad766dcee28 --- /dev/null +++ b/queue-3.10/dm-thin-metadata-delete-btrees-when-releasing-metadata-snapshot.patch @@ -0,0 +1,33 @@ +From 7f518ad0a212e2a6fd68630e176af1de395070a7 Mon Sep 17 00:00:00 2001 +From: Joe Thornber +Date: Wed, 12 Aug 2015 15:10:21 +0100 +Subject: dm thin metadata: delete btrees when releasing metadata snapshot + +From: Joe Thornber + +commit 7f518ad0a212e2a6fd68630e176af1de395070a7 upstream. + +The device details and mapping trees were just being decremented +before. Now btree_del() is called to do a deep delete. + +Signed-off-by: Joe Thornber +Signed-off-by: Mike Snitzer +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/md/dm-thin-metadata.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/md/dm-thin-metadata.c ++++ b/drivers/md/dm-thin-metadata.c +@@ -1281,8 +1281,8 @@ static int __release_metadata_snap(struc + return r; + + disk_super = dm_block_data(copy); +- dm_sm_dec_block(pmd->metadata_sm, le64_to_cpu(disk_super->data_mapping_root)); +- dm_sm_dec_block(pmd->metadata_sm, le64_to_cpu(disk_super->device_details_root)); ++ dm_btree_del(&pmd->info, le64_to_cpu(disk_super->data_mapping_root)); ++ dm_btree_del(&pmd->details_info, le64_to_cpu(disk_super->device_details_root)); + dm_sm_dec_block(pmd->metadata_sm, held_root); + + return dm_tm_unlock(pmd->tm, copy); diff --git a/queue-3.10/drm-radeon-add-new-oland-pci-id.patch b/queue-3.10/drm-radeon-add-new-oland-pci-id.patch new file mode 100644 index 00000000000..45a8e082e60 --- /dev/null +++ b/queue-3.10/drm-radeon-add-new-oland-pci-id.patch @@ -0,0 +1,26 @@ +From e037239e5e7b61007763984aa35a8329596d8c88 Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Mon, 10 Aug 2015 15:28:49 -0400 +Subject: drm/radeon: add new OLAND pci id + +From: Alex Deucher + +commit e037239e5e7b61007763984aa35a8329596d8c88 upstream. + +Signed-off-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman + +--- + include/drm/drm_pciids.h | 1 + + 1 file changed, 1 insertion(+) + +--- a/include/drm/drm_pciids.h ++++ b/include/drm/drm_pciids.h +@@ -150,6 +150,7 @@ + {0x1002, 0x6610, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6611, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6613, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \ ++ {0x1002, 0x6617, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6620, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6621, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ + {0x1002, 0x6623, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ diff --git a/queue-3.10/edac-ppc4xx-access-mci-csrows-array-elements-properly.patch b/queue-3.10/edac-ppc4xx-access-mci-csrows-array-elements-properly.patch new file mode 100644 index 00000000000..22f935d3f4b --- /dev/null +++ b/queue-3.10/edac-ppc4xx-access-mci-csrows-array-elements-properly.patch @@ -0,0 +1,39 @@ +From 5c16179b550b9fd8114637a56b153c9768ea06a5 Mon Sep 17 00:00:00 2001 +From: Michael Walle +Date: Tue, 21 Jul 2015 11:00:53 +0200 +Subject: EDAC, ppc4xx: Access mci->csrows array elements properly + +From: Michael Walle + +commit 5c16179b550b9fd8114637a56b153c9768ea06a5 upstream. + +The commit + + de3910eb79ac ("edac: change the mem allocation scheme to + make Documentation/kobject.txt happy") + +changed the memory allocation for the csrows member. But ppc4xx_edac was +forgotten in the patch. Fix it. + +Signed-off-by: Michael Walle +Cc: linux-edac +Cc: Mauro Carvalho Chehab +Link: http://lkml.kernel.org/r/1437469253-8611-1-git-send-email-michael@walle.cc +Signed-off-by: Borislav Petkov +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/edac/ppc4xx_edac.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/edac/ppc4xx_edac.c ++++ b/drivers/edac/ppc4xx_edac.c +@@ -921,7 +921,7 @@ static int ppc4xx_edac_init_csrows(struc + */ + + for (row = 0; row < mci->nr_csrows; row++) { +- struct csrow_info *csi = &mci->csrows[row]; ++ struct csrow_info *csi = mci->csrows[row]; + + /* + * Get the configuration settings for this diff --git a/queue-3.10/localmodconfig-use-kbuild-files-too.patch b/queue-3.10/localmodconfig-use-kbuild-files-too.patch new file mode 100644 index 00000000000..8fd1677bba8 --- /dev/null +++ b/queue-3.10/localmodconfig-use-kbuild-files-too.patch @@ -0,0 +1,36 @@ +From c0ddc8c745b7f89c50385fd7aa03c78dc543fa7a Mon Sep 17 00:00:00 2001 +From: Richard Weinberger +Date: Mon, 27 Jul 2015 00:06:55 +0200 +Subject: localmodconfig: Use Kbuild files too + +From: Richard Weinberger + +commit c0ddc8c745b7f89c50385fd7aa03c78dc543fa7a upstream. + +In kbuild it is allowed to define objects in files named "Makefile" +and "Kbuild". +Currently localmodconfig reads objects only from "Makefile"s and misses +modules like nouveau. + +Link: http://lkml.kernel.org/r/1437948415-16290-1-git-send-email-richard@nod.at + +Reported-and-tested-by: Leonidas Spyropoulos +Signed-off-by: Richard Weinberger +Signed-off-by: Steven Rostedt +Signed-off-by: Greg Kroah-Hartman + +--- + scripts/kconfig/streamline_config.pl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/scripts/kconfig/streamline_config.pl ++++ b/scripts/kconfig/streamline_config.pl +@@ -137,7 +137,7 @@ my $ksource = ($ARGV[0] ? $ARGV[0] : '.' + my $kconfig = $ARGV[1]; + my $lsmod_file = $ENV{'LSMOD'}; + +-my @makefiles = `find $ksource -name Makefile 2>/dev/null`; ++my @makefiles = `find $ksource -name Makefile -or -name Kbuild 2>/dev/null`; + chomp @makefiles; + + my %depends; diff --git a/queue-3.10/perf-fix-fasync-handling-on-inherited-events.patch b/queue-3.10/perf-fix-fasync-handling-on-inherited-events.patch new file mode 100644 index 00000000000..b9d23181579 --- /dev/null +++ b/queue-3.10/perf-fix-fasync-handling-on-inherited-events.patch @@ -0,0 +1,69 @@ +From fed66e2cdd4f127a43fd11b8d92a99bdd429528c Mon Sep 17 00:00:00 2001 +From: Peter Zijlstra +Date: Thu, 11 Jun 2015 10:32:01 +0200 +Subject: perf: Fix fasync handling on inherited events + +From: Peter Zijlstra + +commit fed66e2cdd4f127a43fd11b8d92a99bdd429528c upstream. + +Vince reported that the fasync signal stuff doesn't work proper for +inherited events. So fix that. + +Installing fasync allocates memory and sets filp->f_flags |= FASYNC, +which upon the demise of the file descriptor ensures the allocation is +freed and state is updated. + +Now for perf, we can have the events stick around for a while after the +original FD is dead because of references from child events. So we +cannot copy the fasync pointer around. We can however consistently use +the parent's fasync, as that will be updated. + +Reported-and-Tested-by: Vince Weaver +Signed-off-by: Peter Zijlstra (Intel) +Cc: Arnaldo Carvalho deMelo +Cc: Linus Torvalds +Cc: Peter Zijlstra +Cc: Thomas Gleixner +Cc: eranian@google.com +Link: http://lkml.kernel.org/r/1434011521.1495.71.camel@twins +Signed-off-by: Ingo Molnar +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/events/core.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +--- a/kernel/events/core.c ++++ b/kernel/events/core.c +@@ -3993,12 +3993,20 @@ static const struct file_operations perf + * to user-space before waking everybody up. + */ + ++static inline struct fasync_struct **perf_event_fasync(struct perf_event *event) ++{ ++ /* only the parent has fasync state */ ++ if (event->parent) ++ event = event->parent; ++ return &event->fasync; ++} ++ + void perf_event_wakeup(struct perf_event *event) + { + ring_buffer_wakeup(event); + + if (event->pending_kill) { +- kill_fasync(&event->fasync, SIGIO, event->pending_kill); ++ kill_fasync(perf_event_fasync(event), SIGIO, event->pending_kill); + event->pending_kill = 0; + } + } +@@ -5153,7 +5161,7 @@ static int __perf_event_overflow(struct + else + perf_event_output(event, data, regs); + +- if (event->fasync && event->pending_kill) { ++ if (*perf_event_fasync(event) && event->pending_kill) { + event->pending_wakeup = 1; + irq_work_queue(&event->pending); + } diff --git a/queue-3.10/series b/queue-3.10/series index ce9d2e6419b..8bcfebb5818 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -1,3 +1,8 @@ ipc-sem-fix-use-after-free-on-ipc_rmid-after-a-task-using-same-semaphore-set-exits.patch ipc-sem.c-update-correct-memory-barriers.patch mm-hwpoison-fix-page-refcount-of-unknown-non-lru-page.patch +perf-fix-fasync-handling-on-inherited-events.patch +dm-thin-metadata-delete-btrees-when-releasing-metadata-snapshot.patch +localmodconfig-use-kbuild-files-too.patch +edac-ppc4xx-access-mci-csrows-array-elements-properly.patch +drm-radeon-add-new-oland-pci-id.patch