4.5.3-stable review
Subsystems (7)
Greg Kroah-Hartman
maintainerPATCH 174/200 perf hists browser: Only offer symbol scripting when a symbol is under the cursor
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Namhyung Kim <[email protected]>
commit c221acb0f970d3b80d72c812cda19c121acf5d52 upstream.
When this feature was introduced a check was made if there was a resolved symbol under the cursor, it got lost in commit ea7cd5923309 ("perf hists browser: Split popup menu actions - part 2"), reinstate it.
--- tools/perf/ui/browsers/hists.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
tools/perf/ui/browsers/hists.c +6 -4
@@ -2320,10 +2320,12 @@ skip_annotation:* * See hist_browser__show_entry. */ - nr_options +=add_script_opt (browser, - &actions[nr_options], - &options[nr_options], -NULL , browser->selection->sym); +if (sort__has_sym && browser->selection->sym) { + nr_options +=add_script_opt (browser, + &actions[nr_options], + &options[nr_options], +NULL , browser->selection->sym); + } } nr_options +=add_script_opt (browser, &actions[nr_options], &options[nr_options],NULL ,NULL );
Greg Kroah-Hartman
maintainerPATCH 175/200 perf hists browser: Fix dump to show correct callchain style
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Namhyung Kim <[email protected]>
commit 0c841c6c16f320704f75970bbe6a9800c53e6cf5 upstream.
The commit 8c430a348699 ("perf hists browser: Support folded callchains") missed to update hist_browser__dump() so it always shows graph-style callchains regardless of current setting.
To fix that, factor out callchain printing code and rename the existing function which prints graph-style callchain.
--- tools/perf/ui/browsers/hists.c | 73 +++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 32 deletions(-)
tools/perf/ui/browsers/hists.c +41 -32
@@ -844,7 +844,7 @@ next:return row - first_row; } -static int hist_browser__show_callchain(struct hist_browser *browser, +static int hist_browser__show_callchain_graph(struct hist_browser *browser, struct rb_root *root, int level, unsigned short row, u64 total, print_callchain_entry_fn print,
@@ -898,7 +898,7 @@ static int hist_browser__show_callchain(else new_total = total; - row +=hist_browser__show_callchain (browser, &child->rb_root, + row +=hist_browser__show_callchain_graph (browser, &child->rb_root, new_level, row, new_total, print, arg, is_output_full); }
@@ -910,6 +910,43 @@ out:return row - first_row; } +static int hist_browser__show_callchain (struct hist_browser *browser, +struct hist_entry *entry,int level, +unsigned short row, +print_callchain_entry_fn print, +struct callchain_print_arg *arg, +check_output_full_fn is_output_full) +{ +u64 total =hists__total_period (entry->hists); +int printed; + +if (callchain_param.mode ==CHAIN_GRAPH_REL ) { +if (symbol_conf.cumulate_callchain) + total = entry->stat_acc->period; +else + total = entry->stat.period; + } + +if (callchain_param.mode ==CHAIN_FLAT ) { + printed =hist_browser__show_callchain_flat (browser, + &entry->sorted_chain, row, total, + print, arg, is_output_full); + }else if (callchain_param.mode ==CHAIN_FOLDED ) { + printed =hist_browser__show_callchain_folded (browser, + &entry->sorted_chain, row, total, + print, arg, is_output_full); + }else { + printed =hist_browser__show_callchain_graph (browser, + &entry->sorted_chain, level, row, total, + print, arg, is_output_full); + } + +if (arg->is_current_entry) + browser->he_selection = entry; + +return printed; +} +struct hpp_arg {struct ui_browser *b;char folded_sign;
@@ -1084,38 +1121,14 @@ static int hist_browser__show_entry(stru --row_offset;if (folded_sign =='-' && row != browser->b.rows) { -u64 total =hists__total_period (entry->hists);struct callchain_print_arg arg = { .row_offset = row_offset, .is_current_entry = current_entry, }; -if (callchain_param.mode ==CHAIN_GRAPH_REL ) { -if (symbol_conf.cumulate_callchain) - total = entry->stat_acc->period; -else - total = entry->stat.period; - } - -if (callchain_param.mode ==CHAIN_FLAT ) { - printed +=hist_browser__show_callchain_flat (browser, - &entry->sorted_chain, row, total, - hist_browser__show_callchain_entry, &arg, - hist_browser__check_output_full); - }else if (callchain_param.mode ==CHAIN_FOLDED ) { - printed +=hist_browser__show_callchain_folded (browser, - &entry->sorted_chain, row, total, - hist_browser__show_callchain_entry, &arg, - hist_browser__check_output_full); - }else { - printed +=hist_browser__show_callchain (browser, - &entry->sorted_chain,1 , row, total, + printed +=hist_browser__show_callchain (browser, entry,1 , row, hist_browser__show_callchain_entry, &arg, hist_browser__check_output_full); - } - -if (arg.is_current_entry) - browser->he_selection = entry; }return printed;
@@ -1380,15 +1393,11 @@ do_offset:static int hist_browser__fprintf_callchain (struct hist_browser *browser,struct hist_entry *he,FILE *fp) { -u64 total =hists__total_period (he->hists);struct callchain_print_arg arg = { .fp = fp, }; -if (symbol_conf.cumulate_callchain) - total = he->stat_acc->period; - -hist_browser__show_callchain (browser, &he->sorted_chain,1 ,0 , total, +hist_browser__show_callchain (browser, he,1 ,0 , hist_browser__fprintf_callchain_entry, &arg, hist_browser__check_dump_full);return arg.printed;
Greg Kroah-Hartman
maintainerPATCH 177/200 perf stat: Document --detailed option
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Borislav Petkov <[email protected]>
commit f594bae08183fb6b57db55387794ece3e1edf6f6 upstream.
I'm surprised this remained undocumented since at least 2011. And it is actually a very useful switch, as Steve and I came to realize recently.
Add the text from
2cba3ffb9a9d ("perf stat: Add -d -d and -d -d -d options to show more CPU events")
which added the incrementing aspect to -d.
--- tools/perf/Documentation/perf-stat.txt | 8 ++++++++ 1 file changed, 8 insertions(+)
tools/perf/Documentation/perf-stat.txt +8 -0
@@ -69,6 +69,14 @@ report:: --scale:: scale/normalize counter values +-d:: +--detailed:: + print more detailed statistics, can be specified up to 3 times + + -d: detailed events, L1 and LLC data cache + -d -d: more detailed events, dTLB and iTLB events + -d -d -d: very detailed events, adding prefetch events + -r:: --repeat=<n>:: repeat command and print average + stddev (max: 100). 0 means forever.
Greg Kroah-Hartman
maintainerPATCH 178/200 ntb: perf test: fix address space confusion
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Arnd Bergmann <[email protected]>
commit 1985a88107b5330b2a911ad4d279e1bd7e4deb24 upstream.
The ntb driver assigns between pointers an __iomem tokens, and also casts them to 64-bit integers, which results in compiler warnings on 32-bit systems:
drivers/ntb/test/ntb_perf.c: In function 'perf_copy':drivers/ntb/test/ntb_perf.c:213:10: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
vbase = (u64)(u64 *)mw->vbase;
^
drivers/ntb/test/ntb_perf.c:214:14: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
dst_vaddr = (u64)(u64 *)dst;
^This adds __iomem annotations where needed and changes the temporary variables to iomem pointers to avoid casting them to u64. I did not see the problem in linux-next earlier, but it show showed up in 4.5-rc1.
--- drivers/ntb/test/ntb_perf.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-)
drivers/ntb/test/ntb_perf.c +11 -10
@@ -178,7 +178,7 @@ static void perf_copy_callback(void *datatomic_dec (&pctx->dma_sync); } -static ssize_t perf_copy (struct pthr_ctx *pctx,char *dst, +static ssize_t perf_copy (struct pthr_ctx *pctx,char __iomem *dst,char *src,size_t size) {struct perf_ctx *perf = pctx->perf;
@@ -189,7 +189,8 @@ static ssize_t perf_copy(struct pthr_ctxdma_cookie_t cookie;size_t src_off, dst_off;struct perf_mw *mw = &perf->mw; -u64 vbase, dst_vaddr; +void __iomem *vbase; +void __iomem *dst_vaddr;dma_addr_t dst_phys;int retries =0 ;
@@ -204,14 +205,14 @@ static ssize_t perf_copy(struct pthr_ctx } device = chan->device; - src_off = (size_t )src & ~PAGE_MASK ; - dst_off = (size_t )dst & ~PAGE_MASK ; + src_off = (uintptr_t )src & ~PAGE_MASK ; + dst_off = (uintptr_t __force )dst & ~PAGE_MASK ;if (!is_dma_copy_aligned (device, src_off, dst_off, size))return -ENODEV ; - vbase = (u64 )(u64 *)mw->vbase; - dst_vaddr = (u64 )(u64 *)dst; + vbase = mw->vbase; + dst_vaddr = dst; dst_phys = mw->phys_addr + (dst_vaddr - vbase); unmap =dmaengine_get_unmap_data (device->dev,1 ,GFP_NOWAIT );
@@ -261,13 +262,13 @@ err_get_unmap:return 0 ; } -static int perf_move_data (struct pthr_ctx *pctx,char *dst,char *src, +static int perf_move_data (struct pthr_ctx *pctx,char __iomem *dst,char *src,u64 buf_size,u64 win_size,u64 total) {int chunks, total_chunks, i;int copied_chunks =0 ;u64 copied =0 , result; -char *tmp = dst; +char __iomem *tmp = dst;u64 perf, diff_us;ktime_t kstart, kstop, kdiff;
@@ -324,7 +325,7 @@ static int ntb_perf_thread(void *data)struct perf_ctx *perf = pctx->perf;struct pci_dev *pdev = perf->ntb->pdev;struct perf_mw *mw = &perf->mw; -char *dst; +char __iomem *dst;u64 win_size, buf_size, total;void *src;int rc, node, i;
@@ -364,7 +365,7 @@ static int ntb_perf_thread(void *data)if (buf_size >MAX_TEST_SIZE ) buf_size =MAX_TEST_SIZE ; - dst = (char *)mw->vbase; + dst = (char __iomem *)mw->vbase;atomic_inc (&perf->tsync);while (atomic_read (&perf->tsync) != perf->perf_threads)
Greg Kroah-Hartman
maintainerPATCH 179/200 NTB: Remove _addr functions from ntb_hw_amd
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Allen Hubbe <[email protected]>
commit 4f1b50c3e3082b31c94cee2b897bd9f5d0f3e7c8 upstream.
Kernel zero day testing warned about address space confusion. A virtual iomem address was used where a physical address is expected. The offending functions implement an optional part of the api, so they are removed. They can be added later, after testing.
--- drivers/ntb/hw/amd/ntb_hw_amd.c | 30 ------------------------------ 1 file changed, 30 deletions(-)
drivers/ntb/hw/amd/ntb_hw_amd.c +0 -30
@@ -357,20 +357,6 @@ static int amd_ntb_db_clear_mask(structreturn 0 ; } -static int amd_ntb_peer_db_addr (struct ntb_dev *ntb, -phys_addr_t *db_addr, -resource_size_t *db_size) -{ -struct amd_ntb_dev *ndev =ntb_ndev (ntb); - -if (db_addr) - *db_addr = (phys_addr_t)(ndev->peer_mmio +AMD_DBREQ_OFFSET ); -if (db_size) - *db_size =sizeof (u32); - -return 0 ; -} -static int amd_ntb_peer_db_set (struct ntb_dev *ntb,u64 db_bits) {struct amd_ntb_dev *ndev =ntb_ndev (ntb);
@@ -415,20 +401,6 @@ static int amd_ntb_spad_write(struct ntbreturn 0 ; } -static int amd_ntb_peer_spad_addr (struct ntb_dev *ntb,int idx, -phys_addr_t *spad_addr) -{ -struct amd_ntb_dev *ndev =ntb_ndev (ntb); - -if (idx <0 || idx >= ndev->spad_count) -return -EINVAL ; - -if (spad_addr) - *spad_addr = (phys_addr_t)(ndev->self_mmio +AMD_SPAD_OFFSET + - ndev->peer_spad + (idx <<2 )); -return 0 ; -} -static u32 amd_ntb_peer_spad_read (struct ntb_dev *ntb,int idx) {struct amd_ntb_dev *ndev =ntb_ndev (ntb);
@@ -472,12 +444,10 @@ static const struct ntb_dev_ops amd_ntb_ .db_clear = amd_ntb_db_clear, .db_set_mask = amd_ntb_db_set_mask, .db_clear_mask = amd_ntb_db_clear_mask, - .peer_db_addr = amd_ntb_peer_db_addr, .peer_db_set = amd_ntb_peer_db_set, .spad_count = amd_ntb_spad_count, .spad_read = amd_ntb_spad_read, .spad_write = amd_ntb_spad_write, - .peer_spad_addr = amd_ntb_peer_spad_addr, .peer_spad_read = amd_ntb_peer_spad_read, .peer_spad_write = amd_ntb_peer_spad_write, };
Greg Kroah-Hartman
maintainerPATCH 180/200 perf/core: Dont leak event in the syscall error path
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alexander Shishkin <[email protected]>
commit 201c2f85bd0bc13b712d9c0b3d11251b182e06ae upstream.
In the error path, event_file not being NULL is used to determine whether the event itself still needs to be free'd, so fix it up to avoid leaking.
--- kernel/events/core.c | 1 + 1 file changed, 1 insertion(+)
kernel/events/core.c +1 -0
@@ -8479,6 +8479,7 @@ SYSCALL_DEFINE5(perf_event_open, f_flags);if (IS_ERR (event_file)) { err =PTR_ERR (event_file); + event_file =NULL ; goto err_context; }
Greg Kroah-Hartman
maintainerPATCH 181/200 perf/core: Fix time tracking bug with multiplexing
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Peter Zijlstra <[email protected]>
commit 8fdc65391c6ad16461526a685f03262b3b01bfde upstream.
Stephane reported that commit:
3cbaa5906967 ("perf: Fix ctx time tracking by introducing EVENT_TIME")
introduced a regression wrt. time tracking, as easily observed by:
Quoted 34 lines
This patch introduce a bug in the time tracking of events when multiplexing is used.
The issue is easily reproducible with the following perf run:
$ perf stat -a -C 0 -e branches,branches,branches,branches,branches,branches -I 1000 1.000730239 652,394 branches (66.41%) 1.000730239 597,809 branches (66.41%) 1.000730239 593,870 branches (66.63%) 1.000730239 651,440 branches (67.03%) 1.000730239 656,725 branches (66.96%) 1.000730239 <not counted> branchesOne branches event is shown as not having run. Yet, with multiplexing, all events should run especially with a 1s (-I 1000) interval. The delta for
time_runningcomes out to 0. Yet, the event has run because the kernel is actually multiplexing the events. The problem is that the time tracking is the kernel and especially inctx_sched_out()is wrong now.The problem is that in case that the kernel enters
ctx_sched_out()with the following state:ctx->is_active=0x7 event_type=0x1 Call Trace: [<ffffffff813ddd41>] dump_stack+0x63/0x82 [<ffffffff81182bdc>] ctx_sched_out+0x2bc/0x2d0 [<ffffffff81183896>] perf_mux_hrtimer_handler+0xf6/0x2c0 [<ffffffff811837a0>] ? __perf_install_in_context+0x130/0x130 [<ffffffff810f5818>] __hrtimer_run_queues+0xf8/0x2f0 [<ffffffff810f6097>] hrtimer_interrupt+0xb7/0x1d0 [<ffffffff810509a8>] local_apic_timer_interrupt+0x38/0x60 [<ffffffff8175ca9d>] smp_apic_timer_interrupt+0x3d/0x50 [<ffffffff8175ac7c>] apic_timer_interrupt+0x8c/0xa0
Quoted 5 lines
In that case, the test:
if (is_active&EVENT_TIME)will be false and the time will not be updated. Time must always be updated on sched out.
Fix this by always updating time if EVENT_TIME was set, as opposed to only updating time when EVENT_TIME changed.
--- kernel/events/core.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)
kernel/events/core.c +12 -2
@@ -2402,14 +2402,24 @@ static void ctx_sched_out(struct perf_ev cpuctx->task_ctx =NULL ; } - is_active ^= ctx->is_active;/* changed bits */ - +/* +* Always update time if it was set; not only when it changes. +* Otherwise we can 'forget' to update time for any but the last +* context we sched out. For example: +* +* ctx_sched_out(.event_type = EVENT_FLEXIBLE) +* ctx_sched_out(.event_type = EVENT_PINNED) +* +* would only update time for the pinned events. +*/ if (is_active &EVENT_TIME ) {/* update (and stop) ctx time */ update_context_time (ctx);update_cgrp_time_from_cpuctx (cpuctx); } + is_active ^= ctx->is_active;/* changed bits */ +if (!ctx->nr_active || !(is_active &EVENT_ALL ))return ;
Greg Kroah-Hartman
maintainerPATCH 182/200 perf hists: Fix determination of a callchain nodes childlessness
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Andres Freund <[email protected]>
commit 909890355507e92bdaf648e73870f6b5df606da8 upstream.
The 4b3a3212233a ("perf hists browser: Support flat callchains") commit over-aggressively tried to optimize callchain_node__init_have_children().
That lead to --tui mode not allowing to expand call chain elements if a call chain element had only one parent. That's why --inverted callgraphs looked halfway sane, but plain ones didn't.
Revert that individual optimization, it wasn't really related to the rest of the commit.
--- tools/perf/ui/browsers/hists.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
tools/perf/ui/browsers/hists.c +1 -1
@@ -302,7 +302,7 @@ static void callchain_node__init_have_ch chain = list_entry(node->val.next, struct callchain_list, list); chain->has_children = has_sibling; -if (node->val.next != node->val.prev) { +if (!list_empty (&node->val)) { chain = list_entry(node->val.prev, struct callchain_list, list); chain->has_children = !RB_EMPTY_ROOT (&node->rb_root); }
Greg Kroah-Hartman
maintainerPATCH 184/200 ARM: prima2: always enable reset controller
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Arnd Bergmann <[email protected]>
commit ef2b1d777d643af227a22309d8b79898b90b123c upstream.
The atlas7 clock controller driver registers a reset controller for itself, which causes a link error when the subsystem is disabled:
drivers/built-in.o: In function `atlas7_clk_init':drivers/clk/sirf/clk-atlas7.c:1681: undefined reference to `reset_controller_register'
As the clk driver does not have a Kconfig symbol for itself but it always built-in when the platform is enabled, we have to ensure that the reset controller subsystem is also built-in in this case.
--- arch/arm/mach-prima2/Kconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/mach-prima2/Kconfig +1 -0
@@ -2,6 +2,7 @@ menuconfig ARCH_SIRF bool "CSR SiRF" depends on ARCH_MULTI_V7 select ARCH_HAS_RESET_CONTROLLER + select RESET_CONTROLLER select ARCH_REQUIRE_GPIOLIB select GENERIC_IRQ_CHIP select NO_IOPORT_MAP
Greg Kroah-Hartman
maintainerPATCH 185/200 ARM: EXYNOS: select THERMAL_OF
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Arnd Bergmann <[email protected]>
commit dc7eb9d589e595954792cc192bcbb92932e5c2ff upstream.
We cannot select a symbol that has disabled dependencies, so we get a warning if we ever enable EXYNOS_THERMAL without also turning on THERMAL_OF:
warning: (ARCH_EXYNOS) selects EXYNOS_THERMAL which has unmet direct dependencies (THERMAL && (ARCH_EXYNOS || COMPILE_TEST) && THERMAL_OF)
This adds another 'select' in the platform code to avoid that case. Alternatively, we could decide to not select EXYNOS_THERMAL here and instead make it a user option.
--- arch/arm/mach-exynos/Kconfig | 1 + 1 file changed, 1 insertion(+)
arch/arm/mach-exynos/Kconfig +1 -0
@@ -27,6 +27,7 @@ menuconfig ARCH_EXYNOS select S5P_DEV_MFC select SRAM select THERMAL + select THERMAL_OF select MFD_SYSCON select CLKSRC_EXYNOS_MCT select POWER_RESET
Greg Kroah-Hartman
maintainerPATCH 186/200 ARM: dts: armada-375: use armada-370-sata for SATA
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Lior Amsalem <[email protected]>
commit b3a7f31eb7375633cd6a742f19488fc5a4208b36 upstream.
The Armada 375 has the same SATA IP as Armada 370 and Armada XP, which requires the PHY speed to be set in the LP_PHY_CTL register for SATA hotplug to work.
Therefore, this commit updates the compatible string used to describe the SATA IP in Armada 375 from marvell,orion-sata to marvell,armada-370-sata.
--- arch/arm/boot/dts/armada-375.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/armada-375.dtsi +1 -1
@@ -529,7 +529,7 @@ }; sata@a0000 { - compatible = "marvell,orion-sata"; + compatible = "marvell,armada-370-sata"; reg = <0xa0000 0x5000>; interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; clocks = <&gateclk 14>, <&gateclk 20>;
Greg Kroah-Hartman
maintainerPATCH 187/200 ARM: dts: pxa: fix dma engine node to pxa3xx-nand
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Robert Jarzmik <[email protected]>
commit 07c6b2d01d351f0512ed7145625265e435ab3240 upstream.
Since the switch from mmp_pdma to pxa_dma driver for pxa architectures, the pxa_dma requires 2 arguments, namely the requestor line and the requested priority.
Fix the only left device node which was still passing only one argument, making the pxa3xx-nand driver misbehave in a device-tree configuration, ie. failing all data transfers.
--- arch/arm/boot/dts/pxa3xx.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/pxa3xx.dtsi +1 -1
@@ -30,7 +30,7 @@ reg = <0x43100000 90>; interrupts = <45>; clocks = <&clks CLK_NAND>; - dmas = <&pdma 97>; + dmas = <&pdma 97 3>; dma-names = "data"; #address-cells = <1>; #size-cells = <1>;
Greg Kroah-Hartman
maintainerPATCH 188/200 ARM: dts: am33xx: Fix GPMC dma properties
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Franklin S Cooper Jr <[email protected]>
commit a2abf904a6b594b93c0e73a36c98ecbaa7388463 upstream.
This patch updates the GPMC's DT DMA property to reflect the updated eDMA bindings.
--- arch/arm/boot/dts/am33xx.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/am33xx.dtsi +1 -1
@@ -860,7 +860,7 @@ ti,no-idle-on-init; reg = <0x50000000 0x2000>; interrupts = <100>; - dmas = <&edma 52>; + dmas = <&edma 52 0>; dma-names = "rxtx"; gpmc,num-cs = <7>; gpmc,num-waitpins = <2>;
Greg Kroah-Hartman
maintainerPATCH 189/200 ARM: dts: am437x: Fix GPMC dma properties
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Franklin S Cooper Jr <[email protected]>
commit 883cbc901b570625f54250a37b008d3635f1fbda upstream.
This patch updates the GPMC's DT DMA property to reflect the updated eDMA bindings.
--- arch/arm/boot/dts/am4372.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/am4372.dtsi +1 -1
@@ -884,7 +884,7 @@ gpmc: gpmc@50000000 { compatible = "ti,am3352-gpmc"; ti,hwmods = "gpmc"; - dmas = <&edma 52>; + dmas = <&edma 52 0>; dma-names = "rxtx"; clocks = <&l3s_gclk>; clock-names = "fck";
Greg Kroah-Hartman
maintainerPATCH 190/200 bus: imx-weim: Take the status property value into account
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Fabio Estevam <[email protected]>
commit 33b96d2c9579213cf3f36d7b29841b1e464750c4 upstream.
Currently we have an incorrect behaviour when multiple devices are present under the weim node. For example:
&weim {
...
status = "okay";
sram@0,0 {
...
status = "okay";
};
mram@0,0 {
...
status = "disabled";
};
};In this case only the 'sram' device should be probed and not 'mram'.
However what happens currently is that the status variable is ignored, causing the 'sram' device to be disabled and 'mram' to be enabled.
Change the weim_parse_dt() function to use for_each_available_child_of_node()so that the devices marked with 'status = disabled' are not probed.
--- drivers/bus/imx-weim.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/bus/imx-weim.c +1 -1
@@ -150,7 +150,7 @@ static int __init weim_parse_dt(struct preturn ret; } -for_each_child_of_node (pdev->dev.of_node, child) { +for_each_available_child_of_node (pdev->dev.of_node, child) {if (!child->name)continue ;
Greg Kroah-Hartman
maintainerPATCH 191/200 btrfs: fix memory leak of fs_info in block group cache
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Kinglong Mee <[email protected]>
commit aa66b0bb08869d93492bd817d2eae694ca743a3d upstream.
When starting up linux with btrfs filesystem, I got many memory leak messages by kmemleak as,
unreferenced object 0xffff880066882000 (size 4096):
comm "modprobe", pid 730, jiffies 4294690024 (age 196.599s) hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff8174d52e>] kmemleak_alloc+0x4e/0xb0
[<ffffffff811d09aa>] kmem_cache_alloc_trace+0xea/0x1e0
[<ffffffffa03620fb>] btrfs_alloc_dummy_fs_info+0x6b/0x2a0 [btrfs]
[<ffffffffa03624fc>] btrfs_alloc_dummy_block_group+0x5c/0x120 [btrfs]
[<ffffffffa0360aa9>] btrfs_test_free_space_cache+0x39/0xed0 [btrfs]
[<ffffffffa03b5a74>] trace_raw_output_xfs_attr_class+0x54/0xe0 [xfs]
[<ffffffff81002122>] do_one_initcall+0xb2/0x1f0
[<ffffffff811765aa>] do_init_module+0x5e/0x1e9
[<ffffffff810fec09>] load_module+0x20a9/0x2690
[<ffffffff810ff439>] SyS_finit_module+0xb9/0xf0
[<ffffffff81757daf>] entry_SYSCALL_64_fastpath+0x12/0x76
[<ffffffffffffffff>] 0xffffffffffffffff
unreferenced object 0xffff8800573f8000 (size 10256):
comm "modprobe", pid 730, jiffies 4294690185 (age 196.460s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff8174d52e>] kmemleak_alloc+0x4e/0xb0
[<ffffffff8119ca6e>] kmalloc_order+0x5e/0x70
[<ffffffff8119caa4>] kmalloc_order_trace+0x24/0x90
[<ffffffffa03620b3>] btrfs_alloc_dummy_fs_info+0x23/0x2a0 [btrfs]
[<ffffffffa03624fc>] btrfs_alloc_dummy_block_group+0x5c/0x120 [btrfs]
[<ffffffffa036603d>] run_test+0xfd/0x320 [btrfs]
[<ffffffffa0366f34>] btrfs_test_free_space_tree+0x94/0xee [btrfs]
[<ffffffffa03b5aab>] trace_raw_output_xfs_attr_class+0x8b/0xe0 [xfs]
[<ffffffff81002122>] do_one_initcall+0xb2/0x1f0
[<ffffffff811765aa>] do_init_module+0x5e/0x1e9
[<ffffffff810fec09>] load_module+0x20a9/0x2690
[<ffffffff810ff439>] SyS_finit_module+0xb9/0xf0
[<ffffffff81757daf>] entry_SYSCALL_64_fastpath+0x12/0x76
[<ffffffffffffffff>] 0xffffffffffffffffThis patch lets btrfs using fs_info stored in btrfs_root for block group cache directly without allocating a new one.
--- fs/btrfs/tests/btrfs-tests.c | 6 ------ fs/btrfs/tests/free-space-tree-tests.c | 1 + 2 files changed, 1 insertion(+), 6 deletions(-)
fs/btrfs/tests/btrfs-tests.c +0 -6
@@ -189,12 +189,6 @@ btrfs_alloc_dummy_block_group(unsigned lkfree (cache);return NULL ; } - cache->fs_info =btrfs_alloc_dummy_fs_info (); -if (!cache->fs_info) { -kfree (cache->free_space_ctl); -kfree (cache); -return NULL ; - } cache->key.objectid =0 ; cache->key.offset = length;
fs/btrfs/tests/free-space-tree-tests.c +1 -0
@@ -485,6 +485,7 @@ static int run_test(test_func_t test_fun cache->bitmap_low_thresh =0 ; cache->bitmap_high_thresh = (u32)-1 ; cache->needs_free_space =1 ; + cache->fs_info = root->fs_info;btrfs_init_dummy_trans (&trans);
Greg Kroah-Hartman
maintainerPATCH 192/200 btrfs: cleaner_kthread() doesnt need explicit freeze
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jiri Kosina <[email protected]>
commit 838fe1887765f4cc679febea60d87d2a06bd300e upstream.
cleaner_kthread() is not marked freezable, and therefore calling try_to_freeze() in its context is a pointless no-op.
In addition to that, as has been clearly demonstrated by 80ad623edd2d ("Revert "btrfs: clear PF_NOFREEZE in cleaner_kthread()"), it's perfectly valid / legal for cleaner_kthread() to stay scheduled out in an arbitrary place during suspend (in that particular example that was waiting for reading of extent pages), so there is no need to leave any traces of freezer in this kthread.
--- fs/btrfs/disk-io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/btrfs/disk-io.c +1 -1
@@ -1830,7 +1830,7 @@ static int cleaner_kthread(void *arg)*/ btrfs_delete_unused_bgs (root->fs_info); sleep: -if (!try_to_freeze () && !again) { +if (!again) {set_current_state (TASK_INTERRUPTIBLE );if (!kthread_should_stop ())schedule ();
Greg Kroah-Hartman
maintainerPATCH 193/200 unbreak allmodconfig KCONFIG_ALLCONFIG=...
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Al Viro <[email protected]>
commit 6b87b70c5339f30e3c5b32085e69625906513dc2 upstream.
Prior to 3.13 make allmodconfig KCONFIG_ALLCONFIG=/dev/null used
to be equivalent to make allmodconfig; these days it hardwires MODULES to n. In fact, any KCONFIG_ALLCONFIG that doesn't set MODULES explicitly is treated as if it set it to n.
Regression had been introduced by commit cfa98f ("kconfig: do not
override symbols already set"); what happens is that conf_read_simple() does sym_calc_value(modules_sym) on exit, which leaves SYMBOL_VALID set and has conf_set_all_new_symbols() skip modules_sym.
It's pretty easy to fix - simply move that call of sym_calc_value()
into the callers, except for the ones in KCONFIG_ALLCONFIG handling. Objections?
--- scripts/kconfig/confdata.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
scripts/kconfig/confdata.c +7 -5
@@ -267,10 +267,8 @@ int conf_read_simple(const char *name, iif (in) goto load;sym_add_change_count (1 ); -if (!sym_defconfig_list) { -sym_calc_value (modules_sym); +if (!sym_defconfig_list)return 1 ; - } for_all_defaults(sym_defconfig_list, prop) { if (expr_calc_value(prop->visible.expr) == no ||
@@ -403,7 +401,6 @@ setsym: }free (line);fclose (in); -sym_calc_value (modules_sym);return 0 ; }
@@ -414,8 +411,12 @@ int conf_read(const char *name)sym_set_change_count (0 ); -if (conf_read_simple (name,S_DEF_USER )) +if (conf_read_simple (name,S_DEF_USER )) { +sym_calc_value (modules_sym);return 1 ; + } + +sym_calc_value (modules_sym); for_all_symbols(i, sym) {sym_calc_value (sym);
@@ -846,6 +847,7 @@ static int conf_split_config(void) name =conf_get_autoconfig_name ();conf_read_simple (name,S_DEF_AUTO ); +sym_calc_value (modules_sym);if (chdir ("include/config" ))return 1 ;
Greg Kroah-Hartman
maintainerPATCH 194/200 thermal: rockchip: fix a impossible condition caused by the warning
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Caesar Wang <[email protected]>
commit 43b4eb9fe719b107c8e5d49d1edbff0c135a42cb upstream.
As the Dan report the smatch check the thermal driver warning:drivers/thermal/rockchip_thermal.c:551 rockchip_configure_from_dt()
warn: impossible condition '(thermal->tshut_temp > ((~0 >> 1))) => (s32min-s32max > s32max)'
Although The shut_temp read from DT is u32,the temperature is currently represented as int not long in the thermal driver.
Let's change to make shut_temp instead of the thermal->tshut_temp for the condition.
("thermal: rockchip: consistently use int for temperatures")
--- drivers/thermal/rockchip_thermal.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
drivers/thermal/rockchip_thermal.c +5 -6
@@ -693,15 +693,14 @@ static int rockchip_configure_from_dt(st thermal->chip->tshut_temp); thermal->tshut_temp = thermal->chip->tshut_temp; }else { +if (shut_temp >INT_MAX ) { +dev_err (dev,"Invalid tshut temperature specified: %d\n" , + shut_temp); +return -ERANGE ; + } thermal->tshut_temp = shut_temp; } -if (thermal->tshut_temp >INT_MAX ) { -dev_err (dev,"Invalid tshut temperature specified: %d\n" , - thermal->tshut_temp); -return -ERANGE ; - } -if (of_property_read_u32 (np,"rockchip,hw-tshut-mode" , &tshut_mode)) { dev_warn(dev, "Missing tshut mode property, using default (%s)\n",
Greg Kroah-Hartman
maintainerPATCH 195/200 sunrpc/cache: drop reference when sunrpc_cache_pipe_upcall() detects a race
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: NeilBrown <[email protected]>
commit a6ab1e8126d205238defbb55d23661a3a5c6a0d8 upstream.
sunrpc_cache_pipe_upcall() can detect a race if CACHE_PENDING is no longer set. In this case it aborts the queuing of the upcall.
However it has already taken a new counted reference on "h" and doesn't "put" it, even though it frees the data structure holding the reference.
So let's delay the "cache_get" until we know we need it.
--- net/sunrpc/cache.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
net/sunrpc/cache.c +3 -3
@@ -1182,14 +1182,14 @@ int sunrpc_cache_pipe_upcall(struct cach } crq->q.reader =0 ; - crq->item =cache_get (h); crq->buf = buf; crq->len =0 ; crq->readers =0 ;spin_lock (&queue_lock); -if (test_bit (CACHE_PENDING , &h->flags)) +if (test_bit (CACHE_PENDING , &h->flags)) { + crq->item =cache_get (h);list_add_tail (&crq->q.list, &detail->queue); -else + }else /* Lost a race, no longer PENDING, so don't enqueue */ ret = -EAGAIN ;spin_unlock (&queue_lock);
Greg Kroah-Hartman
maintainerPATCH 196/200 megaraid_sas: add missing curly braces in ioctl handler
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Arnd Bergmann <[email protected]>
commit 3deb9438d34a09f6796639b652a01d110aca9f75 upstream.
gcc-6 found a dubious indentation in the megasas_mgmt_fw_ioctl function:
drivers/scsi/megaraid/megaraid_sas_base.c: In function 'megasas_mgmt_fw_ioctl':drivers/scsi/megaraid/megaraid_sas_base.c:6658:4: warning: statement is indented as if it were guarded by... [-Wmisleading-indentation]
kbuff_arr[i] = NULL;
^~~~~~~~~drivers/scsi/megaraid/megaraid_sas_base.c:6653:3: note: ...this 'if' clause, but it is not
if (kbuff_arr[i])
^~
The code is actually correct, as there is no downside in clearing a NULL pointer again.
This clarifies the code and avoids the warning by adding extra curly braces.
--- drivers/scsi/megaraid/megaraid_sas_base.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/scsi/megaraid/megaraid_sas_base.c +2 -1
@@ -6282,12 +6282,13 @@ out: }for (i =0 ; i < ioc->sge_count; i++) { -if (kbuff_arr[i]) +if (kbuff_arr[i]) {dma_free_coherent (&instance->pdev->dev,le32_to_cpu (kern_sge32[i].length), kbuff_arr[i],le32_to_cpu (kern_sge32[i].phys_addr)); kbuff_arr[i] =NULL ; + } }megasas_return_cmd (instance, cmd);
Greg Kroah-Hartman
maintainerPATCH 197/200 tpm: fix checks for policy digest existence in tpm2_seal_trusted()
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jarkko Sakkinen <[email protected]>
commit f3c82ade7c59303167d56b0be3e0707751fc45e2 upstream.
In my original patch sealing with policy was done with dynamically allocated buffer that I changed later into an array so the checks in tpm2-cmd.c became invalid. This patch fixes the issue.
--- drivers/char/tpm/tpm2-cmd.c | 12 ++++-------- include/keys/trusted-type.h | 2 +- security/keys/trusted.c | 11 +++++------ 3 files changed, 10 insertions(+), 15 deletions(-)
drivers/char/tpm/tpm2-cmd.c +4 -8
@@ -478,20 +478,16 @@ int tpm2_seal_trusted(struct tpm_chip *ctpm_buf_append_u8 (&buf, payload->migratable);/* public */ -if (options->policydigest) -tpm_buf_append_u16 (&buf,14 + options->digest_len); -else -tpm_buf_append_u16 (&buf,14 ); - +tpm_buf_append_u16 (&buf,14 + options->policydigest_len);tpm_buf_append_u16 (&buf,TPM2_ALG_KEYEDHASH );tpm_buf_append_u16 (&buf, hash);/* policy */ -if (options->policydigest) { +if (options->policydigest_len) {tpm_buf_append_u32 (&buf,0 ); -tpm_buf_append_u16 (&buf, options->digest_len); +tpm_buf_append_u16 (&buf, options->policydigest_len);tpm_buf_append (&buf, options->policydigest, - options->digest_len); + options->policydigest_len); }else {tpm_buf_append_u32 (&buf,TPM2_ATTR_USER_WITH_AUTH );tpm_buf_append_u16 (&buf,0 );
include/keys/trusted-type.h +1 -1
@@ -38,7 +38,7 @@ struct trusted_key_options {unsigned char pcrinfo[MAX_PCRINFO_SIZE ];int pcrlock;uint32_t hash; -uint32_t digest_len; +uint32_t policydigest_len;unsigned char policydigest[MAX_DIGEST_SIZE ];uint32_t policyhandle; };
security/keys/trusted.c +5 -6
@@ -744,6 +744,7 @@ static int getoptions(char *c, struct trunsigned long handle;unsigned long lock;unsigned long token_mask =0 ; +unsigned int digest_len;int i;int tpm2;
@@ -752,7 +753,6 @@ static int getoptions(char *c, struct trreturn tpm2; opt->hash = tpm2 ?HASH_ALGO_SHA256 :HASH_ALGO_SHA1 ; - opt->digest_len = hash_digest_size[opt->hash];while ((p =strsep (&c," \t" ))) {if (*p =='\0' || *p ==' ' || *p =='\t' )
@@ -812,8 +812,6 @@ static int getoptions(char *c, struct trfor (i =0 ; i <HASH_ALGO__LAST ; i++) {if (!strcmp (args[0 ].from, hash_algo_name[i])) { opt->hash = i; - opt->digest_len = - hash_digest_size[opt->hash];break ; } }
@@ -825,13 +823,14 @@ static int getoptions(char *c, struct tr }break ;case Opt_policydigest: -if (!tpm2 || -strlen (args[0 ].from) != (2 * opt->digest_len)) + digest_len = hash_digest_size[opt->hash]; +if (!tpm2 ||strlen (args[0 ].from) != (2 * digest_len))return -EINVAL ; res =hex2bin (opt->policydigest, args[0 ].from, - opt->digest_len); + digest_len);if (res <0 )return -EINVAL ; + opt->policydigest_len = digest_len;break ;case Opt_policyhandle:if (!tpm2)
Greg Kroah-Hartman
maintainerPATCH 198/200 tpm: fix: set continueSession attribute for the unseal operation
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jarkko Sakkinen <[email protected]>
commit c0b5eed110dcf520aadafefbcc40658cbdd18b95 upstream.
It's better to set the continueSession attribute for the unseal operation so that the session object is not removed as a side-effect when the operation is successful. Since a user process created the session, it should be also decide when the session is destroyed.
--- drivers/char/tpm/tpm2-cmd.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
drivers/char/tpm/tpm2-cmd.c +7 -3
@@ -20,7 +20,11 @@#include <keys/trusted-type.h> enum tpm2_object_attributes { -TPM2_ATTR_USER_WITH_AUTH =BIT (6 ), +TPM2_OA_USER_WITH_AUTH =BIT (6 ), +}; + +enum tpm2_session_attributes { +TPM2_SA_CONTINUE_SESSION =BIT (0 ), };struct tpm2_startup_in {
@@ -489,7 +493,7 @@ int tpm2_seal_trusted(struct tpm_chip *ctpm_buf_append (&buf, options->policydigest, options->policydigest_len); }else { -tpm_buf_append_u32 (&buf,TPM2_ATTR_USER_WITH_AUTH ); +tpm_buf_append_u32 (&buf,TPM2_OA_USER_WITH_AUTH );tpm_buf_append_u16 (&buf,0 ); }
@@ -627,7 +631,7 @@ static int tpm2_unseal(struct tpm_chip * options->policyhandle ? options->policyhandle :TPM2_RS_PW ,NULL /* nonce */ ,0 , -0 /* session_attributes */ , +TPM2_SA_CONTINUE_SESSION , options->blobauth/* hmac */ , TPM_DIGEST_SIZE);
Greg Kroah-Hartman
maintainerPATCH 199/200 stm class: Select CONFIG_SRCU
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Arnd Bergmann <[email protected]>
commit 042d4460b5b4379a12f375045ff9065cf6758735 upstream.
The newly added STM code uses SRCU, but does not ensure that this code is part of the kernel:
drivers/built-in.o: In function `stm_source_link_show':include/linux/srcu.h:221: undefined reference to __srcu_read_lock' include/linux/srcu.h:238: undefined reference to __srcu_read_unlock' drivers/built-in.o: In function `stm_source_link_drop':include/linux/srcu.h:221: undefined reference to __srcu_read_lock' include/linux/srcu.h:238: undefined reference to __srcu_read_unlock'
This adds a Kconfig 'select' statement like all the other SRCU using drivers have.
--- drivers/hwtracing/stm/Kconfig | 1 + 1 file changed, 1 insertion(+)
drivers/hwtracing/stm/Kconfig +1 -0
@@ -1,6 +1,7 @@ config STM tristate "System Trace Module devices" select CONFIGFS_FS + select SRCU help A System Trace Module (STM) is a device exporting data in System Trace Protocol (STP) format as defined by MIPI STP standards.
Greg Kroah-Hartman
maintainerPATCH 200/200 extcon: max77843: Use correct size for reading the interrupt register
In reply to Greg Kroah-Hartman4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dan Carpenter <[email protected]>
commit c4924e92442d7218bd725e47fa3988c73aae84c9 upstream.
The info->status[] array has 3 elements. We are using size MAX77843_MUIC_IRQ_NUM (16) instead of MAX77843_MUIC_STATUS_NUM (3) as intended.
--- drivers/extcon/extcon-max77843.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/extcon/extcon-max77843.c +1 -1
@@ -803,7 +803,7 @@ static int max77843_muic_probe(struct pl/* Clear IRQ bits before request IRQs */ ret =regmap_bulk_read (max77843->regmap_muic,MAX77843_MUIC_REG_INT1 , info->status, -MAX77843_MUIC_IRQ_NUM ); +MAX77843_MUIC_STATUS_NUM );if (ret) {dev_err (&pdev->dev,"Failed to Clear IRQ bits\n" ); goto err_muic_irq;
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.5.3 release. There are 200 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Thu May 5 00:05:29 UTC 2016. Anything received after that time might be too late.
Build results:
total: 147 pass: 144 fail: 3
Failed builds:
arm:allmodconfig
arm64:allmodconfig
mips:allmodconfig
Qemu test results:
total: 107 pass: 90 fail: 17 Failed tests: arm:beagle:multi_v7_defconfig:omap3-beagle arm:beaglexm:multi_v7_defconfig:omap3-beagle-xm arm:overo:multi_v7_defconfig:omap3-overo-tobi arm:vexpress-a9:multi_v7_defconfig:vexpress-v2p-ca9 arm:vexpress-a15:multi_v7_defconfig:vexpress-v2p-ca15-tc1 arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zc702 arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zc706 arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zed arm:midway:multi_v7_defconfig:ecx-2000 arm:smdkc210:multi_v7_defconfig:exynos4210-smdkv310 arm:akita:pxa_defconfig arm:borzoi:pxa_defconfig arm:mainstone:pxa_defconfig arm:spitz:pxa_defconfig arm:terrier:pxa_defconfig arm:tosa:pxa_defconfig arm:z2:pxa_defconfig
Details are available at http://kerneltests.org/builders.
Same problem as with 4.4.
drivers/spi/spi-rockchip.c: In function 'rockchip_spi_prepare_dma':drivers/spi/spi-rockchip.c:458:19: error: 'struct dma_slave_caps' has no member named 'max_burst' drivers/spi/spi-rockchip.c:478:19: error: 'struct dma_slave_caps' has no member named 'max_burst'
As with 4.4, this is caused by "spi: rockchip: modify DMA max burst to 1". Commit 6d5bbed30f89 ("dmaengine: core: expose max burst capability to clients") does apply here and fixes the build problem.
Guenter
Greg Kroah-Hartman
maintainerQuoted 42 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.5.3 release. There are 200 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Thu May 5 00:05:29 UTC 2016. Anything received after that time might be too late.
Build results:
total: 147 pass: 144 fail: 3Failed builds:
arm:allmodconfig
arm64:allmodconfig
mips:allmodconfigQemu test results:
total: 107 pass: 90 fail: 17 Failed tests: arm:beagle:multi_v7_defconfig:omap3-beagle arm:beaglexm:multi_v7_defconfig:omap3-beagle-xm arm:overo:multi_v7_defconfig:omap3-overo-tobi arm:vexpress-a9:multi_v7_defconfig:vexpress-v2p-ca9 arm:vexpress-a15:multi_v7_defconfig:vexpress-v2p-ca15-tc1 arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zc702 arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zc706 arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zed arm:midway:multi_v7_defconfig:ecx-2000 arm:smdkc210:multi_v7_defconfig:exynos4210-smdkv310 arm:akita:pxa_defconfig arm:borzoi:pxa_defconfig arm:mainstone:pxa_defconfig arm:spitz:pxa_defconfig arm:terrier:pxa_defconfig arm:tosa:pxa_defconfig arm:z2:pxa_defconfigDetails are available at http://kerneltests.org/builders.
Same problem as with 4.4.
Quoted 7 lines
drivers/spi/spi-rockchip.c: In function 'rockchip_spi_prepare_dma':drivers/spi/spi-rockchip.c:458:19: error: 'structdma_slave_caps' has no member named 'max_burst'drivers/spi/spi-rockchip.c:478:19: error: 'structdma_slave_caps' has no member named 'max_burst'As with 4.4, this is caused by "spi: rockchip: modify DMA max burst to 1". Commit
6d5bbed30f89("dmaengine: core: expose max burst capability to clients") does apply here and fixes the build problem.
I've now deleted this patch, thanks for letting me know.
greg k-h
Quoted 47 lines · Greg Kroah-Hartman
Quoted 46 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.5.3 release. There are 200 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Thu May 5 00:05:29 UTC 2016. Anything received after that time might be too late.
Build results:
total: 147 pass: 144 fail: 3Failed builds:
arm:allmodconfig
arm64:allmodconfig
mips:allmodconfigQemu test results:
total: 107 pass: 90 fail: 17 Failed tests: arm:beagle:multi_v7_defconfig:omap3-beagle arm:beaglexm:multi_v7_defconfig:omap3-beagle-xm arm:overo:multi_v7_defconfig:omap3-overo-tobi arm:vexpress-a9:multi_v7_defconfig:vexpress-v2p-ca9 arm:vexpress-a15:multi_v7_defconfig:vexpress-v2p-ca15-tc1 arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zc702 arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zc706 arm:xilinx-zynq-a9:multi_v7_defconfig:zynq-zed arm:midway:multi_v7_defconfig:ecx-2000 arm:smdkc210:multi_v7_defconfig:exynos4210-smdkv310 arm:akita:pxa_defconfig arm:borzoi:pxa_defconfig arm:mainstone:pxa_defconfig arm:spitz:pxa_defconfig arm:terrier:pxa_defconfig arm:tosa:pxa_defconfig arm:z2:pxa_defconfigDetails are available at http://kerneltests.org/builders.
Same problem as with 4.4.
drivers/spi/spi-rockchip.c: In function 'rockchip_spi_prepare_dma':drivers/spi/spi-rockchip.c:458:19: error: 'structdma_slave_caps' has no member named 'max_burst'drivers/spi/spi-rockchip.c:478:19: error: 'structdma_slave_caps' has no member named 'max_burst'
Quoted 6 lines
Quoted 3 lines
As with 4.4, this is caused by "spi: rockchip: modify DMA max burst to 1". Commit
6d5bbed30f89("dmaengine: core: expose max burst capability to clients") does apply here and fixes the build problem.I've now deleted this patch, thanks for letting me know.
Both 4.4 and 4.5 are now clean - all build and qemu tests pass.
Guenter
Quoted 5 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.5.3 release. There are 200 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Quoted 7 lines
Responses should be made by Thu May 5 00:05:29 UTC 2016. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.5.3-rc1.gzand the diffstat can be found below.
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Greg Kroah-Hartman
maintainerQuoted 9 lines · Shuah Khan
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.5.3 release. There are 200 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Thu May 5 00:05:29 UTC 2016. Anything received after that time might be too late.
Quoted 6 lines
Quoted 4 lines
The whole patch series can be found in one patch at:
kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.5.3-rc1.gzand the diffstat can be found below.
Compiled and booted on my test system. No dmesg regressions.
Thanks for testing all of these and letting me know.
greg k-h