* linux-next: manual merge of the block tree with Linus' tree
From: Stephen Rothwell @ 2017-06-30 2:08 UTC (permalink / raw)
To: Jens Axboe
Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
Christoph Hellwig
Hi Jens,
Today's linux-next merge of the block tree got a conflict in:
fs/block_dev.c
between commit:
9ae3b3f52c62 ("block: provide bio_uninit() free freeing integrity/task associations")
from Linus' tree and commit:
4e4cbee93d56 ("block: switch bios to blk_status_t")
from the block tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc fs/block_dev.c
index 9e9f25dc69bc,2c5f08696fff..000000000000
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@@ -262,11 -263,8 +263,11 @@@ __blkdev_direct_IO_simple(struct kiocb
if (vecs != inline_vecs)
kfree(vecs);
- if (unlikely(bio.bi_error))
- ret = bio.bi_error;
+ if (unlikely(bio.bi_status))
- return blk_status_to_errno(bio.bi_status);
++ ret = blk_status_to_errno(bio.bi_status);
+
+ bio_uninit(&bio);
+
return ret;
}
^ permalink raw reply
* linux-next: build warning after merge of the drivers-x86 tree
From: Stephen Rothwell @ 2017-06-30 4:00 UTC (permalink / raw)
To: Darren Hart
Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Arvind Yadav
Hi Darren,
After merging the drivers-x86 tree, today's linux-next build (x86_64
allmodconfig) produced this warning:
drivers/platform/x86/sony-laptop.c: In function 'sony_laptop_setup_input':
drivers/platform/x86/sony-laptop.c:494:19: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
key_dev->keycode = &sony_laptop_input_keycode_map;
^
Introduced by commit
a0f0a5e1978b ("platform/x86: sony-laptop: constify few static structures")
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* linux-next: build warning after merge of the pinctrl tree
From: Stephen Rothwell @ 2017-06-30 4:56 UTC (permalink / raw)
To: Linus Walleij; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List
Hi Linus,
After merging the pinctrl tree, today's linux-next build (x86_64
allmodconfig) produced this warning:
drivers/pinctrl/pinctrl-rza1.c: In function 'rza1_pinctrl_probe':
drivers/pinctrl/pinctrl-rza1.c:1260:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
if (ret)
^
Introduced by commit
5a49b644b307 ("pinctrl: Renesas RZ/A1 pin and gpio controller")
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* Re: linux-next: build warning after merge of the pinctrl tree
From: Stephen Rothwell @ 2017-06-30 4:57 UTC (permalink / raw)
To: Linus Walleij
Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Jacopo Mondi,
Geert Uytterhoeven
In-Reply-To: <20170630145601.441b4994@canb.auug.org.au>
Hi all,
[Just adding cc's]
On Fri, 30 Jun 2017 14:56:01 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the pinctrl tree, today's linux-next build (x86_64
> allmodconfig) produced this warning:
>
> drivers/pinctrl/pinctrl-rza1.c: In function 'rza1_pinctrl_probe':
> drivers/pinctrl/pinctrl-rza1.c:1260:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
> if (ret)
> ^
>
> Introduced by commit
>
> 5a49b644b307 ("pinctrl: Renesas RZ/A1 pin and gpio controller")
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* Re: linux-next: manual merge of the target-updates tree with the scsi-mkp tree
From: Stephen Rothwell @ 2017-06-30 5:11 UTC (permalink / raw)
To: Nicholas A. Bellinger, James Bottomley
Cc: Martin K. Petersen, Linux-Next Mailing List,
Linux Kernel Mailing List, Quinn Tran
In-Reply-To: <20170613164742.7308e4dd@canb.auug.org.au>
Hi all,
With the merge window approaching, this is just a reminder that the
following conflict still exists. No action is necessarily needed
except to maybe mention this to Linus at the appropriate time.
James, you have been added since you merged the scsi-mkp tree int the
scsi tree.
On Tue, 13 Jun 2017 16:47:42 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Hi Nicholas,
>
> Today's linux-next merge of the target-updates tree got a conflict in:
>
> drivers/scsi/qla2xxx/qla_target.c
>
> between commit:
>
> f775bd14e44d ("scsi: qla2xxx: Convert 32-bit LUN usage to 64-bit")
>
> from the scsi-mkp tree and commit:
>
> 6b26726af699 ("qla2xxx: Convert QLA_TGT_ABTS to TARGET_SCF_LOOKUP_LUN_FROM_TAG")
>
> from the target-updates tree.
>
> I fixed it up (I basically used the latter verion of
> __qlt_24xx_handle_abts()) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* Re: linux-next: build warning after merge of the drivers-x86 tree
From: Arvind Yadav @ 2017-06-30 5:12 UTC (permalink / raw)
To: Stephen Rothwell, Darren Hart
Cc: Linux-Next Mailing List, Linux Kernel Mailing List
In-Reply-To: <20170630140054.38f98968@canb.auug.org.au>
Hi,
I have push one more patch which does not have this warning.
please avoid my first patch.
Thanks
~ arvind
On Friday 30 June 2017 09:30 AM, Stephen Rothwell wrote:
> Hi Darren,
>
> After merging the drivers-x86 tree, today's linux-next build (x86_64
> allmodconfig) produced this warning:
>
> drivers/platform/x86/sony-laptop.c: In function 'sony_laptop_setup_input':
> drivers/platform/x86/sony-laptop.c:494:19: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
> key_dev->keycode = &sony_laptop_input_keycode_map;
> ^
>
> Introduced by commit
>
> a0f0a5e1978b ("platform/x86: sony-laptop: constify few static structures")
>
^ permalink raw reply
* Re: [linux-next] cpus stalls detected few hours after booting next kernel
From: Abdul Haleem @ 2017-06-30 5:22 UTC (permalink / raw)
To: Nicholas Piggin
Cc: sachinp, Stephen Rothwell, Paul McKenney, linux-kernel,
linux-next, paulus, linuxppc-dev
In-Reply-To: <20170630004534.228f7c08@roar.ozlabs.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 3830 bytes --]
On Fri, 2017-06-30 at 00:45 +1000, Nicholas Piggin wrote:
> On Thu, 29 Jun 2017 20:23:05 +1000
> Nicholas Piggin <npiggin@gmail.com> wrote:
>
> > On Thu, 29 Jun 2017 19:36:14 +1000
> > Nicholas Piggin <npiggin@gmail.com> wrote:
>
> > > I don't *think* the replay-wakeup-interrupt patch is directly involved, but
> > > it's likely to be one of the idle patches.
>
> Okay this turned out to be misconfigured sleep states I added for the
> simulator, sorry for the false alarm.
>
> > Although you have this in the backtrace. I wonder if that's a stuck
> > lock in rcu_process_callbacks?
>
> So this spinlock becomes top of the list of suspects. Can you try
> enabling lockdep and try to reproduce it?
Yes, recreated again with CONFIG_LOCKDEP=y & CONFIG_DEBUG_LOCKDEP=y set.
I do not see any difference in trace messages with and without LOCKDEP
enabled.
Please find the attached log file.
>
> > [ 5948.345539] CPU: 63 PID: 7360 Comm: rs:main Q:Reg Not tainted \
> > 4.12.0-rc7-next-20170628 #2 [ 5948.345612] task: c000000f1c14e600 task.stack: \
> > c000000f1c1e8000 [ 5948.345672] NIP: c0000000009c7a10 LR: c0000000009c7a08 CTR: \
> > c00000000015eda0 [ 5948.358553] REGS: c000000f1c1eb150 TRAP: 0501 Not tainted \
> > (4.12.0-rc7-next-20170628) [ 5948.358623] MSR: 9000000000009033 \
> > <SF,HV,EE,ME,IR,DR,RI,LE> [ 5948.358626] CR: 28082884 XER: 20000000
> > [ 5948.358706] CFAR: c0000000009c7a28 SOFTE: 1
> > GPR00: c00000000015f14c c000000f1c1eb3d0 c000000001062b00 0000000000000001
> > GPR04: c000000fff6e6180 0000000000000000 0000000000000001 00000000000000cc
> > GPR08: 0000000000000001 000000008000004a 0000000000000000 0000000000000000
> > GPR12: c00000000015eda0 c00000000fd55a80
> > [ 5948.358986] NIP [c0000000009c7a10] _raw_spin_lock_irqsave+0x90/0x100
> > [ 5948.359043] LR [c0000000009c7a08] _raw_spin_lock_irqsave+0x88/0x100
> > [ 5948.359099] Call Trace:
> > [ 5948.359123] [c000000f1c1eb3d0] [0000000000000001] 0x1 (unreliable)
> > [ 5948.359182] [c000000f1c1eb410] [c00000000015f14c] \
> d> rcu_process_callbacks+0x3ac/0x620 [ 5948.359252] [c000000f1c1eb4c0] \
> > [c0000000000e1e0c] __do_softirq+0x14c/0x3a0 [ 5948.365958] [c000000f1c1eb5b0] \
> > [c0000000000e2448] irq_exit+0x108/0x120 [ 5948.366016] [c000000f1c1eb5d0] \
> > [c0000000000232b4] timer_interrupt+0xa4/0xe0 [ 5948.366075] [c000000f1c1eb600] \
> > [c000000000009208] decrementer_common+0x158/0x160 [ 5948.366149] --- interrupt: 901 \
> > at start_this_handle+0xd0/0x4b0 LR = jbd2__journal_start+0x17c/0x2b0
> > [ 5948.366242] [c000000f1c1eb8f0] [c000000f20a5cb00] 0xc000000f20a5cb00 (unreliable)
> > [ 5948.366314] [c000000f1c1eba00] [c00000000040717c] jbd2__journal_start+0x17c/0x2b0
> > [ 5948.366388] [c000000f1c1eba70] [c00000000038edf4] \
> > __ext4_journal_start_sb+0x84/0x180 [ 5948.366459] [c000000f1c1ebad0] \
> > [c0000000003b47dc] ext4_da_write_begin+0x17c/0x520 [ 5948.366532] [c000000f1c1ebb90] \
> > [c00000000021f9c8] generic_perform_write+0xe8/0x250 [ 5948.366604] [c000000f1c1ebc20] \
> > [c000000000220d20] __generic_file_write_iter+0x200/0x240 [ 5948.366677] \
> > [c000000f1c1ebc80] [c00000000039d614] ext4_file_write_iter+0x2e4/0x4d0 [ 5948.373255] \
> > [c000000f1c1ebd00] [c0000000002e13c0] __vfs_write+0x120/0x200 [ 5948.373313] \
> > [c000000f1c1ebd90] [c0000000002e2c48] vfs_write+0xc8/0x240 [ 5948.373371] \
> > [c000000f1c1ebde0] [c0000000002e4940] SyS_write+0x60/0x110 [ 5948.373430] \
> > [c000000f1c1ebe30] [c00000000000b8e0] system_call+0x38/0xdc [ 5948.373486] \
> > Instruction dump: [ 5948.373521] 7fe3fb78 e8010010 eba1ffe8 ebc1fff0 ebe1fff8 \
> > 7c0803a6 4e800020 8bad028a [ 5948.373592] 7fe3fb78 4b64db15 60000000 7c210b78 \
> > <e92d0000> 89290009 792affe3 40820048 [ 5948.374515] Sending NMI from CPU 74 to CPUs \
> >
>
--
Regard's
Abdul Haleem
IBM Linux Technology Centre
[-- Attachment #2: trace-with-lockdep --]
[-- Type: text/plain, Size: 53978 bytes --]
[ 9296.490900] INFO: rcu_sched detected stalls on CPUs/tasks:
[ 9296.491039] 8-...: (18788 GPs behind) idle=0cc/0/0 softirq=653/653 fqs=0
[ 9296.491081] 9-...: (18788 GPs behind) idle=860/0/0 softirq=702/702 fqs=0
[ 9296.491114] 10-...: (47558 GPs behind) idle=f90/0/0 softirq=493/493 fqs=0
[ 9296.491147] 14-...: (18791 GPs behind) idle=840/0/0 softirq=816/816 fqs=0
[ 9296.491180] 17-...: (1976 GPs behind) idle=0ec/0/0 softirq=1147/1147 fqs=0
[ 9296.491221] 19-...: (60 GPs behind) idle=6a8/0/0 softirq=1551/1551 fqs=0
[ 9296.491256] 23-...: (965 GPs behind) idle=f2c/0/0 softirq=1130/1131 fqs=0
[ 9296.491289] 25-...: (37469 GPs behind) idle=170/0/0 softirq=599/599 fqs=0
[ 9296.491444] 27-...: (47543 GPs behind) idle=3b0/0/0 softirq=606/606 fqs=0
[ 9296.491479] 28-...: (47541 GPs behind) idle=5d4/0/0 softirq=503/504 fqs=0
[ 9296.491514] 29-...: (47541 GPs behind) idle=8b4/0/0 softirq=470/470 fqs=0
[ 9296.491547] 32-...: (2324 GPs behind) idle=7c4/0/0 softirq=946/946 fqs=0
[ 9296.491580] 33-...: (37473 GPs behind) idle=5a0/0/0 softirq=618/618 fqs=0
[ 9296.491616] 37-...: (9317 GPs behind) idle=c98/0/0 softirq=679/679 fqs=0
[ 9296.491649] 38-...: (9316 GPs behind) idle=c14/0/0 softirq=788/788 fqs=0
[ 9296.491682] 39-...: (2324 GPs behind) idle=884/0/0 softirq=713/714 fqs=0
[ 9296.491715] 41-...: (0 ticks this GP) idle=2c8/0/0 softirq=854/854 fqs=0
[ 9296.491748] 46-...: (18790 GPs behind) idle=074/0/0 softirq=578/578 fqs=0
[ 9296.491781] 47-...: (17262 GPs behind) idle=a80/0/0 softirq=651/652 fqs=0
[ 9296.491814] 49-...: (37469 GPs behind) idle=a24/0/0 softirq=609/609 fqs=0
[ 9296.491850] 50-...: (91 GPs behind) idle=278/0/0 softirq=508/508 fqs=0
[ 9296.491883] 51-...: (47405 GPs behind) idle=9f8/0/0 softirq=500/500 fqs=0
[ 9296.491916] 53-...: (398 GPs behind) idle=6f4/0/0 softirq=907/907 fqs=0
[ 9296.491949] 55-...: (103 GPs behind) idle=ec0/0/0 softirq=1396/1397 fqs=0
[ 9296.491982] 62-...: (47405 GPs behind) idle=01c/0/0 softirq=616/616 fqs=0
[ 9296.492015] 66-...: (1864 GPs behind) idle=6d0/0/0 softirq=2570/2570 fqs=0
[ 9296.492054] 76-...: (7008 GPs behind) idle=c40/0/0 softirq=614/614 fqs=0
[ 9296.492087] (detected by 44, t=6002 jiffies, g=50052, c=50051, q=1667)
[ 9296.492123] Sending NMI from CPU 44 to CPUs 8:
[ 9296.492153] NMI backtrace for cpu 8
[ 9296.492179] CPU: 8 PID: 0 Comm: swapper/8 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9296.492219] task: c000003c9b859e00 task.stack: c000003ffb3cc000
[ 9296.492252] NIP: c00000000000a694 LR: c000000000015714 CTR: 00007fffafeeeef0
[ 9296.492290] REGS: c000003ffb3cfb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9296.492335] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9296.492339] CR: 42004284 XER: 00000000
[ 9296.492384] CFAR: 00007fffafede9d4 SOFTE: 1
GPR00: c0000000007447f8 c000003ffb3cfde0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 00000471c6556a84 0000003ffb540000
GPR08: 0000000000000004 00007fffafc839d0 0000000000000000 0000000000000007
GPR12: 0000000000002200 00007fffaff1b480
[ 9296.492549] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9296.492583] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9296.492618] Call Trace:
[ 9296.492633] [c000003ffb3cfde0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9296.492680] [c000003ffb3cfe00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9296.492720] [c000003ffb3cfe60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9296.492756] [c000003ffb3cfe80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9296.492790] [c000003ffb3cfef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9296.492831] [c000003ffb3cff20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9296.492874] [c000003ffb3cff90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9296.492912] Instruction dump:
[ 9296.492932] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9296.492974] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9296.493174] Sending NMI from CPU 44 to CPUs 9:
[ 9296.517443] NMI backtrace for cpu 9
[ 9296.517575] CPU: 9 PID: 0 Comm: swapper/9 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9296.562017] task: c000003c9b85b500 task.stack: c000003ffb3d0000
[ 9296.587329] NIP: c000000000944cb8 LR: c000000000944ca8 CTR: c00000000017aba0
[ 9296.613534] REGS: c000003ffb3d3630 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9296.663342] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9296.663347] CR: 28002224 XER: 20000000
[ 9296.669368] CFAR: c000000000944cc8 SOFTE: 1
GPR00: c00000000017af4c c000003ffb3d38b0 c000000001072000 0000000000000001
GPR04: c000003ffc266580 0000000000000000 0000000000000001 00000000000595b6
GPR08: 007fffffffffffff 0000000000000000 0000000000000000 0000000000000000
GPR12: c00000000017aba0 c00000000fb05a00
[ 9296.762797] NIP [c000000000944cb8] _raw_spin_lock_irqsave+0x98/0x100
[ 9296.778977] LR [c000000000944ca8] _raw_spin_lock_irqsave+0x88/0x100
[ 9296.795228] Call Trace:
[ 9296.795244] [c000003ffb3d38b0] [c000003ffc265a00] 0xc000003ffc265a00 (unreliable)
[ 9296.828575] [c000003ffb3d38f0] [c00000000017af4c] rcu_process_callbacks+0x3ac/0x620
[ 9296.845999] [c000003ffb3d39a0] [c0000000000ed98c] __do_softirq+0x14c/0x3a0
[ 9296.852227] [c000003ffb3d3a90] [c0000000000ee048] irq_exit+0x1a8/0x1c0
[ 9296.868760] [c000003ffb3d3ac0] [c000000000023354] timer_interrupt+0xa4/0xe0
[ 9296.901712] [c000003ffb3d3af0] [c000000000008f74] decrementer_common+0x114/0x120
[ 9296.926487] --- interrupt: 901 at __replay_interrupt+0x38/0x3c
LR = arch_local_irq_restore+0x74/0x90
[ 9296.947216] [c000003ffb3d3de0] [c000003ffb3d3e60] 0xc000003ffb3d3e60 (unreliable)
[ 9296.962723] [c000003ffb3d3e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9296.993276] [c000003ffb3d3e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9297.007586] [c000003ffb3d3e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9297.014754] [c000003ffb3d3ef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9297.029299] [c000003ffb3d3f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9297.044577] [c000003ffb3d3f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9297.073870] Instruction dump:
[ 9297.073896] eba1ffe8 ebc1fff0 ebe1fff8 7c0803a6 4e800020 8bad028a 7fe3fb78 4b6d0a05
[ 9297.088445] 60000000 7c210b78 e92d0000 89290009 <792affe3> 40820048 813e0000 2fa90000
[ 9297.161478] Sending NMI from CPU 44 to CPUs 10:
[ 9297.161508] NMI backtrace for cpu 10
[ 9297.188142] CPU: 10 PID: 0 Comm: swapper/10 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9297.210787] task: c000003c9b85cc00 task.stack: c000003ffb3d4000
[ 9297.227071] NIP: c000000000944cb0 LR: c000000000944ca8 CTR: c00000000017aba0
[ 9297.255645] REGS: c000003ffb3d7630 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9297.271416] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9297.271422] CR: 28002224 XER: 20000000
[ 9297.294140] CFAR: c000000000944cc8 SOFTE: 1
GPR00: c00000000017af4c c000003ffb3d78b0 c000000001072000 0000000000000001
GPR04: c000003ffc2a6580 0000000000000000 0000000000000001 00000000000595b6
GPR08: 003fffffffffffff 000000008000002c 0000000000000000 0000000000000000
GPR12: c00000000017aba0 c00000000fb06400
[ 9297.395397] NIP [c000000000944cb0] _raw_spin_lock_irqsave+0x90/0x100
[ 9297.423426] LR [c000000000944ca8] _raw_spin_lock_irqsave+0x88/0x100
[ 9297.430487] Call Trace:
[ 9297.430505] [c000003ffb3d78b0] [c000003ffc2a5a00] 0xc000003ffc2a5a00 (unreliable)
[ 9297.467196] [c000003ffb3d78f0] [c00000000017af4c] rcu_process_callbacks+0x3ac/0x620
[ 9297.484514] [c000003ffb3d79a0] [c0000000000ed98c] __do_softirq+0x14c/0x3a0
[ 9297.503240] [c000003ffb3d7a90] [c0000000000ee048] irq_exit+0x1a8/0x1c0
[ 9297.527267] [c000003ffb3d7ac0] [c000000000023354] timer_interrupt+0xa4/0xe0
[ 9297.555228] [c000003ffb3d7af0] [c000000000008f74] decrementer_common+0x114/0x120
[ 9297.561930] --- interrupt: 901 at __replay_interrupt+0x38/0x3c
LR = arch_local_irq_restore+0x74/0x90
[ 9297.595998] [c000003ffb3d7de0] [c000003ffb3d7e60] 0xc000003ffb3d7e60 (unreliable)
[ 9297.624678] [c000003ffb3d7e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9297.647982] [c000003ffb3d7e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9297.674747] [c000003ffb3d7e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9297.697962] [c000003ffb3d7ef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9297.708935] [c000003ffb3d7f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9297.737634] [c000003ffb3d7f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9297.822966] Instruction dump:
[ 9297.822994] 7fe3fb78 e8010010 eba1ffe8 ebc1fff0 ebe1fff8 7c0803a6 4e800020 8bad028a
[ 9297.849216] 7fe3fb78 4b6d0a05 60000000 7c210b78 <e92d0000> 89290009 792affe3 40820048
[ 9297.877547] Sending NMI from CPU 44 to CPUs 14:
[ 9297.877579] NMI backtrace for cpu 14
[ 9297.915633] CPU: 14 PID: 0 Comm: swapper/14 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9297.950879] task: c000003c9b862800 task.stack: c000003ffb3e4000
[ 9297.968040] NIP: c00000000000a694 LR: c000000000015714 CTR: 00007fffb14feef0
[ 9297.985553] REGS: c000003ffb3e7b60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9298.004256] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9298.004262] CR: 44004284 XER: 00000000
[ 9298.040357] CFAR: 00007fffb1504c4c SOFTE: 1
GPR00: c0000000007447f8 c000003ffb3e7de0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 00000471f09d0a6f 0000003ffb6c0000
GPR08: 0000000000000004 0000000000003475 0000000000000001 0000000000000005
GPR12: 0000000000002200 00007fffb152b480
[ 9298.199280] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9298.217603] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9298.239368] Call Trace:
[ 9298.239386] [c000003ffb3e7de0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9298.263882] [c000003ffb3e7e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9298.280695] [c000003ffb3e7e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9298.313698] [c000003ffb3e7e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9298.321270] [c000003ffb3e7ef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9298.346754] [c000003ffb3e7f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9298.364007] [c000003ffb3e7f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9298.370488] Instruction dump:
[ 9298.387427] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9298.414560] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9298.438613] Sending NMI from CPU 44 to CPUs 17:
[ 9298.455810] NMI backtrace for cpu 17
[ 9298.455835] CPU: 17 PID: 0 Comm: swapper/17 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9298.473573] task: c000003c9b866d00 task.stack: c000003ffb3f0000
[ 9298.508075] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000198900
[ 9298.525437] REGS: c000003ffb3f3b60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9298.543877] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9298.543881] CR: 42004284 XER: 00000000
[ 9298.568312] CFAR: c000000000008f70 SOFTE: 1
GPR00: c0000000007447f8 c000003ffb3f3de0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 0000047202427c7d 0000003ffb780000
GPR08: 0000000000000004 b000000000009033 0000000000000002 0000000000000000
GPR12: c000000000022a20 c00000000fb0aa00
[ 9298.673839] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9298.692496] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9298.710820] Call Trace:
[ 9298.710837] [c000003ffb3f3de0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9298.747999] [c000003ffb3f3e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9298.754413] [c000003ffb3f3e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9298.772746] [c000003ffb3f3e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9298.807704] [c000003ffb3f3ef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9298.825043] [c000003ffb3f3f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9298.843295] [c000003ffb3f3f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9298.861979] Instruction dump:
[ 9298.871717] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9298.897006] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9298.924841] Sending NMI from CPU 44 to CPUs 19:
[ 9298.948743] NMI backtrace for cpu 19
[ 9298.975694] CPU: 19 PID: 0 Comm: swapper/19 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9298.988689] task: c000003c9b869b00 task.stack: c000003ffb3f8000
[ 9299.027250] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000198900
[ 9299.054184] REGS: c000003ffb3fbb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9299.093282] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9299.093285] CR: 28004284 XER: 00000000
[ 9299.142812] CFAR: c000000000008f70 SOFTE: 1
GPR00: c0000000007447f8 c000003ffb3fbde0 c000000001072000 0000000000000500
GPR04: c000003ffc4c0400 0000000000115ba6 00000472114d895d 0000000000000001
GPR08: 0000000000000004 b000000000009033 0000000000000002 0000000000000000
GPR12: 0000000000002200 00007fff9454b480
[ 9299.273652] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9299.292171] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9299.327436] Call Trace:
[ 9299.327451] [c000003ffb3fbde0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9299.352700] [c000003ffb3fbe00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9299.369242] [c000003ffb3fbe60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9299.387568] [c000003ffb3fbe80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9299.404651] [c000003ffb3fbef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9299.433431] [c000003ffb3fbf20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9299.471450] [c000003ffb3fbf90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9299.490417] Instruction dump:
[ 9299.510315] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9299.517029] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9299.536778] Sending NMI from CPU 44 to CPUs 23:
[ 9299.554625] NMI backtrace for cpu 23
[ 9299.573325] CPU: 23 PID: 0 Comm: swapper/23 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9299.591962] task: c000003c9b86f700 task.stack: c000003c9b908000
[ 9299.608821] NIP: c00000000000a694 LR: c000000000015714 CTR: 00007fffb14feef0
[ 9299.627489] REGS: c000003c9b90bb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9299.662533] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9299.662536] CR: 24004284 XER: 00000000
[ 9299.697875] CFAR: 00007fffb1504c4c SOFTE: 1
GPR00: c0000000007447f8 c000003c9b90bde0 c000000001072000 0000000000000500
GPR04: 0000000000000003 c000000000091990 0000047223cafc40 0000000000000001
GPR08: 0000000000000004 0000000000003475 0000000000000001 0000000000000005
GPR12: 0000000000002200 00007fffb152b480
[ 9299.795544] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9299.814350] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9299.814382] Call Trace:
[ 9299.832846] [c000003c9b90bde0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9299.857461] [c000003c9b90be00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9299.875884] [c000003c9b90be60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9299.894148] [c000003c9b90be80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9299.912282] [c000003c9b90bef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9299.946875] [c000003c9b90bf20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9299.976527] [c000003c9b90bf90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9299.996220] Instruction dump:
[ 9299.996240] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9300.022099] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9300.041656] Sending NMI from CPU 44 to CPUs 25:
[ 9300.058628] NMI backtrace for cpu 25
[ 9300.081524] CPU: 25 PID: 0 Comm: swapper/25 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9300.112913] task: c000003c9b872500 task.stack: c000003c9b910000
[ 9300.180349] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000198900
[ 9300.233679] REGS: c000003c9b913b60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9300.296119] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9300.296123] CR: 42004284 XER: 00000000
[ 9300.313884] CFAR: c000000000008f70 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b913de0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 00000472332c811c 0000003ffb980000
GPR08: 0000000000000004 b000000000009033 0000000000000002 0000000000000000
GPR12: 00007fffbbe81920 00007fffbbf2b600
[ 9300.410054] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9300.440917] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9300.447296] Call Trace:
[ 9300.466558] [c000003c9b913de0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9300.494234] [c000003c9b913e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9300.519120] [c000003c9b913e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9300.537880] [c000003c9b913e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9300.555902] [c000003c9b913ef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9300.584360] [c000003c9b913f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9300.591044] [c000003c9b913f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9300.639205] Instruction dump:
[ 9300.639225] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9300.677876] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9300.696665] Sending NMI from CPU 44 to CPUs 27:
[ 9300.703841] NMI backtrace for cpu 27
[ 9300.703862] CPU: 27 PID: 0 Comm: swapper/27 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9300.740508] task: c000003c9b875300 task.stack: c000003c9b918000
[ 9300.758762] NIP: c00000000000a694 LR: c000000000015714 CTR: 00007fffab6deef0
[ 9300.777600] REGS: c000003c9b91bb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9300.813229] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9300.813233] CR: 42004284 XER: 00000000
[ 9300.831178] CFAR: 00007fffab6d4d28 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b91bde0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 0000047246dd3abc 0000003ffba00000
GPR08: 0000000000000004 00007fffaaa939d0 0000000000000000 0000000000000007
GPR12: 0000000000002200 00007fffaa5c7730
[ 9300.947970] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9300.977708] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9300.985303] Call Trace:
[ 9301.003603] [c000003c9b91bde0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9301.023179] [c000003c9b91be00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9301.042055] [c000003c9b91be60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9301.077323] [c000003c9b91be80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9301.094294] [c000003c9b91bef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9301.111652] [c000003c9b91bf20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9301.167796] [c000003c9b91bf90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9301.221557] Instruction dump:
[ 9301.221578] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9301.260291] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9301.285876] Sending NMI from CPU 44 to CPUs 28:
[ 9301.294336] NMI backtrace for cpu 28
[ 9301.294362] CPU: 28 PID: 0 Comm: swapper/28 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9301.376555] task: c000003c9b876a00 task.stack: c000003c9b91c000
[ 9301.389185] NIP: c00000000000a694 LR: c000000000015714 CTR: 00007fff829d1540
[ 9301.422855] REGS: c000003c9b91fb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9301.450900] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9301.450904] CR: 24002284 XER: 00000000
[ 9301.506309] CFAR: 00007fff829415ec SOFTE: 1
GPR00: c0000000007447f8 c000003c9b91fde0 c000000001072000 0000000000000500
GPR04: b000000000001033 c000000000091990 0000047258e27aef 0000000000000001
GPR08: 0000000000000004 6435663962393d73 0000000000000000 0000000000000000
GPR12: 00007fff829d1540 00007fff813368b0
[ 9301.612894] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9301.632328] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9301.638478] Call Trace:
[ 9301.638492] [c000003c9b91fde0] [c000003c9b91fe60] 0xc000003c9b91fe60 (unreliable)
[ 9301.675571] [c000003c9b91fe00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9301.694314] [c000003c9b91fe60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9301.712755] [c000003c9b91fe80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9301.730359] [c000003c9b91fef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9301.756801] [c000003c9b91ff20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9301.804757] [c000003c9b91ff90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9301.811002] Instruction dump:
[ 9301.829323] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9301.849098] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9301.868370] Sending NMI from CPU 44 to CPUs 29:
[ 9301.886118] NMI backtrace for cpu 29
[ 9301.905115] CPU: 29 PID: 0 Comm: swapper/29 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9301.911524] task: c000003c9b878100 task.stack: c000003c9b920000
[ 9301.943042] NIP: c000000000944cb0 LR: c000000000944ca8 CTR: c00000000017aba0
[ 9301.961644] REGS: c000003c9b923630 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9301.986462] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9301.986466] CR: 28002224 XER: 20000000
[ 9302.022681] CFAR: c000000000944cc8 SOFTE: 1
GPR00: c00000000017af4c c000003c9b9238b0 c000000001072000 0000000000000001
GPR04: c000003ffc766580 0000000000000000 0000000000000001 0000000000000159
GPR08: 00000007ffffffff 000000008000002c 0000000000000000 0000000000000000
GPR12: c00000000017aba0 c00000000fb12200
[ 9302.101117] NIP [c000000000944cb0] _raw_spin_lock_irqsave+0x90/0x100
[ 9302.131662] LR [c000000000944ca8] _raw_spin_lock_irqsave+0x88/0x100
[ 9302.221694] Call Trace:
[ 9302.221709] [c000003c9b9238b0] [c000003ffc765a00] 0xc000003ffc765a00 (unreliable)
[ 9302.238789] [c000003c9b9238f0] [c00000000017af4c] rcu_process_callbacks+0x3ac/0x620
[ 9302.276064] [c000003c9b9239a0] [c0000000000ed98c] __do_softirq+0x14c/0x3a0
[ 9302.293952] [c000003c9b923a90] [c0000000000ee048] irq_exit+0x1a8/0x1c0
[ 9302.311461] [c000003c9b923ac0] [c000000000023354] timer_interrupt+0xa4/0xe0
[ 9302.339277] [c000003c9b923af0] [c000000000008f74] decrementer_common+0x114/0x120
[ 9302.346884] --- interrupt: 901 at __replay_interrupt+0x38/0x3c
LR = arch_local_irq_restore+0x74/0x90
[ 9302.394548] [c000003c9b923de0] [c000003c9b923e60] 0xc000003c9b923e60 (unreliable)
[ 9302.420360] [c000003c9b923e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9302.438520] [c000003c9b923e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9302.456905] [c000003c9b923e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9302.480436] [c000003c9b923ef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9302.491192] [c000003c9b923f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9302.574156] [c000003c9b923f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9302.585258] Instruction dump:
[ 9302.585279] 7fe3fb78 e8010010 eba1ffe8 ebc1fff0 ebe1fff8 7c0803a6 4e800020 8bad028a
[ 9302.657483] 7fe3fb78 4b6d0a05 60000000 7c210b78 <e92d0000> 89290009 792affe3 40820048
[ 9302.664159] Sending NMI from CPU 44 to CPUs 32:
[ 9302.681809] NMI backtrace for cpu 32
[ 9302.700638] CPU: 32 PID: 0 Comm: swapper/32 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9302.718556] task: c000003c9b87af00 task.stack: c000003c9b928000
[ 9302.737141] NIP: c00000000000a694 LR: c000000000015714 CTR: 0000000000000001
[ 9302.755573] REGS: c000003c9b92bb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9302.792598] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9302.792602] CR: 24004284 XER: 00000000
[ 9302.816832] CFAR: c00000000000b8e0 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b92bde0 c000000001072000 0000000000000500
GPR04: c000003ffc800400 0000000000115e92 00000472833a1cf0 0000000000000001
GPR08: 0000000000000004 6c616e72756f6a2d 6369767265732e64 6572663a30310a65
GPR12: 390a2f3a72657a65 c00000000fb14000
[ 9302.920490] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9302.926650] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9302.944569] Call Trace:
[ 9302.962203] [c000003c9b92bde0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9302.990324] [c000003c9b92be00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9303.026760] [c000003c9b92be60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9303.033928] [c000003c9b92be80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9303.051324] [c000003c9b92bef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9303.078879] [c000003c9b92bf20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9303.104297] [c000003c9b92bf90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9303.122216] Instruction dump:
[ 9303.122236] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9303.170443] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9303.220843] Sending NMI from CPU 44 to CPUs 33:
[ 9303.249904] NMI backtrace for cpu 33
[ 9303.270206] CPU: 33 PID: 0 Comm: swapper/33 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9303.276353] task: c000003c9b87c600 task.stack: c000003c9b92c000
[ 9303.293844] NIP: c00000000000a694 LR: c000000000015714 CTR: 00007fff829d1540
[ 9303.311925] REGS: c000003c9b92fb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9303.347509] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9303.347513] CR: 22002284 XER: 00000000
[ 9303.366211] CFAR: 00007fff829415ec SOFTE: 1
GPR00: c0000000007447f8 c000003c9b92fde0 c000000001072000 0000000000000500
GPR04: b000000000001033 c000000000091990 0000047294905a3c 0000000000000001
GPR08: 0000000000000004 6435663962393d73 0000000000000000 0000000000000000
GPR12: 00007fff829d1540 00007fff813368b0
[ 9303.470804] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9303.488641] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9303.495341] Call Trace:
[ 9303.514156] [c000003c9b92fde0] [c000003c9b92fe60] 0xc000003c9b92fe60 (unreliable)
[ 9303.531795] [c000003c9b92fe00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9303.550192] [c000003c9b92fe60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9303.585452] [c000003c9b92fe80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9303.591570] [c000003c9b92fef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9303.620425] [c000003c9b92ff20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9303.626606] [c000003c9b92ff90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9303.644337] Instruction dump:
[ 9303.663847] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9303.694286] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9303.753936] Sending NMI from CPU 44 to CPUs 37:
[ 9303.753971] NMI backtrace for cpu 37
[ 9303.766740] CPU: 37 PID: 0 Comm: swapper/37 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9303.814228] task: c000003c9b982e00 task.stack: c000003c9b93c000
[ 9303.832456] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000198900
[ 9303.863565] REGS: c000003c9b93fb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9303.881521] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9303.881525] CR: 44004284 XER: 00000000
[ 9303.914900] CFAR: c000000000008f70 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b93fde0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 00000472a3f25d89 0000003ffbc80000
GPR08: 0000000000000004 b000000000009033 0000000000000002 0000000000000000
GPR12: 00007fff9cedf910 00007fff9c237730
[ 9304.029118] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9304.058062] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9304.065253] Call Trace:
[ 9304.065271] [c000003c9b93fde0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9304.101370] [c000003c9b93fe00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9304.107699] [c000003c9b93fe60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9304.136497] [c000003c9b93fe80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9304.221565] [c000003c9b93fef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9304.260836] [c000003c9b93ff20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9304.281568] [c000003c9b93ff90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9304.300687] Instruction dump:
[ 9304.319056] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9304.339133] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9304.378008] Sending NMI from CPU 44 to CPUs 38:
[ 9304.378038] NMI backtrace for cpu 38
[ 9304.384758] CPU: 38 PID: 0 Comm: swapper/38 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9304.404488] task: c000003c9b984500 task.stack: c000003c9b940000
[ 9304.434731] NIP: c00000000000a694 LR: c000000000015714 CTR: 0000000000000002
[ 9304.460458] REGS: c000003c9b943b60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9304.477495] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9304.477499] CR: 42004284 XER: 00000000
[ 9304.514749] CFAR: c00000000000b8e0 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b943de0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 00000472b6fde474 0000003ffbcc0000
GPR08: 0000000000000004 0400000004000000 b086dbca0d000000 a83295cc187105cc
GPR12: 02030201981274d2 c00000000fb17c00
[ 9304.624683] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9304.643585] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9304.649911] Call Trace:
[ 9304.649928] [c000003c9b943de0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9304.687789] [c000003c9b943e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9304.706874] [c000003c9b943e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9304.725416] [c000003c9b943e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9304.743083] [c000003c9b943ef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9304.777483] [c000003c9b943f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9304.796094] [c000003c9b943f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9304.814382] Instruction dump:
[ 9304.832016] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9304.838515] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9304.858069] Sending NMI from CPU 44 to CPUs 39:
[ 9304.880592] NMI backtrace for cpu 39
[ 9304.910462] CPU: 39 PID: 0 Comm: swapper/39 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9304.941208] task: c000003c9b985c00 task.stack: c000003c9b944000
[ 9304.964230] NIP: c00000000000a694 LR: c000000000015714 CTR: 0000000000000001
[ 9304.996486] REGS: c000003c9b947b60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9305.035294] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9305.035299] CR: 22004284 XER: 00000000
[ 9305.081163] CFAR: c00000000000b8e0 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b947de0 c000000001072000 0000000000000500
GPR04: c000003ffc9c0400 0000000000116048 00000472c6541b2c 0000000000000001
GPR08: 0000000000000004 30310a6563697672 72657a656572663a 7570633a390a2f3a
GPR12: 3a380a2f3a746573 c00000000fb18600
[ 9305.201318] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9305.251019] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9305.280157] Call Trace:
[ 9305.280175] [c000003c9b947de0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9305.311415] [c000003c9b947e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9305.328798] [c000003c9b947e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9305.346225] [c000003c9b947e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9305.363905] [c000003c9b947ef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9305.398601] [c000003c9b947f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9305.428570] [c000003c9b947f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9305.448157] Instruction dump:
[ 9305.476493] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9305.483216] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9305.502628] Sending NMI from CPU 44 to CPUs 41:
[ 9305.520050] NMI backtrace for cpu 41
[ 9305.538198] CPU: 41 PID: 0 Comm: swapper/41 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9305.556372] task: c000003c9b988a00 task.stack: c000003c9b94c000
[ 9305.575148] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000198900
[ 9305.593577] REGS: c000003c9b94fb60 TRAP: 0e81 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9305.630206] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9305.630211] CR: 22004284 XER: 00000000
[ 9305.647742] CFAR: c000000000008f70 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b94fde0 c000000001072000 0000000028000000
GPR04: c000003ffca40400 00000000001160c8 00000472d9d7dedf 0000000000000001
GPR08: 0000000000000002 b000000000009033 0000000000000002 0000000000000000
GPR12: 00007fff8814ee40 00007fff86ee67b0
[ 9305.747990] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9305.766759] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9305.785721] Call Trace:
[ 9305.804297] [c000003c9b94fde0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9305.822288] [c000003c9b94fe00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9305.847469] [c000003c9b94fe60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9305.865758] [c000003c9b94fe80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9305.883773] [c000003c9b94fef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9305.912805] [c000003c9b94ff20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9305.919044] [c000003c9b94ff90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9305.969918] Instruction dump:
[ 9305.969940] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9306.007293] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9306.015089] Sending NMI from CPU 44 to CPUs 46:
[ 9306.032672] NMI backtrace for cpu 46
[ 9306.032695] CPU: 46 PID: 0 Comm: swapper/46 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9306.068992] task: c000003c9b98fd00 task.stack: c000003c9b960000
[ 9306.088166] NIP: c00000000000a694 LR: c000000000015714 CTR: 000000013b214380
[ 9306.117972] REGS: c000003c9b963b60 TRAP: 0e81 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9306.179282] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9306.179286] CR: 28004284 XER: 00000000
[ 9306.244235] CFAR: 000000013b21b110 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b963de0 c000000001072000 0000000028000000
GPR04: c000003ffcb80400 0000000000116130 00000472e97cbb91 0000000000000001
GPR08: 0000000000000002 000001000f0e5a40 0000000000000000 000000000000000f
GPR12: 0000000000004400 00007fff923dd610
[ 9306.400580] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9306.431341] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9306.437573] Call Trace:
[ 9306.456434] [c000003c9b963de0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9306.475205] [c000003c9b963e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9306.512478] [c000003c9b963e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9306.530796] [c000003c9b963e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9306.536991] [c000003c9b963ef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9306.566807] [c000003c9b963f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9306.585208] [c000003c9b963f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9306.623004] Instruction dump:
[ 9306.623026] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9306.660545] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9306.679720] Sending NMI from CPU 44 to CPUs 47:
[ 9306.686168] NMI backtrace for cpu 47
[ 9306.686190] CPU: 47 PID: 0 Comm: swapper/47 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9306.733237] task: c000003c9b991400 task.stack: c000003c9b964000
[ 9306.751678] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000198900
[ 9306.770450] REGS: c000003c9b967b60 TRAP: 0e81 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9306.807149] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9306.807153] CR: 48004284 XER: 00000000
[ 9306.825411] CFAR: c000000000008f70 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b967de0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 00000472fd6e28ff 0000003ffbf00000
GPR08: 0000000000000002 b000000000009033 0000000000000002 0000000000000000
GPR12: 0000000000002200 00007fffb3b0cb60
[ 9306.924453] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9306.976021] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9306.982836] Call Trace:
[ 9306.982852] [c000003c9b967de0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9307.020753] [c000003c9b967e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9307.038104] [c000003c9b967e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9307.074016] [c000003c9b967e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9307.091898] [c000003c9b967ef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9307.109058] [c000003c9b967f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9307.139605] [c000003c9b967f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9307.165916] Instruction dump:
[ 9307.165939] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9307.185258] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9307.972247] Sending NMI from CPU 44 to CPUs 49:
[ 9307.972277] NMI backtrace for cpu 49
[ 9308.046911] CPU: 49 PID: 0 Comm: swapper/49 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9308.105919] task: c000003c9b994200 task.stack: c000003c9b96c000
[ 9308.113669] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000198900
[ 9308.131441] REGS: c000003c9b96fb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9308.150026] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9308.150030] CR: 42004284 XER: 00000000
[ 9308.185946] CFAR: c000000000008f70 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b96fde0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 0000047324ade317 0000003ffbf80000
GPR08: 0000000000000004 b000000000009033 0000000000000002 0000000000000000
GPR12: 00007fff85a04560 00007fff85c4b480
[ 9308.366086] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9308.385089] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9308.403595] Call Trace:
[ 9308.403611] [c000003c9b96fde0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9308.428510] [c000003c9b96fe00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9308.447293] [c000003c9b96fe60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9308.483901] [c000003c9b96fe80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9308.483934] [c000003c9b96fef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9308.518965] [c000003c9b96ff20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9308.548235] [c000003c9b96ff90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9308.555163] Instruction dump:
[ 9308.574398] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9308.593933] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9308.613314] Sending NMI from CPU 44 to CPUs 50:
[ 9308.631224] NMI backtrace for cpu 50
[ 9308.648453] CPU: 50 PID: 0 Comm: swapper/50 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9308.656018] task: c000003c9b995900 task.stack: c000003c9b970000
[ 9308.691548] NIP: c00000000000a694 LR: c000000000015714 CTR: 00007fff829d1540
[ 9308.728105] REGS: c000003c9b973b60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9308.756459] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9308.756463] CR: 28002284 XER: 00000000
[ 9308.791784] CFAR: 00007fff829415ec SOFTE: 1
GPR00: c0000000007447f8 c000003c9b973de0 c000000001072000 0000000000000500
GPR04: b000000000001033 c000000000091990 0000047338c9eba3 0000000000000001
GPR08: 0000000000000004 6435663962393d73 0000000000000000 0000000000000000
GPR12: 00007fff829d1540 00007fff813368b0
[ 9308.901163] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9308.919143] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9308.938234] Call Trace:
[ 9308.938248] [c000003c9b973de0] [c000003c9b973e60] 0xc000003c9b973e60 (unreliable)
[ 9308.944452] [c000003c9b973e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9308.981825] [c000003c9b973e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9308.999229] [c000003c9b973e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9309.018030] [c000003c9b973ef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9309.045888] [c000003c9b973f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9309.082118] [c000003c9b973f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9309.103073] Instruction dump:
[ 9309.103094] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9309.141435] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9309.171257] Sending NMI from CPU 44 to CPUs 51:
[ 9309.205026] NMI backtrace for cpu 51
[ 9309.205052] CPU: 51 PID: 0 Comm: swapper/51 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9309.312542] task: c000003c9b997000 task.stack: c000003c9b974000
[ 9309.350881] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000747240
[ 9309.376578] REGS: c000003c9b977b60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9309.401975] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9309.401980] CR: 22002284 XER: 00000000
[ 9309.430883] CFAR: c0000000007472f8 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b977de0 c000000001072000 0000000000000500
GPR04: b000000000001033 c000000000091990 000004734a4cbd8f 0000000000000001
GPR08: 0000000000000004 0000000000000808 c000003c9b974000 0000000000000504
GPR12: c000000000747240 c00000000fb1fe00
[ 9309.527372] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9309.545492] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9309.564208] Call Trace:
[ 9309.583055] [c000003c9b977de0] [c000003c9b977e60] 0xc000003c9b977e60 (unreliable)
[ 9309.589261] [c000003c9b977e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9309.607067] [c000003c9b977e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9309.643739] [c000003c9b977e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9309.661635] [c000003c9b977ef0] [c000000000145ae0] cpu_startup_entry+0x30/0x50
[ 9309.690364] [c000003c9b977f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9309.697187] [c000003c9b977f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9309.726900] Instruction dump:
[ 9309.746275] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9309.765461] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9309.792061] Sending NMI from CPU 44 to CPUs 53:
[ 9309.808717] NMI backtrace for cpu 53
[ 9309.808742] CPU: 53 PID: 0 Comm: swapper/53 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9309.827420] task: c000003c9b999e00 task.stack: c000003c9b97c000
[ 9309.844664] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000198900
[ 9309.881898] REGS: c000003c9b97fb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9309.888480] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9309.888485] CR: 28004224 XER: 00000000
[ 9309.935216] CFAR: c000000000008f70 SOFTE: 1
GPR00: c0000000007447f8 c000003c9b97fde0 c000000001072000 0000000000000500
GPR04: c000003ffcd40400 0000000000116422 000004735cb9144a 0000000000000001
GPR08: 0000000000000004 b000000000009033 0000000000000002 0000000000000000
GPR12: 00007fffaece4560 00007fffaef2b480
[ 9310.058523] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9310.077755] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9310.095857] Call Trace:
[ 9310.095874] [c000003c9b97fde0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9310.134144] [c000003c9b97fe00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9310.140991] [c000003c9b97fe60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9310.158273] [c000003c9b97fe80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9310.196314] [c000003c9b97fef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9310.225357] [c000003c9b97ff20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9310.279247] [c000003c9b97ff90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9310.301515] Instruction dump:
[ 9310.325593] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9310.355791] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9310.390757] Sending NMI from CPU 44 to CPUs 55:
[ 9310.426600] NMI backtrace for cpu 55
[ 9310.456747] CPU: 55 PID: 0 Comm: swapper/55 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9310.467784] task: c000003c9b99cc00 task.stack: c000003c9ba04000
[ 9310.511676] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000198900
[ 9310.536464] REGS: c000003c9ba07b60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9310.554860] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9310.554865] CR: 42004224 XER: 00000000
[ 9310.590244] CFAR: c000000000008f70 SOFTE: 1
GPR00: c0000000007447f8 c000003c9ba07de0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 000004736f9448df 0000003ffc100000
GPR08: 0000000000000004 b000000000009033 0000000000000002 0000000000000000
GPR12: 0000000000002200 00007fffa0d4b480
[ 9310.667964] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9310.697612] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9310.734383] Call Trace:
[ 9310.734402] [c000003c9ba07de0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9310.757647] [c000003c9ba07e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9310.775715] [c000003c9ba07e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9310.793766] [c000003c9ba07e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9310.810696] [c000003c9ba07ef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9310.828259] [c000003c9ba07f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9310.863411] [c000003c9ba07f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9310.881505] Instruction dump:
[ 9310.898211] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9310.916903] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9310.924632] Sending NMI from CPU 44 to CPUs 62:
[ 9310.941350] NMI backtrace for cpu 62
[ 9310.958100] CPU: 62 PID: 0 Comm: swapper/62 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9310.975712] task: c000003c9b9a6d00 task.stack: c000003c9ba20000
[ 9310.992486] NIP: c00000000000a694 LR: c000000000015714 CTR: 00007fff86f56640
[ 9311.011222] REGS: c000003c9ba23b60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9311.045542] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9311.045546] CR: 22004284 XER: 00000000
[ 9311.078477] CFAR: 00007fff86f13510 SOFTE: 1
GPR00: c0000000007447f8 c000003c9ba23de0 c000000001072000 0000000000000500
GPR04: c000003ffcf80400 0000000000116506 000004737f49c5db 0000000000000001
GPR08: 0000000000000004 0000000000000008 0000000000000000 0000000000000000
GPR12: 00007fff86f56640 00007fff8712a960
[ 9311.155477] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9311.198906] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9311.198941] Call Trace:
[ 9311.217691] [c000003c9ba23de0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9311.255563] [c000003c9ba23e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9311.300746] [c000003c9ba23e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9311.330388] [c000003c9ba23e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9311.369861] [c000003c9ba23ef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9311.400775] [c000003c9ba23f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9311.436527] [c000003c9ba23f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9311.456024] Instruction dump:
[ 9311.456045] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9311.493879] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9311.501383] Sending NMI from CPU 44 to CPUs 66:
[ 9311.527819] NMI backtrace for cpu 66
[ 9311.527845] CPU: 66 PID: 0 Comm: swapper/66 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9311.592912] task: c000003c9b9ac900 task.stack: c000003c9ba30000
[ 9311.622562] NIP: c00000000000a694 LR: c000000000015714 CTR: c000000000747240
[ 9311.656344] REGS: c000003c9ba33b60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9311.705689] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9311.705693] CR: 44004284 XER: 00000000
[ 9311.741067] CFAR: c0000000007472f8 SOFTE: 1
GPR00: c0000000007447f8 c000003c9ba33de0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 00000473912f8e8f 0000003ffc3c0000
GPR08: 0000000000000004 0000000000000808 c000003c9ba30000 00000047f9b906f7
GPR12: c000000000747240 c00000000fb29400
[ 9311.823076] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9311.854186] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9311.861414] Call Trace:
[ 9311.880720] [c000003c9ba33de0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9311.898230] [c000003c9ba33e00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9311.936659] [c000003c9ba33e60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9311.943632] [c000003c9ba33e80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9311.961183] [c000003c9ba33ef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9311.989027] [c000003c9ba33f20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9311.996672] [c000003c9ba33f90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9312.045290] Instruction dump:
[ 9312.045310] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9312.083100] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9312.089854] Sending NMI from CPU 44 to CPUs 76:
[ 9312.107445] NMI backtrace for cpu 76
[ 9312.125918] CPU: 76 PID: 0 Comm: swapper/76 Not tainted 4.12.0-rc7-next-20170628-autotest #1
[ 9312.143699] task: c000003c9b9baf00 task.stack: c000003c9ba58000
[ 9312.160906] NIP: c00000000000a694 LR: c000000000015714 CTR: 00007fffa89eeef0
[ 9312.178648] REGS: c000003c9ba5bb60 TRAP: 0501 Not tainted (4.12.0-rc7-next-20170628-autotest)
[ 9312.214335] MSR: 9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>
[ 9312.214339] CR: 48004284 XER: 00000000
[ 9312.233464] CFAR: 00007fffa89f4c4c SOFTE: 1
GPR00: c0000000007447f8 c000003c9ba5bde0 c000000001072000 0000000000000900
GPR04: 0000000000000003 c000000000091990 00000473a2dfe141 0000003ffc640000
GPR08: 0000000000000004 0000000000003475 0000000000000001 0000000000000005
GPR12: 0000000000002200 00007fffa8a1b480
[ 9312.384725] NIP [c00000000000a694] __replay_interrupt+0x38/0x3c
[ 9312.415206] LR [c000000000015714] arch_local_irq_restore+0x74/0x90
[ 9312.422010] Call Trace:
[ 9312.441234] [c000003c9ba5bde0] [c000000000199580] tick_broadcast_oneshot_control+0x40/0x60 (unreliable)
[ 9312.459276] [c000003c9ba5be00] [c0000000007447f8] cpuidle_enter_state+0x108/0x3d0
[ 9312.511009] [c000003c9ba5be60] [c000000000145504] call_cpuidle+0x44/0x80
[ 9312.528234] [c000003c9ba5be80] [c0000000001458b0] do_idle+0x290/0x2f0
[ 9312.535059] [c000003c9ba5bef0] [c000000000145ae4] cpu_startup_entry+0x34/0x50
[ 9312.563891] [c000003c9ba5bf20] [c000000000046ac4] start_secondary+0x304/0x360
[ 9312.582556] [c000003c9ba5bf90] [c00000000000aa6c] start_secondary_prolog+0x10/0x14
[ 9312.620081] Instruction dump:
[ 9312.620101] 7d200026 618c8000 2c030900 4182e7f0 2c030500 4182e338 2c030e80 4182ffa4
[ 9312.657417] 2c030ea0 4182f2c8 2c030e60 4182f080 <4e800020> 7c781b78 480003e9 48000401
[ 9312.676481] rcu_sched kthread starved for 7620 jiffies! g50052 c50051 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x402
[ 9312.711089] rcu_sched D 0 8 2 0x00000800
[ 9312.772781] Call Trace:
[ 9312.772797] [c000003ffb3a38c0] [c000003c9b84a200] 0xc000003c9b84a200 (unreliable)
[ 9312.785261] [c000003ffb3a3a90] [c00000000001b338] __switch_to+0x2e8/0x430
[ 9312.806547] [c000003ffb3a3af0] [c00000000093e4e8] __schedule+0x3a8/0xaf0
[ 9312.861861] [c000003ffb3a3bc0] [c00000000093ec70] schedule+0x40/0xb0
[ 9312.885668] [c000003ffb3a3bf0] [c000000000943700] schedule_timeout+0x200/0x450
[ 9312.903634] [c000003ffb3a3ce0] [c00000000017cddc] rcu_gp_kthread+0x52c/0xba0
[ 9312.921951] [c000003ffb3a3dc0] [c0000000001116c0] kthread+0x160/0x1a0
[ 9312.940446] [c000003ffb3a3e30] [c00000000000b524] ret_from_kernel_thread+0x5c/0xb8
^ permalink raw reply
* linux-next: build failure after merge of the akpm tree
From: Stephen Rothwell @ 2017-06-30 6:32 UTC (permalink / raw)
To: Andrew Morton, David Miller, Networking
Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Daniel Micay,
Ilan Tayari, Saeed Mahameed
Hi all,
After merging the akpm tree, today's linux-next build (x86_64
allmodconfig) failed like this:
In file included from include/linux/bitmap.h:8:0,
from include/linux/cpumask.h:11,
from include/linux/mm_types_task.h:13,
from include/linux/mm_types.h:4,
from include/linux/kmemcheck.h:4,
from include/linux/skbuff.h:18,
from include/linux/if_ether.h:23,
from include/linux/etherdevice.h:25,
from drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c:33:
In function 'memcpy',
inlined from 'mlx5_fpga_query_qp' at drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c:194:2:
include/linux/string.h:315:4: error: call to '__read_overflow2' declared with attribute error: detected read beyond size of object passed as 2nd parameter
__read_overflow2();
^
Caused by commit
c151149cc4db ("include/linux/string.h: add the option of fortified string.h functions")
interacting with commit
6062118d5cd2 ("net/mlx5: FPGA, Add FW commands for FPGA QPs")
from the net-next tree.
I took a guess and tried the following patch which seemed to work.
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 30 Jun 2017 16:24:35 +1000
Subject: [PATCH] net/mlx5: fix memcpy limit?
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c
index 5cb855fd618f..e37453d838db 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/cmd.c
@@ -191,7 +191,7 @@ int mlx5_fpga_query_qp(struct mlx5_core_dev *dev,
if (ret)
return ret;
- memcpy(fpga_qpc, MLX5_ADDR_OF(fpga_query_qp_out, in, fpga_qpc),
+ memcpy(fpga_qpc, MLX5_ADDR_OF(fpga_query_qp_out, out, fpga_qpc),
MLX5_FLD_SZ_BYTES(fpga_query_qp_out, fpga_qpc));
return ret;
}
--
2.11.0
--
Cheers,
Stephen Rothwell
^ permalink raw reply related
* linux-next: Tree for Jun 30
From: Stephen Rothwell @ 2017-06-30 6:57 UTC (permalink / raw)
To: Linux-Next Mailing List; +Cc: Linux Kernel Mailing List
Hi all,
Changes since 20170629:
The net-next tree gained a conflict against Linus' tree.
The sound-asoc tree still had its build failure so I applied a supplied
patch.
The block tree gained a conflict against Linus' tree.
The akpm tree gained a build failure due to an interaction with the
net-next tree for which I applied a patch.
Non-merge commits (relative to Linus' tree): 10011
9229 files changed, 742037 insertions(+), 189244 deletions(-)
----------------------------------------------------------------------------
I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" and checkout or reset to the new
master.
You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log
files in the Next directory. Between each merge, the tree was built
with a ppc64_defconfig for powerpc and an allmodconfig (with
CONFIG_BUILD_DOCSRC=n) for x86_64, a multi_v7_defconfig for arm and a
native build of tools/perf. After the final fixups (if any), I do an
x86_64 modules_install followed by builds for x86_64 allnoconfig,
powerpc allnoconfig (32 and 64 bit), ppc44x_defconfig, allyesconfig
and pseries_le_defconfig and i386, sparc and sparc64 defconfig. And
finally, a simple boot test of the powerpc pseries_le_defconfig kernel
in qemu.
Below is a summary of the state of the merge.
I am currently merging 266 trees (counting Linus' and 41 trees of bug
fix patches pending for the current merge release).
Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.
Thanks to Randy Dunlap for doing many randconfig builds. And to Paul
Gortmaker for triage and bug fixes.
--
Cheers,
Stephen Rothwell
$ git checkout master
$ git reset --hard stable
Merging origin/master (4d8a991d460d Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging fixes/master (97da3854c526 Linux 4.11-rc3)
Merging kbuild-current/fixes (ad8181060788 kconfig: fix sparse warnings in nconfig)
Merging arc-current/for-curr (c0bc126f97fb Linux 4.12-rc7)
Merging arm-current/fixes (d360a687d995 ARM: 8682/1: V7M: Set cacheid iff DminLine or IminLine is nonzero)
Merging m68k-current/for-linus (f6ab4d59a5fe nubus: Add MVC and VSC video card definitions)
Merging metag-fixes/fixes (b884a190afce metag/usercopy: Add missing fixups)
Merging powerpc-fixes/fixes (d6bd8194e286 powerpc/32: Avoid miscompilation w/GCC 4.6.3 - don't inline copy_to/from_user())
Merging sparc/master (dbd2667a4fb9 sparc64: Fix gup_huge_pmd)
Merging fscrypt-current/for-stable (42d97eb0ade3 fscrypt: fix renaming and linking special files)
Merging net/master (d58299a478c4 sfc: fix attempt to translate invalid filter ID)
Merging ipsec/master (ca3a1b856636 esp6_offload: Fix IP6CB(skb)->nhoff for ESP GRO)
Merging netfilter/master (91af6ba7ff16 netfilter: ebt_nflog: fix unexpected truncated packet)
Merging ipvs/master (3c5ab3f395d6 ipvs: SNAT packet replies only for NATed connections)
Merging wireless-drivers/master (35abcd4f9f30 brcmfmac: fix uninitialized warning in brcmf_usb_probe_phase2())
Merging mac80211/master (4b153ca989a9 Merge tag 'mac80211-for-davem-2017-06-16' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211)
Merging sound-current/for-linus (d94815f917da ALSA: hda - Fix endless loop of codec configure)
Merging pci-current/for-linus (98dbf5af4fdd PCI: endpoint: Select CRC32 to fix test build error)
Merging driver-core.current/driver-core-linus (08332893e37a Linux 4.12-rc2)
Merging tty.current/tty-linus (3c2993b8c614 Linux 4.12-rc4)
Merging usb.current/usb-linus (dec08194ffec xhci: Limit USB2 port wake support for AMD Promontory hosts)
Merging usb-gadget-fixes/fixes (f50b878fed33 USB: gadget: fix GPF in gadgetfs)
Merging usb-serial-fixes/usb-linus (996fab55d864 USB: serial: qcserial: new Sierra Wireless EM7305 device ID)
Merging usb-chipidea-fixes/ci-for-usb-stable (cbb22ebcfb99 usb: chipidea: core: check before accessing ci_role in ci_role_show)
Merging phy/fixes (9605bc46433d phy: qualcomm: phy-qcom-qmp: fix application of sizeof to pointer)
Merging staging.current/staging-linus (41f1830f5a7a Linux 4.12-rc6)
Merging char-misc.current/char-misc-linus (32c1431eea48 Linux 4.12-rc5)
Merging input-current/for-linus (9768935264c4 Input: synaptics-rmi4 - only read the F54 query registers which are used)
Merging crypto-current/master (019d62db5401 crypto: caam - fix gfp allocation flags (part II))
Merging ide/master (acfead32f3f9 ide: don't call memcpy with the same source and destination)
Merging vfio-fixes/for-linus (39da7c509acf Linux 4.11-rc6)
Merging kselftest-fixes/fixes (2ea659a9ef48 Linux 4.12-rc1)
Merging backlight-fixes/for-backlight-fixes (68feaca0b13e backlight: pwm: Handle EPROBE_DEFER while requesting the PWM)
Merging ftrace-fixes/for-next-urgent (6224beb12e19 tracing: Have branch tracer use recursive field of task struct)
Merging nand-fixes/nand/fixes (d4ed3b9015b5 mtd: nand: make nand_ooblayout_lp_hamming_ops static)
Merging spi-nor-fixes/spi-nor/fixes (2ea659a9ef48 Linux 4.12-rc1)
Merging mfd-fixes/for-mfd-fixes (9e69672e90cc dt-bindings: mfd: Update STM32 timers clock names)
Merging v4l-dvb-fixes/fixes (2a2599c66368 [media] media: entity: Catch unbalanced media_pipeline_stop calls)
Merging reset-fixes/reset/fixes (4497a224f759 reset: hi6220: Set module license so that it can be loaded)
Merging drm-intel-fixes/for-linux-next-fixes (611cdf3695a3 drm/i915: Disable EXEC_OBJECT_ASYNC when doing relocations)
Merging drm-misc-fixes/for-linux-next-fixes (e94ac3510b6a drm: Fix GETCONNECTOR regression)
Merging kbuild/for-next (39be5eac380d Merge branches 'misc', 'kbuild' and 'thin-ar' into for-next)
Merging uuid/for-next (b86a496a4206 ACPI: hns_dsaf_acpi_dsm_guid can be static)
Merging dma-mapping/for-next (020278bbae01 ARM: dma-mapping: Remove traces of NOMMU code)
Merging asm-generic/master (a351e9b9fc24 Linux 4.11)
Merging arc/for-next (6f8119230ed0 ARC: set boot print log level to PR_INFO)
Merging arm/for-next (06dbb655be93 Merge branches 'fixes' and 'misc' into for-next)
Merging arm-perf/for-next/perf (c0f7f7acdecd perf: xgene: Add support for SoC PMU version 3)
Merging arm-soc/for-next (b0ebfd91e549 arm-soc: document merges)
Merging actions/for-next (8ba75fbb148a Merge branch 'v4.13/arm+sps' into next)
Merging alpine/alpine/for-next (a1144b2b1ec4 ARM: dts: alpine: add valid clock-frequency values)
Merging amlogic/for-next (f99503e956ae Merge branch 'v4.13/defconfig' into tmp/aml-rebuild)
Merging aspeed/for-next (4944e5dbb215 Merge branches 'dt-for-v4.12' and 'defconfig-for-v4.12' into for-next)
Merging at91/at91-next (630efea351f0 Merge branch 'at91-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into at91-next)
CONFLICT (add/add): Merge conflict in arch/arm/mach-at91/samv7.c
CONFLICT (content): Merge conflict in arch/arm/mach-at91/Kconfig
Merging bcm2835/for-next (652fb0c6435c Merge branch anholt/bcm2835-defconfig-next into for-next)
Merging berlin/berlin/for-next (5153351425c9 Merge branch 'berlin/dt' into berlin/for-next)
Merging cortex-m/for-next (f719a0d6a854 ARM: efm32: switch to vendor,device compatible strings)
Merging imx-mxs/for-next (bf6e15ed7f86 Merge branch 'zte/dt64' into for-next)
Merging keystone/next (b45371147f9d Merge branch 'for_4.13/keystone_dts' into next)
Merging mvebu/for-next (cf79eb3aab84 Merge branch 'mvebu/dt64' into mvebu/for-next)
Merging omap/for-next (eb0028987143 Merge branch 'omap-for-v4.13/dt' into for-next)
Merging omap-pending/for-next (c20c8f750d9f ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence)
Merging reset/reset/next (dfeac250c429 reset: zx2967: constify zx2967_reset_ops.)
Merging qcom/for-next (9c60544280d4 Merge tag 'qcom-drivers-for-4.13' into all-for-4.13-revised)
Merging realtek/for-next (007e6304223c Merge branch 'v4.13/dt64' into next)
Merging renesas/next (d75d45bfffd5 Merge branch 'fixes-for-v4.13' into next)
Merging rockchip/for-next (dd3f24b9ff88 Merge branch 'v4.13-clk/next' into for-next)
Merging rpi/for-rpi-next (bc0195aad0da Linux 4.2-rc2)
Merging samsung/for-next (2ea659a9ef48 Linux 4.12-rc1)
Merging samsung-krzk/for-next (005537e095a6 Merge branch 'fixes' into for-next)
Merging sunxi/sunxi/for-next (efb85d294c2a Merge branches 'sunxi/h3-for-4.13', 'sunxi/dt-for-4.13' and 'sunxi/dt64-for-4.13' into sunxi/for-next)
Merging tegra/for-next (07bb9460b188 Merge branch for-4.13/arm64/dt into for-next)
Merging arm64/for-next/core (5fbd5fc49fc3 arm64: ptrace: Fix incorrect get_user() use in compat_vfp_set())
Merging clk/clk-next (682430e87734 clk: keystone: TI_SCI_PROTOCOL is needed for clk driver)
CONFLICT (content): Merge conflict in MAINTAINERS
Merging c6x/for-linux-next (91ebcd1b97ae MAINTAINERS: update email address for C6x maintainer)
Merging cris/for-next (8f50f2a1b46a cris: No need to append -O2 and $(LINUXINCLUDE))
Merging h8300/h8300-next (58c57526711f h8300: Add missing include file to asm/io.h)
Merging hexagon/linux-next (02cc2ccfe771 Revert "Hexagon: fix signal.c compile error")
Merging ia64/next (fbb0e4da96f4 ia64: salinfo: use a waitqueue instead a sema down/up combo)
Merging m68k/for-next (204a2be30a7a m68k: Remove ptrace_signal_deliver)
Merging m68knommu/for-next (354b6382847d m68k: defconfig: Cleanup from old Kconfig options)
Merging metag/for-next (e3cd7f013bac metag/mm: Drop pointless increment)
Merging microblaze/next (14ef905bb2ee microblaze: Fix MSR flags when returning from exception)
Merging mips/mips-for-linux-next (152e63e374cd Merge branch '4.12-fixes' into mips-for-linux-next)
Merging nios2/for-next (e118c3fec9c0 nios2: remove custom early console implementation)
Merging openrisc/for-next (9d15eb228b10 openrisc: defconfig: Cleanup from old Kconfig options)
Merging parisc-hd/for-next (d6b1d990957c parisc: use compat_sys_keyctl())
Merging powerpc/next (4d0d7c02df68 powerpc/powernv/idle: Clear r12 on wakeup from stop lite)
Merging fsl/next (61baf1555512 powerpc/64e: Don't place the stack beyond TASK_SIZE)
Merging mpc5xxx/next (39e69f55f857 powerpc: Introduce the use of the managed version of kzalloc)
Merging s390/features (9e293b5a7062 Merge tag 'nmiforkvm' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into features)
Merging sparc-next/master (a718d1392700 sparc64: fix typo in property)
Merging sh/for-next (6e2fbfdd585f sh: fix futex FUTEX_OP_SET op on userspace addresses)
Merging tile/master (0af0bc38175d mm, tile: drop arch_{add,remove}_memory)
Merging uml/linux-next (ce4586063f1a um: Add missing NR_CPUS include)
Merging unicore32/unicore32 (bc27113620ca unicore32-oldabi: add oldabi syscall interface)
Merging xtensa/xtensa-for-next (bdf3b55fde37 Merge branch 'xtensa-fixes' into xtensa-for-next)
Merging fscrypt/master (c250b7dd8e73 fscrypt: make ->dummy_context() return bool)
Merging befs/for-next (0bbabf98dd76 befs: make export work with cold dcache)
Merging btrfs/next (8b8b08cbfb90 Btrfs: fix delalloc accounting after copy_from_user faults)
Merging btrfs-kdave/for-next (4a240ddbe6b5 Merge branch 'for-next-current-v4.12-20170626' into for-next-20170626)
Merging ceph/master (4ca2fea6f827 ceph: unify inode i_ctime update)
Merging cifs/for-next (bdda26555dd2 cifs: Do not modify mid entry after submitting I/O in cifs_call_async)
Merging configfs/for-next (19e72d3abb63 configfs: Introduce config_item_get_unless_zero())
Merging ecryptfs/next (be280b25c328 ecryptfs: remove private bin2hex implementation)
Merging ext3/for_next (08db141b5313 reiserfs: fix race in prealloc discard)
Merging ext4/dev (037ee4110538 ext4: require key for truncate(2) of encrypted file)
Merging f2fs/dev (01d42209996c f2fs: introduce reserved_blocks in sysfs)
Merging freevxfs/for-next (bf1bb4b460c8 freevxfs: update Kconfig information)
Merging fscache/fscache (d52bd54db8be Merge branch 'akpm' (patches from Andrew))
Merging fuse/for-next (68227c03cba8 fuse: initialize the flock flag in fuse_file on allocation)
Merging jfs/jfs-next (684666e51585 jfs: atomically read inode size)
Merging nfs/linux-next (2e31b4cb895a NFSv4.1: nfs4_callback_free_slot() cannot call nfs4_slot_tbl_drain_complete())
Merging nfsd/nfsd-next (bb2a8b0cd116 nfsd4: const-ify nfsd4_ops)
Merging orangefs/for-next (2f713b5c7d2a orangefs: count directory pieces correctly)
Merging overlayfs/overlayfs-next (fbaf94ee3cd5 ovl: don't set origin on broken lower hardlink)
Merging v9fs/for-next (a333e4bf2556 fs/9p: use fscache mutex rather than spinlock)
Merging ubifs/linux-next (7bccd12d27b7 ubi: Add debugfs file for tracking PEB state)
Merging xfs/for-next (50e0bdbe9f48 xfs: grab dquots without taking the ilock)
Merging file-locks/linux-next (3832ff35309d btrfs: minimal conversion to errseq_t writeback error reporting on fsync)
CONFLICT (content): Merge conflict in include/linux/fs.h
Merging vfs/for-next (919bb328b020 Merge branch 'work.misc' into for-next)
Merging vfs-jk/vfs (030b533c4fd4 fs: Avoid premature clearing of capabilities)
Merging vfs-miklos/next (0eb8af4916a5 vfs: use helper for calling f_op->fsync())
Merging printk/for-next (f4e981cba2de printk: add __printf attributes to internal functions)
Merging pci/next (d0eebbbf7512 Merge branch 'pci/host-xilinx' into next)
CONFLICT (content): Merge conflict in drivers/gpu/drm/radeon/radeon_device.c
Merging pstore/for-next/pstore (0752e4028c00 powerpc/nvram: use memdup_user)
Merging hid/for-next (0f9089b979a6 Merge branch 'for-4.13/wacom' into for-next)
Merging i2c/i2c/for-next (25c34d08744f Merge branch 'i2c/for-4.13' into i2c/for-next)
Merging jdelvare-hwmon/master (08d27eb20666 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs)
Merging dmi/master (8efa050f19fe firmware: dmi_scan: Check DMI structure length)
Merging hwmon-staging/hwmon-next (44b413661b57 hwmon: (aspeed-pwm-tacho) Poll with short sleeps.)
Merging jc_docs/docs-next (52b3f239bb69 Docs: clean up some DocBook loose ends)
CONFLICT (modify/delete): scripts/kernel-doc-xml-ref deleted in jc_docs/docs-next and modified in HEAD. Version HEAD of scripts/kernel-doc-xml-ref left in tree.
$ git rm -f scripts/kernel-doc-xml-ref
Merging v4l-dvb/master (2748e76ddb29 media: staging: cxd2099: Activate cxd2099 buffer mode)
Merging v4l-dvb-next/master (d9c4615854ec [media] dvb uapi docs: enums are passed by value, not reference)
CONFLICT (content): Merge conflict in Documentation/media/uapi/dvb/fe-set-voltage.rst
CONFLICT (content): Merge conflict in Documentation/media/uapi/dvb/fe-set-tone.rst
CONFLICT (content): Merge conflict in Documentation/media/uapi/dvb/fe-diseqc-send-burst.rst
Merging fbdev/fbdev-for-next (a8feae091106 uvesafb: Fix continuation printks without KERN_LEVEL to pr_cont, neatening)
Merging pm/linux-next (0491dac9f1c9 Merge branch 'device-properties' into linux-next)
Merging idle/next (306899f94804 x86 tsc: Add the Intel Denverton Processor to native_calibrate_tsc())
Merging thermal/next (cb15c81a0c1c Merge branch 'thermal-soc' into next)
Merging thermal-soc/next (33011c583fcc Merge branch 'work-linus' into work-next)
Merging ieee1394/for-next (72f3c27aa646 firewire: net: max MTU off by one)
Merging dlm/next (591c3beb86c4 dlm: Delete an unnecessary variable initialisation in dlm_ls_start())
Merging swiotlb/linux-next (69369f52d28a swiotlb-xen: implement xen_swiotlb_get_sgtable callback)
Merging net-next/master (fcce2fdbf478 Merge branch 'mlx4-dynamic-tc-tx-queues')
CONFLICT (content): Merge conflict in drivers/net/wireless/marvell/mwifiex/pcie.c
CONFLICT (content): Merge conflict in drivers/net/macvlan.c
CONFLICT (content): Merge conflict in drivers/net/ethernet/rocker/rocker_ofdpa.c
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
CONFLICT (content): Merge conflict in arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
Applying: remove duplicate ethernet node intruduced by merge
Merging ipsec-next/master (8bafd73093f2 xfrm: add UDP encapsulation port in migrate message)
Merging netfilter-next/master (04ba724b659c netfilter: nfnetlink: extended ACK reporting)
Merging nfc-next/master (bd751808f9ff NFC: trf7970a: Correct register settings for 27MHz clock)
Merging ipvs-next/master (fb90e8dedb46 ipvs: change comparison on sync_refresh_period)
Merging wireless-drivers-next/master (fdcbe65d618a Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git)
Merging bluetooth/master (feb16722b5d5 Bluetooth: btbcm: Add entry for BCM43430 UART bluetooth)
Merging mac80211-next/master (3dc02251f43f Merge branch 'skb-accessor-cleanups')
Merging rdma/for-next (bc5214ee2922 IB/hfi1: Handle missing magic values in config file)
Merging gfs2/for-next (722f6f62a563 GFS2: Eliminate vestigial sd_log_flush_wrapped)
Merging mtd/master (05e97a9eda72 Merge tag 'nand/fixes-for-4.12-rc3' of git://git.infradead.org/linux-mtd into MTD)
Merging l2-mtd/master (c169e3d3c049 mtd: partitions: fixup some allocate_partition() whitespace)
Merging nand/nand/next (edfee3619c49 mtd: nand: mtk: add ->setup_data_interface() hook)
Merging spi-nor/spi-nor/next (1a18915b4971 mtd: spi-nor: parse Serial Flash Discoverable Parameters (SFDP) tables)
Merging crypto/master (bcf741cb7792 crypto: testmgr - Reenable sha1/aes in FIPS mode)
Merging drm/drm-next (12d016626f99 Merge tag 'drm-amdkfd-next-2017-06-25' of git://people.freedesktop.org/~gabbayo/linux into drm-next)
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/i915_gem_execbuffer.c
Merging drm-panel/drm/panel/for-next (e4bac408b084 drm/panel: simple: Add support for Winstar WF35LTIACD)
Merging drm-intel/for-linux-next (bdbbf7d619d1 drm/i915: Clear execbuf's vma backpointer upon release)
Merging drm-tegra/drm/tegra/for-next (43240bbd871e gpu: host1x: At first try a non-blocking allocation for the gather copy)
Merging drm-misc/for-linux-next (138b87fa43b6 drm: vblank: Fix vblank timestamp update)
Merging drm-exynos/exynos-drm/for-next (7d1e04231461 Merge tag 'usercopy-v4.8-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux)
Merging drm-msm/msm-next (4a630fadbb29 drm/msm: Fix potential buffer overflow issue)
Merging hdlcd/for-upstream/hdlcd (fee4964f0a6c drm/arm: hdlcd: remove unused variables)
Merging mali-dp/for-upstream/mali-dp (e40eda3dda1e drm/arm: mali-dp: Use CMA helper for plane buffer address calculation)
Merging sunxi-drm/sunxi-drm/for-next (110d33dd428e drm/sun4i: Add compatible for the A10s pipeline)
Merging imx-drm/imx-drm/next (994fc62e1d04 drm/imx: lock scanout transfers for consecutive bursts)
Merging etnaviv/etnaviv/next (46a269da7e8a drm/etnaviv: restore ETNA_PREP_NOSYNC behaviour)
Merging kconfig/for-next (5bcba792bb30 localmodconfig: Fix whitespace repeat count after "tristate")
Merging regmap/for-next (2c25d66dc22d Merge remote-tracking branches 'regmap/topic/1wire', 'regmap/topic/irq' and 'regmap/topic/lzo' into regmap-next)
Merging sound/for-next (a5a041b6b50b ALSA: hda: constify attribute_group structures.)
Merging sound-asoc/for-next (3453c8631b55 Merge remote-tracking branches 'asoc/topic/tlv320dac31xx', 'asoc/topic/topology', 'asoc/topic/wm-adsp' and 'asoc/topic/zx-aud96p22' into asoc-next)
CONFLICT (content): Merge conflict in drivers/of/base.c
Applying: of_graph: merge fix up for creating of drivers/of/property.c
Applying: ASoC: rt5670: fix incompatible pointer type of set_sysclk
Merging modules/modules-next (96b5b19459b3 module: make the modinfo name const)
Merging input/next (be19788c73d3 Input: xpad - sync supported devices with XBCD)
Merging block/for-next (a5de4e3e9ccc Merge branch 'for-4.13/block' into for-next)
CONFLICT (content): Merge conflict in mm/filemap.c
CONFLICT (content): Merge conflict in fs/btrfs/inode.c
CONFLICT (content): Merge conflict in fs/btrfs/extent_io.h
CONFLICT (content): Merge conflict in fs/btrfs/extent_io.c
CONFLICT (content): Merge conflict in fs/btrfs/disk-io.h
CONFLICT (content): Merge conflict in fs/btrfs/disk-io.c
CONFLICT (content): Merge conflict in fs/btrfs/compression.c
CONFLICT (content): Merge conflict in fs/block_dev.c
CONFLICT (content): Merge conflict in drivers/s390/block/scm_blk.h
CONFLICT (content): Merge conflict in drivers/s390/block/scm_blk.c
CONFLICT (content): Merge conflict in drivers/nvme/host/pci.c
CONFLICT (content): Merge conflict in drivers/md/dm-raid1.c
CONFLICT (content): Merge conflict in drivers/md/dm-io.c
Applying: s390: fix up for "blk-mq: switch ->queue_rq return value to blk_status_t"
Merging lightnvm/for-next (1c6286f26301 lightnvm: fix some error code in pblk-init.c)
Merging device-mapper/for-next (0aefb813be29 dm thin: do not queue freed thin mapping for next stage processing)
Merging pcmcia/master (e8e68fd86d22 pcmcia: do not break rsrc_nonstatic when handling anonymous cards)
Merging mmc/next (e47c0b96678c mmc: dw_mmc: remove the unnecessary slot variable)
CONFLICT (content): Merge conflict in drivers/mmc/core/block.c
Merging kgdb/kgdb-next (7a6653fca500 kdb: Fix handling of kallsyms_symbol_next() return value)
Merging md/for-next (7f053a6a7455 MD: fix a null dereference)
Applying: md: fix up for "blk: replace bioset_create_nobvec() with a flags arg to bioset_create()"
Merging mfd/for-mfd-next (d905cd268c76 dt-bindings: vendor-prefixes: Add arctic to vendor prefix)
Merging backlight/for-backlight-next (7e715c2d9c27 backlight: Report error on failure)
Merging battery/for-next (bfa953d336cd power: supply: sbs-battery: Don't needlessly set CAPACITY_MODE)
Merging omap_dss2/for-next (c456a2f30de5 video: smscufx: remove unused variable)
Merging regulator/for-next (2d324eda8235 Merge remote-tracking branches 'regulator/topic/settle', 'regulator/topic/tps65910' and 'regulator/topic/tps65917' into regulator-next)
Merging security/next (c4758fa59285 apparmor: put back designators in struct initialisers)
Merging integrity/next (fc26bd50539b IMA: update IMA policy documentation to include pcr= option)
Merging keys/keys-next (3088c2ad40cf Merge remote-tracking branch 'origin/keys-fixes' into keys-next)
CONFLICT (content): Merge conflict in security/keys/dh.c
Merging selinux/next (6a3911837da0 selinux: enable genfscon labeling for tracefs)
Merging tpmdd/next (0608454e2217 tpm: Issue a TPM2_Shutdown for TPM2 devices.)
Merging watchdog/master (3a9aedb282ac watchdog: w83627hf: Add support for NCT6793D and NCT6795D)
Merging iommu/next (6a7086431fa1 Merge branches 'iommu/fixes', 'arm/rockchip', 'arm/renesas', 'arm/smmu', 'arm/core', 'x86/vt-d', 'x86/amd', 's390' and 'core' into next)
Merging dwmw2-iommu/master (910170442944 iommu/vt-d: Fix PASID table allocation)
Merging vfio/next (5d6dee80a1e9 vfio: New external user group/file match)
Merging trivial/for-next (6fbc8798d946 tty: fix comment for __tty_alloc_driver())
Merging audit/next (cd33f5f2cbfa audit: make sure we never skip the multicast broadcast)
Merging devicetree/for-next (ce4fecf1fe15 vsprintf: Add %p extension "%pOF" for device tree)
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/net/ethernet.txt
Merging mailbox/mailbox-for-next (25bfee16d5a3 mailbox: Introduce Qualcomm APCS IPC driver)
Merging spi/for-next (9e138741788f Merge remote-tracking branches 'spi/topic/spidev', 'spi/topic/st-ssc4' and 'spi/topic/stm32' into spi-next)
Merging tip/auto-latest (e45571dd9ccb Merge branch 'x86/urgent')
CONFLICT (content): Merge conflict in net/bluetooth/hidp/core.c
CONFLICT (content): Merge conflict in net/bluetooth/cmtp/core.c
CONFLICT (content): Merge conflict in net/bluetooth/bnep/core.c
CONFLICT (content): Merge conflict in kernel/irq/affinity.c
CONFLICT (content): Merge conflict in drivers/acpi/apei/ghes.c
CONFLICT (content): Merge conflict in arch/unicore32/include/asm/Kbuild
CONFLICT (content): Merge conflict in arch/arm/include/uapi/asm/Kbuild
CONFLICT (modify/delete): Documentation/DocBook/kernel-hacking.tmpl deleted in HEAD and modified in tip/auto-latest. Version tip/auto-latest of Documentation/DocBook/kernel-hacking.tmpl left in tree.
$ git rm -f Documentation/DocBook/kernel-hacking.tmpl
Applying: sched/wait: fix up for "docs-rst: convert kernel-hacking to ReST"
Merging clockevents/clockevents/next (d9569035d594 clocksource: Add an alias macro CLOCKSOURCE_OF_DECLARE)
CONFLICT (content): Merge conflict in include/asm-generic/vmlinux.lds.h
CONFLICT (content): Merge conflict in drivers/clocksource/timer-fttmr010.c
CONFLICT (content): Merge conflict in drivers/clocksource/Makefile
CONFLICT (content): Merge conflict in drivers/clocksource/Kconfig
CONFLICT (content): Merge conflict in arch/arm/mach-moxart/Kconfig
Merging edac/linux_next (345fb0a9a634 Merge tag 'edac_for_4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp)
Merging edac-amd/for-next (164c29244d4b EDAC, pnd2: Fix Apollo Lake DIMM detection)
Merging irqchip/irqchip/for-next (c1ae3cfa0e89 Linux 4.11-rc1)
Merging ftrace/for-next (681bec0367c2 tracing: Rename update the enum_map file)
Merging rcu/rcu/next (49729e9a4e67 torture: Fix typo suppressing CPU-hotplug statistics)
Merging kvm/linux-next (865279c53ca9 tools/kvm_stat: display guest list in pid/guest selection screens)
Merging kvm-arm/next (d38338e396ee arm64: Remove a redundancy in sysreg.h)
CONFLICT (content): Merge conflict in Documentation/arm64/silicon-errata.txt
Merging kvm-mips/next (dc44abd6aad2 KVM: MIPS/Emulate: Properly implement TLBR for T&E)
Merging kvm-ppc/kvm-ppc-next (da4ec555fd4c KVM: PPC: Book3S HV: Close race with testing for signals on guest entry)
Merging kvms390/next (d52cd2076eb2 KVM: s390: Inject machine check into the nested guest)
CONFLICT (content): Merge conflict in include/uapi/linux/kvm.h
CONFLICT (content): Merge conflict in arch/s390/kvm/gaccess.c
CONFLICT (content): Merge conflict in arch/s390/include/asm/kvm_host.h
Merging xen-tip/linux-next (a5d5f328b0e2 xen: allocate page for shared info page from low memory)
CONFLICT (content): Merge conflict in drivers/xen/events/events_base.c
Merging percpu/for-next (e3efe3db932b percpu: fix static checker warnings in pcpu_destroy_chunk)
Merging workqueues/for-next (bacb71fc9187 Merge branch 'for-4.12' into for-next)
Merging drivers-x86/for-next (baea2c0e8f13 platform/x86: fujitsu-laptop: rework debugging)
Merging chrome-platform/for-next (5d6a312e8f99 platform/chrome: cros_ec_lightbar - hide unused PM functions)
Merging hsi/for-next (67ddd75771b6 HSI: core: Use kcalloc() in two functions)
Merging leds/for-next (64601cb1343f leds: Remove SEAD-3 driver)
Merging ipmi/for-next (1e7a75f74a19 char: ipmi: constify bmc_dev_attr_group and bmc_device_type)
Merging driver-core/driver-core-next (d565ed38d045 arm: mach-rpc: ecard: fix build error)
Merging usb/usb-next (fd90f73a9925 USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick)
CONFLICT (modify/delete): drivers/usb/misc/ucsi.c deleted in usb/usb-next and modified in HEAD. Version HEAD of drivers/usb/misc/ucsi.c left in tree.
$ git rm -f drivers/usb/misc/ucsi.c
Applying: usb: typec: fix for "ACPI: Switch to use generic guid_t in acpi_evaluate_dsm()"
Merging usb-gadget/next (0591bc236015 usb: gadget: add f_uac1 variant based on a new u_audio api)
Merging usb-serial/usb-next (c22ac6d29f18 USB: serial: propagate late probe errors)
Merging usb-chipidea-next/ci-for-usb-next (c4a0bbbdb7f6 usb: chipidea: properly handle host or gadget initialization failure)
Merging phy-next/next (af850e14a7ae phy: bcm-ns-usb3: add MDIO driver using proper bus layer)
Merging tty/tty-next (9f60e0e7aea6 tty/serial: meson_uart: update to stable bindings)
CONFLICT (content): Merge conflict in include/linux/platform_data/atmel.h
Merging char-misc/char-misc-next (cbbdc6082917 misc: apds990x: Use sysfs_match_string() helper)
CONFLICT (content): Merge conflict in Documentation/admin-guide/index.rst
CONFLICT (modify/delete): Documentation/DocBook/w1.tmpl deleted in HEAD and modified in char-misc/char-misc-next. Version char-misc/char-misc-next of Documentation/DocBook/w1.tmpl left in tree.
$ git rm -f Documentation/DocBook/w1.tmpl
Applying: docs-rst: merge fix for "DocBook: w1: Update W1 file locations and names in DocBook"
Merging extcon/extcon-next (1f4be24786b8 extcon: int3496: Switch to devm_acpi_dev_add_driver_gpios())
Merging staging/staging-next (8a21ff775f56 staging: speakup: make ttyio synths use device name)
CONFLICT (content): Merge conflict in include/uapi/linux/tty.h
Merging mux/for-next (a351e9b9fc24 Linux 4.11)
Merging slave-dma/next (e9446e2b2d9d Merge branch 'for-linus' into next)
Merging cgroup/for-next (5136f6365ce3 cgroup: implement "nsdelegate" mount option)
Merging scsi/for-next (1912374d933b Merge branch 'misc' into for-next)
CONFLICT (content): Merge conflict in drivers/scsi/scsi_transport_fc.c
CONFLICT (content): Merge conflict in drivers/scsi/scsi_lib.c
Merging scsi-mkp/for-next (f62f9ffdb5ef scsi: sun_esp: fix device reference leaks)
Merging target-updates/for-next (055c758171c9 tcmu: make array tcmu_attrib_attrs static const)
CONFLICT (content): Merge conflict in drivers/scsi/qla2xxx/qla_target.c
Merging target-merge/for-next-merge (2994a7518317 cxgb4: update Kconfig and Makefile)
Merging target-bva/for-next (2ea659a9ef48 Linux 4.12-rc1)
Merging libata/for-next (af62e4938e3c Merge branch 'for-4.13' into for-next)
Merging binfmt_misc/for-next (4af75df6a410 binfmt_misc: add F option description to documentation)
Merging vhost/linux-next (e41b1355508d virtio_balloon: disable VIOMMU support)
Merging rpmsg/for-next (9ef2b6cc595a Merge branches 'hwspinlock-next', 'rpmsg-next' and 'rproc-next' into for-next)
Merging gpio/for-next (a4196d365937 Merge branch 'devel' into for-next)
Merging pinctrl/for-next (cf342f7302c0 Merge branch 'devel' into for-next)
Merging pinctrl-samsung/for-next (a453f3693f2a pinctrl: samsung: Explicitly cast pointer returned by of_iomap() to iomem)
Merging pwm/for-next (97512ceafaac Merge branch 'for-4.12/drivers' into for-next)
Merging dma-buf/for-next (194cad44c4e1 dma-buf/sync_file: improve Kconfig description for Sync Files)
CONFLICT (content): Merge conflict in drivers/dma-buf/Kconfig
Merging userns/for-next (296990deb389 mnt: Make propagate_umount less slow for overlapping mount propagation trees)
Merging ktest/for-next (f7c6401ff84a ktest: Make sure wait_for_input does honor the timeout)
Merging random/dev (e2682130931f random: suppress spammy warnings about unseeded randomness)
Merging aio/master (b562e44f507e Linux 4.5)
Merging kselftest/next (cb2e4ba3a544 selftests/capabilities: Fix the test_execve test)
CONFLICT (content): Merge conflict in MAINTAINERS
CONFLICT (content): Merge conflict in Documentation/dev-tools/index.rst
Merging y2038/y2038 (69973b830859 Linux 4.9)
Merging luto-misc/next (2dcd0af568b0 Linux 4.6)
Merging borntraeger/linux-next (e76d21c40bd6 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging livepatching/for-next (26d8d1e9bb48 Merge branch 'for-4.12/upstream-fixes' into for-next)
Merging coresight/next (92cd7037795e arm64: dts: qcom: msm8916: Add debug unit)
Merging rtc/rtc-next (9f4ad359c801 rtc: brcmstb-waketimer: Add Broadcom STB wake-timer)
Merging hwspinlock/for-next (bd5717a4632c hwspinlock: qcom: Correct msb in regmap_field)
Merging nvdimm/libnvdimm-for-next (159deeb6dbcf Merge branch 'for-4.13/dax' into libnvdimm-for-next)
Merging dax-misc/dax-misc (4d9a2c874667 dax: Remove i_mmap_lock protection)
Merging idr/idr-4.11 (f0f3f2d0a3e0 radix tree test suite: Specify -m32 in LDFLAGS too)
Merging kspp/for-next/kspp (b3645fbb0553 Merge branch 'for-next/gcc-plugin/randstruct' into for-next/kspp)
CONFLICT (content): Merge conflict in include/linux/fs.h
Merging akpm-current/current (f33857ea9f81 ipc/util.h: update documentation for ipc_getref() and ipc_putref())
CONFLICT (content): Merge conflict in kernel/power/snapshot.c
CONFLICT (content): Merge conflict in include/linux/sem.h
CONFLICT (content): Merge conflict in include/linux/ipc.h
$ git checkout -b akpm remotes/origin/akpm/master
Applying: net/netfilter/x_tables.c: use kvmalloc() in xt_alloc_table_info()
Applying: kernel/watchdog: remove unused declaration
Applying: kernel/watchdog: introduce arch_touch_nmi_watchdog()
Applying: kernel/watchdog: split up config options
Applying: watchdog-split-up-config-options-fix
Applying: kernel/watchdog: provide watchdog_nmi_reconfigure() for arch watchdogs
Applying: watchdog-provide-watchdog_reconfigure-for-arch-watchdogs-fix
Applying: kernel/watchdog: hide unused function
Applying: powerpc/64s: implement arch-specific hardlockup watchdog
Applying: powerpc/64s: watchdog honor watchdog disable at boot/hotplug
Applying: powerpc-64s-implement-arch-specific-hardlockup-watchdog-checkpatch-fixes
Applying: efi: avoid fortify checks in EFI stub
Applying: kexec_file: adjust declaration of kexec_purgatory
Applying: IB/rxe: do not copy extra stack memory to skb
Applying: powerpc: don't fortify prom_init
Applying: powerpc: make feature-fixup tests fortify-safe
Applying: include/linux/string.h: add the option of fortified string.h functions
Applying: x86: fix fortified memcpy
Applying: fortify: avoid panic() in favor of BUG()
Applying: sh: mark end of BUG() implementation as unreachable
Applying: random,stackprotect: introduce get_random_canary function
Applying: fork,random: use get_random_canary() to set tsk->stack_canary
Applying: x86: ascii armor the x86_64 boot init stack canary
Applying: arm64: ascii armor the arm64 boot init stack canary
Applying: sh64: ascii armor the sh64 boot init stack canary
Applying: x86/mmap: properly account for stack randomization in mmap_base
Applying: arm64/mmap: properly account for stack randomization in mmap_base
Applying: powerpc,mmap: properly account for stack randomization in mmap_base
Applying: MIPS: do not use __GFP_REPEAT for order-0 request
Applying: mm, tree wide: replace __GFP_REPEAT by __GFP_RETRY_MAYFAIL with more useful semantic
Applying: mm-tree-wide-replace-__gfp_repeat-by-__gfp_retry_mayfail-with-more-useful-semantic-fix
Applying: mm-tree-wide-replace-__gfp_repeat-by-__gfp_retry_mayfail-with-more-useful-semantic-fix
Applying: mm-tree-wide-replace-__gfp_repeat-by-__gfp_retry_mayfail-with-more-useful-semantic-fix-3
Applying: xfs: map KM_MAYFAIL to __GFP_RETRY_MAYFAIL
Applying: mm: kvmalloc support __GFP_RETRY_MAYFAIL for all sizes
Applying: drm/i915: use __GFP_RETRY_MAYFAIL
Applying: mm, migration: do not trigger OOM killer when migrating memory
Applying: mm/memory-hotplug: switch locking to a percpu rwsem
Applying: sparc64: NG4 memset 32 bits overflow
Applying: xtensa: use generic fb.h
Applying: MAINTAINERS: give kmod some maintainer love
Applying: kmod: add test driver to stress test the module loader
Applying: kmod: throttle kmod thread limit
Applying: writeback: rework wb_[dec|inc]_stat family of functions
Applying: lib/crc-ccitt: add CCITT-FALSE CRC16 variant
Merging akpm/master (ff0374dbac91 lib/crc-ccitt: add CCITT-FALSE CRC16 variant)
Applying: net/mlx5: fix memcpy limit?
^ permalink raw reply
* [PATCH] pinctrl: rza1: Remove unneeded wrong check for wrong variable
From: Geert Uytterhoeven @ 2017-06-30 6:57 UTC (permalink / raw)
To: Linus Walleij
Cc: Stephen Rothwell, Jacopo Mondi, Chris Brandt, linux-gpio,
linux-renesas-soc, linux-next, Geert Uytterhoeven
Depending on compiler version:
drivers/pinctrl/pinctrl-rza1.c: In function ‘rza1_pinctrl_probe’:
drivers/pinctrl/pinctrl-rza1.c:1260:5: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (ret)
^
Indeed, the result returned by platform_get_resource() was stored in
"res", not "ret". In addition, the correct error check would be
"if (!res)", as platform_get_resource() does not return an error code,
but returns NULL on failure.
However, as devm_ioremap_resource() verifies the validity of the passed
resource pointer anyway, the check can just be removed.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Fixes: 5a49b644b3075f88 ("pinctrl: Renesas RZ/A1 pin and gpio controller")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
Compile-tested only.
---
drivers/pinctrl/pinctrl-rza1.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-rza1.c b/drivers/pinctrl/pinctrl-rza1.c
index 614a043f3038d5d3..1188e6881e52ba7a 100644
--- a/drivers/pinctrl/pinctrl-rza1.c
+++ b/drivers/pinctrl/pinctrl-rza1.c
@@ -1257,9 +1257,6 @@ static int rza1_pinctrl_probe(struct platform_device *pdev)
rza1_pctl->dev = &pdev->dev;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (ret)
- return -ENODEV;
-
rza1_pctl->base = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(rza1_pctl->base))
return PTR_ERR(rza1_pctl->base);
--
2.7.4
^ permalink raw reply related
* Re: linux-next: build warning after merge of the pinctrl tree
From: Geert Uytterhoeven @ 2017-06-30 6:59 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Linus Walleij, Jacopo Mondi, Linux-Next Mailing List,
Linux Kernel Mailing List
In-Reply-To: <20170630145601.441b4994@canb.auug.org.au>
Hi Stephen,
On Fri, Jun 30, 2017 at 6:56 AM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> After merging the pinctrl tree, today's linux-next build (x86_64
> allmodconfig) produced this warning:
>
> drivers/pinctrl/pinctrl-rza1.c: In function 'rza1_pinctrl_probe':
> drivers/pinctrl/pinctrl-rza1.c:1260:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
> if (ret)
> ^
>
> Introduced by commit
>
> 5a49b644b307 ("pinctrl: Renesas RZ/A1 pin and gpio controller")
Doh, 0day doesn't use compilers that report uninitialized variables?
Patch sent.
Thanks for reporting!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* Re: cpus stalls detected few hours after booting next kernel
From: Nicholas Piggin @ 2017-06-30 7:28 UTC (permalink / raw)
To: Abdul Haleem
Cc: sachinp, Stephen Rothwell, Paul McKenney, linux-kernel,
linux-next, paulus, linuxppc-dev, paulmck
In-Reply-To: <1498800138.19484.25.camel@abdul>
On Fri, 30 Jun 2017 10:52:18 +0530
Abdul Haleem <abdhalee@linux.vnet.ibm.com> wrote:
> On Fri, 2017-06-30 at 00:45 +1000, Nicholas Piggin wrote:
> > On Thu, 29 Jun 2017 20:23:05 +1000
> > Nicholas Piggin <npiggin@gmail.com> wrote:
> >
> > > On Thu, 29 Jun 2017 19:36:14 +1000
> > > Nicholas Piggin <npiggin@gmail.com> wrote:
> >
> > > > I don't *think* the replay-wakeup-interrupt patch is directly involved, but
> > > > it's likely to be one of the idle patches.
> >
> > Okay this turned out to be misconfigured sleep states I added for the
> > simulator, sorry for the false alarm.
> >
> > > Although you have this in the backtrace. I wonder if that's a stuck
> > > lock in rcu_process_callbacks?
> >
> > So this spinlock becomes top of the list of suspects. Can you try
> > enabling lockdep and try to reproduce it?
>
> Yes, recreated again with CONFIG_LOCKDEP=y & CONFIG_DEBUG_LOCKDEP=y set.
> I do not see any difference in trace messages with and without LOCKDEP
> enabled.
>
> Please find the attached log file.
Can you get an rcu_invoke_callback event trace that Paul suggested?
Does this bug show up with just the powerpc next branch?
Thanks,
Nick
^ permalink raw reply
* next-20170630 build: 1 failures 7 warnings (next-20170630)
From: Build bot for Mark Brown @ 2017-06-30 8:54 UTC (permalink / raw)
To: kernel-build-reports, linaro-kernel, linux-next
Tree/Branch: next-20170630
Git describe: next-20170630
Commit: a70e9c77d0 Add linux-next specific files for 20170630
Build Time: 0 min 11 sec
Passed: 6 / 7 ( 85.71 %)
Failed: 1 / 7 ( 14.29 %)
Errors: 1
Warnings: 7
Section Mismatches: 0
Failed defconfigs:
arm-allmodconfig
Errors:
arm-allmodconfig
ERROR: "__aeabi_uldivmod" [drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko] undefined!
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
2 warnings 0 mismatches : arm-multi_v5_defconfig
1 warnings 0 mismatches : arm-multi_v7_defconfig
4 warnings 0 mismatches : arm-allmodconfig
2 warnings 0 mismatches : arm-allnoconfig
1 warnings 0 mismatches : x86_64-allnoconfig
2 warnings 0 mismatches : arm-multi_v4t_defconfig
-------------------------------------------------------------------------------
Errors summary: 1
1 ERROR: "__aeabi_uldivmod" [drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko] undefined!
Warnings Summary: 7
3 ../kernel/sched/fair.c:2657:9: warning: its scope is only this definition or declaration, which is probably not what you want
3 ../kernel/sched/fair.c:2657:9: warning: 'struct sched_domain' declared inside parameter list
2 ../drivers/rtc/rtc-brcmstb-waketimer.c:142:6: warning: unused variable 'ret' [-Wunused-variable]
1 ../kernel/sched/fair.c:2655:44: warning: 'struct sched_domain' declared inside parameter list will not be visible outside of this definition or declaration
1 ../include/uapi/linux/byteorder/big_endian.h:32:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]
1 ../drivers/staging/media/imx/imx-media-of.c:216:4: warning: 'remote_np' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/pinctrl/pinctrl-rza1.c:1260:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm-multi_v5_defconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
../kernel/sched/fair.c:2657:9: warning: 'struct sched_domain' declared inside parameter list
../kernel/sched/fair.c:2657:9: warning: its scope is only this definition or declaration, which is probably not what you want
-------------------------------------------------------------------------------
arm-multi_v7_defconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/rtc/rtc-brcmstb-waketimer.c:142:6: warning: unused variable 'ret' [-Wunused-variable]
-------------------------------------------------------------------------------
arm-allmodconfig : FAIL, 1 errors, 4 warnings, 0 section mismatches
Errors:
ERROR: "__aeabi_uldivmod" [drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko] undefined!
Warnings:
../drivers/pinctrl/pinctrl-rza1.c:1260:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/rtc/rtc-brcmstb-waketimer.c:142:6: warning: unused variable 'ret' [-Wunused-variable]
../include/uapi/linux/byteorder/big_endian.h:32:26: warning: large integer implicitly truncated to unsigned type [-Woverflow]
../drivers/staging/media/imx/imx-media-of.c:216:4: warning: 'remote_np' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
arm-allnoconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
../kernel/sched/fair.c:2657:9: warning: 'struct sched_domain' declared inside parameter list
../kernel/sched/fair.c:2657:9: warning: its scope is only this definition or declaration, which is probably not what you want
-------------------------------------------------------------------------------
x86_64-allnoconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../kernel/sched/fair.c:2655:44: warning: 'struct sched_domain' declared inside parameter list will not be visible outside of this definition or declaration
-------------------------------------------------------------------------------
arm-multi_v4t_defconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
../kernel/sched/fair.c:2657:9: warning: 'struct sched_domain' declared inside parameter list
../kernel/sched/fair.c:2657:9: warning: its scope is only this definition or declaration, which is probably not what you want
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
x86_64-defconfig
^ permalink raw reply
* Re: [PATCH] pinctrl: rza1: Remove unneeded wrong check for wrong variable
From: Linus Walleij @ 2017-06-30 13:47 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Stephen Rothwell, Jacopo Mondi, Chris Brandt,
linux-gpio@vger.kernel.org, Linux-Renesas,
linux-next@vger.kernel.org
In-Reply-To: <1498805859-4136-1-git-send-email-geert+renesas@glider.be>
On Fri, Jun 30, 2017 at 8:57 AM, Geert Uytterhoeven
<geert+renesas@glider.be> wrote:
> Depending on compiler version:
>
> drivers/pinctrl/pinctrl-rza1.c: In function ‘rza1_pinctrl_probe’:
> drivers/pinctrl/pinctrl-rza1.c:1260:5: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized]
> if (ret)
> ^
>
> Indeed, the result returned by platform_get_resource() was stored in
> "res", not "ret". In addition, the correct error check would be
> "if (!res)", as platform_get_resource() does not return an error code,
> but returns NULL on failure.
>
> However, as devm_ioremap_resource() verifies the validity of the passed
> resource pointer anyway, the check can just be removed.
>
> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> Fixes: 5a49b644b3075f88 ("pinctrl: Renesas RZ/A1 pin and gpio controller")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Patch applied.
Yours,
Linus Walleij
^ permalink raw reply
* Re: linux-next: build warning after merge of the pinctrl tree
From: Linus Walleij @ 2017-06-30 13:48 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Stephen Rothwell, Jacopo Mondi, Linux-Next Mailing List,
Linux Kernel Mailing List
In-Reply-To: <CAMuHMdVHkg3vs9XVthMoZzyV37KgNcWBj9RN3s6XATY3Eux0qw@mail.gmail.com>
On Fri, Jun 30, 2017 at 8:59 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> On Fri, Jun 30, 2017 at 6:56 AM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>> After merging the pinctrl tree, today's linux-next build (x86_64
>> allmodconfig) produced this warning:
>>
>> drivers/pinctrl/pinctrl-rza1.c: In function 'rza1_pinctrl_probe':
>> drivers/pinctrl/pinctrl-rza1.c:1260:5: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
>> if (ret)
>> ^
>>
>> Introduced by commit
>>
>> 5a49b644b307 ("pinctrl: Renesas RZ/A1 pin and gpio controller")
>
> Doh, 0day doesn't use compilers that report uninitialized variables?
The real problem is that 0day is not working right now.
I only get timeouts from it for the moment.
Yours,
Linus Walleij
^ permalink raw reply
* Re: cpus stalls detected few hours after booting next kernel
From: Paul E. McKenney @ 2017-06-30 18:15 UTC (permalink / raw)
To: Nicholas Piggin
Cc: Abdul Haleem, sachinp, Stephen Rothwell, Paul McKenney,
linux-kernel, linux-next, paulus, linuxppc-dev
In-Reply-To: <20170630172802.6d4ddca2@roar.ozlabs.ibm.com>
On Fri, Jun 30, 2017 at 05:28:02PM +1000, Nicholas Piggin wrote:
> On Fri, 30 Jun 2017 10:52:18 +0530
> Abdul Haleem <abdhalee@linux.vnet.ibm.com> wrote:
>
> > On Fri, 2017-06-30 at 00:45 +1000, Nicholas Piggin wrote:
> > > On Thu, 29 Jun 2017 20:23:05 +1000
> > > Nicholas Piggin <npiggin@gmail.com> wrote:
> > >
> > > > On Thu, 29 Jun 2017 19:36:14 +1000
> > > > Nicholas Piggin <npiggin@gmail.com> wrote:
> > >
> > > > > I don't *think* the replay-wakeup-interrupt patch is directly involved, but
> > > > > it's likely to be one of the idle patches.
> > >
> > > Okay this turned out to be misconfigured sleep states I added for the
> > > simulator, sorry for the false alarm.
> > >
> > > > Although you have this in the backtrace. I wonder if that's a stuck
> > > > lock in rcu_process_callbacks?
> > >
> > > So this spinlock becomes top of the list of suspects. Can you try
> > > enabling lockdep and try to reproduce it?
> >
> > Yes, recreated again with CONFIG_LOCKDEP=y & CONFIG_DEBUG_LOCKDEP=y set.
> > I do not see any difference in trace messages with and without LOCKDEP
> > enabled.
> >
> > Please find the attached log file.
>
> Can you get an rcu_invoke_callback event trace that Paul suggested?
>
> Does this bug show up with just the powerpc next branch?
And I must say that those RCU CPU stall warnings are spectacular!
Did you by chance boot with a small subset of the CPUs online, and
bring the rest online later on?
Thanx, Paul
^ permalink raw reply
* Re: linux-next: manual merge of the akpm-current tree with the kselftest tree
From: Luis R. Rodriguez @ 2017-06-30 22:43 UTC (permalink / raw)
To: Andrew Morton
Cc: Stephen Rothwell, Shuah Khan, Linux-Next Mailing List,
Linux Kernel Mailing List, Orson Zhai, Luis R. Rodriguez
In-Reply-To: <20170629123527.2196820e70818aeab51338e5@linux-foundation.org>
On Thu, Jun 29, 2017 at 12:35:27PM -0700, Andrew Morton wrote:
> On Wed, 28 Jun 2017 18:31:11 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> > Hi all,
> >
> > Today's linux-next merge of the akpm-current tree got conflicts in:
> >
> > tools/testing/selftests/sysctl/common_tests
> > tools/testing/selftests/sysctl/run_numerictests
> > tools/testing/selftests/sysctl/run_stringtests
> >
> > between commit:
> >
> > d644437a1dc6 ("tools/testing/selftests/sysctl: Add pre-check to the value of writes_strict")
> >
> > from the kselftest tree and commit:
> >
> > fed7038685f3 ("test_sysctl: add generic script to expand on tests")
> >
> > from the akpm-current tree.
> >
> > I fixed it up (I removed the files and so, for now I have effectively
> > dropped the kselftest tree patch) and can carry the fix as necessary. This
> > is now fixed as far as linux-next is concerned, but any non trivial
> > conflicts should be mentioned to your upstream maintainer when your tree
> > is submitted for merging. You may also want to consider cooperating
> > with the maintainer of the conflicting tree to minimise any particularly
> > complex conflicts.
> >
>
> urgh.
>
> I'll drop
>
> test_sysctl-add-dedicated-proc-sysctl-test-driver.patch
> test_sysctl-add-generic-script-to-expand-on-tests.patch
> test_sysctl-test-against-page_size-for-int.patch
> test_sysctl-add-simple-proc_dointvec-case.patch
> test_sysctl-add-simple-proc_douintvec-case.patch
> test_sysctl-test-against-int-proc_dointvec-array-support.patch
>
> Luis, could you please redo these against the changes in linux-next and
> resend?
Coming right up!
Luis
^ permalink raw reply
* [PATCH v2 1/6] test_sysctl: add dedicated proc sysctl test driver
From: Luis R. Rodriguez @ 2017-06-30 22:44 UTC (permalink / raw)
To: akpm
Cc: keescook, shuahkh, shuah, sfr, orson.zhai, linux-next,
linux-kernel, Luis R. Rodriguez, Eric W. Biederman
In-Reply-To: <20170630224431.17374-1-mcgrof@kernel.org>
The existing tools/testing/selftests/sysctl/ tests include two test cases,
but these use existing production kernel sysctl interfaces. We want to
expand test coverage but we can't just be looking for random safe production
values to poke at, that's just insane!
Instead just dedicate a test driver for debugging purposes and port the
existing scripts to use it. This will make it easier for further tests to
be added.
Subsequent patches will extend our test coverage for sysctl.
The stress test driver uses a new license (GPL on Linux, copyleft-next
outside of Linux). Linus was fine with this [0] and later due to Ted's
and Alans's request ironed out an "or" language clause to use [1] which is
already present upstream.
[0] https://lkml.kernel.org/r/CA+55aFyhxcvD+q7tp+-yrSFDKfR0mOHgyEAe=f_94aKLsOu0Og@mail.gmail.com
[1] https://lkml.kernel.org/r/1495234558.7848.122.camel@linux.intel.com
Acked-by: Kees Cook <keescook@chromium.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
lib/Kconfig.debug | 11 +++
lib/Makefile | 1 +
lib/test_sysctl.c | 113 ++++++++++++++++++++++++
tools/testing/selftests/sysctl/config | 1 +
tools/testing/selftests/sysctl/run_numerictests | 4 +-
tools/testing/selftests/sysctl/run_stringtests | 4 +-
6 files changed, 130 insertions(+), 4 deletions(-)
create mode 100644 lib/test_sysctl.c
create mode 100644 tools/testing/selftests/sysctl/config
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index b0c35e0667df..dfa50b54f017 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1824,6 +1824,17 @@ config TEST_FIRMWARE
If unsure, say N.
+config TEST_SYSCTL
+ tristate "sysctl test driver"
+ default n
+ depends on PROC_SYSCTL
+ help
+ This builds the "test_sysctl" module. This driver enables to test the
+ proc sysctl interfaces available to drivers safely without affecting
+ production knobs which might alter system functionality.
+
+ If unsure, say N.
+
config TEST_UDELAY
tristate "udelay test driver"
default n
diff --git a/lib/Makefile b/lib/Makefile
index 678c6c38a991..40c18372b301 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -46,6 +46,7 @@ obj-$(CONFIG_TEST_HEXDUMP) += test_hexdump.o
obj-y += kstrtox.o
obj-$(CONFIG_TEST_BPF) += test_bpf.o
obj-$(CONFIG_TEST_FIRMWARE) += test_firmware.o
+obj-$(CONFIG_TEST_SYSCTL) += test_sysctl.o
obj-$(CONFIG_TEST_HASH) += test_hash.o test_siphash.o
obj-$(CONFIG_TEST_KASAN) += test_kasan.o
obj-$(CONFIG_TEST_KSTRTOX) += test-kstrtox.o
diff --git a/lib/test_sysctl.c b/lib/test_sysctl.c
new file mode 100644
index 000000000000..b2163bfb6eb2
--- /dev/null
+++ b/lib/test_sysctl.c
@@ -0,0 +1,113 @@
+/*
+ * proc sysctl test driver
+ *
+ * Copyright (C) 2017 Luis R. Rodriguez <mcgrof@kernel.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or at your option any
+ * later version; or, when distributed separately from the Linux kernel or
+ * when incorporated into other software packages, subject to the following
+ * license:
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of copyleft-next (version 0.3.1 or later) as published
+ * at http://copyleft-next.org/.
+ */
+
+/*
+ * This module provides an interface to the the proc sysctl interfaces. This
+ * driver requires CONFIG_PROC_SYSCTL. It will not normally be loaded by the
+ * system unless explicitly requested by name. You can also build this driver
+ * into your kernel.
+ */
+
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#include <linux/init.h>
+#include <linux/list.h>
+#include <linux/module.h>
+#include <linux/printk.h>
+#include <linux/fs.h>
+#include <linux/miscdevice.h>
+#include <linux/slab.h>
+#include <linux/uaccess.h>
+#include <linux/async.h>
+#include <linux/delay.h>
+#include <linux/vmalloc.h>
+
+static int i_zero;
+static int i_one_hundred = 100;
+
+struct test_sysctl_data {
+ int int_0001;
+ char string_0001[65];
+};
+
+static struct test_sysctl_data test_data = {
+ .int_0001 = 60,
+ .string_0001 = "(none)",
+};
+
+/* These are all under /proc/sys/debug/test_sysctl/ */
+static struct ctl_table test_table[] = {
+ {
+ .procname = "int_0001",
+ .data = &test_data.int_0001,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = proc_dointvec_minmax,
+ .extra1 = &i_zero,
+ .extra2 = &i_one_hundred,
+ },
+ {
+ .procname = "string_0001",
+ .data = &test_data.string_0001,
+ .maxlen = sizeof(test_data.string_0001),
+ .mode = 0644,
+ .proc_handler = proc_dostring,
+ },
+ { }
+};
+
+static struct ctl_table test_sysctl_table[] = {
+ {
+ .procname = "test_sysctl",
+ .maxlen = 0,
+ .mode = 0555,
+ .child = test_table,
+ },
+ { }
+};
+
+static struct ctl_table test_sysctl_root_table[] = {
+ {
+ .procname = "debug",
+ .maxlen = 0,
+ .mode = 0555,
+ .child = test_sysctl_table,
+ },
+ { }
+};
+
+static struct ctl_table_header *test_sysctl_header;
+
+static int __init test_sysctl_init(void)
+{
+ test_sysctl_header = register_sysctl_table(test_sysctl_root_table);
+ if (!test_sysctl_header)
+ return -ENOMEM;
+ return 0;
+}
+late_initcall(test_sysctl_init);
+
+static void __exit test_sysctl_exit(void)
+{
+ if (test_sysctl_header)
+ unregister_sysctl_table(test_sysctl_header);
+}
+
+module_exit(test_sysctl_exit);
+
+MODULE_AUTHOR("Luis R. Rodriguez <mcgrof@kernel.org>");
+MODULE_LICENSE("GPL");
diff --git a/tools/testing/selftests/sysctl/config b/tools/testing/selftests/sysctl/config
new file mode 100644
index 000000000000..6ca14800d755
--- /dev/null
+++ b/tools/testing/selftests/sysctl/config
@@ -0,0 +1 @@
+CONFIG_TEST_SYSCTL=y
diff --git a/tools/testing/selftests/sysctl/run_numerictests b/tools/testing/selftests/sysctl/run_numerictests
index e6e76c93d948..c375ce0f4c15 100755
--- a/tools/testing/selftests/sysctl/run_numerictests
+++ b/tools/testing/selftests/sysctl/run_numerictests
@@ -1,7 +1,7 @@
#!/bin/sh
-SYSCTL="/proc/sys"
-TARGET="${SYSCTL}/vm/swappiness"
+SYSCTL="/proc/sys/debug/test_sysctl/"
+TARGET="${SYSCTL}/int_0001"
ORIG=$(cat "${TARGET}")
TEST_STR=$(( $ORIG + 1 ))
diff --git a/tools/testing/selftests/sysctl/run_stringtests b/tools/testing/selftests/sysctl/run_stringtests
index 857ec667fb02..a6f2618afeaa 100755
--- a/tools/testing/selftests/sysctl/run_stringtests
+++ b/tools/testing/selftests/sysctl/run_stringtests
@@ -1,7 +1,7 @@
#!/bin/sh
-SYSCTL="/proc/sys"
-TARGET="${SYSCTL}/kernel/domainname"
+SYSCTL="/proc/sys/debug/test_sysctl/"
+TARGET="${SYSCTL}/string_0001"
ORIG=$(cat "${TARGET}")
TEST_STR="Testing sysctl"
--
2.11.0
^ permalink raw reply related
* [PATCH v2 2/6] test_sysctl: add generic script to expand on tests
From: Luis R. Rodriguez @ 2017-06-30 22:44 UTC (permalink / raw)
To: akpm
Cc: keescook, shuahkh, shuah, sfr, orson.zhai, linux-next,
linux-kernel, Luis R. Rodriguez, Eric W. Biederman
In-Reply-To: <20170630224431.17374-1-mcgrof@kernel.org>
This adds a generic script to let us more easily add more tests cases.
Since we really have only two types of tests cases just fold them into the
one file. Each test unit is now identified into its separate function:
# ./sysctl.sh -l
Test ID list:
TEST_ID x NUM_TEST
TEST_ID: Test ID
NUM_TESTS: Number of recommended times to run the test
0001 x 1 - tests proc_dointvec_minmax()
0002 x 1 - tests proc_dostring()
For now we start off with what we had before, and run only each test once.
We can now watch a test case until it fails:
./sysctl.sh -w 0002
We can also run a test case x number of times, say we want to run
a test case 100 times:
./sysctl.sh -c 0001 100
To run a test case only once, for example:
./sysctl.sh -s 0002
The default settings are specified at the top of sysctl.sh.
Cc: Kees Cook <keescook@chromium.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
tools/testing/selftests/sysctl/Makefile | 3 +-
tools/testing/selftests/sysctl/common_tests | 131 -------
tools/testing/selftests/sysctl/run_numerictests | 10 -
tools/testing/selftests/sysctl/run_stringtests | 77 ----
tools/testing/selftests/sysctl/sysctl.sh | 494 ++++++++++++++++++++++++
5 files changed, 495 insertions(+), 220 deletions(-)
delete mode 100644 tools/testing/selftests/sysctl/common_tests
delete mode 100755 tools/testing/selftests/sysctl/run_numerictests
delete mode 100755 tools/testing/selftests/sysctl/run_stringtests
create mode 100755 tools/testing/selftests/sysctl/sysctl.sh
diff --git a/tools/testing/selftests/sysctl/Makefile b/tools/testing/selftests/sysctl/Makefile
index b3c33e071f10..95c320b354e8 100644
--- a/tools/testing/selftests/sysctl/Makefile
+++ b/tools/testing/selftests/sysctl/Makefile
@@ -4,8 +4,7 @@
# No binaries, but make sure arg-less "make" doesn't trigger "run_tests".
all:
-TEST_PROGS := run_numerictests run_stringtests
-TEST_FILES := common_tests
+TEST_PROGS := sysctl.sh
include ../lib.mk
diff --git a/tools/testing/selftests/sysctl/common_tests b/tools/testing/selftests/sysctl/common_tests
deleted file mode 100644
index b6862322962f..000000000000
--- a/tools/testing/selftests/sysctl/common_tests
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/bin/sh
-
-TEST_FILE=$(mktemp)
-
-echo "== Testing sysctl behavior against ${TARGET} =="
-
-set_orig()
-{
- echo "${ORIG}" > "${TARGET}"
-}
-
-set_test()
-{
- echo "${TEST_STR}" > "${TARGET}"
-}
-
-verify()
-{
- local seen
- seen=$(cat "$1")
- if [ "${seen}" != "${TEST_STR}" ]; then
- return 1
- fi
- return 0
-}
-
-exit_test()
-{
- if [ ! -z ${old_strict} ]; then
- echo ${old_strict} > ${WRITES_STRICT}
- fi
- exit $rc
-}
-
-trap 'set_orig; rm -f "${TEST_FILE}"' EXIT
-
-rc=0
-
-echo -n "Writing test file ... "
-echo "${TEST_STR}" > "${TEST_FILE}"
-if ! verify "${TEST_FILE}"; then
- echo "FAIL" >&2
- exit 1
-else
- echo "ok"
-fi
-
-echo -n "Checking sysctl is not set to test value ... "
-if verify "${TARGET}"; then
- echo "FAIL" >&2
- exit 1
-else
- echo "ok"
-fi
-
-echo -n "Writing sysctl from shell ... "
-set_test
-if ! verify "${TARGET}"; then
- echo "FAIL" >&2
- exit 1
-else
- echo "ok"
-fi
-
-echo -n "Resetting sysctl to original value ... "
-set_orig
-if verify "${TARGET}"; then
- echo "FAIL" >&2
- exit 1
-else
- echo "ok"
-fi
-
-echo -n "Checking write strict setting ... "
-WRITES_STRICT="${SYSCTL}/kernel/sysctl_writes_strict"
-if [ ! -e ${WRITES_STRICT} ]; then
- echo "FAIL, but skip in case of old kernel" >&2
-else
- old_strict=$(cat ${WRITES_STRICT})
- if [ "$old_strict" = "1" ]; then
- echo "ok"
- else
- echo "FAIL, strict value is 0 but force to 1 to continue" >&2
- echo "1" > ${WRITES_STRICT}
- fi
-fi
-
-# Now that we've validated the sanity of "set_test" and "set_orig",
-# we can use those functions to set starting states before running
-# specific behavioral tests.
-
-echo -n "Writing entire sysctl in single write ... "
-set_orig
-dd if="${TEST_FILE}" of="${TARGET}" bs=4096 2>/dev/null
-if ! verify "${TARGET}"; then
- echo "FAIL" >&2
- rc=1
-else
- echo "ok"
-fi
-
-echo -n "Writing middle of sysctl after synchronized seek ... "
-set_test
-dd if="${TEST_FILE}" of="${TARGET}" bs=1 seek=1 skip=1 2>/dev/null
-if ! verify "${TARGET}"; then
- echo "FAIL" >&2
- rc=1
-else
- echo "ok"
-fi
-
-echo -n "Writing beyond end of sysctl ... "
-set_orig
-dd if="${TEST_FILE}" of="${TARGET}" bs=20 seek=2 2>/dev/null
-if verify "${TARGET}"; then
- echo "FAIL" >&2
- rc=1
-else
- echo "ok"
-fi
-
-echo -n "Writing sysctl with multiple long writes ... "
-set_orig
-(perl -e 'print "A" x 50;'; echo "${TEST_STR}") | \
- dd of="${TARGET}" bs=50 2>/dev/null
-if verify "${TARGET}"; then
- echo "FAIL" >&2
- rc=1
-else
- echo "ok"
-fi
diff --git a/tools/testing/selftests/sysctl/run_numerictests b/tools/testing/selftests/sysctl/run_numerictests
deleted file mode 100755
index c375ce0f4c15..000000000000
--- a/tools/testing/selftests/sysctl/run_numerictests
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-SYSCTL="/proc/sys/debug/test_sysctl/"
-TARGET="${SYSCTL}/int_0001"
-ORIG=$(cat "${TARGET}")
-TEST_STR=$(( $ORIG + 1 ))
-
-. ./common_tests
-
-exit_test
diff --git a/tools/testing/selftests/sysctl/run_stringtests b/tools/testing/selftests/sysctl/run_stringtests
deleted file mode 100755
index a6f2618afeaa..000000000000
--- a/tools/testing/selftests/sysctl/run_stringtests
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-
-SYSCTL="/proc/sys/debug/test_sysctl/"
-TARGET="${SYSCTL}/string_0001"
-ORIG=$(cat "${TARGET}")
-TEST_STR="Testing sysctl"
-
-. ./common_tests
-
-# Only string sysctls support seeking/appending.
-MAXLEN=65
-
-echo -n "Writing entire sysctl in short writes ... "
-set_orig
-dd if="${TEST_FILE}" of="${TARGET}" bs=1 2>/dev/null
-if ! verify "${TARGET}"; then
- echo "FAIL" >&2
- rc=1
-else
- echo "ok"
-fi
-
-echo -n "Writing middle of sysctl after unsynchronized seek ... "
-set_test
-dd if="${TEST_FILE}" of="${TARGET}" bs=1 seek=1 2>/dev/null
-if verify "${TARGET}"; then
- echo "FAIL" >&2
- rc=1
-else
- echo "ok"
-fi
-
-echo -n "Checking sysctl maxlen is at least $MAXLEN ... "
-set_orig
-perl -e 'print "A" x ('"${MAXLEN}"'-2), "B";' | \
- dd of="${TARGET}" bs="${MAXLEN}" 2>/dev/null
-if ! grep -q B "${TARGET}"; then
- echo "FAIL" >&2
- rc=1
-else
- echo "ok"
-fi
-
-echo -n "Checking sysctl keeps original string on overflow append ... "
-set_orig
-perl -e 'print "A" x ('"${MAXLEN}"'-1), "B";' | \
- dd of="${TARGET}" bs=$(( MAXLEN - 1 )) 2>/dev/null
-if grep -q B "${TARGET}"; then
- echo "FAIL" >&2
- rc=1
-else
- echo "ok"
-fi
-
-echo -n "Checking sysctl stays NULL terminated on write ... "
-set_orig
-perl -e 'print "A" x ('"${MAXLEN}"'-1), "B";' | \
- dd of="${TARGET}" bs="${MAXLEN}" 2>/dev/null
-if grep -q B "${TARGET}"; then
- echo "FAIL" >&2
- rc=1
-else
- echo "ok"
-fi
-
-echo -n "Checking sysctl stays NULL terminated on overwrite ... "
-set_orig
-perl -e 'print "A" x ('"${MAXLEN}"'-1), "BB";' | \
- dd of="${TARGET}" bs=$(( $MAXLEN + 1 )) 2>/dev/null
-if grep -q B "${TARGET}"; then
- echo "FAIL" >&2
- rc=1
-else
- echo "ok"
-fi
-
-exit_test
diff --git a/tools/testing/selftests/sysctl/sysctl.sh b/tools/testing/selftests/sysctl/sysctl.sh
new file mode 100755
index 000000000000..cbe1345d7c1d
--- /dev/null
+++ b/tools/testing/selftests/sysctl/sysctl.sh
@@ -0,0 +1,494 @@
+#!/bin/bash
+# Copyright (C) 2017 Luis R. Rodriguez <mcgrof@kernel.org>
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or at your option any
+# later version; or, when distributed separately from the Linux kernel or
+# when incorporated into other software packages, subject to the following
+# license:
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of copyleft-next (version 0.3.1 or later) as published
+# at http://copyleft-next.org/.
+
+# This performs a series tests against the proc sysctl interface.
+
+TEST_NAME="sysctl"
+TEST_DRIVER="test_${TEST_NAME}"
+TEST_DIR=$(dirname $0)
+TEST_FILE=$(mktemp)
+
+# This represents
+#
+# TEST_ID:TEST_COUNT:ENABLED
+#
+# TEST_ID: is the test id number
+# TEST_COUNT: number of times we should run the test
+# ENABLED: 1 if enabled, 0 otherwise
+#
+# Once these are enabled please leave them as-is. Write your own test,
+# we have tons of space.
+ALL_TESTS="0001:1:1"
+ALL_TESTS="$ALL_TESTS 0002:1:1"
+
+test_modprobe()
+{
+ if [ ! -d $DIR ]; then
+ echo "$0: $DIR not present" >&2
+ echo "You must have the following enabled in your kernel:" >&2
+ cat $TEST_DIR/config >&2
+ exit 1
+ fi
+}
+
+function allow_user_defaults()
+{
+ if [ -z $DIR ]; then
+ DIR="/sys/module/test_sysctl/"
+ fi
+ if [ -z $DEFAULT_NUM_TESTS ]; then
+ DEFAULT_NUM_TESTS=50
+ fi
+ if [ -z $SYSCTL ]; then
+ SYSCTL="/proc/sys/debug/test_sysctl"
+ fi
+ if [ -z $PROD_SYSCTL ]; then
+ PROD_SYSCTL="/proc/sys"
+ fi
+ if [ -z $WRITES_STRICT ]; then
+ WRITES_STRICT="${PROD_SYSCTL}/kernel/sysctl_writes_strict"
+ fi
+}
+
+function check_production_sysctl_writes_strict()
+{
+ echo -n "Checking production write strict setting ... "
+ if [ ! -e ${WRITES_STRICT} ]; then
+ echo "FAIL, but skip in case of old kernel" >&2
+ else
+ old_strict=$(cat ${WRITES_STRICT})
+ if [ "$old_strict" = "1" ]; then
+ echo "ok"
+ else
+ echo "FAIL, strict value is 0 but force to 1 to continue" >&2
+ echo "1" > ${WRITES_STRICT}
+ fi
+ fi
+}
+
+test_reqs()
+{
+ uid=$(id -u)
+ if [ $uid -ne 0 ]; then
+ echo $msg must be run as root >&2
+ exit 0
+ fi
+
+ if ! which perl 2> /dev/null > /dev/null; then
+ echo "$0: You need perl installed"
+ exit 1
+ fi
+}
+
+function load_req_mod()
+{
+ trap "test_modprobe" EXIT
+
+ if [ ! -d $DIR ]; then
+ modprobe $TEST_DRIVER
+ if [ $? -ne 0 ]; then
+ exit
+ fi
+ fi
+}
+
+set_orig()
+{
+ if [ ! -z $TARGET ]; then
+ echo "${ORIG}" > "${TARGET}"
+ fi
+}
+
+set_test()
+{
+ echo "${TEST_STR}" > "${TARGET}"
+}
+
+verify()
+{
+ local seen
+ seen=$(cat "$1")
+ if [ "${seen}" != "${TEST_STR}" ]; then
+ return 1
+ fi
+ return 0
+}
+
+test_rc()
+{
+ if [[ $rc != 0 ]]; then
+ echo "Failed test, return value: $rc" >&2
+ exit $rc
+ fi
+}
+
+test_finish()
+{
+ set_orig
+ rm -f "${TEST_FILE}"
+
+ if [ ! -z ${old_strict} ]; then
+ echo ${old_strict} > ${WRITES_STRICT}
+ fi
+ exit $rc
+}
+
+run_numerictests()
+{
+ echo "== Testing sysctl behavior against ${TARGET} =="
+
+ rc=0
+
+ echo -n "Writing test file ... "
+ echo "${TEST_STR}" > "${TEST_FILE}"
+ if ! verify "${TEST_FILE}"; then
+ echo "FAIL" >&2
+ exit 1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Checking sysctl is not set to test value ... "
+ if verify "${TARGET}"; then
+ echo "FAIL" >&2
+ exit 1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Writing sysctl from shell ... "
+ set_test
+ if ! verify "${TARGET}"; then
+ echo "FAIL" >&2
+ exit 1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Resetting sysctl to original value ... "
+ set_orig
+ if verify "${TARGET}"; then
+ echo "FAIL" >&2
+ exit 1
+ else
+ echo "ok"
+ fi
+
+ # Now that we've validated the sanity of "set_test" and "set_orig",
+ # we can use those functions to set starting states before running
+ # specific behavioral tests.
+
+ echo -n "Writing entire sysctl in single write ... "
+ set_orig
+ dd if="${TEST_FILE}" of="${TARGET}" bs=4096 2>/dev/null
+ if ! verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Writing middle of sysctl after synchronized seek ... "
+ set_test
+ dd if="${TEST_FILE}" of="${TARGET}" bs=1 seek=1 skip=1 2>/dev/null
+ if ! verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Writing beyond end of sysctl ... "
+ set_orig
+ dd if="${TEST_FILE}" of="${TARGET}" bs=20 seek=2 2>/dev/null
+ if verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Writing sysctl with multiple long writes ... "
+ set_orig
+ (perl -e 'print "A" x 50;'; echo "${TEST_STR}") | \
+ dd of="${TARGET}" bs=50 2>/dev/null
+ if verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+
+ test_rc
+}
+
+run_stringtests()
+{
+ echo -n "Writing entire sysctl in short writes ... "
+ set_orig
+ dd if="${TEST_FILE}" of="${TARGET}" bs=1 2>/dev/null
+ if ! verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Writing middle of sysctl after unsynchronized seek ... "
+ set_test
+ dd if="${TEST_FILE}" of="${TARGET}" bs=1 seek=1 2>/dev/null
+ if verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Checking sysctl maxlen is at least $MAXLEN ... "
+ set_orig
+ perl -e 'print "A" x ('"${MAXLEN}"'-2), "B";' | \
+ dd of="${TARGET}" bs="${MAXLEN}" 2>/dev/null
+ if ! grep -q B "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Checking sysctl keeps original string on overflow append ... "
+ set_orig
+ perl -e 'print "A" x ('"${MAXLEN}"'-1), "B";' | \
+ dd of="${TARGET}" bs=$(( MAXLEN - 1 )) 2>/dev/null
+ if grep -q B "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Checking sysctl stays NULL terminated on write ... "
+ set_orig
+ perl -e 'print "A" x ('"${MAXLEN}"'-1), "B";' | \
+ dd of="${TARGET}" bs="${MAXLEN}" 2>/dev/null
+ if grep -q B "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+
+ echo -n "Checking sysctl stays NULL terminated on overwrite ... "
+ set_orig
+ perl -e 'print "A" x ('"${MAXLEN}"'-1), "BB";' | \
+ dd of="${TARGET}" bs=$(( $MAXLEN + 1 )) 2>/dev/null
+ if grep -q B "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+
+ test_rc
+}
+
+sysctl_test_0001()
+{
+ TARGET="${SYSCTL}/int_0001"
+ ORIG=$(cat "${TARGET}")
+ TEST_STR=$(( $ORIG + 1 ))
+
+ run_numerictests
+}
+
+sysctl_test_0002()
+{
+ TARGET="${SYSCTL}/string_0001"
+ ORIG=$(cat "${TARGET}")
+ TEST_STR="Testing sysctl"
+ # Only string sysctls support seeking/appending.
+ MAXLEN=65
+
+ run_numerictests
+ run_stringtests
+}
+
+list_tests()
+{
+ echo "Test ID list:"
+ echo
+ echo "TEST_ID x NUM_TEST"
+ echo "TEST_ID: Test ID"
+ echo "NUM_TESTS: Number of recommended times to run the test"
+ echo
+ echo "0001 x $(get_test_count 0001) - tests proc_dointvec_minmax()"
+ echo "0002 x $(get_test_count 0002) - tests proc_dostring()"
+}
+
+test_reqs
+
+usage()
+{
+ NUM_TESTS=$(grep -o ' ' <<<"$ALL_TESTS" | grep -c .)
+ let NUM_TESTS=$NUM_TESTS+1
+ MAX_TEST=$(printf "%04d\n" $NUM_TESTS)
+ echo "Usage: $0 [ -t <4-number-digit> ] | [ -w <4-number-digit> ] |"
+ echo " [ -s <4-number-digit> ] | [ -c <4-number-digit> <test- count>"
+ echo " [ all ] [ -h | --help ] [ -l ]"
+ echo ""
+ echo "Valid tests: 0001-$MAX_TEST"
+ echo ""
+ echo " all Runs all tests (default)"
+ echo " -t Run test ID the number amount of times is recommended"
+ echo " -w Watch test ID run until it runs into an error"
+ echo " -c Run test ID once"
+ echo " -s Run test ID x test-count number of times"
+ echo " -l List all test ID list"
+ echo " -h|--help Help"
+ echo
+ echo "If an error every occurs execution will immediately terminate."
+ echo "If you are adding a new test try using -w <test-ID> first to"
+ echo "make sure the test passes a series of tests."
+ echo
+ echo Example uses:
+ echo
+ echo "$TEST_NAME.sh -- executes all tests"
+ echo "$TEST_NAME.sh -t 0002 -- Executes test ID 0002 number of times is recomended"
+ echo "$TEST_NAME.sh -w 0002 -- Watch test ID 0002 run until an error occurs"
+ echo "$TEST_NAME.sh -s 0002 -- Run test ID 0002 once"
+ echo "$TEST_NAME.sh -c 0002 3 -- Run test ID 0002 three times"
+ echo
+ list_tests
+ exit 1
+}
+
+function test_num()
+{
+ re='^[0-9]+$'
+ if ! [[ $1 =~ $re ]]; then
+ usage
+ fi
+}
+
+function get_test_count()
+{
+ test_num $1
+ TEST_DATA=$(echo $ALL_TESTS | awk '{print $'$1'}')
+ LAST_TWO=${TEST_DATA#*:*}
+ echo ${LAST_TWO%:*}
+}
+
+function get_test_enabled()
+{
+ test_num $1
+ TEST_DATA=$(echo $ALL_TESTS | awk '{print $'$1'}')
+ echo ${TEST_DATA#*:*:}
+}
+
+function run_all_tests()
+{
+ for i in $ALL_TESTS ; do
+ TEST_ID=${i%:*:*}
+ ENABLED=$(get_test_enabled $TEST_ID)
+ TEST_COUNT=$(get_test_count $TEST_ID)
+ if [[ $ENABLED -eq "1" ]]; then
+ test_case $TEST_ID $TEST_COUNT
+ fi
+ done
+}
+
+function watch_log()
+{
+ if [ $# -ne 3 ]; then
+ clear
+ fi
+ date
+ echo "Running test: $2 - run #$1"
+}
+
+function watch_case()
+{
+ i=0
+ while [ 1 ]; do
+
+ if [ $# -eq 1 ]; then
+ test_num $1
+ watch_log $i ${TEST_NAME}_test_$1
+ ${TEST_NAME}_test_$1
+ else
+ watch_log $i all
+ run_all_tests
+ fi
+ let i=$i+1
+ done
+}
+
+function test_case()
+{
+ NUM_TESTS=$DEFAULT_NUM_TESTS
+ if [ $# -eq 2 ]; then
+ NUM_TESTS=$2
+ fi
+
+ i=0
+ while [ $i -lt $NUM_TESTS ]; do
+ test_num $1
+ watch_log $i ${TEST_NAME}_test_$1 noclear
+ RUN_TEST=${TEST_NAME}_test_$1
+ $RUN_TEST
+ let i=$i+1
+ done
+}
+
+function parse_args()
+{
+ if [ $# -eq 0 ]; then
+ run_all_tests
+ else
+ if [[ "$1" = "all" ]]; then
+ run_all_tests
+ elif [[ "$1" = "-w" ]]; then
+ shift
+ watch_case $@
+ elif [[ "$1" = "-t" ]]; then
+ shift
+ test_num $1
+ test_case $1 $(get_test_count $1)
+ elif [[ "$1" = "-c" ]]; then
+ shift
+ test_num $1
+ test_num $2
+ test_case $1 $2
+ elif [[ "$1" = "-s" ]]; then
+ shift
+ test_case $1 1
+ elif [[ "$1" = "-l" ]]; then
+ list_tests
+ elif [[ "$1" = "-h" || "$1" = "--help" ]]; then
+ usage
+ else
+ usage
+ fi
+ fi
+}
+
+test_reqs
+allow_user_defaults
+check_production_sysctl_writes_strict
+load_req_mod
+
+trap "test_finish" EXIT
+
+parse_args $@
+
+exit 0
--
2.11.0
^ permalink raw reply related
* [PATCH v2 3/6] test_sysctl: test against PAGE_SIZE for int
From: Luis R. Rodriguez @ 2017-06-30 22:44 UTC (permalink / raw)
To: akpm
Cc: keescook, shuahkh, shuah, sfr, orson.zhai, linux-next,
linux-kernel, Luis R. Rodriguez, Eric W. Biederman
In-Reply-To: <20170630224431.17374-1-mcgrof@kernel.org>
Add the following tests to ensure we do not regress:
o Test using a buffer full of space (PAGE_SIZE-1) followed by a
single digit works
o Test using a buffer full of spaces (PAGE_SIZE or over) will fail
As tests increase instead of unloading the module and reloading it
we can just do a shell reset_vals() with a reset to values we know
are set at init on the driver.
Cc: Kees Cook <keescook@chromium.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
tools/testing/selftests/sysctl/sysctl.sh | 66 ++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/tools/testing/selftests/sysctl/sysctl.sh b/tools/testing/selftests/sysctl/sysctl.sh
index cbe1345d7c1d..6ec807576f7c 100755
--- a/tools/testing/selftests/sysctl/sysctl.sh
+++ b/tools/testing/selftests/sysctl/sysctl.sh
@@ -75,6 +75,13 @@ function check_production_sysctl_writes_strict()
echo "1" > ${WRITES_STRICT}
fi
fi
+
+ if [ -z $PAGE_SIZE ]; then
+ PAGE_SIZE=$(getconf PAGESIZE)
+ fi
+ if [ -z $MAX_DIGITS ]; then
+ MAX_DIGITS=$(($PAGE_SIZE/8))
+ fi
}
test_reqs()
@@ -89,6 +96,10 @@ test_reqs()
echo "$0: You need perl installed"
exit 1
fi
+ if ! which getconf 2> /dev/null > /dev/null; then
+ echo "$0: You need getconf installed"
+ exit 1
+ fi
}
function load_req_mod()
@@ -103,6 +114,23 @@ function load_req_mod()
fi
}
+reset_vals()
+{
+ VAL=""
+ TRIGGER=$(basename ${TARGET})
+ case "$TRIGGER" in
+ int_0001)
+ VAL="60"
+ ;;
+ string_0001)
+ VAL="(none)"
+ ;;
+ *)
+ ;;
+ esac
+ echo -n $VAL > $TARGET
+}
+
set_orig()
{
if [ ! -z $TARGET ]; then
@@ -229,7 +257,42 @@ run_numerictests()
else
echo "ok"
fi
+ test_rc
+}
+
+# Your test must accept digits 3 and 4 to use this
+run_limit_digit()
+{
+ echo -n "Checking ignoring spaces up to PAGE_SIZE works on write ..."
+ reset_vals
+ LIMIT=$((MAX_DIGITS -1))
+ TEST_STR="3"
+ (perl -e 'print " " x '$LIMIT';'; echo "${TEST_STR}") | \
+ dd of="${TARGET}" 2>/dev/null
+
+ if ! verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+
+ echo -n "Checking passing PAGE_SIZE of spaces fails on write ..."
+ reset_vals
+
+ LIMIT=$((MAX_DIGITS))
+ TEST_STR="4"
+ (perl -e 'print " " x '$LIMIT';'; echo "${TEST_STR}") | \
+ dd of="${TARGET}" 2>/dev/null
+
+ if verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
test_rc
}
@@ -305,15 +368,18 @@ run_stringtests()
sysctl_test_0001()
{
TARGET="${SYSCTL}/int_0001"
+ reset_vals
ORIG=$(cat "${TARGET}")
TEST_STR=$(( $ORIG + 1 ))
run_numerictests
+ run_limit_digit
}
sysctl_test_0002()
{
TARGET="${SYSCTL}/string_0001"
+ reset_vals
ORIG=$(cat "${TARGET}")
TEST_STR="Testing sysctl"
# Only string sysctls support seeking/appending.
--
2.11.0
^ permalink raw reply related
* [PATCH v2 4/6] test_sysctl: add simple proc_dointvec() case
From: Luis R. Rodriguez @ 2017-06-30 22:44 UTC (permalink / raw)
To: akpm
Cc: keescook, shuahkh, shuah, sfr, orson.zhai, linux-next,
linux-kernel, Luis R. Rodriguez, Eric W. Biederman
In-Reply-To: <20170630224431.17374-1-mcgrof@kernel.org>
Test against a simple proc_dointvec() case. While at it, add a test
against INT_MAX. Make sure INT_MAX works, and INT_MAX+1 will fail. Also
test negative values work.
Cc: Kees Cook <keescook@chromium.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
lib/test_sysctl.c | 11 ++++++
tools/testing/selftests/sysctl/sysctl.sh | 62 ++++++++++++++++++++++++++++++++
2 files changed, 73 insertions(+)
diff --git a/lib/test_sysctl.c b/lib/test_sysctl.c
index b2163bfb6eb2..1472e1ae4931 100644
--- a/lib/test_sysctl.c
+++ b/lib/test_sysctl.c
@@ -41,11 +41,15 @@ static int i_one_hundred = 100;
struct test_sysctl_data {
int int_0001;
+ int int_0002;
+
char string_0001[65];
};
static struct test_sysctl_data test_data = {
.int_0001 = 60,
+ .int_0002 = 1,
+
.string_0001 = "(none)",
};
@@ -61,6 +65,13 @@ static struct ctl_table test_table[] = {
.extra2 = &i_one_hundred,
},
{
+ .procname = "int_0002",
+ .data = &test_data.int_0002,
+ .maxlen = sizeof(int),
+ .mode = 0644,
+ .proc_handler = proc_dointvec,
+ },
+ {
.procname = "string_0001",
.data = &test_data.string_0001,
.maxlen = sizeof(test_data.string_0001),
diff --git a/tools/testing/selftests/sysctl/sysctl.sh b/tools/testing/selftests/sysctl/sysctl.sh
index 6ec807576f7c..7ba3fa2bbd54 100755
--- a/tools/testing/selftests/sysctl/sysctl.sh
+++ b/tools/testing/selftests/sysctl/sysctl.sh
@@ -31,6 +31,7 @@ TEST_FILE=$(mktemp)
# we have tons of space.
ALL_TESTS="0001:1:1"
ALL_TESTS="$ALL_TESTS 0002:1:1"
+ALL_TESTS="$ALL_TESTS 0003:1:1"
test_modprobe()
{
@@ -82,6 +83,9 @@ function check_production_sysctl_writes_strict()
if [ -z $MAX_DIGITS ]; then
MAX_DIGITS=$(($PAGE_SIZE/8))
fi
+ if [ -z $INT_MAX ]; then
+ INT_MAX=$(getconf INT_MAX)
+ fi
}
test_reqs()
@@ -122,6 +126,9 @@ reset_vals()
int_0001)
VAL="60"
;;
+ int_0002)
+ VAL="1"
+ ;;
string_0001)
VAL="(none)"
;;
@@ -296,6 +303,48 @@ run_limit_digit()
test_rc
}
+# You are using an int
+run_limit_digit_int()
+{
+ echo -n "Testing INT_MAX works ..."
+ reset_vals
+ TEST_STR="$INT_MAX"
+ echo -n $TEST_STR > $TARGET
+
+ if ! verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+
+ echo -n "Testing INT_MAX + 1 will fail as expected..."
+ reset_vals
+ let TEST_STR=$INT_MAX+1
+ echo -n $TEST_STR > $TARGET 2> /dev/null
+
+ if verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+
+ echo -n "Testing negative values will work as expected..."
+ reset_vals
+ TEST_STR="-3"
+ echo -n $TEST_STR > $TARGET 2> /dev/null
+ if ! verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+}
+
run_stringtests()
{
echo -n "Writing entire sysctl in short writes ... "
@@ -389,6 +438,18 @@ sysctl_test_0002()
run_stringtests
}
+sysctl_test_0003()
+{
+ TARGET="${SYSCTL}/int_0002"
+ reset_vals
+ ORIG=$(cat "${TARGET}")
+ TEST_STR=$(( $ORIG + 1 ))
+
+ run_numerictests
+ run_limit_digit
+ run_limit_digit_int
+}
+
list_tests()
{
echo "Test ID list:"
@@ -399,6 +460,7 @@ list_tests()
echo
echo "0001 x $(get_test_count 0001) - tests proc_dointvec_minmax()"
echo "0002 x $(get_test_count 0002) - tests proc_dostring()"
+ echo "0003 x $(get_test_count 0003) - tests proc_dointvec()"
}
test_reqs
--
2.11.0
^ permalink raw reply related
* [PATCH v2 5/6] test_sysctl: add simple proc_douintvec() case
From: Luis R. Rodriguez @ 2017-06-30 22:44 UTC (permalink / raw)
To: akpm
Cc: keescook, shuahkh, shuah, sfr, orson.zhai, linux-next,
linux-kernel, Luis R. Rodriguez, Eric W. Biederman
In-Reply-To: <20170630224431.17374-1-mcgrof@kernel.org>
Test against a simple proc_douintvec() case. While at it, add
a test against UINT_MAX. Make sure UINT_MAX works, and UINT_MAX+1
will fail and that negative values are not accepted.
Cc: Kees Cook <keescook@chromium.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
lib/test_sysctl.c | 11 ++++++
tools/testing/selftests/sysctl/sysctl.sh | 63 ++++++++++++++++++++++++++++++++
2 files changed, 74 insertions(+)
diff --git a/lib/test_sysctl.c b/lib/test_sysctl.c
index 1472e1ae4931..53db3513ab08 100644
--- a/lib/test_sysctl.c
+++ b/lib/test_sysctl.c
@@ -43,6 +43,8 @@ struct test_sysctl_data {
int int_0001;
int int_0002;
+ unsigned int uint_0001;
+
char string_0001[65];
};
@@ -50,6 +52,8 @@ static struct test_sysctl_data test_data = {
.int_0001 = 60,
.int_0002 = 1,
+ .uint_0001 = 314,
+
.string_0001 = "(none)",
};
@@ -72,6 +76,13 @@ static struct ctl_table test_table[] = {
.proc_handler = proc_dointvec,
},
{
+ .procname = "uint_0001",
+ .data = &test_data.uint_0001,
+ .maxlen = sizeof(unsigned int),
+ .mode = 0644,
+ .proc_handler = proc_douintvec,
+ },
+ {
.procname = "string_0001",
.data = &test_data.string_0001,
.maxlen = sizeof(test_data.string_0001),
diff --git a/tools/testing/selftests/sysctl/sysctl.sh b/tools/testing/selftests/sysctl/sysctl.sh
index 7ba3fa2bbd54..abeef675a884 100755
--- a/tools/testing/selftests/sysctl/sysctl.sh
+++ b/tools/testing/selftests/sysctl/sysctl.sh
@@ -32,6 +32,7 @@ TEST_FILE=$(mktemp)
ALL_TESTS="0001:1:1"
ALL_TESTS="$ALL_TESTS 0002:1:1"
ALL_TESTS="$ALL_TESTS 0003:1:1"
+ALL_TESTS="$ALL_TESTS 0004:1:1"
test_modprobe()
{
@@ -86,6 +87,9 @@ function check_production_sysctl_writes_strict()
if [ -z $INT_MAX ]; then
INT_MAX=$(getconf INT_MAX)
fi
+ if [ -z $UINT_MAX ]; then
+ UINT_MAX=$(getconf UINT_MAX)
+ fi
}
test_reqs()
@@ -129,6 +133,9 @@ reset_vals()
int_0002)
VAL="1"
;;
+ uint_0001)
+ VAL="314"
+ ;;
string_0001)
VAL="(none)"
;;
@@ -345,6 +352,49 @@ run_limit_digit_int()
test_rc
}
+# You are using an unsigned int
+run_limit_digit_uint()
+{
+ echo -n "Testing UINT_MAX works ..."
+ reset_vals
+ TEST_STR="$UINT_MAX"
+ echo -n $TEST_STR > $TARGET
+
+ if ! verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+
+ echo -n "Testing UINT_MAX + 1 will fail as expected..."
+ reset_vals
+ TEST_STR=$(($UINT_MAX+1))
+ echo -n $TEST_STR > $TARGET 2> /dev/null
+
+ if verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+
+ echo -n "Testing negative values will not work as expected ..."
+ reset_vals
+ TEST_STR="-3"
+ echo -n $TEST_STR > $TARGET 2> /dev/null
+
+ if verify "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+}
+
run_stringtests()
{
echo -n "Writing entire sysctl in short writes ... "
@@ -450,6 +500,18 @@ sysctl_test_0003()
run_limit_digit_int
}
+sysctl_test_0004()
+{
+ TARGET="${SYSCTL}/uint_0001"
+ reset_vals
+ ORIG=$(cat "${TARGET}")
+ TEST_STR=$(( $ORIG + 1 ))
+
+ run_numerictests
+ run_limit_digit
+ run_limit_digit_uint
+}
+
list_tests()
{
echo "Test ID list:"
@@ -461,6 +523,7 @@ list_tests()
echo "0001 x $(get_test_count 0001) - tests proc_dointvec_minmax()"
echo "0002 x $(get_test_count 0002) - tests proc_dostring()"
echo "0003 x $(get_test_count 0003) - tests proc_dointvec()"
+ echo "0004 x $(get_test_count 0004) - tests proc_douintvec()"
}
test_reqs
--
2.11.0
^ permalink raw reply related
* [PATCH v2 0/6] test_sysctl: fix up merge conflicts
From: Luis R. Rodriguez @ 2017-06-30 22:44 UTC (permalink / raw)
To: akpm
Cc: keescook, shuahkh, shuah, sfr, orson.zhai, linux-next,
linux-kernel, Luis R. Rodriguez
In-Reply-To: <20170629123527.2196820e70818aeab51338e5@linux-foundation.org>
Andrew,
as requested, this addresses the merge conflict present on kselftest/next on
linux-next. The merge conflict was caused by Orson Zhai's patch titled,
"tools/testing/selftests/sysctl: Add pre-check to the value of writes_strict"
and my changes which shuffled the script around. I've made Orson's check a
function, and integrated his exit strategy to restore the production sysctl
writes_strict setting. To do this I've also added a PROD_SYCTL, which now users
can also override through an environment variable.
These changes are also present on my linux-next 20170630-test-sysctl branch
based on linux-next next20170630 [0]. If there are any questionms please let me
know.
[0] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/log/?h=20170630-test-sysctl
Luis
Luis R. Rodriguez (6):
test_sysctl: add dedicated proc sysctl test driver
test_sysctl: add generic script to expand on tests
test_sysctl: test against PAGE_SIZE for int
test_sysctl: add simple proc_dointvec() case
test_sysctl: add simple proc_douintvec() case
test_sysctl: test against int proc_dointvec() array support
lib/Kconfig.debug | 11 +
lib/Makefile | 1 +
lib/test_sysctl.c | 148 +++++
tools/testing/selftests/sysctl/Makefile | 3 +-
tools/testing/selftests/sysctl/common_tests | 131 ----
tools/testing/selftests/sysctl/config | 1 +
tools/testing/selftests/sysctl/run_numerictests | 10 -
tools/testing/selftests/sysctl/run_stringtests | 77 ---
tools/testing/selftests/sysctl/sysctl.sh | 774 ++++++++++++++++++++++++
9 files changed, 936 insertions(+), 220 deletions(-)
create mode 100644 lib/test_sysctl.c
delete mode 100644 tools/testing/selftests/sysctl/common_tests
create mode 100644 tools/testing/selftests/sysctl/config
delete mode 100755 tools/testing/selftests/sysctl/run_numerictests
delete mode 100755 tools/testing/selftests/sysctl/run_stringtests
create mode 100755 tools/testing/selftests/sysctl/sysctl.sh
--
2.11.0
^ permalink raw reply
* [PATCH v2 6/6] test_sysctl: test against int proc_dointvec() array support
From: Luis R. Rodriguez @ 2017-06-30 22:44 UTC (permalink / raw)
To: akpm
Cc: keescook, shuahkh, shuah, sfr, orson.zhai, linux-next,
linux-kernel, Luis R. Rodriguez, Eric W. Biederman
In-Reply-To: <20170630224431.17374-1-mcgrof@kernel.org>
Add a few initial respective tests for an array:
o Echoing values separated by spaces works
o Echoing only first elements will set first elements
o Confirm PAGE_SIZE limit still applies even if an array is used
Cc: Kees Cook <keescook@chromium.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
lib/test_sysctl.c | 13 +++++
tools/testing/selftests/sysctl/sysctl.sh | 89 ++++++++++++++++++++++++++++++++
2 files changed, 102 insertions(+)
diff --git a/lib/test_sysctl.c b/lib/test_sysctl.c
index 53db3513ab08..3dd801c1c85b 100644
--- a/lib/test_sysctl.c
+++ b/lib/test_sysctl.c
@@ -42,6 +42,7 @@ static int i_one_hundred = 100;
struct test_sysctl_data {
int int_0001;
int int_0002;
+ int int_0003[4];
unsigned int uint_0001;
@@ -52,6 +53,11 @@ static struct test_sysctl_data test_data = {
.int_0001 = 60,
.int_0002 = 1,
+ .int_0003[0] = 0,
+ .int_0003[1] = 1,
+ .int_0003[2] = 2,
+ .int_0003[3] = 3,
+
.uint_0001 = 314,
.string_0001 = "(none)",
@@ -76,6 +82,13 @@ static struct ctl_table test_table[] = {
.proc_handler = proc_dointvec,
},
{
+ .procname = "int_0003",
+ .data = &test_data.int_0003,
+ .maxlen = sizeof(test_data.int_0003),
+ .mode = 0644,
+ .proc_handler = proc_dointvec,
+ },
+ {
.procname = "uint_0001",
.data = &test_data.uint_0001,
.maxlen = sizeof(unsigned int),
diff --git a/tools/testing/selftests/sysctl/sysctl.sh b/tools/testing/selftests/sysctl/sysctl.sh
index abeef675a884..ec232c3cfcaa 100755
--- a/tools/testing/selftests/sysctl/sysctl.sh
+++ b/tools/testing/selftests/sysctl/sysctl.sh
@@ -33,6 +33,7 @@ ALL_TESTS="0001:1:1"
ALL_TESTS="$ALL_TESTS 0002:1:1"
ALL_TESTS="$ALL_TESTS 0003:1:1"
ALL_TESTS="$ALL_TESTS 0004:1:1"
+ALL_TESTS="$ALL_TESTS 0005:3:1"
test_modprobe()
{
@@ -108,6 +109,10 @@ test_reqs()
echo "$0: You need getconf installed"
exit 1
fi
+ if ! which diff 2> /dev/null > /dev/null; then
+ echo "$0: You need diff installed"
+ exit 1
+ fi
}
function load_req_mod()
@@ -167,6 +172,12 @@ verify()
return 0
}
+verify_diff_w()
+{
+ echo "$TEST_STR" | diff -q -w -u - $1
+ return $?
+}
+
test_rc()
{
if [[ $rc != 0 ]]; then
@@ -352,6 +363,74 @@ run_limit_digit_int()
test_rc
}
+# You used an int array
+run_limit_digit_int_array()
+{
+ echo -n "Testing array works as expected ... "
+ TEST_STR="4 3 2 1"
+ echo -n $TEST_STR > $TARGET
+
+ if ! verify_diff_w "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+
+ echo -n "Testing skipping trailing array elements works ... "
+ # Do not reset_vals, carry on the values from the last test.
+ # If we only echo in two digits the last two are left intact
+ TEST_STR="100 101"
+ echo -n $TEST_STR > $TARGET
+ # After we echo in, to help diff we need to set on TEST_STR what
+ # we expect the result to be.
+ TEST_STR="100 101 2 1"
+
+ if ! verify_diff_w "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+
+ echo -n "Testing PAGE_SIZE limit on array works ... "
+ # Do not reset_vals, carry on the values from the last test.
+ # Even if you use an int array, you are still restricted to
+ # MAX_DIGITS, this is a known limitation. Test limit works.
+ LIMIT=$((MAX_DIGITS -1))
+ TEST_STR="9"
+ (perl -e 'print " " x '$LIMIT';'; echo "${TEST_STR}") | \
+ dd of="${TARGET}" 2>/dev/null
+
+ TEST_STR="9 101 2 1"
+ if ! verify_diff_w "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+
+ echo -n "Testing exceeding PAGE_SIZE limit fails as expected ... "
+ # Do not reset_vals, carry on the values from the last test.
+ # Now go over limit.
+ LIMIT=$((MAX_DIGITS))
+ TEST_STR="7"
+ (perl -e 'print " " x '$LIMIT';'; echo "${TEST_STR}") | \
+ dd of="${TARGET}" 2>/dev/null
+
+ TEST_STR="7 101 2 1"
+ if verify_diff_w "${TARGET}"; then
+ echo "FAIL" >&2
+ rc=1
+ else
+ echo "ok"
+ fi
+ test_rc
+}
+
# You are using an unsigned int
run_limit_digit_uint()
{
@@ -512,6 +591,15 @@ sysctl_test_0004()
run_limit_digit_uint
}
+sysctl_test_0005()
+{
+ TARGET="${SYSCTL}/int_0003"
+ reset_vals
+ ORIG=$(cat "${TARGET}")
+
+ run_limit_digit_int_array
+}
+
list_tests()
{
echo "Test ID list:"
@@ -524,6 +612,7 @@ list_tests()
echo "0002 x $(get_test_count 0002) - tests proc_dostring()"
echo "0003 x $(get_test_count 0003) - tests proc_dointvec()"
echo "0004 x $(get_test_count 0004) - tests proc_douintvec()"
+ echo "0005 x $(get_test_count 0005) - tests proc_douintvec() array"
}
test_reqs
--
2.11.0
^ permalink raw reply related
* Re: linux-next: build warning after merge of the drivers-x86 tree
From: Darren Hart @ 2017-07-01 3:32 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Arvind Yadav
In-Reply-To: <20170630140054.38f98968@canb.auug.org.au>
On Fri, Jun 30, 2017 at 02:00:54PM +1000, Stephen Rothwell wrote:
> Hi Darren,
>
> After merging the drivers-x86 tree, today's linux-next build (x86_64
> allmodconfig) produced this warning:
>
> drivers/platform/x86/sony-laptop.c: In function 'sony_laptop_setup_input':
> drivers/platform/x86/sony-laptop.c:494:19: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-array-qualifiers]
> key_dev->keycode = &sony_laptop_input_keycode_map;
> ^
>
> Introduced by commit
>
> a0f0a5e1978b ("platform/x86: sony-laptop: constify few static structures")
Apologies, and thanks for the catch. Rolled the fix from Arnd together with this
and the new one from Arvind. for-next had to be rebased to avoid introducing
this error into mainline.
--
Darren Hart
VMware Open Source Technology Center
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox