Messages in this thread Patch in this message | | | Date | Wed, 30 Mar 2016 12:33:27 +0200 | Subject | Re: [Linux-v4.6-rc1] ext4: WARNING: CPU: 2 PID: 2692 at kernel/locking/lockdep.c:2017 __lock_acquire+0x180e/0x2260 | From | Sedat Dilek <> |
| |
>> The below patch should fix this. >> > > checkpatch.pl says... > > WARNING: Prefer seq_puts to seq_printf > #124: FILE: kernel/locking/lockdep_proc.c:145: > + seq_printf(m, "(buggered) "); > > Testing your patch right now. >
Peter Zijlstra (1): locking/lockdep: Improve sensible check_no_collision() code
See attached files.
- Sedat - [ 0.000000] Linux version 4.6.0-rc1-7-iniza-small (sedat.dilek@gmail.com@fambox) (gcc version 4.9.2 (Ubuntu 4.9.2-0ubuntu1~12.04) ) #1 SMP Wed Mar 30 12:17:40 CEST 2016 [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.6.0-rc1-7-iniza-small root=UUID=001AADA61AAD9964 loop=/ubuntu/disks/root.disk ro [ 0.000000] KERNEL supported cpus: [ 0.000000] Intel GenuineIntel [ 0.000000] AMD AuthenticAMD [ 0.000000] Centaur CentaurHauls [ 0.000000] Disabled fast string operations [ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256 [ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers' [ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers' [ 0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers' [ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format. [ 0.000000] x86/fpu: Using 'eager' FPU context switches. [ 0.000000] e820: BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable [ 0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable [ 0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000020200000-0x000000003fffffff] usable [ 0.000000] BIOS-e820: [mem 0x0000000040000000-0x00000000401fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000040200000-0x00000000d9c9efff] usable [ 0.000000] BIOS-e820: [mem 0x00000000d9c9f000-0x00000000dae7efff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000dae7f000-0x00000000daf9efff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000daf9f000-0x00000000daffefff] ACPI data [ 0.000000] BIOS-e820: [mem 0x00000000dafff000-0x00000000daffffff] usable [ 0.000000] BIOS-e820: [mem 0x00000000db000000-0x00000000df9fffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed08000-0x00000000fed08fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed19fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000ffd80000-0x00000000ffffffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000011fdfffff] usable [ 0.000000] NX (Execute Disable) protection: active [ 0.000000] SMBIOS 2.6 present. [ 0.000000] DMI: SAMSUNG ELECTRONICS CO., LTD. 530U3BI/530U4BI/530U4BH/530U3BI/530U4BI/530U4BH, BIOS 13XK 03/28/2013 [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved [ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable [ 0.000000] e820: last_pfn = 0x11fe00 max_arch_pfn = 0x400000000 [ 0.000000] MTRR default type: uncachable [ 0.000000] MTRR fixed ranges enabled: [ 0.000000] 00000-9FFFF write-back [ 0.000000] A0000-BFFFF uncachable [ 0.000000] C0000-FFFFF write-protect [ 0.000000] MTRR variable ranges enabled: [ 0.000000] 0 base 000000000 mask F80000000 write-back [ 0.000000] 1 base 080000000 mask FC0000000 write-back [ 0.000000] 2 base 0C0000000 mask FE0000000 write-back [ 0.000000] 3 base 0DC000000 mask FFC000000 uncachable [ 0.000000] 4 base 0DB000000 mask FFF000000 uncachable [ 0.000000] 5 base 100000000 mask FE0000000 write-back [ 0.000000] 6 base 11FE00000 mask FFFE00000 uncachable [ 0.000000] 7 base 0FFC00000 mask FFFC00000 write-protect [ 0.000000] 8 disabled [ 0.000000] 9 disabled [ 0.000000] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WC UC- WT [ 0.000000] e820: last_pfn = 0xdb000 max_arch_pfn = 0x400000000 [ 0.000000] found SMP MP-table at [mem 0x000f00e0-0x000f00ef] mapped at [ffff8800000f00e0] [ 0.000000] Scanning 1 areas for low memory corruption [ 0.000000] Base memory trampoline at [ffff880000097000] 97000 size 24576 [ 0.000000] reserving inaccessible SNB gfx pages [ 0.000000] BRK [0x02e99000, 0x02e99fff] PGTABLE [ 0.000000] BRK [0x02e9a000, 0x02e9afff] PGTABLE [ 0.000000] BRK [0x02e9b000, 0x02e9bfff] PGTABLE [ 0.000000] BRK [0x02e9c000, 0x02e9cfff] PGTABLE [ 0.000000] BRK [0x02e9d000, 0x02e9dfff] PGTABLE [ 0.000000] BRK [0x02e9e000, 0x02e9efff] PGTABLE [ 0.000000] RAMDISK: [mem 0x378f6000-0x37c72fff] [ 0.000000] ACPI: Early table checksum verification disabled [ 0.000000] ACPI: RSDP 0x00000000000F0100 000024 (v02 SECCSD) [ 0.000000] ACPI: XSDT 0x00000000DAFFE170 00008C (v01 SECCSD LH43STAR 00000002 PTEC 00000002) [ 0.000000] ACPI: FACP 0x00000000DAFEF000 00010C (v05 SECCSD LH43STAR 00000002 PTL 00000002) [ 0.000000] ACPI: DSDT 0x00000000DAFF2000 0083AC (v02 SECCSD SNB-CPT 00000000 INTL 20061109) [ 0.000000] ACPI: FACS 0x00000000DAF47000 000040 [ 0.000000] ACPI: SLIC 0x00000000DAFFD000 000176 (v01 SECCSD LH43STAR 00000002 PTEC 00000001) [ 0.000000] ACPI: SSDT 0x00000000DAFFB000 001068 (v01 SECCSD PtidDevc 00001000 INTL 20061109) [ 0.000000] ACPI: ASF! 0x00000000DAFF1000 0000A5 (v32 SECCSD LH43STAR 00000002 PTL 00000002) [ 0.000000] ACPI: HPET 0x00000000DAFEE000 000038 (v01 SECCSD LH43STAR 00000002 PTL 00000002) [ 0.000000] ACPI: APIC 0x00000000DAFED000 000098 (v03 SECCSD LH43STAR 00000002 PTL 00000002) [ 0.000000] ACPI: MCFG 0x00000000DAFEC000 00003C (v01 SECCSD LH43STAR 00000002 PTL 00000002) [ 0.000000] ACPI: SSDT 0x00000000DAFEB000 000804 (v01 PmRef Cpu0Ist 00003000 INTL 20061109) [ 0.000000] ACPI: SSDT 0x00000000DAFEA000 000996 (v01 PmRef CpuPm 00003000 INTL 20061109) [ 0.000000] ACPI: UEFI 0x00000000DAFE9000 00003E (v01 SECCSD LH43STAR 00000002 PTL 00000002) [ 0.000000] ACPI: UEFI 0x00000000DAFE8000 000042 (v01 PTL COMBUF 00000001 PTL 00000001) [ 0.000000] ACPI: UEFI 0x00000000DAFE7000 00026A (v01 SECCSD LH43STAR 00000002 PTL 00000002) [ 0.000000] ACPI: SSDT 0x00000000DAFE6000 0000D0 (v01 Iffs IffsAsl 00003000 INTL 20061109) [ 0.000000] ACPI: Local APIC address 0xfee00000 [ 0.000000] No NUMA configuration found [ 0.000000] Faking a node at [mem 0x0000000000000000-0x000000011fdfffff] [ 0.000000] NODE_DATA(0) allocated [mem 0x11fdf8000-0x11fdfcfff] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000000001000-0x0000000000ffffff] [ 0.000000] DMA32 [mem 0x0000000001000000-0x00000000ffffffff] [ 0.000000] Normal [mem 0x0000000100000000-0x000000011fdfffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000001000-0x000000000009cfff] [ 0.000000] node 0: [mem 0x0000000000100000-0x000000001fffffff] [ 0.000000] node 0: [mem 0x0000000020200000-0x000000003fffffff] [ 0.000000] node 0: [mem 0x0000000040200000-0x00000000d9c9efff] [ 0.000000] node 0: [mem 0x00000000dafff000-0x00000000daffffff] [ 0.000000] node 0: [mem 0x0000000100000000-0x000000011fdfffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000011fdfffff] [ 0.000000] On node 0 totalpages: 1021500 [ 0.000000] DMA zone: 64 pages used for memmap [ 0.000000] DMA zone: 156 pages reserved [ 0.000000] DMA zone: 3996 pages, LIFO batch:0 [ 0.000000] DMA32 zone: 13859 pages used for memmap [ 0.000000] DMA32 zone: 886944 pages, LIFO batch:31 [ 0.000000] Normal zone: 2040 pages used for memmap [ 0.000000] Normal zone: 130560 pages, LIFO batch:31 [ 0.000000] Reserving Intel graphics stolen memory at 0xdba00000-0xdf9fffff [ 0.000000] ACPI: PM-Timer IO Port: 0x408 [ 0.000000] ACPI: Local APIC address 0xfee00000 [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) [ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1]) [ 0.000000] IOAPIC[0]: apic_id 14, version 32, address 0xfec00000, GSI 0-23 [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) [ 0.000000] ACPI: IRQ0 used by override. [ 0.000000] ACPI: IRQ9 used by override. [ 0.000000] Using ACPI (MADT) for SMP configuration information [ 0.000000] ACPI: HPET id: 0x8086a301 base: 0xfed00000 [ 0.000000] smpboot: Allowing 8 CPUs, 4 hotplug CPUs [ 0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff] [ 0.000000] PM: Registered nosave memory: [mem 0x0009d000-0x0009dfff] [ 0.000000] PM: Registered nosave memory: [mem 0x0009e000-0x0009ffff] [ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000dffff] [ 0.000000] PM: Registered nosave memory: [mem 0x000e0000-0x000fffff] [ 0.000000] PM: Registered nosave memory: [mem 0x20000000-0x201fffff] [ 0.000000] PM: Registered nosave memory: [mem 0x40000000-0x401fffff] [ 0.000000] PM: Registered nosave memory: [mem 0xd9c9f000-0xdae7efff] [ 0.000000] PM: Registered nosave memory: [mem 0xdae7f000-0xdaf9efff] [ 0.000000] PM: Registered nosave memory: [mem 0xdaf9f000-0xdaffefff] [ 0.000000] PM: Registered nosave memory: [mem 0xdb000000-0xdf9fffff] [ 0.000000] PM: Registered nosave memory: [mem 0xdfa00000-0xf7ffffff] [ 0.000000] PM: Registered nosave memory: [mem 0xf8000000-0xfbffffff] [ 0.000000] PM: Registered nosave memory: [mem 0xfc000000-0xfebfffff] [ 0.000000] PM: Registered nosave memory: [mem 0xfec00000-0xfec00fff] [ 0.000000] PM: Registered nosave memory: [mem 0xfec01000-0xfed07fff] [ 0.000000] PM: Registered nosave memory: [mem 0xfed08000-0xfed08fff] [ 0.000000] PM: Registered nosave memory: [mem 0xfed09000-0xfed0ffff] [ 0.000000] PM: Registered nosave memory: [mem 0xfed10000-0xfed19fff] [ 0.000000] PM: Registered nosave memory: [mem 0xfed1a000-0xfed1bfff] [ 0.000000] PM: Registered nosave memory: [mem 0xfed1c000-0xfed1ffff] [ 0.000000] PM: Registered nosave memory: [mem 0xfed20000-0xfedfffff] [ 0.000000] PM: Registered nosave memory: [mem 0xfee00000-0xfee00fff] [ 0.000000] PM: Registered nosave memory: [mem 0xfee01000-0xffd7ffff] [ 0.000000] PM: Registered nosave memory: [mem 0xffd80000-0xffffffff] [ 0.000000] e820: [mem 0xdfa00000-0xf7ffffff] available for PCI devices [ 0.000000] Booting paravirtualized kernel on bare hardware [ 0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns [ 0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:8 nr_node_ids:1 [ 0.000000] percpu: Embedded 34 pages/cpu @ffff88011fa00000 s102280 r8192 d28792 u262144 [ 0.000000] pcpu-alloc: s102280 r8192 d28792 u262144 alloc=1*2097152 [ 0.000000] pcpu-alloc: [0] 0 1 2 3 4 5 6 7 [ 0.000000] Built 1 zonelists in Node order, mobility grouping on. Total pages: 1005381 [ 0.000000] Policy zone: Normal [ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.6.0-rc1-7-iniza-small root=UUID=001AADA61AAD9964 loop=/ubuntu/disks/root.disk ro [ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes) [ 0.000000] Calgary: detecting Calgary via BIOS EBDA area [ 0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing! [ 0.000000] Memory: 3916912K/4086000K available (8338K kernel code, 1429K rwdata, 3320K rodata, 1452K init, 14072K bss, 169088K reserved, 0K cma-reserved) [ 0.000000] Running RCU self tests [ 0.000000] Hierarchical RCU implementation. [ 0.000000] RCU lockdep checking is enabled. [ 0.000000] Build-time adjustment of leaf fanout to 64. [ 0.000000] RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=8. [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=8 [ 0.000000] NR_IRQS:16640 nr_irqs:488 16 [ 0.000000] Console: colour dummy device 80x25 [ 0.000000] console [tty0] enabled [ 0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar [ 0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8 [ 0.000000] ... MAX_LOCK_DEPTH: 48 [ 0.000000] ... MAX_LOCKDEP_KEYS: 8191 [ 0.000000] ... CLASSHASH_SIZE: 4096 [ 0.000000] ... MAX_LOCKDEP_ENTRIES: 32768 [ 0.000000] ... MAX_LOCKDEP_CHAINS: 65536 [ 0.000000] ... CHAINHASH_SIZE: 32768 [ 0.000000] memory used by lock dependency info: 8159 kB [ 0.000000] per task-struct memory footprint: 1920 bytes [ 0.000000] ------------------------ [ 0.000000] | Locking API testsuite: [ 0.000000] ---------------------------------------------------------------------------- [ 0.000000] | spin |wlock |rlock |mutex | wsem | rsem | [ 0.000000] -------------------------------------------------------------------------- [ 0.000000] A-A deadlock: ok | ok | ok | ok | ok | ok | [ 0.000000] A-B-B-A deadlock: ok | ok | ok | ok | ok | ok | [ 0.000000] A-B-B-C-C-A deadlock: ok | ok | ok | ok | ok | ok | [ 0.000000] A-B-C-A-B-C deadlock: ok | ok | ok | ok | ok | ok | [ 0.000000] A-B-B-C-C-D-D-A deadlock: ok | ok | ok | ok | ok | ok | [ 0.000000] A-B-C-D-B-D-D-A deadlock: ok | ok | ok | ok | ok | ok | [ 0.000000] A-B-C-D-B-C-D-A deadlock: ok | ok | ok | ok | ok | ok | [ 0.000000] double unlock: ok | ok | ok | ok | ok | ok | [ 0.000000] initialize held: ok | ok | ok | ok | ok | ok | [ 0.000000] bad unlock order: ok | ok | ok | ok | ok | ok | [ 0.000000] -------------------------------------------------------------------------- [ 0.000000] recursive read-lock: | ok | | ok | [ 0.000000] recursive read-lock #2: | ok | | ok | [ 0.000000] mixed read-write-lock: | ok | | ok | [ 0.000000] mixed write-read-lock: | ok | | ok | [ 0.000000] -------------------------------------------------------------------------- [ 0.000000] hard-irqs-on + irq-safe-A/12: ok | ok | ok | [ 0.000000] soft-irqs-on + irq-safe-A/12: ok | ok | ok | [ 0.000000] hard-irqs-on + irq-safe-A/21: ok | ok | ok | [ 0.000000] soft-irqs-on + irq-safe-A/21: ok | ok | ok | [ 0.000000] sirq-safe-A => hirqs-on/12: ok | ok | ok | [ 0.000000] sirq-safe-A => hirqs-on/21: ok | ok | ok | [ 0.000000] hard-safe-A + irqs-on/12: ok | ok | ok | [ 0.000000] soft-safe-A + irqs-on/12: ok | ok | ok | [ 0.000000] hard-safe-A + irqs-on/21: ok | ok | ok | [ 0.000000] soft-safe-A + irqs-on/21: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #1/123: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #1/123: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #1/132: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #1/132: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #1/213: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #1/213: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #1/231: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #1/231: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #1/312: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #1/312: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #1/321: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #1/321: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #2/123: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #2/123: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #2/132: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #2/132: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #2/213: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #2/213: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #2/231: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #2/231: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #2/312: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #2/312: ok | ok | ok | [ 0.000000] hard-safe-A + unsafe-B #2/321: ok | ok | ok | [ 0.000000] soft-safe-A + unsafe-B #2/321: ok | ok | ok | [ 0.000000] hard-irq lock-inversion/123: ok | ok | ok | [ 0.000000] soft-irq lock-inversion/123: ok | ok | ok | [ 0.000000] hard-irq lock-inversion/132: ok | ok | ok | [ 0.000000] soft-irq lock-inversion/132: ok | ok | ok | [ 0.000000] hard-irq lock-inversion/213: ok | ok | ok | [ 0.000000] soft-irq lock-inversion/213: ok | ok | ok | [ 0.000000] hard-irq lock-inversion/231: ok | ok | ok | [ 0.000000] soft-irq lock-inversion/231: ok | ok | ok | [ 0.000000] hard-irq lock-inversion/312: ok | ok | ok | [ 0.000000] soft-irq lock-inversion/312: ok | ok | ok | [ 0.000000] hard-irq lock-inversion/321: ok | ok | ok | [ 0.000000] soft-irq lock-inversion/321: ok | ok | ok | [ 0.000000] hard-irq read-recursion/123: ok | [ 0.000000] soft-irq read-recursion/123: ok | [ 0.000000] hard-irq read-recursion/132: ok | [ 0.000000] soft-irq read-recursion/132: ok | [ 0.000000] hard-irq read-recursion/213: ok | [ 0.000000] soft-irq read-recursion/213: ok | [ 0.000000] hard-irq read-recursion/231: ok | [ 0.000000] soft-irq read-recursion/231: ok | [ 0.000000] hard-irq read-recursion/312: ok | [ 0.000000] soft-irq read-recursion/312: ok | [ 0.000000] hard-irq read-recursion/321: ok | [ 0.000000] soft-irq read-recursion/321: ok | [ 0.000000] -------------------------------------------------------------------------- [ 0.000000] | Wound/wait tests | [ 0.000000] --------------------- [ 0.000000] ww api failures: ok | ok | ok | [ 0.000000] ww contexts mixing: ok | ok | [ 0.000000] finishing ww context: ok | ok | ok | ok | [ 0.000000] locking mismatches: ok | ok | ok | [ 0.000000] EDEADLK handling: ok | ok | ok | ok | ok | ok | ok | ok | ok | ok | [ 0.000000] spinlock nest unlocked: ok | [ 0.000000] ----------------------------------------------------- [ 0.000000] |block | try |context| [ 0.000000] ----------------------------------------------------- [ 0.000000] context: ok | ok | ok | [ 0.000000] try: ok | ok | ok | [ 0.000000] block: ok | ok | ok | [ 0.000000] spinlock: ok | ok | ok | [ 0.000000] ------------------------------------------------------- [ 0.000000] Good, all 253 testcases passed! | [ 0.000000] --------------------------------- [ 0.000000] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484882848 ns [ 0.000000] hpet clockevent registered [ 0.000000] tsc: Fast TSC calibration using PIT [ 0.000000] tsc: Detected 1596.381 MHz processor [ 0.000096] Calibrating delay loop (skipped), value calculated using timer frequency.. 3192.76 BogoMIPS (lpj=6385524) [ 0.000109] pid_max: default: 32768 minimum: 301 [ 0.000151] ACPI: Core revision 20160108 [ 0.021618] ACPI: 5 ACPI AML tables successfully acquired and loaded [ 0.021627] [ 0.021826] Security Framework initialized [ 0.021833] Yama: becoming mindful. [ 0.021868] AppArmor: AppArmor initialized [ 0.022341] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes) [ 0.023439] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes) [ 0.023921] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes) [ 0.023935] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes) [ 0.025338] Disabled fast string operations [ 0.025348] CPU: Physical Processor ID: 0 [ 0.025353] CPU: Processor Core ID: 0 [ 0.025362] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' [ 0.025369] ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8) [ 0.025376] mce: CPU supports 7 MCE banks [ 0.025413] CPU0: Thermal monitoring enabled (TM1) [ 0.025433] process: using mwait in idle threads [ 0.025442] Last level iTLB entries: 4KB 512, 2MB 8, 4MB 8 [ 0.025448] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32, 1GB 0 [ 0.026090] Freeing SMP alternatives memory: 28K (ffffffff820d2000 - ffffffff820d9000) [ 0.039544] ftrace: allocating 30169 entries in 118 pages [ 0.056567] smpboot: Max logical packages: 4 [ 0.056577] smpboot: APIC(0) Converting physical 0 to logical package 0 [ 0.056666] x2apic: IRQ remapping doesn't support X2APIC mode [ 0.057300] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 [ 0.096997] TSC deadline timer enabled [ 0.097003] smpboot: CPU0: Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz (family: 0x6, model: 0x2a, stepping: 0x7) [ 0.097032] Performance Events: PEBS fmt1+, 16-deep LBR, SandyBridge events, full-width counters, Intel PMU driver. [ 0.097076] ... version: 3 [ 0.097081] ... bit width: 48 [ 0.097086] ... generic registers: 4 [ 0.097091] ... value mask: 0000ffffffffffff [ 0.097096] ... max period: 0000ffffffffffff [ 0.097102] ... fixed-purpose events: 3 [ 0.097107] ... event mask: 000000070000000f [ 0.098928] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter. [ 0.099822] x86: Booting SMP configuration: [ 0.099829] .... node #0, CPUs: #1 [ 0.100172] Disabled fast string operations [ 0.180071] #2<6>[ 0.180381] Disabled fast string operations [ 0.260419] #3 [ 0.260419] Disabled fast string operations [ 0.339674] x86: Booted up 1 node, 4 CPUs [ 0.339692] smpboot: Total of 4 processors activated (12786.80 BogoMIPS) [ 0.344708] devtmpfs: initialized [ 0.345060] x86/mm: Memory block size: 128MB [ 0.350147] evm: security.selinux [ 0.350154] evm: security.SMACK64 [ 0.350158] evm: security.capability [ 0.350348] PM: Registering ACPI NVS region [mem 0xdae7f000-0xdaf9efff] (1179648 bytes) [ 0.350773] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.352381] NET: Registered protocol family 16 [ 0.363638] cpuidle: using governor ladder [ 0.379590] cpuidle: using governor menu [ 0.379819] ACPI: bus type PCI registered [ 0.380151] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000) [ 0.380163] PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in E820 [ 0.380178] PCI: Using configuration type 1 for base access [ 0.380232] core: PMU erratum BJ122, BV98, HSD29 worked around, HT is on [ 0.400142] HugeTLB registered 2 MB page size, pre-allocated 0 pages [ 0.401587] ACPI: Added _OSI(Module Device) [ 0.401595] ACPI: Added _OSI(Processor Device) [ 0.401602] ACPI: Added _OSI(3.0 _SCP Extensions) [ 0.401608] ACPI: Added _OSI(Processor Aggregator Device) [ 0.402491] ACPI: Executed 1 blocks of module-level executable AML code [ 0.420542] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored [ 0.422642] ACPI: Dynamic OEM Table Load: [ 0.422673] ACPI: SSDT 0xFFFF88011A05E800 000688 (v01 PmRef Cpu0Cst 00003001 INTL 20061109) [ 0.425384] ACPI: Dynamic OEM Table Load: [ 0.425412] ACPI: SSDT 0xFFFF88011A7DA000 000303 (v01 PmRef ApIst 00003000 INTL 20061109) [ 0.427904] ACPI: Dynamic OEM Table Load: [ 0.427931] ACPI: SSDT 0xFFFF88011A056A00 000119 (v01 PmRef ApCst 00003000 INTL 20061109) [ 0.432133] ACPI : EC: EC started [ 0.433761] ACPI: Interpreter enabled [ 0.433837] ACPI: (supports S0 S1 S3 S4 S5) [ 0.433844] ACPI: Using IOAPIC for interrupt routing [ 0.433934] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug [ 0.459834] ACPI: Power Resource [FN00] (off) [ 0.460347] ACPI: Power Resource [FN01] (off) [ 0.460753] ACPI: Power Resource [FN02] (off) [ 0.461159] ACPI: Power Resource [FN03] (off) [ 0.461561] ACPI: Power Resource [FN04] (off) [ 0.464430] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e]) [ 0.464444] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI] [ 0.465223] \_SB_.PCI0 (33DB4D5B-1FF7-401C-9657-7441C03DD766): _OSC invalid UUID [ 0.465225] _OSC request data: 1 1f 0 [ 0.465232] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM [ 0.466347] PCI host bridge to bus 0000:00 [ 0.466356] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window] [ 0.466364] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window] [ 0.466371] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window] [ 0.466381] pci_bus 0000:00: root bus resource [mem 0xdfa00000-0xfeafffff window] [ 0.466391] pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfed44fff window] [ 0.466401] pci_bus 0000:00: root bus resource [bus 00-3e] [ 0.466490] pci 0000:00:00.0: [8086:0104] type 00 class 0x060000 [ 0.466955] pci 0000:00:02.0: [8086:0116] type 00 class 0x030000 [ 0.466976] pci 0000:00:02.0: reg 0x10: [mem 0xf0000000-0xf03fffff 64bit] [ 0.466989] pci 0000:00:02.0: reg 0x18: [mem 0xe0000000-0xefffffff 64bit pref] [ 0.466998] pci 0000:00:02.0: reg 0x20: [io 0x3000-0x303f] [ 0.467500] pci 0000:00:16.0: [8086:1c3a] type 00 class 0x078000 [ 0.467542] pci 0000:00:16.0: reg 0x10: [mem 0xf0705000-0xf070500f 64bit] [ 0.467696] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold [ 0.468112] pci 0000:00:1a.0: [8086:1c2d] type 00 class 0x0c0320 [ 0.468147] pci 0000:00:1a.0: reg 0x10: [mem 0xf070a000-0xf070a3ff] [ 0.468323] pci 0000:00:1a.0: PME# supported from D0 D3hot D3cold [ 0.468692] pci 0000:00:1b.0: [8086:1c20] type 00 class 0x040300 [ 0.468730] pci 0000:00:1b.0: reg 0x10: [mem 0xf0700000-0xf0703fff 64bit] [ 0.468910] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold [ 0.469136] pci 0000:00:1b.0: System wakeup disabled by ACPI [ 0.469326] pci 0000:00:1c.0: [8086:1c10] type 01 class 0x060400 [ 0.469496] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold [ 0.469699] pci 0000:00:1c.0: System wakeup disabled by ACPI [ 0.469893] pci 0000:00:1c.3: [8086:1c16] type 01 class 0x060400 [ 0.470062] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold [ 0.470263] pci 0000:00:1c.3: System wakeup disabled by ACPI [ 0.470454] pci 0000:00:1c.4: [8086:1c18] type 01 class 0x060400 [ 0.470633] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold [ 0.471026] pci 0000:00:1d.0: [8086:1c26] type 00 class 0x0c0320 [ 0.471060] pci 0000:00:1d.0: reg 0x10: [mem 0xf0709000-0xf07093ff] [ 0.471236] pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold [ 0.471597] pci 0000:00:1f.0: [8086:1c49] type 00 class 0x060100 [ 0.472122] pci 0000:00:1f.2: [8086:1c03] type 00 class 0x010601 [ 0.472159] pci 0000:00:1f.2: reg 0x10: [io 0x3088-0x308f] [ 0.472177] pci 0000:00:1f.2: reg 0x14: [io 0x3094-0x3097] [ 0.472194] pci 0000:00:1f.2: reg 0x18: [io 0x3080-0x3087] [ 0.472212] pci 0000:00:1f.2: reg 0x1c: [io 0x3090-0x3093] [ 0.472229] pci 0000:00:1f.2: reg 0x20: [io 0x3060-0x307f] [ 0.472247] pci 0000:00:1f.2: reg 0x24: [mem 0xf0708000-0xf07087ff] [ 0.472355] pci 0000:00:1f.2: PME# supported from D3hot [ 0.472715] pci 0000:00:1f.3: [8086:1c22] type 00 class 0x0c0500 [ 0.472749] pci 0000:00:1f.3: reg 0x10: [mem 0xf0704000-0xf07040ff 64bit] [ 0.472798] pci 0000:00:1f.3: reg 0x20: [io 0xefa0-0xefbf] [ 0.473550] pci 0000:01:00.0: [8086:0091] type 00 class 0x028000 [ 0.473957] pci 0000:01:00.0: reg 0x10: [mem 0xf0600000-0xf0601fff 64bit] [ 0.475743] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold [ 0.476174] pci 0000:01:00.0: System wakeup disabled by ACPI [ 0.484074] pci 0000:00:1c.0: PCI bridge to [bus 01] [ 0.484091] pci 0000:00:1c.0: bridge window [mem 0xf0600000-0xf06fffff] [ 0.484322] pci 0000:02:00.0: [10ec:8168] type 00 class 0x020000 [ 0.484416] pci 0000:02:00.0: reg 0x10: [io 0x2000-0x20ff] [ 0.484555] pci 0000:02:00.0: reg 0x18: [mem 0xf0404000-0xf0404fff 64bit pref] [ 0.484641] pci 0000:02:00.0: reg 0x20: [mem 0xf0400000-0xf0403fff 64bit pref] [ 0.485110] pci 0000:02:00.0: supports D1 D2 [ 0.485112] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold [ 0.485322] pci 0000:02:00.0: System wakeup disabled by ACPI [ 0.492005] pci 0000:00:1c.3: PCI bridge to [bus 02] [ 0.492017] pci 0000:00:1c.3: bridge window [io 0x2000-0x2fff] [ 0.492033] pci 0000:00:1c.3: bridge window [mem 0xf0400000-0xf04fffff 64bit pref] [ 0.492238] pci 0000:03:00.0: [1b21:1042] type 00 class 0x0c0330 [ 0.492289] pci 0000:03:00.0: reg 0x10: [mem 0xf0500000-0xf0507fff 64bit] [ 0.492570] pci 0000:03:00.0: PME# supported from D3hot D3cold [ 0.492890] pci 0000:00:1c.4: PCI bridge to [bus 03] [ 0.492906] pci 0000:00:1c.4: bridge window [mem 0xf0500000-0xf05fffff] [ 0.495324] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 10 *11 12 14 15) [ 0.495548] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled. [ 0.495773] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 *10 11 12 14 15) [ 0.496019] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 *10 11 12 14 15) [ 0.496240] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 10 11 12 14 15) *9 [ 0.496461] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled. [ 0.496684] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 10 *11 12 14 15) [ 0.496915] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 10 11 12 14 15) *9 [ 0.498542] ACPI: Enabled 4 GPEs in block 00 to 3F [ 0.498728] ACPI : EC: GPE = 0x17, I/O: command/status = 0x66, data = 0x62 [ 0.499096] ACPI : EC: 0 stale EC events cleared [ 0.499912] vgaarb: setting as boot device: PCI:0000:00:02.0 [ 0.499920] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none [ 0.499949] vgaarb: loaded [ 0.499955] vgaarb: bridge control possible 0000:00:02.0 [ 0.500747] SCSI subsystem initialized [ 0.500933] libata version 3.00 loaded. [ 0.501045] ACPI: bus type USB registered [ 0.501131] usbcore: registered new interface driver usbfs [ 0.501181] usbcore: registered new interface driver hub [ 0.501272] usbcore: registered new device driver usb [ 0.501814] PCI: Using ACPI for IRQ routing [ 0.505544] PCI: pci_cache_line_size set to 64 bytes [ 0.505678] e820: reserve RAM buffer [mem 0x0009d800-0x0009ffff] [ 0.505687] e820: reserve RAM buffer [mem 0xd9c9f000-0xdbffffff] [ 0.505690] e820: reserve RAM buffer [mem 0xdb000000-0xdbffffff] [ 0.505693] e820: reserve RAM buffer [mem 0x11fe00000-0x11fffffff] [ 0.506533] NetLabel: Initializing [ 0.506539] NetLabel: domain hash size = 128 [ 0.506544] NetLabel: protocols = UNLABELED CIPSOv4 [ 0.506608] NetLabel: unlabeled traffic allowed by default [ 0.506945] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0 [ 0.506960] hpet0: 8 comparators, 64-bit 14.318180 MHz counter [ 0.510074] clocksource: Switched to clocksource hpet [ 0.559359] VFS: Disk quotas dquot_6.6.0 [ 0.559422] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.560034] AppArmor: AppArmor Filesystem Enabled [ 0.560296] pnp: PnP ACPI init [ 0.561037] system 00:00: [io 0x0680-0x069f] has been reserved [ 0.561048] system 00:00: [io 0x1000-0x100f] has been reserved [ 0.561056] system 00:00: [io 0x5000-0x5003] has been reserved [ 0.561064] system 00:00: [io 0xffff] has been reserved [ 0.561073] system 00:00: [io 0x0400-0x0453] could not be reserved [ 0.561081] system 00:00: [io 0x0458-0x047f] has been reserved [ 0.561089] system 00:00: [io 0x0500-0x057f] has been reserved [ 0.561097] system 00:00: [io 0x0a00-0x0a0f] has been reserved [ 0.561105] system 00:00: [io 0x164e-0x164f] has been reserved [ 0.561114] system 00:00: [io 0x5000-0x500f] could not be reserved [ 0.561153] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active) [ 0.561272] pnp 00:01: Plug and Play ACPI device, IDs PNP0b00 (active) [ 0.561475] system 00:02: [io 0x0454-0x0457] has been reserved [ 0.561489] system 00:02: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active) [ 0.561615] pnp 00:03: Plug and Play ACPI device, IDs PNP0303 (active) [ 0.561773] pnp 00:04: Plug and Play ACPI device, IDs ETD0b00 SYN0002 PNP0f13 (active) [ 0.562361] system 00:05: [mem 0xfed1c000-0xfed1ffff] has been reserved [ 0.562371] system 00:05: [mem 0xfed10000-0xfed17fff] has been reserved [ 0.562379] system 00:05: [mem 0xfed18000-0xfed18fff] has been reserved [ 0.562388] system 00:05: [mem 0xfed19000-0xfed19fff] has been reserved [ 0.562396] system 00:05: [mem 0xf8000000-0xfbffffff] has been reserved [ 0.562405] system 00:05: [mem 0xfed20000-0xfed3ffff] has been reserved [ 0.562413] system 00:05: [mem 0xfed90000-0xfed93fff] has been reserved [ 0.562421] system 00:05: [mem 0xfed45000-0xfed8ffff] has been reserved [ 0.562430] system 00:05: [mem 0xff000000-0xffffffff] could not be reserved [ 0.562439] system 00:05: [mem 0xfee00000-0xfeefffff] could not be reserved [ 0.562452] system 00:05: Plug and Play ACPI device, IDs PNP0c02 (active) [ 0.563580] system 00:06: Plug and Play ACPI device, IDs PNP0c01 (active) [ 0.563649] pnp: PnP ACPI: found 7 devices [ 0.576168] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns [ 0.576237] pci 0000:00:1c.0: PCI bridge to [bus 01] [ 0.576252] pci 0000:00:1c.0: bridge window [mem 0xf0600000-0xf06fffff] [ 0.576273] pci 0000:00:1c.3: PCI bridge to [bus 02] [ 0.576281] pci 0000:00:1c.3: bridge window [io 0x2000-0x2fff] [ 0.576299] pci 0000:00:1c.3: bridge window [mem 0xf0400000-0xf04fffff 64bit pref] [ 0.576317] pci 0000:00:1c.4: PCI bridge to [bus 03] [ 0.576330] pci 0000:00:1c.4: bridge window [mem 0xf0500000-0xf05fffff] [ 0.576351] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window] [ 0.576353] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window] [ 0.576355] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window] [ 0.576357] pci_bus 0000:00: resource 7 [mem 0xdfa00000-0xfeafffff window] [ 0.576359] pci_bus 0000:00: resource 8 [mem 0xfed40000-0xfed44fff window] [ 0.576361] pci_bus 0000:01: resource 1 [mem 0xf0600000-0xf06fffff] [ 0.576364] pci_bus 0000:02: resource 0 [io 0x2000-0x2fff] [ 0.576366] pci_bus 0000:02: resource 2 [mem 0xf0400000-0xf04fffff 64bit pref] [ 0.576368] pci_bus 0000:03: resource 1 [mem 0xf0500000-0xf05fffff] [ 0.576533] NET: Registered protocol family 2 [ 0.577197] TCP established hash table entries: 32768 (order: 6, 262144 bytes) [ 0.577500] TCP bind hash table entries: 32768 (order: 9, 2097152 bytes) [ 0.579996] TCP: Hash tables configured (established 32768 bind 32768) [ 0.580135] UDP hash table entries: 2048 (order: 6, 327680 bytes) [ 0.580486] UDP-Lite hash table entries: 2048 (order: 6, 327680 bytes) [ 0.581114] NET: Registered protocol family 1 [ 0.581160] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff] [ 0.583228] PCI: CLS 64 bytes, default 64 [ 0.583539] Trying to unpack rootfs image as initramfs... [ 0.670574] Freeing initrd memory: 3572K (ffff8800378f6000 - ffff880037c73000) [ 0.670682] PCI-DMA: Using software bounce buffering for IO (SWIOTLB) [ 0.670691] software IO TLB [mem 0xd5c9f000-0xd9c9f000] (64MB) mapped at [ffff8800d5c9f000-ffff8800d9c9efff] [ 0.670890] RAPL PMU: API unit is 2^-32 Joules, 3 fixed counters, 163840 ms ovfl timer [ 0.670900] RAPL PMU: hw unit of domain pp0-core 2^-16 Joules [ 0.670905] RAPL PMU: hw unit of domain package 2^-16 Joules [ 0.670911] RAPL PMU: hw unit of domain pp1-gpu 2^-16 Joules [ 0.671270] Scanning for low memory corruption every 60 seconds [ 0.672932] futex hash table entries: 2048 (order: 6, 262144 bytes) [ 0.673155] audit: initializing netlink subsys (disabled) [ 0.673251] audit: type=2000 audit(1459340876.660:1): initialized [ 0.674894] Initialise system trusted keyring [ 0.675373] workingset: timestamp_bits=38 max_order=20 bucket_order=0 [ 0.676626] fuse init (API version 7.24) [ 0.679231] Key type asymmetric registered [ 0.679257] Asymmetric key parser 'x509' registered [ 0.679322] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) [ 0.679487] io scheduler noop registered [ 0.679499] io scheduler deadline registered (default) [ 0.679569] io scheduler cfq registered [ 0.679578] start plist test [ 0.681876] end plist test [ 0.683263] pci_hotplug: PCI Hot Plug PCI Core version: 0.5 [ 0.683296] pciehp: PCI Express Hot Plug Controller Driver version: 0.4 [ 0.683584] intel_idle: MWAIT substates: 0x21120 [ 0.683585] intel_idle: v0.4.1 model 0x2A [ 0.683587] intel_idle: lapic_timer_reliable_states 0xffffffff [ 0.685173] ACPI: AC Adapter [ADP1] (on-line) [ 0.685478] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0 [ 0.685539] ACPI: Lid Switch [LID0] [ 0.685723] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1 [ 0.685774] ACPI: Power Button [PWRB] [ 0.685957] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input2 [ 0.685971] ACPI: Power Button [PWRF] [ 0.690480] thermal LNXTHERM:00: registered as thermal_zone0 [ 0.690488] ACPI: Thermal Zone [TZ00] (66 C) [ 0.691347] thermal LNXTHERM:01: registered as thermal_zone1 [ 0.691354] ACPI: Thermal Zone [TZ01] (30 C) [ 0.691489] GHES: HEST is not enabled! [ 0.691857] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled [ 0.699956] ACPI: Battery Slot [BAT1] (battery present) [ 0.702859] Linux agpgart interface v0.103 [ 0.715634] brd: module loaded [ 0.722315] loop: module loaded [ 0.726916] ahci 0000:00:1f.2: version 3.0 [ 0.727408] ahci 0000:00:1f.2: SSS flag set, parallel bus scan disabled [ 0.737641] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x1b impl SATA mode [ 0.737656] ahci 0000:00:1f.2: flags: 64bit ncq sntf ilck stag pm led clo pio slum part ems sxs apst [ 0.761076] scsi host0: ahci [ 0.761839] scsi host1: ahci [ 0.762417] scsi host2: ahci [ 0.762882] scsi host3: ahci [ 0.763419] scsi host4: ahci [ 0.763960] scsi host5: ahci [ 0.764224] ata1: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708100 irq 25 [ 0.764236] ata2: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708180 irq 25 [ 0.764245] ata3: DUMMY [ 0.764251] ata4: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708280 irq 25 [ 0.764261] ata5: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708300 irq 25 [ 0.764269] ata6: DUMMY [ 0.766294] libphy: Fixed MDIO Bus: probed [ 0.766789] tun: Universal TUN/TAP device driver, 1.6 [ 0.766796] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> [ 0.767063] PPP generic driver version 2.4.2 [ 0.767262] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.767272] ehci-pci: EHCI PCI platform driver [ 0.767789] ehci-pci 0000:00:1a.0: EHCI Host Controller [ 0.767981] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1 [ 0.768063] ehci-pci 0000:00:1a.0: debug port 2 [ 0.772040] ehci-pci 0000:00:1a.0: cache line size of 64 is not supported [ 0.772116] ehci-pci 0000:00:1a.0: irq 16, io mem 0xf070a000 [ 0.782138] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00 [ 0.782507] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 0.782516] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 0.782525] usb usb1: Product: EHCI Host Controller [ 0.782532] usb usb1: Manufacturer: Linux 4.6.0-rc1-7-iniza-small ehci_hcd [ 0.782538] usb usb1: SerialNumber: 0000:00:1a.0 [ 0.783636] hub 1-0:1.0: USB hub found [ 0.783699] hub 1-0:1.0: 2 ports detected [ 0.785304] ehci-pci 0000:00:1d.0: EHCI Host Controller [ 0.785332] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 2 [ 0.785364] ehci-pci 0000:00:1d.0: debug port 2 [ 0.789282] ehci-pci 0000:00:1d.0: cache line size of 64 is not supported [ 0.789324] ehci-pci 0000:00:1d.0: irq 23, io mem 0xf0709000 [ 0.798123] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00 [ 0.798285] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [ 0.798294] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 0.798303] usb usb2: Product: EHCI Host Controller [ 0.798309] usb usb2: Manufacturer: Linux 4.6.0-rc1-7-iniza-small ehci_hcd [ 0.798315] usb usb2: SerialNumber: 0000:00:1d.0 [ 0.798919] hub 2-0:1.0: USB hub found [ 0.798952] hub 2-0:1.0: 2 ports detected [ 0.799502] ehci-platform: EHCI generic platform driver [ 0.799560] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 0.799582] ohci-pci: OHCI PCI platform driver [ 0.799634] ohci-platform: OHCI generic platform driver [ 0.799673] uhci_hcd: USB Universal Host Controller Interface driver [ 0.799943] xhci_hcd 0000:03:00.0: xHCI Host Controller [ 0.799976] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 3 [ 0.804471] xhci_hcd 0000:03:00.0: hcc params 0x0200f180 hci version 0x96 quirks 0x00080000 [ 0.805038] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002 [ 0.805046] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 0.805055] usb usb3: Product: xHCI Host Controller [ 0.805061] usb usb3: Manufacturer: Linux 4.6.0-rc1-7-iniza-small xhci-hcd [ 0.805068] usb usb3: SerialNumber: 0000:03:00.0 [ 0.805637] hub 3-0:1.0: USB hub found [ 0.805712] hub 3-0:1.0: 2 ports detected [ 0.806269] xhci_hcd 0000:03:00.0: xHCI Host Controller [ 0.806289] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 4 [ 0.806395] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM. [ 0.806446] usb usb4: No SuperSpeed endpoint companion for config 1 interface 0 altsetting 0 ep 129: using minimum values [ 0.806521] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003 [ 0.806528] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 0.806537] usb usb4: Product: xHCI Host Controller [ 0.806543] usb usb4: Manufacturer: Linux 4.6.0-rc1-7-iniza-small xhci-hcd [ 0.806550] usb usb4: SerialNumber: 0000:03:00.0 [ 0.807137] hub 4-0:1.0: USB hub found [ 0.807184] hub 4-0:1.0: 2 ports detected [ 0.807896] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:EPAD] at 0x60,0x64 irq 1,12 [ 0.814175] serio: i8042 KBD port at 0x60,0x64 irq 1 [ 0.814233] serio: i8042 AUX port at 0x60,0x64 irq 12 [ 0.815082] mousedev: PS/2 mouse device common for all mice [ 0.816430] rtc_cmos 00:01: rtc core: registered rtc_cmos as rtc0 [ 0.816476] rtc_cmos 00:01: alarms up to one month, y3k, 242 bytes nvram, hpet irqs [ 0.816582] device-mapper: uevent: version 1.0.3 [ 0.816815] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: dm-devel@redhat.com [ 0.816862] Intel P-state driver initializing. [ 0.817804] ledtrig-cpu: registered to indicate activity on CPUs [ 0.818274] NET: Registered protocol family 10 [ 0.819178] NET: Registered protocol family 17 [ 0.819216] Key type dns_resolver registered [ 0.820191] microcode: CPU0 sig=0x206a7, pf=0x10, revision=0x28 [ 0.820226] microcode: CPU1 sig=0x206a7, pf=0x10, revision=0x28 [ 0.820299] microcode: CPU2 sig=0x206a7, pf=0x10, revision=0x28 [ 0.820333] microcode: CPU3 sig=0x206a7, pf=0x10, revision=0x28 [ 0.820545] microcode: Microcode Update Driver: v2.01 <tigran@aivazian.fsnet.co.uk>, Peter Oruba [ 0.821332] registered taskstats version 1 [ 0.821346] Loading compiled-in X.509 certificates [ 0.822933] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3 [ 0.828421] Loaded X.509 cert 'Build time autogenerated kernel key: d861534734a1854c045ffb7a95ace7fffd94d654' [ 0.833343] Key type trusted registered [ 0.841768] Key type encrypted registered [ 0.841784] AppArmor: AppArmor sha1 policy hashing enabled [ 0.841792] evm: HMAC attrs: 0x1 [ 0.842991] rtc_cmos 00:01: setting system clock to 2016-03-30 12:27:57 UTC (1459340877) [ 0.843197] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found [ 0.843206] EDD information not available. [ 1.075311] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) [ 1.076670] ata1.00: ATA-8: Hitachi HTS545050A7E380, GG2OA6C0, max UDMA/133 [ 1.076681] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA [ 1.094249] usb 1-1: new high-speed USB device number 2 using ehci-pci [ 1.107825] ata1.00: configured for UDMA/133 [ 1.109029] scsi 0:0:0:0: Direct-Access ATA Hitachi HTS54505 A6C0 PQ: 0 ANSI: 5 [ 1.110172] usb 2-1: new high-speed USB device number 2 using ehci-pci [ 1.131356] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB) [ 1.131371] sd 0:0:0:0: [sda] 4096-byte physical blocks [ 1.131691] sd 0:0:0:0: [sda] Write Protect is off [ 1.131699] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 [ 1.131795] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 1.131799] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 1.171813] sda: sda1 sda2 sda3 [ 1.173471] sd 0:0:0:0: [sda] Attached SCSI disk [ 1.227230] usb 1-1: New USB device found, idVendor=8087, idProduct=0024 [ 1.227241] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1.228178] hub 1-1:1.0: USB hub found [ 1.228426] hub 1-1:1.0: 6 ports detected [ 1.242915] usb 2-1: New USB device found, idVendor=8087, idProduct=0024 [ 1.242934] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1.243677] hub 2-1:1.0: USB hub found [ 1.243947] hub 2-1:1.0: 6 ports detected [ 1.443082] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300) [ 1.444079] ata2.00: ATA-8: SanDisk iSSD P4 16GB, SSD 9.14, max UDMA/133 [ 1.444091] ata2.00: 31277232 sectors, multi 1: LBA48 [ 1.444874] ata2.00: configured for UDMA/133 [ 1.445500] scsi 1:0:0:0: Direct-Access ATA SanDisk iSSD P4 9.14 PQ: 0 ANSI: 5 [ 1.470892] sd 1:0:0:0: [sdb] 31277232 512-byte logical blocks: (16.0 GB/14.9 GiB) [ 1.471086] sd 1:0:0:0: Attached scsi generic sg1 type 0 [ 1.471379] sd 1:0:0:0: [sdb] Write Protect is off [ 1.471393] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00 [ 1.471505] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 1.472706] sdb: sdb1 sdb2 [ 1.474030] sd 1:0:0:0: [sdb] Attached SCSI disk [ 1.502234] usb 1-1.4: new high-speed USB device number 3 using ehci-pci [ 1.518235] usb 2-1.4: new low-speed USB device number 3 using ehci-pci [ 1.617113] usb 2-1.4: New USB device found, idVendor=046d, idProduct=c00e [ 1.617124] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 1.617133] usb 2-1.4: Product: USB-PS/2 Optical Mouse [ 1.617138] usb 2-1.4: Manufacturer: Logitech [ 1.670339] tsc: Refined TSC clocksource calibration: 1596.373 MHz [ 1.670351] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x1702c2a0637, max_idle_ns: 440795222505 ns [ 1.690144] usb 2-1.5: new full-speed USB device number 4 using ehci-pci [ 1.755116] usb 1-1.4: New USB device found, idVendor=2232, idProduct=1018 [ 1.755129] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 1.755139] usb 1-1.4: Product: WebCam SC-13HDL11431N [ 1.755145] usb 1-1.4: Manufacturer: 123 [ 1.778121] ata4: SATA link down (SStatus 0 SControl 300) [ 1.787613] usb 2-1.5: New USB device found, idVendor=8086, idProduct=0189 [ 1.787625] usb 2-1.5: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 2.086458] ata5: SATA link down (SStatus 0 SControl 300) [ 2.088190] Freeing unused kernel memory: 1452K (ffffffff81f67000 - ffffffff820d2000) [ 2.088202] Write protecting the kernel read-only data: 14336k [ 2.089724] Freeing unused kernel memory: 1884K (ffff880001829000 - ffff880001a00000) [ 2.092342] Freeing unused kernel memory: 776K (ffff880001d3e000 - ffff880001e00000) [ 2.129993] udevd[171]: starting version 175 [ 2.458351] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded [ 2.458382] r8169 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control [ 2.460751] r8169 0000:02:00.0 eth0: RTL8168evl/8111evl at 0xffffc90000990000, e8:03:9a:36:17:a9, XID 0c900800 IRQ 31 [ 2.460773] r8169 0000:02:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko] [ 2.468297] usbcore: registered new interface driver usbhid [ 2.468314] usbhid: USB HID core driver [ 2.556138] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/0003:046D:C00E.0001/input/input5 [ 2.556619] hid-generic 0003:046D:C00E.0001: input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1d.0-1.4/input0 [ 2.670718] clocksource: Switched to clocksource tsc [ 3.247771] EXT4-fs (loop0): mounted filesystem with ordered data mode. Opts: (null) [ 3.812395] random: nonblocking pool is initialized [ 4.042137] usb 1-1.2: new high-speed USB device number 4 using ehci-pci [ 4.136997] usb 1-1.2: New USB device found, idVendor=12d1, idProduct=1446 [ 4.137028] usb 1-1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=0 [ 4.137036] usb 1-1.2: Product: HUAWEI Mobile [ 4.137041] usb 1-1.2: Manufacturer: HUAWEI Technology [ 5.256858] init: ureadahead main process (451) terminated with status 5 [ 9.519797] Adding 262140k swap on /host/ubuntu/disks/swap.disk. Priority:-1 extents:1 across:262140k FS [ 9.791149] EXT4-fs (loop0): re-mounted. Opts: errors=remount-ro [ 9.939355] udevd[677]: starting version 175 [ 10.903992] lp: driver loaded but no devices found [ 13.167662] wmi: Mapper loaded [ 13.414639] ACPI Warning: SystemIO range 0x0000000000000428-0x000000000000042F conflicts with OpRegion 0x0000000000000400-0x000000000000047F (\PMIO) (20160108/utaddress-255) [ 13.414654] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver [ 13.414664] ACPI Warning: SystemIO range 0x0000000000000540-0x000000000000054F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20160108/utaddress-255) [ 13.414673] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver [ 13.414678] ACPI Warning: SystemIO range 0x0000000000000530-0x000000000000053F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20160108/utaddress-255) [ 13.414686] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver [ 13.414690] ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20160108/utaddress-255) [ 13.414699] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver [ 13.414702] lpc_ich: Resource conflict(s) found affecting gpio_ich [ 13.612896] samsung_laptop: detected SABI interface: SwSmi@ [ 13.624162] [drm] Initialized drm 1.1.0 20060810 [ 14.188989] Bluetooth: Core ver 2.21 [ 14.189147] NET: Registered protocol family 31 [ 14.189148] Bluetooth: HCI device and connection manager initialized [ 14.189440] Bluetooth: HCI socket layer initialized [ 14.189449] Bluetooth: L2CAP socket layer initialized [ 14.189545] Bluetooth: SCO socket layer initialized [ 14.433657] Intel(R) Wireless WiFi driver for Linux [ 14.433662] Copyright(c) 2003- 2015 Intel Corporation [ 14.434062] iwlwifi 0000:01:00.0: can't disable ASPM; OS doesn't have ASPM control [ 14.749581] usbcore: registered new interface driver btusb [ 15.070044] usb-storage 1-1.2:1.0: USB Mass Storage device detected [ 15.073198] scsi host6: usb-storage 1-1.2:1.0 [ 15.073819] usb-storage 1-1.2:1.1: USB Mass Storage device detected [ 15.074375] scsi host7: usb-storage 1-1.2:1.1 [ 15.074876] usbcore: registered new interface driver usb-storage [ 15.082186] Linux video capture interface: v2.00 [ 15.160570] psmouse serio1: elantech: assuming hardware version 3 (with firmware version 0x450f00) [ 15.178343] psmouse serio1: elantech: Synaptics capabilities query result 0x08, 0x17, 0x0c. [ 15.193327] psmouse serio1: elantech: Elan sample query result 03, 3f, 86 [ 15.271223] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input6 [ 15.521512] iwlwifi 0000:01:00.0: loaded firmware version 18.168.6.1 op_mode iwldvm [ 15.877869] [drm] Memory usable by graphics device = 2048M [ 15.877936] [drm] Replacing VGA console driver [ 15.884334] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 15.884339] [drm] Driver supports precise vblank timestamp query. [ 15.887488] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem [ 15.905634] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no) [ 15.906605] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input7 [ 15.907607] [drm] Initialized i915 1.6.0 20160229 for 0000:00:02.0 on minor 0 [ 16.044613] fbcon: inteldrmfb (fb0) is primary device [ 16.072335] scsi 6:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2 [ 16.076165] sr 6:0:0:0: [sr0] scsi-1 drive [ 16.076167] cdrom: Uniform CD-ROM driver Revision: 3.20 [ 16.078047] sr 6:0:0:0: Attached scsi CD-ROM sr0 [ 16.079308] sr 6:0:0:0: Attached scsi generic sg2 type 5 [ 16.080744] scsi 7:0:0:0: Direct-Access HUAWEI SD Storage 2.31 PQ: 0 ANSI: 2 [ 16.085769] sd 7:0:0:0: Attached scsi generic sg3 type 0 [ 16.088791] sd 7:0:0:0: [sdc] Attached SCSI removable disk [ 16.705437] audit: type=1400 audit(1459333693.356:2): apparmor="STATUS" operation="profile_load" name="/sbin/dhclient" pid=1065 comm="apparmor_parser" [ 16.705446] audit: type=1400 audit(1459333693.356:3): apparmor="STATUS" operation="profile_load" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1065 comm="apparmor_parser" [ 16.705451] audit: type=1400 audit(1459333693.356:4): apparmor="STATUS" operation="profile_load" name="/usr/lib/connman/scripts/dhclient-script" pid=1065 comm="apparmor_parser" [ 16.706206] audit: type=1400 audit(1459333693.360:5): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1065 comm="apparmor_parser" [ 16.706214] audit: type=1400 audit(1459333693.360:6): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=1065 comm="apparmor_parser" [ 16.706565] audit: type=1400 audit(1459333693.360:7): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=1065 comm="apparmor_parser" [ 16.706666] audit: type=1400 audit(1459333693.360:8): apparmor="STATUS" operation="profile_replace" name="/sbin/dhclient" pid=1079 comm="apparmor_parser" [ 16.706675] audit: type=1400 audit(1459333693.360:9): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1079 comm="apparmor_parser" [ 16.706681] audit: type=1400 audit(1459333693.360:10): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=1079 comm="apparmor_parser" [ 16.707385] audit: type=1400 audit(1459333693.360:11): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1079 comm="apparmor_parser" [ 17.223643] Console: switching to colour frame buffer device 170x48 [ 17.356072] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device [ 17.413231] usb 1-1.2: USB disconnect, device number 4 [ 17.642731] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 17.642737] Bluetooth: BNEP filters: protocol multicast [ 17.642752] Bluetooth: BNEP socket layer initialized [ 17.670273] ppdev: user-space parallel port driver [ 17.689026] Bluetooth: RFCOMM TTY layer initialized [ 17.689057] Bluetooth: RFCOMM socket layer initialized [ 17.689079] Bluetooth: RFCOMM ver 1.11 [ 17.975776] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC269VC: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker [ 17.975783] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0) [ 17.975786] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x15/0x0/0x0/0x0/0x0) [ 17.975788] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 [ 17.975789] snd_hda_codec_realtek hdaudioC0D0: inputs: [ 17.975793] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x19 [ 17.975797] snd_hda_codec_realtek hdaudioC0D0: Mic=0x18 [ 18.003113] init: failsafe main process (1157) killed by TERM signal [ 18.176756] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8 [ 18.177322] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9 [ 18.177634] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10 [ 18.331300] uvcvideo: Found UVC 1.00 device WebCam SC-13HDL11431N (2232:1018) [ 18.351250] input: WebCam SC-13HDL11431N as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input11 [ 18.351831] usbcore: registered new interface driver uvcvideo [ 18.351836] USB Video Class driver (1.1.1) [ 18.576641] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEBUG disabled [ 18.576647] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEBUGFS enabled [ 18.576649] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled [ 18.576652] iwlwifi 0000:01:00.0: Detected Intel(R) Centrino(R) Advanced-N 6230 AGN, REV=0xB0 [ 18.577012] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled [ 18.948668] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs' [ 21.198023] usb 1-1.2: new high-speed USB device number 5 using ehci-pci [ 21.292835] usb 1-1.2: New USB device found, idVendor=12d1, idProduct=1436 [ 21.292848] usb 1-1.2: New USB device strings: Mfr=4, Product=3, SerialNumber=0 [ 21.292854] usb 1-1.2: Product: HUAWEI Mobile [ 21.292859] usb 1-1.2: Manufacturer: HUAWEI Technology [ 21.296403] usb-storage 1-1.2:1.0: USB Mass Storage device detected [ 21.297558] usb-storage 1-1.2:1.1: USB Mass Storage device detected [ 21.298292] usb-storage 1-1.2:1.2: USB Mass Storage device detected [ 21.302849] usb-storage 1-1.2:1.3: USB Mass Storage device detected [ 21.303678] usb-storage 1-1.2:1.4: USB Mass Storage device detected [ 21.304242] usb-storage 1-1.2:1.5: USB Mass Storage device detected [ 21.304743] scsi host6: usb-storage 1-1.2:1.5 [ 21.305447] usb-storage 1-1.2:1.6: USB Mass Storage device detected [ 21.306159] scsi host7: usb-storage 1-1.2:1.6 [ 21.370422] usbcore: registered new interface driver usbserial [ 21.395643] cdc_ether 1-1.2:1.1 wwan0: register 'cdc_ether' at usb-0000:00:1a.0-1.2, Mobile Broadband Network Device, 02:50:f3:00:00:00 [ 21.395743] usbcore: registered new interface driver cdc_ether [ 21.425717] usbcore: registered new interface driver option [ 21.426402] usbserial: USB Serial support registered for GSM modem (1-port) [ 21.426628] option 1-1.2:1.0: GSM modem (1-port) converter detected [ 21.427962] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0 [ 21.428292] option 1-1.2:1.3: GSM modem (1-port) converter detected [ 21.428743] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1 [ 21.429229] option 1-1.2:1.4: GSM modem (1-port) converter detected [ 21.430210] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2 [ 22.304117] scsi 6:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2 [ 22.308236] sr 6:0:0:0: [sr0] scsi-1 drive [ 22.308880] scsi 7:0:0:0: Direct-Access HUAWEI SD Storage 2.31 PQ: 0 ANSI: 2 [ 22.312260] sr 6:0:0:0: Attached scsi CD-ROM sr0 [ 22.313633] sr 6:0:0:0: Attached scsi generic sg2 type 5 [ 22.315686] sd 7:0:0:0: Attached scsi generic sg3 type 0 [ 22.323219] sd 7:0:0:0: [sdc] Attached SCSI removable disk [ 23.708146] r8169 0000:02:00.0 eth0: link down [ 23.708222] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 63.100443] PPP BSD Compression module registered [ 63.185881] PPP Deflate Compression module registered [ 70.678615] usb 2-1.5: USB disconnect, device number 4 [unhandled content-type:application/octet-stream]Alan Stern (1): HID: usbhid: fix inconsistent reset/resume/reset-resume behavior
Benjamin Tissoires (1): HID: wacom: fix Bamboo ONE oops
Cyan Ogilvie (1): HID: wiimote: Fix wiimote mp scale linearization
Filipe Manana (1): Btrfs: fix crash/invalid memory access on fsync when using overlayfs
Josh Boyer (1): HID: lenovo: Don't use stack variables for DMA buffers
Miklos Szeredi (11): vfs: rename: check backing inode being equal vfs: export lookup_hash() to modules ovl: ignore permissions on underlying lookup fs: add file_dentry() nfs: use file_dentry() ext4: use dget_parent() in ext4_file_open() ext4: use file_dentry() fs: add file_dentry() nfs: use file_dentry() ext4: use dget_parent() in ext4_file_open() ext4: use file_dentry()
Peter Zijlstra (1): locking/lockdep: Improve sensible check_no_collision() code
Sedat Dilek (8): Merge branch 'overlayfs-next' of git://git.kernel.org/.../mszeredi/vfs into for-4.6/ovl-fixes Merge branch 'dev' of git://git.kernel.org/.../tytso/ext4 into for-4.6/ext4-fixes Merge branch 'for-4.6/upstream-fixes' of git://git.kernel.org/.../jikos/hid into for-4.6/hid-fixes liblockdep: Fix unsupported 'basename -s' in run_tests.sh Merge branch 'for-4.6/ovl-fixes' into 4.6.0-rc1-7-iniza-small Merge branch 'for-4.6/hid-fixes' into 4.6.0-rc1-7-iniza-small Merge branch 'for-4.6/liblockdep-fixes' into 4.6.0-rc1-7-iniza-small Merge branch 'for-4.6/locking-lockdep-fixes' into 4.6.0-rc1-7-iniza-small
Theodore Ts'o (3): ext4: check if in-inode xattr is corrupted in ext4_expand_extra_isize_ea() ext4 crypto: don't let data integrity writebacks fail with ENOMEM ext4 crypto: use dget_parent() in ext4_d_revalidate()
drivers/hid/hid-lenovo.c | 16 +++++++-- drivers/hid/hid-wiimote-modules.c | 14 ++++---- drivers/hid/usbhid/hid-core.c | 73 ++++++++++++++++++++------------------- drivers/hid/wacom_wac.c | 11 ++++++ fs/btrfs/file.c | 2 +- fs/dcache.c | 5 ++- fs/ext4/crypto.c | 49 +++++++++++++++----------- fs/ext4/ext4.h | 6 ++-- fs/ext4/file.c | 12 ++++--- fs/ext4/page-io.c | 14 +++++++- fs/ext4/readpage.c | 2 +- fs/ext4/xattr.c | 32 ++++++++++++++--- fs/namei.c | 48 +++++++++++++++++++------ fs/nfs/dir.c | 6 ++-- fs/nfs/inode.c | 2 +- fs/nfs/nfs4file.c | 4 +-- fs/overlayfs/super.c | 35 ++++++++++++++++++- include/linux/dcache.h | 10 ++++++ include/linux/fs.h | 10 ++++++ include/linux/lockdep.h | 8 +++-- include/linux/namei.h | 2 ++ kernel/locking/lockdep.c | 30 ++++++++++++---- kernel/locking/lockdep_proc.c | 2 ++ tools/lib/lockdep/run_tests.sh | 12 ++++--- 24 files changed, 296 insertions(+), 109 deletions(-)
diff --git a/drivers/hid/hid-lenovo.c b/drivers/hid/hid-lenovo.c index 0125e356bd8d..1ac4ff4d57a6 100644 --- a/drivers/hid/hid-lenovo.c +++ b/drivers/hid/hid-lenovo.c @@ -184,21 +184,31 @@ static int lenovo_send_cmd_cptkbd(struct hid_device *hdev, unsigned char byte2, unsigned char byte3) { int ret; - unsigned char buf[] = {0x18, byte2, byte3}; + unsigned char *buf; + + buf = kzalloc(3, GFP_KERNEL); + if (!buf) + return -ENOMEM; + + buf[0] = 0x18; + buf[1] = byte2; + buf[2] = byte3; switch (hdev->product) { case USB_DEVICE_ID_LENOVO_CUSBKBD: - ret = hid_hw_raw_request(hdev, 0x13, buf, sizeof(buf), + ret = hid_hw_raw_request(hdev, 0x13, buf, 3, HID_FEATURE_REPORT, HID_REQ_SET_REPORT); break; case USB_DEVICE_ID_LENOVO_CBTKBD: - ret = hid_hw_output_report(hdev, buf, sizeof(buf)); + ret = hid_hw_output_report(hdev, buf, 3); break; default: ret = -EINVAL; break; } + kfree(buf); + return ret < 0 ? ret : 0; /* BT returns 0, USB returns sizeof(buf) */ } diff --git a/drivers/hid/hid-wiimote-modules.c b/drivers/hid/hid-wiimote-modules.c index 4390eee2ce84..c830ed39348f 100644 --- a/drivers/hid/hid-wiimote-modules.c +++ b/drivers/hid/hid-wiimote-modules.c @@ -2049,9 +2049,11 @@ static void wiimod_mp_in_mp(struct wiimote_data *wdata, const __u8 *ext) * -----+------------------------------+-----+-----+ * The single bits Yaw, Roll, Pitch in the lower right corner specify * whether the wiimote is rotating fast (0) or slow (1). Speed for slow - * roation is 440 deg/s and for fast rotation 2000 deg/s. To get a - * linear scale we multiply by 2000/440 = ~4.5454 which is 18 for fast - * and 9 for slow. + * roation is 8192/440 units / deg/s and for fast rotation 8192/2000 + * units / deg/s. To get a linear scale for fast rotation we multiply + * by 2000/440 = ~4.5454 and scale both fast and slow by 9 to match the + * previous scale reported by this driver. + * This leaves a linear scale with 8192*9/440 (~167.564) units / deg/s. * If the wiimote is not rotating the sensor reports 2^13 = 8192. * Ext specifies whether an extension is connected to the motionp. * which is parsed by wiimote-core. @@ -2070,15 +2072,15 @@ static void wiimod_mp_in_mp(struct wiimote_data *wdata, const __u8 *ext) z -= 8192; if (!(ext[3] & 0x02)) - x *= 18; + x = (x * 2000 * 9) / 440; else x *= 9; if (!(ext[4] & 0x02)) - y *= 18; + y = (y * 2000 * 9) / 440; else y *= 9; if (!(ext[3] & 0x01)) - z *= 18; + z = (z * 2000 * 9) / 440; else z *= 9; diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index ad71160b9ea4..ae83af649a60 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -951,14 +951,6 @@ static int usbhid_output_report(struct hid_device *hid, __u8 *buf, size_t count) return ret; } -static void usbhid_restart_queues(struct usbhid_device *usbhid) -{ - if (usbhid->urbout && !test_bit(HID_OUT_RUNNING, &usbhid->iofl)) - usbhid_restart_out_queue(usbhid); - if (!test_bit(HID_CTRL_RUNNING, &usbhid->iofl)) - usbhid_restart_ctrl_queue(usbhid); -} - static void hid_free_buffers(struct usb_device *dev, struct hid_device *hid) { struct usbhid_device *usbhid = hid->driver_data; @@ -1404,6 +1396,37 @@ static void hid_cease_io(struct usbhid_device *usbhid) usb_kill_urb(usbhid->urbout); } +static void hid_restart_io(struct hid_device *hid) +{ + struct usbhid_device *usbhid = hid->driver_data; + int clear_halt = test_bit(HID_CLEAR_HALT, &usbhid->iofl); + int reset_pending = test_bit(HID_RESET_PENDING, &usbhid->iofl); + + spin_lock_irq(&usbhid->lock); + clear_bit(HID_SUSPENDED, &usbhid->iofl); + usbhid_mark_busy(usbhid); + + if (clear_halt || reset_pending) + schedule_work(&usbhid->reset_work); + usbhid->retry_delay = 0; + spin_unlock_irq(&usbhid->lock); + + if (reset_pending || !test_bit(HID_STARTED, &usbhid->iofl)) + return; + + if (!clear_halt) { + if (hid_start_in(hid) < 0) + hid_io_error(hid); + } + + spin_lock_irq(&usbhid->lock); + if (usbhid->urbout && !test_bit(HID_OUT_RUNNING, &usbhid->iofl)) + usbhid_restart_out_queue(usbhid); + if (!test_bit(HID_CTRL_RUNNING, &usbhid->iofl)) + usbhid_restart_ctrl_queue(usbhid); + spin_unlock_irq(&usbhid->lock); +} + /* Treat USB reset pretty much the same as suspend/resume */ static int hid_pre_reset(struct usb_interface *intf) { @@ -1453,14 +1476,14 @@ static int hid_post_reset(struct usb_interface *intf) return 1; } + /* No need to do another reset or clear a halted endpoint */ spin_lock_irq(&usbhid->lock); clear_bit(HID_RESET_PENDING, &usbhid->iofl); + clear_bit(HID_CLEAR_HALT, &usbhid->iofl); spin_unlock_irq(&usbhid->lock); hid_set_idle(dev, intf->cur_altsetting->desc.bInterfaceNumber, 0, 0); - status = hid_start_in(hid); - if (status < 0) - hid_io_error(hid); - usbhid_restart_queues(usbhid); + + hid_restart_io(hid); return 0; } @@ -1483,25 +1506,9 @@ void usbhid_put_power(struct hid_device *hid) #ifdef CONFIG_PM static int hid_resume_common(struct hid_device *hid, bool driver_suspended) { - struct usbhid_device *usbhid = hid->driver_data; - int status; - - spin_lock_irq(&usbhid->lock); - clear_bit(HID_SUSPENDED, &usbhid->iofl); - usbhid_mark_busy(usbhid); - - if (test_bit(HID_CLEAR_HALT, &usbhid->iofl) || - test_bit(HID_RESET_PENDING, &usbhid->iofl)) - schedule_work(&usbhid->reset_work); - usbhid->retry_delay = 0; - - usbhid_restart_queues(usbhid); - spin_unlock_irq(&usbhid->lock); - - status = hid_start_in(hid); - if (status < 0) - hid_io_error(hid); + int status = 0; + hid_restart_io(hid); if (driver_suspended && hid->driver && hid->driver->resume) status = hid->driver->resume(hid); return status; @@ -1570,12 +1577,8 @@ static int hid_suspend(struct usb_interface *intf, pm_message_t message) static int hid_resume(struct usb_interface *intf) { struct hid_device *hid = usb_get_intfdata (intf); - struct usbhid_device *usbhid = hid->driver_data; int status; - if (!test_bit(HID_STARTED, &usbhid->iofl)) - return 0; - status = hid_resume_common(hid, true); dev_dbg(&intf->dev, "resume status %d\n", status); return 0; @@ -1584,10 +1587,8 @@ static int hid_resume(struct usb_interface *intf) static int hid_reset_resume(struct usb_interface *intf) { struct hid_device *hid = usb_get_intfdata(intf); - struct usbhid_device *usbhid = hid->driver_data; int status; - clear_bit(HID_SUSPENDED, &usbhid->iofl); status = hid_post_reset(intf); if (status >= 0 && hid->driver && hid->driver->reset_resume) { int ret = hid->driver->reset_resume(hid); diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c index bd198bbd4df0..02c4efea241c 100644 --- a/drivers/hid/wacom_wac.c +++ b/drivers/hid/wacom_wac.c @@ -2426,6 +2426,17 @@ void wacom_setup_device_quirks(struct wacom *wacom) } /* + * Hack for the Bamboo One: + * the device presents a PAD/Touch interface as most Bamboos and even + * sends ghosts PAD data on it. However, later, we must disable this + * ghost interface, and we can not detect it unless we set it here + * to WACOM_DEVICETYPE_PAD or WACOM_DEVICETYPE_TOUCH. + */ + if (features->type == BAMBOO_PEN && + features->pktlen == WACOM_PKGLEN_BBTOUCH3) + features->device_type |= WACOM_DEVICETYPE_PAD; + + /* * Raw Wacom-mode pen and touch events both come from interface * 0, whose HID descriptor has an application usage of 0xFF0D * (i.e., WACOM_VENDORDEFINED_PEN). We route pen packets back diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 15a09cb156ce..2f40482347af 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -1905,7 +1905,7 @@ static int start_ordered_ops(struct inode *inode, loff_t start, loff_t end) */ int btrfs_sync_file(struct file *file, loff_t start, loff_t end, int datasync) { - struct dentry *dentry = file->f_path.dentry; + struct dentry *dentry = file_dentry(file); struct inode *inode = d_inode(dentry); struct btrfs_root *root = BTRFS_I(inode)->root; struct btrfs_trans_handle *trans; diff --git a/fs/dcache.c b/fs/dcache.c index 32ceae3e6112..d5ecc6e477da 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -1667,7 +1667,8 @@ void d_set_d_op(struct dentry *dentry, const struct dentry_operations *op) DCACHE_OP_REVALIDATE | DCACHE_OP_WEAK_REVALIDATE | DCACHE_OP_DELETE | - DCACHE_OP_SELECT_INODE)); + DCACHE_OP_SELECT_INODE | + DCACHE_OP_REAL)); dentry->d_op = op; if (!op) return; @@ -1685,6 +1686,8 @@ void d_set_d_op(struct dentry *dentry, const struct dentry_operations *op) dentry->d_flags |= DCACHE_OP_PRUNE; if (op->d_select_inode) dentry->d_flags |= DCACHE_OP_SELECT_INODE; + if (op->d_real) + dentry->d_flags |= DCACHE_OP_REAL; } EXPORT_SYMBOL(d_set_d_op); diff --git a/fs/ext4/crypto.c b/fs/ext4/crypto.c index edc053a81914..ea69ce4f6d8f 100644 --- a/fs/ext4/crypto.c +++ b/fs/ext4/crypto.c @@ -91,7 +91,8 @@ void ext4_release_crypto_ctx(struct ext4_crypto_ctx *ctx) * Return: An allocated and initialized encryption context on success; error * value or NULL otherwise. */ -struct ext4_crypto_ctx *ext4_get_crypto_ctx(struct inode *inode) +struct ext4_crypto_ctx *ext4_get_crypto_ctx(struct inode *inode, + gfp_t gfp_flags) { struct ext4_crypto_ctx *ctx = NULL; int res = 0; @@ -118,7 +119,7 @@ struct ext4_crypto_ctx *ext4_get_crypto_ctx(struct inode *inode) list_del(&ctx->free_list); spin_unlock_irqrestore(&ext4_crypto_ctx_lock, flags); if (!ctx) { - ctx = kmem_cache_zalloc(ext4_crypto_ctx_cachep, GFP_NOFS); + ctx = kmem_cache_zalloc(ext4_crypto_ctx_cachep, gfp_flags); if (!ctx) { res = -ENOMEM; goto out; @@ -255,7 +256,8 @@ static int ext4_page_crypto(struct inode *inode, ext4_direction_t rw, pgoff_t index, struct page *src_page, - struct page *dest_page) + struct page *dest_page, + gfp_t gfp_flags) { u8 xts_tweak[EXT4_XTS_TWEAK_SIZE]; @@ -266,7 +268,7 @@ static int ext4_page_crypto(struct inode *inode, struct crypto_skcipher *tfm = ci->ci_ctfm; int res = 0; - req = skcipher_request_alloc(tfm, GFP_NOFS); + req = skcipher_request_alloc(tfm, gfp_flags); if (!req) { printk_ratelimited(KERN_ERR "%s: crypto_request_alloc() failed\n", @@ -307,9 +309,10 @@ static int ext4_page_crypto(struct inode *inode, return 0; } -static struct page *alloc_bounce_page(struct ext4_crypto_ctx *ctx) +static struct page *alloc_bounce_page(struct ext4_crypto_ctx *ctx, + gfp_t gfp_flags) { - ctx->w.bounce_page = mempool_alloc(ext4_bounce_page_pool, GFP_NOWAIT); + ctx->w.bounce_page = mempool_alloc(ext4_bounce_page_pool, gfp_flags); if (ctx->w.bounce_page == NULL) return ERR_PTR(-ENOMEM); ctx->flags |= EXT4_WRITE_PATH_FL; @@ -332,7 +335,8 @@ static struct page *alloc_bounce_page(struct ext4_crypto_ctx *ctx) * error value or NULL. */ struct page *ext4_encrypt(struct inode *inode, - struct page *plaintext_page) + struct page *plaintext_page, + gfp_t gfp_flags) { struct ext4_crypto_ctx *ctx; struct page *ciphertext_page = NULL; @@ -340,17 +344,17 @@ struct page *ext4_encrypt(struct inode *inode, BUG_ON(!PageLocked(plaintext_page)); - ctx = ext4_get_crypto_ctx(inode); + ctx = ext4_get_crypto_ctx(inode, gfp_flags); if (IS_ERR(ctx)) return (struct page *) ctx; /* The encryption operation will require a bounce page. */ - ciphertext_page = alloc_bounce_page(ctx); + ciphertext_page = alloc_bounce_page(ctx, gfp_flags); if (IS_ERR(ciphertext_page)) goto errout; ctx->w.control_page = plaintext_page; err = ext4_page_crypto(inode, EXT4_ENCRYPT, plaintext_page->index, - plaintext_page, ciphertext_page); + plaintext_page, ciphertext_page, gfp_flags); if (err) { ciphertext_page = ERR_PTR(err); errout: @@ -378,8 +382,8 @@ int ext4_decrypt(struct page *page) { BUG_ON(!PageLocked(page)); - return ext4_page_crypto(page->mapping->host, - EXT4_DECRYPT, page->index, page, page); + return ext4_page_crypto(page->mapping->host, EXT4_DECRYPT, + page->index, page, page, GFP_NOFS); } int ext4_encrypted_zeroout(struct inode *inode, ext4_lblk_t lblk, @@ -398,11 +402,11 @@ int ext4_encrypted_zeroout(struct inode *inode, ext4_lblk_t lblk, BUG_ON(inode->i_sb->s_blocksize != PAGE_CACHE_SIZE); - ctx = ext4_get_crypto_ctx(inode); + ctx = ext4_get_crypto_ctx(inode, GFP_NOFS); if (IS_ERR(ctx)) return PTR_ERR(ctx); - ciphertext_page = alloc_bounce_page(ctx); + ciphertext_page = alloc_bounce_page(ctx, GFP_NOWAIT); if (IS_ERR(ciphertext_page)) { err = PTR_ERR(ciphertext_page); goto errout; @@ -410,11 +414,12 @@ int ext4_encrypted_zeroout(struct inode *inode, ext4_lblk_t lblk, while (len--) { err = ext4_page_crypto(inode, EXT4_ENCRYPT, lblk, - ZERO_PAGE(0), ciphertext_page); + ZERO_PAGE(0), ciphertext_page, + GFP_NOFS); if (err) goto errout; - bio = bio_alloc(GFP_KERNEL, 1); + bio = bio_alloc(GFP_NOWAIT, 1); if (!bio) { err = -ENOMEM; goto errout; @@ -473,13 +478,16 @@ uint32_t ext4_validate_encryption_key_size(uint32_t mode, uint32_t size) */ static int ext4_d_revalidate(struct dentry *dentry, unsigned int flags) { - struct inode *dir = d_inode(dentry->d_parent); - struct ext4_crypt_info *ci = EXT4_I(dir)->i_crypt_info; + struct dentry *dir; + struct ext4_crypt_info *ci; int dir_has_key, cached_with_key; - if (!ext4_encrypted_inode(dir)) + dir = dget_parent(dentry); + if (!ext4_encrypted_inode(d_inode(dir))) { + dput(dir); return 0; - + } + ci = EXT4_I(d_inode(dir))->i_crypt_info; if (ci && ci->ci_keyring_key && (ci->ci_keyring_key->flags & ((1 << KEY_FLAG_INVALIDATED) | (1 << KEY_FLAG_REVOKED) | @@ -489,6 +497,7 @@ static int ext4_d_revalidate(struct dentry *dentry, unsigned int flags) /* this should eventually be an flag in d_flags */ cached_with_key = dentry->d_fsdata != NULL; dir_has_key = (ci != NULL); + dput(dir); /* * If the dentry was cached without the key, and it is a diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index c04743519865..7e4e3e9b4494 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -2282,11 +2282,13 @@ extern struct kmem_cache *ext4_crypt_info_cachep; bool ext4_valid_contents_enc_mode(uint32_t mode); uint32_t ext4_validate_encryption_key_size(uint32_t mode, uint32_t size); extern struct workqueue_struct *ext4_read_workqueue; -struct ext4_crypto_ctx *ext4_get_crypto_ctx(struct inode *inode); +struct ext4_crypto_ctx *ext4_get_crypto_ctx(struct inode *inode, + gfp_t gfp_flags); void ext4_release_crypto_ctx(struct ext4_crypto_ctx *ctx); void ext4_restore_control_page(struct page *data_page); struct page *ext4_encrypt(struct inode *inode, - struct page *plaintext_page); + struct page *plaintext_page, + gfp_t gfp_flags); int ext4_decrypt(struct page *page); int ext4_encrypted_zeroout(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk, ext4_lblk_t len); diff --git a/fs/ext4/file.c b/fs/ext4/file.c index 6659e216385e..edba9fb9bb0d 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -329,7 +329,7 @@ static int ext4_file_open(struct inode * inode, struct file * filp) struct super_block *sb = inode->i_sb; struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); struct vfsmount *mnt = filp->f_path.mnt; - struct inode *dir = filp->f_path.dentry->d_parent->d_inode; + struct dentry *dir; struct path path; char buf[64], *cp; int ret; @@ -373,14 +373,18 @@ static int ext4_file_open(struct inode * inode, struct file * filp) if (ext4_encryption_info(inode) == NULL) return -ENOKEY; } - if (ext4_encrypted_inode(dir) && - !ext4_is_child_context_consistent_with_parent(dir, inode)) { + + dir = dget_parent(file_dentry(filp)); + if (ext4_encrypted_inode(d_inode(dir)) && + !ext4_is_child_context_consistent_with_parent(d_inode(dir), inode)) { ext4_warning(inode->i_sb, "Inconsistent encryption contexts: %lu/%lu\n", - (unsigned long) dir->i_ino, + (unsigned long) d_inode(dir)->i_ino, (unsigned long) inode->i_ino); + dput(dir); return -EPERM; } + dput(dir); /* * Set up the jbd2_inode if we are opening the inode for * writing and the journal is present diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c index d77d15f4b674..51b349211da7 100644 --- a/fs/ext4/page-io.c +++ b/fs/ext4/page-io.c @@ -23,6 +23,7 @@ #include <linux/kernel.h> #include <linux/slab.h> #include <linux/mm.h> +#include <linux/backing-dev.h> #include "ext4_jbd2.h" #include "xattr.h" @@ -470,9 +471,20 @@ int ext4_bio_write_page(struct ext4_io_submit *io, if (ext4_encrypted_inode(inode) && S_ISREG(inode->i_mode) && nr_to_submit) { - data_page = ext4_encrypt(inode, page); + gfp_t gfp_flags = GFP_NOFS; + + retry_encrypt: + data_page = ext4_encrypt(inode, page, gfp_flags); if (IS_ERR(data_page)) { ret = PTR_ERR(data_page); + if (ret == ENOMEM && wbc->sync_mode == WB_SYNC_ALL) { + if (io->io_bio) { + ext4_io_submit(io); + congestion_wait(BLK_RW_ASYNC, HZ/50); + } + gfp_flags |= __GFP_NOFAIL; + goto retry_encrypt; + } data_page = NULL; goto out; } diff --git a/fs/ext4/readpage.c b/fs/ext4/readpage.c index 5dc5e95063de..bc7642f57dc8 100644 --- a/fs/ext4/readpage.c +++ b/fs/ext4/readpage.c @@ -279,7 +279,7 @@ int ext4_mpage_readpages(struct address_space *mapping, if (ext4_encrypted_inode(inode) && S_ISREG(inode->i_mode)) { - ctx = ext4_get_crypto_ctx(inode); + ctx = ext4_get_crypto_ctx(inode, GFP_NOFS); if (IS_ERR(ctx)) goto set_error_page; } diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index 0441e055c8e8..e79bd32b9b79 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -230,6 +230,27 @@ ext4_xattr_check_block(struct inode *inode, struct buffer_head *bh) return error; } +static int +__xattr_check_inode(struct inode *inode, struct ext4_xattr_ibody_header *header, + void *end, const char *function, unsigned int line) +{ + struct ext4_xattr_entry *entry = IFIRST(header); + int error = -EFSCORRUPTED; + + if (((void *) header >= end) || + (header->h_magic != le32_to_cpu(EXT4_XATTR_MAGIC))) + goto errout; + error = ext4_xattr_check_names(entry, end, entry); +errout: + if (error) + __ext4_error_inode(inode, function, line, 0, + "corrupted in-inode xattr"); + return error; +} + +#define xattr_check_inode(inode, header, end) \ + __xattr_check_inode((inode), (header), (end), __func__, __LINE__) + static inline int ext4_xattr_check_entry(struct ext4_xattr_entry *entry, size_t size) { @@ -341,7 +362,7 @@ ext4_xattr_ibody_get(struct inode *inode, int name_index, const char *name, header = IHDR(inode, raw_inode); entry = IFIRST(header); end = (void *)raw_inode + EXT4_SB(inode->i_sb)->s_inode_size; - error = ext4_xattr_check_names(entry, end, entry); + error = xattr_check_inode(inode, header, end); if (error) goto cleanup; error = ext4_xattr_find_entry(&entry, name_index, name, @@ -477,7 +498,7 @@ ext4_xattr_ibody_list(struct dentry *dentry, char *buffer, size_t buffer_size) raw_inode = ext4_raw_inode(&iloc); header = IHDR(inode, raw_inode); end = (void *)raw_inode + EXT4_SB(inode->i_sb)->s_inode_size; - error = ext4_xattr_check_names(IFIRST(header), end, IFIRST(header)); + error = xattr_check_inode(inode, header, end); if (error) goto cleanup; error = ext4_xattr_list_entries(dentry, IFIRST(header), @@ -1040,8 +1061,7 @@ int ext4_xattr_ibody_find(struct inode *inode, struct ext4_xattr_info *i, is->s.here = is->s.first; is->s.end = (void *)raw_inode + EXT4_SB(inode->i_sb)->s_inode_size; if (ext4_test_inode_state(inode, EXT4_STATE_XATTR)) { - error = ext4_xattr_check_names(IFIRST(header), is->s.end, - IFIRST(header)); + error = xattr_check_inode(inode, header, is->s.end); if (error) return error; /* Find the named attribute. */ @@ -1356,6 +1376,10 @@ retry: last = entry; total_ino = sizeof(struct ext4_xattr_ibody_header); + error = xattr_check_inode(inode, header, end); + if (error) + goto cleanup; + free = ext4_xattr_free_space(last, &min_offs, base, &total_ino); if (free >= new_extra_isize) { entry = IFIRST(header); diff --git a/fs/namei.c b/fs/namei.c index 794f81dce766..1b8fea82a872 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -1492,8 +1492,24 @@ static struct dentry *lookup_real(struct inode *dir, struct dentry *dentry, return dentry; } -static struct dentry *__lookup_hash(const struct qstr *name, - struct dentry *base, unsigned int flags) +/** + * lookup_hash - lookup single pathname component on already hashed name + * @name: name and hash to lookup + * @base: base directory to lookup from + * @flags: lookup flags + * + * The name must have been verified and hashed (see lookup_one_len()). Using + * this after just full_name_hash() is unsafe. + * + * This function also doesn't check for search permission on base directory. + * + * Use lookup_one_len() or lookup_one_len_unlocked() instead, unless you really + * know what you are doing. + * + * The caller must hold base->i_mutex. + */ +struct dentry *lookup_hash(const struct qstr *name, + struct dentry *base, unsigned int flags) { struct dentry *dentry = lookup_dcache(name, base, flags); @@ -1506,6 +1522,7 @@ static struct dentry *__lookup_hash(const struct qstr *name, return lookup_real(base->d_inode, dentry, flags); } +EXPORT_SYMBOL(lookup_hash); static int lookup_fast(struct nameidata *nd, struct path *path, struct inode **inode, @@ -2229,7 +2246,7 @@ struct dentry *kern_path_locked(const char *name, struct path *path) return ERR_PTR(-EINVAL); } inode_lock_nested(path->dentry->d_inode, I_MUTEX_PARENT); - d = __lookup_hash(&last, path->dentry, 0); + d = lookup_hash(&last, path->dentry, 0); if (IS_ERR(d)) { inode_unlock(path->dentry->d_inode); path_put(path); @@ -2313,7 +2330,7 @@ struct dentry *lookup_one_len(const char *name, struct dentry *base, int len) if (err) return ERR_PTR(err); - return __lookup_hash(&this, base, 0); + return lookup_hash(&this, base, 0); } EXPORT_SYMBOL(lookup_one_len); @@ -3476,7 +3493,7 @@ static struct dentry *filename_create(int dfd, struct filename *name, */ lookup_flags |= LOOKUP_CREATE | LOOKUP_EXCL; inode_lock_nested(path->dentry->d_inode, I_MUTEX_PARENT); - dentry = __lookup_hash(&last, path->dentry, lookup_flags); + dentry = lookup_hash(&last, path->dentry, lookup_flags); if (IS_ERR(dentry)) goto unlock; @@ -3756,7 +3773,7 @@ retry: goto exit1; inode_lock_nested(path.dentry->d_inode, I_MUTEX_PARENT); - dentry = __lookup_hash(&last, path.dentry, lookup_flags); + dentry = lookup_hash(&last, path.dentry, lookup_flags); error = PTR_ERR(dentry); if (IS_ERR(dentry)) goto exit2; @@ -3878,7 +3895,7 @@ retry: goto exit1; retry_deleg: inode_lock_nested(path.dentry->d_inode, I_MUTEX_PARENT); - dentry = __lookup_hash(&last, path.dentry, lookup_flags); + dentry = lookup_hash(&last, path.dentry, lookup_flags); error = PTR_ERR(dentry); if (!IS_ERR(dentry)) { /* Why not before? Because we want correct error value */ @@ -4150,6 +4167,17 @@ SYSCALL_DEFINE2(link, const char __user *, oldname, const char __user *, newname return sys_linkat(AT_FDCWD, oldname, AT_FDCWD, newname, 0); } +static struct inode *backing_inode(struct dentry *dentry) +{ + struct inode *inode = d_inode(dentry); + + if (inode && dentry->d_flags & DCACHE_OP_SELECT_INODE) { + inode = dentry->d_op->d_select_inode(dentry, 0); + WARN_ON(IS_ERR(inode)); + } + return inode; +} + /** * vfs_rename - rename a filesystem object * @old_dir: parent of source @@ -4211,7 +4239,7 @@ int vfs_rename(struct inode *old_dir, struct dentry *old_dentry, bool new_is_dir = false; unsigned max_links = new_dir->i_sb->s_max_links; - if (source == target) + if (backing_inode(old_dentry) == backing_inode(new_dentry)) return 0; error = may_delete(old_dir, old_dentry, is_dir); @@ -4396,7 +4424,7 @@ retry: retry_deleg: trap = lock_rename(new_path.dentry, old_path.dentry); - old_dentry = __lookup_hash(&old_last, old_path.dentry, lookup_flags); + old_dentry = lookup_hash(&old_last, old_path.dentry, lookup_flags); error = PTR_ERR(old_dentry); if (IS_ERR(old_dentry)) goto exit3; @@ -4404,7 +4432,7 @@ retry_deleg: error = -ENOENT; if (d_is_negative(old_dentry)) goto exit4; - new_dentry = __lookup_hash(&new_last, new_path.dentry, lookup_flags | target_flags); + new_dentry = lookup_hash(&new_last, new_path.dentry, lookup_flags | target_flags); error = PTR_ERR(new_dentry); if (IS_ERR(new_dentry)) goto exit4; diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 4bfa7d8bcade..a89d32a38e88 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -377,7 +377,7 @@ int nfs_readdir_xdr_filler(struct page **pages, nfs_readdir_descriptor_t *desc, again: timestamp = jiffies; gencount = nfs_inc_attr_generation_counter(); - error = NFS_PROTO(inode)->readdir(file->f_path.dentry, cred, entry->cookie, pages, + error = NFS_PROTO(inode)->readdir(file_dentry(file), cred, entry->cookie, pages, NFS_SERVER(inode)->dtsize, desc->plus); if (error < 0) { /* We requested READDIRPLUS, but the server doesn't grok it */ @@ -560,7 +560,7 @@ int nfs_readdir_page_filler(nfs_readdir_descriptor_t *desc, struct nfs_entry *en count++; if (desc->plus != 0) - nfs_prime_dcache(desc->file->f_path.dentry, entry); + nfs_prime_dcache(file_dentry(desc->file), entry); status = nfs_readdir_add_to_array(entry, page); if (status != 0) @@ -864,7 +864,7 @@ static bool nfs_dir_mapping_need_revalidate(struct inode *dir) */ static int nfs_readdir(struct file *file, struct dir_context *ctx) { - struct dentry *dentry = file->f_path.dentry; + struct dentry *dentry = file_dentry(file); struct inode *inode = d_inode(dentry); nfs_readdir_descriptor_t my_desc, *desc = &my_desc; diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 33d18c411905..738c84a42eb0 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -940,7 +940,7 @@ int nfs_open(struct inode *inode, struct file *filp) { struct nfs_open_context *ctx; - ctx = alloc_nfs_open_context(filp->f_path.dentry, filp->f_mode); + ctx = alloc_nfs_open_context(file_dentry(filp), filp->f_mode); if (IS_ERR(ctx)) return PTR_ERR(ctx); nfs_file_set_open_context(filp, ctx); diff --git a/fs/nfs/nfs4file.c b/fs/nfs/nfs4file.c index 22c35abbee9d..d0390516467c 100644 --- a/fs/nfs/nfs4file.c +++ b/fs/nfs/nfs4file.c @@ -26,7 +26,7 @@ static int nfs4_file_open(struct inode *inode, struct file *filp) { struct nfs_open_context *ctx; - struct dentry *dentry = filp->f_path.dentry; + struct dentry *dentry = file_dentry(filp); struct dentry *parent = NULL; struct inode *dir; unsigned openflags = filp->f_flags; @@ -57,7 +57,7 @@ nfs4_file_open(struct inode *inode, struct file *filp) parent = dget_parent(dentry); dir = d_inode(parent); - ctx = alloc_nfs_open_context(filp->f_path.dentry, filp->f_mode); + ctx = alloc_nfs_open_context(file_dentry(filp), filp->f_mode); err = PTR_ERR(ctx); if (IS_ERR(ctx)) goto out; diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c index ef64984c9bbc..42c74bb52443 100644 --- a/fs/overlayfs/super.c +++ b/fs/overlayfs/super.c @@ -295,6 +295,37 @@ static void ovl_dentry_release(struct dentry *dentry) } } +static struct dentry *ovl_d_real(struct dentry *dentry, struct inode *inode) +{ + struct dentry *real; + + if (d_is_dir(dentry)) { + if (!inode || inode == d_inode(dentry)) + return dentry; + goto bug; + } + + real = ovl_dentry_upper(dentry); + if (real && (!inode || inode == d_inode(real))) + return real; + + real = ovl_dentry_lower(dentry); + if (!real) + goto bug; + + if (!inode || inode == d_inode(real)) + return real; + + /* Handle recursion */ + if (real->d_flags & DCACHE_OP_REAL) + return real->d_op->d_real(real, inode); + +bug: + WARN(1, "ovl_d_real(%pd4, %s:%lu\n): real dentry not found\n", dentry, + inode ? inode->i_sb->s_id : "NULL", inode ? inode->i_ino : 0); + return dentry; +} + static int ovl_dentry_revalidate(struct dentry *dentry, unsigned int flags) { struct ovl_entry *oe = dentry->d_fsdata; @@ -339,11 +370,13 @@ static int ovl_dentry_weak_revalidate(struct dentry *dentry, unsigned int flags) static const struct dentry_operations ovl_dentry_operations = { .d_release = ovl_dentry_release, .d_select_inode = ovl_d_select_inode, + .d_real = ovl_d_real, }; static const struct dentry_operations ovl_reval_dentry_operations = { .d_release = ovl_dentry_release, .d_select_inode = ovl_d_select_inode, + .d_real = ovl_d_real, .d_revalidate = ovl_dentry_revalidate, .d_weak_revalidate = ovl_dentry_weak_revalidate, }; @@ -379,7 +412,7 @@ static inline struct dentry *ovl_lookup_real(struct dentry *dir, struct dentry *dentry; inode_lock(dir->d_inode); - dentry = lookup_one_len(name->name, dir, name->len); + dentry = lookup_hash(name, dir, 0); inode_unlock(dir->d_inode); if (IS_ERR(dentry)) { diff --git a/include/linux/dcache.h b/include/linux/dcache.h index 7cb043d8f4e8..4bb4de8d95ea 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h @@ -161,6 +161,7 @@ struct dentry_operations { struct vfsmount *(*d_automount)(struct path *); int (*d_manage)(struct dentry *, bool); struct inode *(*d_select_inode)(struct dentry *, unsigned); + struct dentry *(*d_real)(struct dentry *, struct inode *); } ____cacheline_aligned; /* @@ -229,6 +230,7 @@ struct dentry_operations { #define DCACHE_OP_SELECT_INODE 0x02000000 /* Unioned entry: dcache op selects inode */ #define DCACHE_ENCRYPTED_WITH_KEY 0x04000000 /* dir is encrypted with a valid key */ +#define DCACHE_OP_REAL 0x08000000 extern seqlock_t rename_lock; @@ -555,4 +557,12 @@ static inline struct dentry *d_backing_dentry(struct dentry *upper) return upper; } +static inline struct dentry *d_real(struct dentry *dentry) +{ + if (unlikely(dentry->d_flags & DCACHE_OP_REAL)) + return dentry->d_op->d_real(dentry, NULL); + else + return dentry; +} + #endif /* __LINUX_DCACHE_H */ diff --git a/include/linux/fs.h b/include/linux/fs.h index 14a97194b34b..6920f87a363d 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1241,6 +1241,16 @@ static inline struct inode *file_inode(const struct file *f) return f->f_inode; } +static inline struct dentry *file_dentry(const struct file *file) +{ + struct dentry *dentry = file->f_path.dentry; + + if (unlikely(dentry->d_flags & DCACHE_OP_REAL)) + return dentry->d_op->d_real(dentry, file_inode(file)); + else + return dentry; +} + static inline int locks_lock_file_wait(struct file *filp, struct file_lock *fl) { return locks_lock_inode_wait(file_inode(filp), fl); diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index d026b190c530..d10ef06971b5 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h @@ -196,9 +196,11 @@ struct lock_list { * We record lock dependency chains, so that we can cache them: */ struct lock_chain { - u8 irq_context; - u8 depth; - u16 base; + /* see BUILD_BUG_ON()s in lookup_chain_cache() */ + unsigned int irq_context : 2, + depth : 6, + base : 24; + /* 4 byte hole */ struct hlist_node entry; u64 chain_key; }; diff --git a/include/linux/namei.h b/include/linux/namei.h index 77d01700daf7..d57a34baf862 100644 --- a/include/linux/namei.h +++ b/include/linux/namei.h @@ -79,6 +79,8 @@ extern int kern_path_mountpoint(int, const char *, struct path *, unsigned int); extern struct dentry *lookup_one_len(const char *, struct dentry *, int); extern struct dentry *lookup_one_len_unlocked(const char *, struct dentry *, int); +struct qstr; +extern struct dentry *lookup_hash(const struct qstr *, struct dentry *, unsigned int); extern int follow_down_one(struct path *); extern int follow_down(struct path *); diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c index 53ab2f85d77e..91a4b7780afb 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -2099,15 +2099,37 @@ cache_hit: chain->irq_context = hlock->irq_context; i = get_first_held_lock(curr, hlock); chain->depth = curr->lockdep_depth + 1 - i; + + BUILD_BUG_ON((1UL << 24) <= ARRAY_SIZE(chain_hlocks)); + BUILD_BUG_ON((1UL << 6) <= ARRAY_SIZE(curr->held_locks)); + BUILD_BUG_ON((1UL << 8*sizeof(chain_hlocks[0])) <= ARRAY_SIZE(lock_classes)); + if (likely(nr_chain_hlocks + chain->depth <= MAX_LOCKDEP_CHAIN_HLOCKS)) { chain->base = nr_chain_hlocks; - nr_chain_hlocks += chain->depth; for (j = 0; j < chain->depth - 1; j++, i++) { int lock_id = curr->held_locks[i].class_idx - 1; chain_hlocks[chain->base + j] = lock_id; } chain_hlocks[chain->base + j] = class - lock_classes; } + + if (nr_chain_hlocks < MAX_LOCKDEP_CHAIN_HLOCKS) + nr_chain_hlocks += chain->depth; + +#ifdef CONFIG_DEBUG_LOCKDEP + /* + * Important for check_no_collision(). + */ + if (unlikely(nr_chain_hlocks > MAX_LOCKDEP_CHAIN_HLOCKS)) { + if (debug_locks_off_graph_unlock()) + return 0; + + print_lockdep_off("BUG: MAX_LOCKDEP_CHAIN_HLOCKS too low!"); + dump_stack(); + return 0; + } +#endif + hlist_add_head_rcu(&chain->entry, hash_head); debug_atomic_inc(chain_lookup_misses); inc_chains(); @@ -2860,11 +2882,6 @@ static int separate_irq_context(struct task_struct *curr, { unsigned int depth = curr->lockdep_depth; - /* - * Keep track of points where we cross into an interrupt context: - */ - hlock->irq_context = 2*(curr->hardirq_context ? 1 : 0) + - curr->softirq_context; if (depth) { struct held_lock *prev_hlock; @@ -3164,6 +3181,7 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass, hlock->acquire_ip = ip; hlock->instance = lock; hlock->nest_lock = nest_lock; + hlock->irq_context = 2*(!!curr->hardirq_context) + !!curr->softirq_context; hlock->trylock = trylock; hlock->read = read; hlock->check = check; diff --git a/kernel/locking/lockdep_proc.c b/kernel/locking/lockdep_proc.c index dbb61a302548..a0f61effad25 100644 --- a/kernel/locking/lockdep_proc.c +++ b/kernel/locking/lockdep_proc.c @@ -141,6 +141,8 @@ static int lc_show(struct seq_file *m, void *v) int i; if (v == SEQ_START_TOKEN) { + if (nr_chain_hlocks > MAX_LOCKDEP_CHAIN_HLOCKS) + seq_printf(m, "(buggered) "); seq_printf(m, "all lock chains:\n"); return 0; } diff --git a/tools/lib/lockdep/run_tests.sh b/tools/lib/lockdep/run_tests.sh index 5334ad9d39b7..1069d96248c1 100755 --- a/tools/lib/lockdep/run_tests.sh +++ b/tools/lib/lockdep/run_tests.sh @@ -3,7 +3,7 @@ make &> /dev/null for i in `ls tests/*.c`; do - testname=$(basename -s .c "$i") + testname=$(basename "$i" .c) gcc -o tests/$testname -pthread -lpthread $i liblockdep.a -Iinclude -D__USE_LIBLOCKDEP &> /dev/null echo -ne "$testname... " if [ $(timeout 1 ./tests/$testname | wc -l) -gt 0 ]; then @@ -11,11 +11,13 @@ for i in `ls tests/*.c`; do else echo "FAILED!" fi - rm tests/$testname + if [ -f "tests/$testname" ]; then + rm tests/$testname + fi done for i in `ls tests/*.c`; do - testname=$(basename -s .c "$i") + testname=$(basename "$i" .c) gcc -o tests/$testname -pthread -lpthread -Iinclude $i &> /dev/null echo -ne "(PRELOAD) $testname... " if [ $(timeout 1 ./lockdep ./tests/$testname | wc -l) -gt 0 ]; then @@ -23,5 +25,7 @@ for i in `ls tests/*.c`; do else echo "FAILED!" fi - rm tests/$testname + if [ -f "tests/$testname" ]; then + rm tests/$testname + fi done | |