diff mbox

ACPI / video: Fix circular lock dependency issue in the video-detect code

Message ID CA+icZUUz1ExQHWo1OhVJSZdLf6mopu4hWURcSd4tGtuyCj4TSQ@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sedat Dilek Aug. 13, 2015, 8:39 p.m. UTC
On Thu, Aug 13, 2015 at 6:53 PM, Hans de Goede <hdegoede@redhat.com> wrote:
> Before this commit, the following would happen:
>
> a) acpi_video_get_backlight_type() gets called
> b) acpi_video_get_backlight_type() calls acpi_video_init_backlight_type()
> c) acpi_video_init_backlight_type() locks its function static init_mutex
> d) acpi_video_init_backlight_type() calls backlight_register_notifier()
> e) backlight_register_notifier() takes its notifier-chain lock
>
> And when the backlight notifier chain gets called we've:
>
> 1) blocking_notifier_call_chain() gets called
> 2) blocking_notifier_call_chain() takes the notifier-chain lock
> 3) blocking_notifier_call_chain() calls acpi_video_backlight_notify()
> 4) acpi_video_backlight_notify() calls acpi_video_get_backlight_type()
> 5) acpi_video_get_backlight_type() calls acpi_video_init_backlight_type()
> 6) acpi_video_init_backlight_type() locks its function static init_mutex
>
> So in the first call sequence we have:
>
> a) init_mutex gets locked
> b) notifier-chain gets locked
>
> and in the second call sequence we have:
>
> 1) notifier-chain gets locked
> 2) init_mutex gets locked
>
> And we've a circular locking dependency. This specific locking dependency
> is fixable without using the big hammer otherwise known as a workqueue,
> but further analysis shows a similar problem with the backlight notifier
> chain lock vs register_count_mutex from drivers/acpi/acpi_video.c,
> and fixing that becomes problematic.
>
> So this commit simply fixes this with the big hammer, performance
> wise this is a non issue as we expect the work to get scheduled
> exactly zero or one times during normal system use.
>

This patch on top of Linux v4.2-rc6 fixes the issue for me.

Feel free to add my...

   Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
   Tested-by: Sedat Dilek <sedat.dilek@gmail.com>

- Sedat -

> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>  drivers/acpi/video_detect.c | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
> index 815f75e..2922f1f 100644
> --- a/drivers/acpi/video_detect.c
> +++ b/drivers/acpi/video_detect.c
> @@ -32,6 +32,7 @@
>  #include <linux/module.h>
>  #include <linux/pci.h>
>  #include <linux/types.h>
> +#include <linux/workqueue.h>
>  #include <acpi/video.h>
>
>  ACPI_MODULE_NAME("video");
> @@ -41,6 +42,7 @@ void acpi_video_unregister_backlight(void);
>
>  static bool backlight_notifier_registered;
>  static struct notifier_block backlight_nb;
> +static struct work_struct backlight_notify_work;
>
>  static enum acpi_backlight_type acpi_backlight_cmdline = acpi_backlight_undef;
>  static enum acpi_backlight_type acpi_backlight_dmi = acpi_backlight_undef;
> @@ -262,6 +264,13 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
>         { },
>  };
>
> +/* This uses a workqueue to avoid various locking ordering issues */
> +static void acpi_video_backlight_notify_work(struct work_struct *work)
> +{
> +       if (acpi_video_get_backlight_type() != acpi_backlight_video)
> +               acpi_video_unregister_backlight();
> +}
> +
>  static int acpi_video_backlight_notify(struct notifier_block *nb,
>                                        unsigned long val, void *bd)
>  {
> @@ -269,9 +278,8 @@ static int acpi_video_backlight_notify(struct notifier_block *nb,
>
>         /* A raw bl registering may change video -> native */
>         if (backlight->props.type == BACKLIGHT_RAW &&
> -           val == BACKLIGHT_REGISTERED &&
> -           acpi_video_get_backlight_type() != acpi_backlight_video)
> -               acpi_video_unregister_backlight();
> +           val == BACKLIGHT_REGISTERED)
> +               schedule_work(&backlight_notify_work);
>
>         return NOTIFY_OK;
>  }
> @@ -304,6 +312,8 @@ enum acpi_backlight_type acpi_video_get_backlight_type(void)
>                 acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
>                                     ACPI_UINT32_MAX, find_video, NULL,
>                                     &video_caps, NULL);
> +               INIT_WORK(&backlight_notify_work,
> +                         acpi_video_backlight_notify_work);
>                 backlight_nb.notifier_call = acpi_video_backlight_notify;
>                 backlight_nb.priority = 0;
>                 if (backlight_register_notifier(&backlight_nb) == 0)
> --
> 2.4.3
>
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.2.0-rc6-2-iniza-small (sedat.dilek@gmail.com@fambox) (gcc version 4.9.2 (Ubuntu 4.9.2-0ubuntu1~12.04) ) #1 SMP Thu Aug 13 22:28:39 CEST 2015
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.2.0-rc6-2-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]: 0240, xstate_sizes[2]: 0100
[    0.000000] x86/fpu: Supporting XSAVE feature 0x01: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x02: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x04: 'AVX registers'
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 0x340 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] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000]  [mem 0x00000000-0x000fffff] page 4k
[    0.000000] BRK [0x02ccd000, 0x02ccdfff] PGTABLE
[    0.000000] BRK [0x02cce000, 0x02ccefff] PGTABLE
[    0.000000] BRK [0x02ccf000, 0x02ccffff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0x11fc00000-0x11fdfffff]
[    0.000000]  [mem 0x11fc00000-0x11fdfffff] page 2M
[    0.000000] BRK [0x02cd0000, 0x02cd0fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0x100000000-0x11fbfffff]
[    0.000000]  [mem 0x100000000-0x11fbfffff] page 2M
[    0.000000] init_memory_mapping: [mem 0xc0000000-0xd9c9efff]
[    0.000000]  [mem 0xc0000000-0xd9bfffff] page 2M
[    0.000000]  [mem 0xd9c00000-0xd9c9efff] page 4k
[    0.000000] BRK [0x02cd1000, 0x02cd1fff] PGTABLE
[    0.000000] BRK [0x02cd2000, 0x02cd2fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0xdafff000-0xdaffffff]
[    0.000000]  [mem 0xdafff000-0xdaffffff] page 4k
[    0.000000] init_memory_mapping: [mem 0x00100000-0x1fffffff]
[    0.000000]  [mem 0x00100000-0x001fffff] page 4k
[    0.000000]  [mem 0x00200000-0x1fffffff] page 2M
[    0.000000] init_memory_mapping: [mem 0x20200000-0x3fffffff]
[    0.000000]  [mem 0x20200000-0x3fffffff] page 2M
[    0.000000] init_memory_mapping: [mem 0x40200000-0xbfffffff]
[    0.000000]  [mem 0x40200000-0xbfffffff] page 2M
[    0.000000] RAMDISK: [mem 0x378f8000-0x37c73fff]
[    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]  [ffffea0000000000-ffffea00047fffff] PMD -> [ffff88011b400000-ffff88011f3fffff] on node 0
[    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 s100680 r8192 d30392 u262144
[    0.000000] pcpu-alloc: s100680 r8192 d30392 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.2.0-rc6-2-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: 3918756K/4086000K available (8058K kernel code, 1369K rwdata, 3456K rodata, 1428K init, 14368K bss, 167244K 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] 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.485 MHz processor
[    0.000077] Calibrating delay loop (skipped), value calculated using timer frequency.. 3192.97 BogoMIPS (lpj=6385940)
[    0.000090] pid_max: default: 32768 minimum: 301
[    0.000115] ACPI: Core revision 20150619
[    0.018898] ACPI: All ACPI Tables successfully acquired
[    0.019013] Security Framework initialized
[    0.019026] AppArmor: AppArmor initialized
[    0.019031] Yama: becoming mindful.
[    0.019972] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.021303] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.021783] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
[    0.021805] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes)
[    0.022992] Initializing cgroup subsys blkio
[    0.023028] Initializing cgroup subsys memory
[    0.023054] Initializing cgroup subsys devices
[    0.023088] Initializing cgroup subsys freezer
[    0.023121] Initializing cgroup subsys perf_event
[    0.023133] Initializing cgroup subsys hugetlb
[    0.023182] Disabled fast string operations
[    0.023189] CPU: Physical Processor ID: 0
[    0.023194] CPU: Processor Core ID: 0
[    0.023203] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[    0.023209] ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
[    0.023217] mce: CPU supports 7 MCE banks
[    0.023236] CPU0: Thermal monitoring enabled (TM1)
[    0.023258] process: using mwait in idle threads
[    0.023265] Last level iTLB entries: 4KB 512, 2MB 8, 4MB 8
[    0.023272] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32, 1GB 0
[    0.023502] Freeing SMP alternatives memory: 24K (ffffffff81ebd000 - ffffffff81ec3000)
[    0.038334] ftrace: allocating 29005 entries in 114 pages
[    0.054607] x2apic: IRQ remapping doesn't support X2APIC mode
[    0.055246] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.094918] TSC deadline timer enabled
[    0.094923] smpboot: CPU0: Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz (fam: 06, model: 2a, stepping: 07)
[    0.094977] Performance Events: PEBS fmt1+, 16-deep LBR, SandyBridge events, full-width counters, Intel PMU driver.
[    0.095021] ... version:                3
[    0.095026] ... bit width:              48
[    0.095031] ... generic registers:      4
[    0.095036] ... value mask:             0000ffffffffffff
[    0.095042] ... max period:             0000ffffffffffff
[    0.095047] ... fixed-purpose events:   3
[    0.095052] ... event mask:             000000070000000f
[    0.097052] x86: Booting SMP configuration:
[    0.097060] .... node  #0, CPUs:      #1
[    0.098096] Disabled fast string operations
[    0.100713] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[    0.101247]  #2
[    0.102275] Disabled fast string operations
[    0.104870]  #3<6>[    0.105904] Disabled fast string operations
[    0.108069] x86: Booted up 1 node, 4 CPUs
[    0.108083] smpboot: Total of 4 processors activated (12771.88 BogoMIPS)
[    0.113018] devtmpfs: initialized
[    0.118898] evm: security.selinux
[    0.118904] evm: security.SMACK64
[    0.118909] evm: security.capability
[    0.119082] PM: Registering ACPI NVS region [mem 0xdae7f000-0xdaf9efff] (1179648 bytes)
[    0.119436] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.121024] NET: Registered protocol family 16
[    0.132036] cpuidle: using governor ladder
[    0.143910] cpuidle: using governor menu
[    0.144125] ACPI: bus type PCI registered
[    0.144430] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
[    0.144442] PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in E820
[    0.144456] PCI: Using configuration type 1 for base access
[    0.145104] perf_event_intel: PMU erratum BJ122, BV98, HSD29 worked around, HT is on
[    0.161531] ACPI: Added _OSI(Module Device)
[    0.161539] ACPI: Added _OSI(Processor Device)
[    0.161545] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.161551] ACPI: Added _OSI(Processor Aggregator Device)
[    0.173680] ACPI: Executed 1 blocks of module-level executable AML code
[    0.182294] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    0.184132] ACPI: Dynamic OEM Table Load:
[    0.184161] ACPI: SSDT 0xFFFF88011A4B7000 000688 (v01 PmRef  Cpu0Cst  00003001 INTL 20061109)
[    0.186335] ACPI: Dynamic OEM Table Load:
[    0.186361] ACPI: SSDT 0xFFFF88011A4DC000 000303 (v01 PmRef  ApIst    00003000 INTL 20061109)
[    0.188390] ACPI: Dynamic OEM Table Load:
[    0.188415] ACPI: SSDT 0xFFFF88011A4D2A00 000119 (v01 PmRef  ApCst    00003000 INTL 20061109)
[    0.191740] ACPI : EC: EC started
[    0.193312] ACPI: Interpreter enabled
[    0.193336] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20150619/hwxface-580)
[    0.193397] ACPI: (supports S0 S1 S3 S4 S5)
[    0.193403] ACPI: Using IOAPIC for interrupt routing
[    0.193479] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.214622] ACPI: Power Resource [FN00] (off)
[    0.215071] ACPI: Power Resource [FN01] (off)
[    0.215401] ACPI: Power Resource [FN02] (off)
[    0.215728] ACPI: Power Resource [FN03] (off)
[    0.216085] ACPI: Power Resource [FN04] (off)
[    0.218415] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])
[    0.218428] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[    0.219021] \_SB_.PCI0:_OSC invalid UUID
[    0.219024] _OSC request data:1 1f 0 
[    0.219030] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
[    0.219932] PCI host bridge to bus 0000:00
[    0.219940] pci_bus 0000:00: root bus resource [bus 00-3e]
[    0.219948] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.219956] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.219963] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.219973] pci_bus 0000:00: root bus resource [mem 0xdfa00000-0xfeafffff window]
[    0.219982] pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfed44fff window]
[    0.220053] pci 0000:00:00.0: [8086:0104] type 00 class 0x060000
[    0.220444] pci 0000:00:02.0: [8086:0116] type 00 class 0x030000
[    0.220472] pci 0000:00:02.0: reg 0x10: [mem 0xf0000000-0xf03fffff 64bit]
[    0.220483] pci 0000:00:02.0: reg 0x18: [mem 0xe0000000-0xefffffff 64bit pref]
[    0.220491] pci 0000:00:02.0: reg 0x20: [io  0x3000-0x303f]
[    0.220933] pci 0000:00:16.0: [8086:1c3a] type 00 class 0x078000
[    0.220994] pci 0000:00:16.0: reg 0x10: [mem 0xf0705000-0xf070500f 64bit]
[    0.221111] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
[    0.221451] pci 0000:00:1a.0: [8086:1c2d] type 00 class 0x0c0320
[    0.221506] pci 0000:00:1a.0: reg 0x10: [mem 0xf070a000-0xf070a3ff]
[    0.221641] pci 0000:00:1a.0: PME# supported from D0 D3hot D3cold
[    0.221947] pci 0000:00:1b.0: [8086:1c20] type 00 class 0x040300
[    0.222007] pci 0000:00:1b.0: reg 0x10: [mem 0xf0700000-0xf0703fff 64bit]
[    0.222141] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    0.222320] pci 0000:00:1b.0: System wakeup disabled by ACPI
[    0.222487] pci 0000:00:1c.0: [8086:1c10] type 01 class 0x060400
[    0.222636] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.222793] pci 0000:00:1c.0: System wakeup disabled by ACPI
[    0.222962] pci 0000:00:1c.3: [8086:1c16] type 01 class 0x060400
[    0.223110] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold
[    0.223266] pci 0000:00:1c.3: System wakeup disabled by ACPI
[    0.223426] pci 0000:00:1c.4: [8086:1c18] type 01 class 0x060400
[    0.223578] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
[    0.223889] pci 0000:00:1d.0: [8086:1c26] type 00 class 0x0c0320
[    0.223943] pci 0000:00:1d.0: reg 0x10: [mem 0xf0709000-0xf07093ff]
[    0.224094] pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold
[    0.224396] pci 0000:00:1f.0: [8086:1c49] type 00 class 0x060100
[    0.224845] pci 0000:00:1f.2: [8086:1c03] type 00 class 0x010601
[    0.224903] pci 0000:00:1f.2: reg 0x10: [io  0x3088-0x308f]
[    0.224920] pci 0000:00:1f.2: reg 0x14: [io  0x3094-0x3097]
[    0.224937] pci 0000:00:1f.2: reg 0x18: [io  0x3080-0x3087]
[    0.224954] pci 0000:00:1f.2: reg 0x1c: [io  0x3090-0x3093]
[    0.224970] pci 0000:00:1f.2: reg 0x20: [io  0x3060-0x307f]
[    0.224988] pci 0000:00:1f.2: reg 0x24: [mem 0xf0708000-0xf07087ff]
[    0.225054] pci 0000:00:1f.2: PME# supported from D3hot
[    0.225347] pci 0000:00:1f.3: [8086:1c22] type 00 class 0x0c0500
[    0.225384] pci 0000:00:1f.3: reg 0x10: [mem 0xf0704000-0xf07040ff 64bit]
[    0.225431] pci 0000:00:1f.3: reg 0x20: [io  0xefa0-0xefbf]
[    0.226057] pci 0000:01:00.0: [8086:0091] type 00 class 0x028000
[    0.226711] pci 0000:01:00.0: reg 0x10: [mem 0xf0600000-0xf0601fff 64bit]
[    0.228044] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    0.228319] pci 0000:01:00.0: System wakeup disabled by ACPI
[    0.236347] pci 0000:00:1c.0: PCI bridge to [bus 01]
[    0.236363] pci 0000:00:1c.0:   bridge window [mem 0xf0600000-0xf06fffff]
[    0.236575] pci 0000:02:00.0: [10ec:8168] type 00 class 0x020000
[    0.236772] pci 0000:02:00.0: reg 0x10: [io  0x2000-0x20ff]
[    0.236909] pci 0000:02:00.0: reg 0x18: [mem 0xf0404000-0xf0404fff 64bit pref]
[    0.236994] pci 0000:02:00.0: reg 0x20: [mem 0xf0400000-0xf0403fff 64bit pref]
[    0.237281] pci 0000:02:00.0: supports D1 D2
[    0.237283] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.237419] pci 0000:02:00.0: System wakeup disabled by ACPI
[    0.244227] pci 0000:00:1c.3: PCI bridge to [bus 02]
[    0.244239] pci 0000:00:1c.3:   bridge window [io  0x2000-0x2fff]
[    0.244254] pci 0000:00:1c.3:   bridge window [mem 0xf0400000-0xf04fffff 64bit pref]
[    0.244439] pci 0000:03:00.0: [1b21:1042] type 00 class 0x0c0330
[    0.244520] pci 0000:03:00.0: reg 0x10: [mem 0xf0500000-0xf0507fff 64bit]
[    0.244735] pci 0000:03:00.0: PME# supported from D3hot D3cold
[    0.245015] pci 0000:00:1c.4: PCI bridge to [bus 03]
[    0.245030] pci 0000:00:1c.4:   bridge window [mem 0xf0500000-0xf05fffff]
[    0.247084] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 10 *11 12 14 15)
[    0.247272] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.247450] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 *10 11 12 14 15)
[    0.247622] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 *10 11 12 14 15)
[    0.247793] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 10 11 12 14 15) *9
[    0.247966] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.248182] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 10 *11 12 14 15)
[    0.248356] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 10 11 12 14 15) *9
[    0.249734] ACPI: Enabled 4 GPEs in block 00 to 3F
[    0.249880] ACPI : EC: GPE = 0x17, I/O: command/status = 0x66, data = 0x62
[    0.250230] ACPI : EC: 0 stale EC events cleared
[    0.251005] vgaarb: setting as boot device: PCI:0000:00:02.0
[    0.251013] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.251029] vgaarb: loaded
[    0.251034] vgaarb: bridge control possible 0000:00:02.0
[    0.251741] SCSI subsystem initialized
[    0.251914] libata version 3.00 loaded.
[    0.252008] ACPI: bus type USB registered
[    0.252083] usbcore: registered new interface driver usbfs
[    0.252129] usbcore: registered new interface driver hub
[    0.252225] usbcore: registered new device driver usb
[    0.252690] PCI: Using ACPI for IRQ routing
[    0.256379] PCI: pci_cache_line_size set to 64 bytes
[    0.256509] e820: reserve RAM buffer [mem 0x0009d800-0x0009ffff]
[    0.256518] e820: reserve RAM buffer [mem 0xd9c9f000-0xdbffffff]
[    0.256521] e820: reserve RAM buffer [mem 0xdb000000-0xdbffffff]
[    0.256524] e820: reserve RAM buffer [mem 0x11fe00000-0x11fffffff]
[    0.257314] NetLabel: Initializing
[    0.257321] NetLabel:  domain hash size = 128
[    0.257326] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.257386] NetLabel:  unlabeled traffic allowed by default
[    0.257620] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[    0.257634] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
[    0.259727] clocksource: Switched to clocksource hpet
[    0.300737] AppArmor: AppArmor Filesystem Enabled
[    0.301008] pnp: PnP ACPI init
[    0.301708] system 00:00: [io  0x0680-0x069f] has been reserved
[    0.301722] system 00:00: [io  0x1000-0x100f] has been reserved
[    0.301731] system 00:00: [io  0x5000-0x5003] has been reserved
[    0.301739] system 00:00: [io  0xffff] has been reserved
[    0.301748] system 00:00: [io  0x0400-0x0453] could not be reserved
[    0.301756] system 00:00: [io  0x0458-0x047f] has been reserved
[    0.301763] system 00:00: [io  0x0500-0x057f] has been reserved
[    0.301774] system 00:00: [io  0x0a00-0x0a0f] has been reserved
[    0.301782] system 00:00: [io  0x164e-0x164f] has been reserved
[    0.301790] system 00:00: [io  0x5000-0x500f] could not be reserved
[    0.301832] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.301924] pnp 00:01: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.302080] system 00:02: [io  0x0454-0x0457] has been reserved
[    0.302093] system 00:02: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[    0.302186] pnp 00:03: Plug and Play ACPI device, IDs PNP0303 (active)
[    0.302311] pnp 00:04: Plug and Play ACPI device, IDs ETD0b00 SYN0002 PNP0f13 (active)
[    0.302735] system 00:05: [mem 0xfed1c000-0xfed1ffff] has been reserved
[    0.302744] system 00:05: [mem 0xfed10000-0xfed17fff] has been reserved
[    0.302752] system 00:05: [mem 0xfed18000-0xfed18fff] has been reserved
[    0.302760] system 00:05: [mem 0xfed19000-0xfed19fff] has been reserved
[    0.302768] system 00:05: [mem 0xf8000000-0xfbffffff] has been reserved
[    0.302776] system 00:05: [mem 0xfed20000-0xfed3ffff] has been reserved
[    0.302784] system 00:05: [mem 0xfed90000-0xfed93fff] has been reserved
[    0.302792] system 00:05: [mem 0xfed45000-0xfed8ffff] has been reserved
[    0.302801] system 00:05: [mem 0xff000000-0xffffffff] could not be reserved
[    0.302809] system 00:05: [mem 0xfee00000-0xfeefffff] could not be reserved
[    0.302820] system 00:05: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.303781] system 00:06: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.303837] pnp: PnP ACPI: found 7 devices
[    0.315054] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    0.315118] pci 0000:00:1c.0: PCI bridge to [bus 01]
[    0.315133] pci 0000:00:1c.0:   bridge window [mem 0xf0600000-0xf06fffff]
[    0.315153] pci 0000:00:1c.3: PCI bridge to [bus 02]
[    0.315162] pci 0000:00:1c.3:   bridge window [io  0x2000-0x2fff]
[    0.315179] pci 0000:00:1c.3:   bridge window [mem 0xf0400000-0xf04fffff 64bit pref]
[    0.315197] pci 0000:00:1c.4: PCI bridge to [bus 03]
[    0.315210] pci 0000:00:1c.4:   bridge window [mem 0xf0500000-0xf05fffff]
[    0.315231] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    0.315234] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    0.315236] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[    0.315238] pci_bus 0000:00: resource 7 [mem 0xdfa00000-0xfeafffff window]
[    0.315240] pci_bus 0000:00: resource 8 [mem 0xfed40000-0xfed44fff window]
[    0.315242] pci_bus 0000:01: resource 1 [mem 0xf0600000-0xf06fffff]
[    0.315245] pci_bus 0000:02: resource 0 [io  0x2000-0x2fff]
[    0.315247] pci_bus 0000:02: resource 2 [mem 0xf0400000-0xf04fffff 64bit pref]
[    0.315249] pci_bus 0000:03: resource 1 [mem 0xf0500000-0xf05fffff]
[    0.315388] NET: Registered protocol family 2
[    0.316009] TCP established hash table entries: 32768 (order: 6, 262144 bytes)
[    0.316491] TCP bind hash table entries: 32768 (order: 9, 2097152 bytes)
[    0.318744] TCP: Hash tables configured (established 32768 bind 32768)
[    0.318900] UDP hash table entries: 2048 (order: 6, 327680 bytes)
[    0.319264] UDP-Lite hash table entries: 2048 (order: 6, 327680 bytes)
[    0.319890] NET: Registered protocol family 1
[    0.319922] pci 0000:00:02.0: Video device with shadowed ROM
[    0.321570] PCI: CLS 64 bytes, default 64
[    0.321853] Trying to unpack rootfs image as initramfs...
[    0.406848] Freeing initrd memory: 3568K (ffff8800378f8000 - ffff880037c74000)
[    0.406869] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.406877] software IO TLB [mem 0xd5c9f000-0xd9c9f000] (64MB) mapped at [ffff8800d5c9f000-ffff8800d9c9efff]
[    0.407067] RAPL PMU detected, API unit is 2^-32 Joules, 3 fixed counters 163840 ms ovfl timer
[    0.407077] hw unit of domain pp0-core 2^-16 Joules
[    0.407082] hw unit of domain package 2^-16 Joules
[    0.407088] hw unit of domain pp1-gpu 2^-16 Joules
[    0.407361] microcode: CPU0 sig=0x206a7, pf=0x10, revision=0x28
[    0.407398] microcode: CPU1 sig=0x206a7, pf=0x10, revision=0x28
[    0.407430] microcode: CPU2 sig=0x206a7, pf=0x10, revision=0x28
[    0.407454] microcode: CPU3 sig=0x206a7, pf=0x10, revision=0x28
[    0.407737] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    0.407819] Scanning for low memory corruption every 60 seconds
[    0.409192] futex hash table entries: 2048 (order: 6, 262144 bytes)
[    0.409359] Initialise system trusted keyring
[    0.409511] audit: initializing netlink subsys (disabled)
[    0.409603] audit: type=2000 audit(1439505184.392:1): initialized
[    0.410697] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    0.411249] VFS: Disk quotas dquot_6.6.0
[    0.411450] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.412392] fuse init (API version 7.23)
[    0.414662] Key type asymmetric registered
[    0.414690] Asymmetric key parser 'x509' registered
[    0.414746] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.414916] io scheduler noop registered
[    0.414927] io scheduler deadline registered (default)
[    0.414974] io scheduler cfq registered
[    0.414983] start plist test
[    0.417922] end plist test
[    0.419023] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    0.419051] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    0.419274] intel_idle: MWAIT substates: 0x21120
[    0.419276] intel_idle: v0.4 model 0x2A
[    0.419277] intel_idle: lapic_timer_reliable_states 0xffffffff
[    0.420727] ACPI: AC Adapter [ADP1] (on-line)
[    0.420985] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
[    0.421039] ACPI: Lid Switch [LID0]
[    0.421189] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
[    0.421245] ACPI: Power Button [PWRB]
[    0.421392] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
[    0.421405] ACPI: Power Button [PWRF]
[    0.425213] thermal LNXTHERM:00: registered as thermal_zone0
[    0.425221] ACPI: Thermal Zone [TZ00] (76 C)
[    0.426031] thermal LNXTHERM:01: registered as thermal_zone1
[    0.426039] ACPI: Thermal Zone [TZ01] (30 C)
[    0.426180] GHES: HEST is not enabled!
[    0.426660] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    0.436125] ACPI: Battery Slot [BAT1] (battery present)
[    0.437302] Linux agpgart interface v0.103
[    0.446325] brd: module loaded
[    0.450706] loop: module loaded
[    0.456220] ahci 0000:00:1f.2: version 3.0
[    0.456607] ahci 0000:00:1f.2: SSS flag set, parallel bus scan disabled
[    0.471768] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x1b impl SATA mode
[    0.471782] ahci 0000:00:1f.2: flags: 64bit ncq sntf ilck stag pm led clo pio slum part ems sxs apst 
[    0.498236] scsi host0: ahci
[    0.498939] scsi host1: ahci
[    0.499476] scsi host2: ahci
[    0.500090] scsi host3: ahci
[    0.500666] scsi host4: ahci
[    0.501192] scsi host5: ahci
[    0.501399] ata1: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708100 irq 25
[    0.501411] ata2: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708180 irq 25
[    0.501420] ata3: DUMMY
[    0.501426] ata4: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708280 irq 25
[    0.501436] ata5: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708300 irq 25
[    0.501445] ata6: DUMMY
[    0.503072] libphy: Fixed MDIO Bus: probed
[    0.503475] tun: Universal TUN/TAP device driver, 1.6
[    0.503481] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    0.503753] PPP generic driver version 2.4.2
[    0.504183] xhci_hcd 0000:03:00.0: xHCI Host Controller
[    0.504403] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 1
[    0.508955] xhci_hcd 0000:03:00.0: hcc params 0x0200f180 hci version 0x96 quirks 0x00080000
[    0.509775] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.509783] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.509792] usb usb1: Product: xHCI Host Controller
[    0.509798] usb usb1: Manufacturer: Linux 4.2.0-rc6-2-iniza-small xhci-hcd
[    0.509805] usb usb1: SerialNumber: 0000:03:00.0
[    0.510741] hub 1-0:1.0: USB hub found
[    0.510832] hub 1-0:1.0: 2 ports detected
[    0.511934] xhci_hcd 0000:03:00.0: xHCI Host Controller
[    0.511952] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 2
[    0.512078] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    0.512205] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[    0.512212] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.512221] usb usb2: Product: xHCI Host Controller
[    0.512227] usb usb2: Manufacturer: Linux 4.2.0-rc6-2-iniza-small xhci-hcd
[    0.512234] usb usb2: SerialNumber: 0000:03:00.0
[    0.512893] hub 2-0:1.0: USB hub found
[    0.512966] hub 2-0:1.0: 2 ports detected
[    0.513559] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.513570] ehci-pci: EHCI PCI platform driver
[    0.513929] ehci-pci 0000:00:1a.0: EHCI Host Controller
[    0.513958] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 3
[    0.513987] ehci-pci 0000:00:1a.0: debug port 2
[    0.517938] ehci-pci 0000:00:1a.0: cache line size of 64 is not supported
[    0.517976] ehci-pci 0000:00:1a.0: irq 16, io mem 0xf070a000
[    0.527638] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00
[    0.527839] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[    0.527848] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.527857] usb usb3: Product: EHCI Host Controller
[    0.527863] usb usb3: Manufacturer: Linux 4.2.0-rc6-2-iniza-small ehci_hcd
[    0.527870] usb usb3: SerialNumber: 0000:00:1a.0
[    0.528435] hub 3-0:1.0: USB hub found
[    0.528471] hub 3-0:1.0: 2 ports detected
[    0.529311] ehci-pci 0000:00:1d.0: EHCI Host Controller
[    0.529334] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 4
[    0.529366] ehci-pci 0000:00:1d.0: debug port 2
[    0.533278] ehci-pci 0000:00:1d.0: cache line size of 64 is not supported
[    0.533310] ehci-pci 0000:00:1d.0: irq 23, io mem 0xf0709000
[    0.543564] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00
[    0.543740] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002
[    0.543748] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.543758] usb usb4: Product: EHCI Host Controller
[    0.543764] usb usb4: Manufacturer: Linux 4.2.0-rc6-2-iniza-small ehci_hcd
[    0.543771] usb usb4: SerialNumber: 0000:00:1d.0
[    0.544265] hub 4-0:1.0: USB hub found
[    0.544298] hub 4-0:1.0: 2 ports detected
[    0.544776] ehci-platform: EHCI generic platform driver
[    0.544813] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.544834] ohci-pci: OHCI PCI platform driver
[    0.544874] ohci-platform: OHCI generic platform driver
[    0.544906] uhci_hcd: USB Universal Host Controller Interface driver
[    0.545052] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:EPAD] at 0x60,0x64 irq 1,12
[    0.551223] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.551288] serio: i8042 AUX port at 0x60,0x64 irq 12
[    0.552162] mousedev: PS/2 mouse device common for all mice
[    0.553538] rtc_cmos 00:01: rtc core: registered rtc_cmos as rtc0
[    0.553582] rtc_cmos 00:01: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[    0.553671] device-mapper: uevent: version 1.0.3
[    0.554031] device-mapper: ioctl: 4.32.0-ioctl (2015-6-26) initialised: dm-devel@redhat.com
[    0.554070] Intel P-state driver initializing.
[    0.556146] ledtrig-cpu: registered to indicate activity on CPUs
[    0.556998] NET: Registered protocol family 10
[    0.559263] NET: Registered protocol family 17
[    0.559362] Key type dns_resolver registered
[    0.560801] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[    0.562405] Loading compiled-in X.509 certificates
[    0.563786] Loaded X.509 cert 'Build time autogenerated kernel key: aa05e7a913cf77e99e75a89bb39b3f70ed61975b'
[    0.563841] registered taskstats version 1
[    0.571383] Key type trusted registered
[    0.582385] Key type encrypted registered
[    0.582404] AppArmor: AppArmor sha1 policy hashing enabled
[    0.582413] evm: HMAC attrs: 0x1
[    0.583297] rtc_cmos 00:01: setting system clock to 2015-08-13 22:33:05 UTC (1439505185)
[    0.583450] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    0.583457] EDD information not available.
[    0.823506] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    0.824817] ata1.00: ATA-8: Hitachi HTS545050A7E380, GG2OA6C0, max UDMA/133
[    0.824841] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    0.826230] ata1.00: configured for UDMA/133
[    0.827242] scsi 0:0:0:0: Direct-Access     ATA      Hitachi HTS54505 A6C0 PQ: 0 ANSI: 5
[    0.828411] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[    0.828424] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    0.828732] sd 0:0:0:0: [sda] Write Protect is off
[    0.828742] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    0.828847] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    0.828862] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    0.839336] usb 3-1: new high-speed USB device number 2 using ehci-pci
[    0.855415] usb 4-1: new high-speed USB device number 2 using ehci-pci
[    0.867560]  sda: sda1 sda2 sda3
[    0.868902] sd 0:0:0:0: [sda] Attached SCSI disk
[    0.972208] usb 3-1: New USB device found, idVendor=8087, idProduct=0024
[    0.972218] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    0.972962] hub 3-1:1.0: USB hub found
[    0.973167] hub 3-1:1.0: 6 ports detected
[    0.988061] usb 4-1: New USB device found, idVendor=8087, idProduct=0024
[    0.988088] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    0.988827] hub 4-1:1.0: USB hub found
[    0.989050] hub 4-1:1.0: 6 ports detected
[    1.147279] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    1.148183] ata2.00: ATA-8: SanDisk iSSD P4 16GB, SSD 9.14, max UDMA/133
[    1.148207] ata2.00: 31277232 sectors, multi 1: LBA48 
[    1.148946] ata2.00: configured for UDMA/133
[    1.149304] scsi 1:0:0:0: Direct-Access     ATA      SanDisk iSSD P4  9.14 PQ: 0 ANSI: 5
[    1.150156] sd 1:0:0:0: [sdb] 31277232 512-byte logical blocks: (16.0 GB/14.9 GiB)
[    1.150245] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    1.150641] sd 1:0:0:0: [sdb] Write Protect is off
[    1.150650] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    1.150817] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    1.152477]  sdb: sdb1 sdb2
[    1.153640] sd 1:0:0:0: [sdb] Attached SCSI disk
[    1.247137] usb 3-1.4: new high-speed USB device number 3 using ehci-pci
[    1.263143] usb 4-1.4: new low-speed USB device number 3 using ehci-pci
[    1.361714] usb 4-1.4: New USB device found, idVendor=046d, idProduct=c00e
[    1.361737] usb 4-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.361746] usb 4-1.4: Product: USB-PS/2 Optical Mouse
[    1.361751] usb 4-1.4: Manufacturer: Logitech
[    1.403190] tsc: Refined TSC clocksource calibration: 1596.374 MHz
[    1.403203] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x1702c3a922f, max_idle_ns: 440795242034 ns
[    1.435060] usb 4-1.5: new full-speed USB device number 4 using ehci-pci
[    1.467041] ata4: SATA link down (SStatus 0 SControl 300)
[    1.499265] usb 3-1.4: New USB device found, idVendor=2232, idProduct=1018
[    1.499276] usb 3-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.499286] usb 3-1.4: Product: WebCam SC-13HDL11431N
[    1.499292] usb 3-1.4: Manufacturer: 123
[    1.532488] usb 4-1.5: New USB device found, idVendor=8086, idProduct=0189
[    1.532498] usb 4-1.5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.786825] ata5: SATA link down (SStatus 0 SControl 300)
[    1.787747] Freeing unused kernel memory: 1428K (ffffffff81d58000 - ffffffff81ebd000)
[    1.787760] Write protecting the kernel read-only data: 12288k
[    1.788315] Freeing unused kernel memory: 124K (ffff8800017e1000 - ffff880001800000)
[    1.788746] Freeing unused kernel memory: 640K (ffff880001b60000 - ffff880001c00000)
[    1.828813] udevd[141]: starting version 175
[    2.108760] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    2.108794] r8169 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control
[    2.110824] r8169 0000:02:00.0 eth0: RTL8168evl/8111evl at 0xffffc900009ae000, e8:03:9a:36:17:a9, XID 0c900800 IRQ 31
[    2.110848] r8169 0000:02:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
[    2.161236] usbcore: registered new interface driver usbhid
[    2.161246] usbhid: USB HID core driver
[    2.245431] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.4/4-1.4:1.0/0003:046D:C00E.0001/input/input5
[    2.246016] 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.402692] clocksource: Switched to clocksource tsc
[    2.941805] EXT4-fs (loop0): mounted filesystem with ordered data mode. Opts: (null)
[    3.654976] random: nonblocking pool is initialized
[    4.045073] usb 3-1.2: new high-speed USB device number 4 using ehci-pci
[    4.140728] usb 3-1.2: New USB device found, idVendor=12d1, idProduct=1446
[    4.140742] usb 3-1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[    4.140752] usb 3-1.2: Product: HUAWEI Mobile
[    4.140758] usb 3-1.2: Manufacturer: HUAWEI Technology
[    5.302972] init: ureadahead main process (435) terminated with status 5
[    9.824619] Adding 262140k swap on /host/ubuntu/disks/swap.disk.  Priority:-1 extents:1 across:262140k FS
[   10.087635] EXT4-fs (loop0): re-mounted. Opts: errors=remount-ro
[   10.280573] udevd[669]: starting version 175
[   11.620071] lp: driver loaded but no devices found
[   13.610068] wmi: Mapper loaded
[   13.662624] ACPI Warning: SystemIO range 0x0000000000000428-0x000000000000042F conflicts with OpRegion 0x0000000000000400-0x000000000000047F (\PMIO) (20150619/utaddress-254)
[   13.662639] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   13.662647] ACPI Warning: SystemIO range 0x0000000000000540-0x000000000000054F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20150619/utaddress-254)
[   13.662656] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   13.662660] ACPI Warning: SystemIO range 0x0000000000000530-0x000000000000053F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20150619/utaddress-254)
[   13.662667] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   13.662671] ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20150619/utaddress-254)
[   13.662679] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   13.662681] lpc_ich: Resource conflict(s) found affecting gpio_ich
[   13.950746] samsung_laptop: detected SABI interface: SwSmi@
[   13.990525] [drm] Initialized drm 1.1.0 20060810
[   15.078862] usb-storage 3-1.2:1.0: USB Mass Storage device detected
[   15.079238] scsi host6: usb-storage 3-1.2:1.0
[   15.079656] usb-storage 3-1.2:1.1: USB Mass Storage device detected
[   15.079846] scsi host7: usb-storage 3-1.2:1.1
[   15.080114] usbcore: registered new interface driver usb-storage
[   15.381557] Bluetooth: Core ver 2.20
[   15.381609] NET: Registered protocol family 31
[   15.381613] Bluetooth: HCI device and connection manager initialized
[   15.381717] Bluetooth: HCI socket layer initialized
[   15.381726] Bluetooth: L2CAP socket layer initialized
[   15.381901] Bluetooth: SCO socket layer initialized
[   15.754242] usbcore: registered new interface driver btusb
[   15.806581] psmouse serio1: elantech: assuming hardware version 3 (with firmware version 0x450f00)
[   15.821801] psmouse serio1: elantech: Synaptics capabilities query result 0x08, 0x17, 0x0c.
[   15.836745] psmouse serio1: elantech: Elan sample query result 03, 3f, 86
[   15.838829] Linux video capture interface: v2.00
[   15.919598] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input6
[   16.079340] scsi 7:0:0:0: Direct-Access     HUAWEI   SD Storage       2.31 PQ: 0 ANSI: 2
[   16.079399] scsi 6:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[   16.083575] sr 6:0:0:0: [sr0] scsi-1 drive
[   16.083579] cdrom: Uniform CD-ROM driver Revision: 3.20
[   16.085230] sr 6:0:0:0: Attached scsi CD-ROM sr0
[   16.086185] sr 6:0:0:0: Attached scsi generic sg2 type 5
[   16.093589] sd 7:0:0:0: Attached scsi generic sg3 type 0
[   16.100169] sd 7:0:0:0: [sdc] Attached SCSI removable disk
[   16.648684] cfg80211: World regulatory domain updated:
[   16.648690] cfg80211:  DFS Master region: unset
[   16.648692] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   16.648696] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[   16.648698] cfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm), (N/A)
[   16.648700] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm), (N/A)
[   16.648702] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[   16.648704] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm), (N/A)
[   16.697598] Intel(R) Wireless WiFi driver for Linux
[   16.697603] Copyright(c) 2003- 2015 Intel Corporation
[   16.697942] iwlwifi 0000:01:00.0: can't disable ASPM; OS doesn't have ASPM control
[   16.744761] audit: type=1400 audit(1439498001.669:2): apparmor="STATUS" operation="profile_load" name="/sbin/dhclient" pid=967 comm="apparmor_parser"
[   16.744772] audit: type=1400 audit(1439498001.669:3): apparmor="STATUS" operation="profile_load" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=967 comm="apparmor_parser"
[   16.744779] audit: type=1400 audit(1439498001.669:4): apparmor="STATUS" operation="profile_load" name="/usr/lib/connman/scripts/dhclient-script" pid=967 comm="apparmor_parser"
[   16.745003] audit: type=1400 audit(1439498001.669:5): apparmor="STATUS" operation="profile_replace" name="/sbin/dhclient" pid=1032 comm="apparmor_parser"
[   16.745014] audit: type=1400 audit(1439498001.669:6): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1032 comm="apparmor_parser"
[   16.745021] audit: type=1400 audit(1439498001.669:7): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=1032 comm="apparmor_parser"
[   16.745560] audit: type=1400 audit(1439498001.669:8): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=967 comm="apparmor_parser"
[   16.745568] audit: type=1400 audit(1439498001.669:9): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=967 comm="apparmor_parser"
[   16.745677] audit: type=1400 audit(1439498001.669:10): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1032 comm="apparmor_parser"
[   16.745684] audit: type=1400 audit(1439498001.669:11): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=1032 comm="apparmor_parser"
[   17.262091] iwlwifi 0000:01:00.0: loaded firmware version 18.168.6.1 op_mode iwldvm
[   17.291245] [drm] Memory usable by graphics device = 2048M
[   17.291318] [drm] Replacing VGA console driver
[   17.299940] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   17.299943] [drm] Driver supports precise vblank timestamp query.
[   17.300750] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[   17.319302] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[   17.320232] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input7
[   17.321882] [drm] Initialized i915 1.6.0 20150522 for 0000:00:02.0 on minor 0
[   17.329889] fbcon: inteldrmfb (fb0) is primary device
[   17.571563] ppdev: user-space parallel port driver
[   18.317674] Console: switching to colour frame buffer device 170x48
[   18.321286] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[   18.321288] i915 0000:00:02.0: registered panic notifier
[   18.357452] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   18.357458] Bluetooth: BNEP filters: protocol multicast
[   18.357470] Bluetooth: BNEP socket layer initialized
[   18.489083] init: failsafe main process (1073) killed by TERM signal
[   18.680698] Bluetooth: RFCOMM TTY layer initialized
[   18.680713] Bluetooth: RFCOMM socket layer initialized
[   18.680730] Bluetooth: RFCOMM ver 1.11
[   18.829371] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEBUG disabled
[   18.829379] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEBUGFS enabled
[   18.829383] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
[   18.829389] iwlwifi 0000:01:00.0: Detected Intel(R) Centrino(R) Advanced-N 6230 AGN, REV=0xB0
[   18.829938] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[   18.938233] usb 3-1.2: USB disconnect, device number 4
[   18.965570] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'
[   19.273737] uvcvideo: Found UVC 1.00 device WebCam SC-13HDL11431N (2232:1018)
[   19.293461] input: WebCam SC-13HDL11431N as /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.4/3-1.4:1.0/input/input8
[   19.293930] usbcore: registered new interface driver uvcvideo
[   19.293933] USB Video Class driver (1.1.1)
[   20.125971] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC269VC: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[   20.125976] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   20.125978] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
[   20.125981] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[   20.125982] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[   20.125986] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x19
[   20.125989] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
[   20.285991] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
[   20.286865] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10
[   20.287129] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input11
[   22.175709] audit_printk_skb: 63 callbacks suppressed
[   22.175713] audit: type=1400 audit(1439498007.101:33): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince" pid=1306 comm="apparmor_parser"
[   22.175721] audit: type=1400 audit(1439498007.101:34): apparmor="STATUS" operation="profile_load" name="launchpad_integration" pid=1306 comm="apparmor_parser"
[   22.175727] audit: type=1400 audit(1439498007.101:35): apparmor="STATUS" operation="profile_load" name="sanitized_helper" pid=1306 comm="apparmor_parser"
[   22.175732] audit: type=1400 audit(1439498007.101:36): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince-previewer" pid=1306 comm="apparmor_parser"
[   22.175737] audit: type=1400 audit(1439498007.101:37): apparmor="STATUS" operation="profile_load" name="launchpad_integration" pid=1306 comm="apparmor_parser"
[   22.175742] audit: type=1400 audit(1439498007.101:38): apparmor="STATUS" operation="profile_load" name="sanitized_helper" pid=1306 comm="apparmor_parser"
[   22.175747] audit: type=1400 audit(1439498007.101:39): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince-thumbnailer" pid=1306 comm="apparmor_parser"
[   22.175752] audit: type=1400 audit(1439498007.101:40): apparmor="STATUS" operation="profile_load" name="sanitized_helper" pid=1306 comm="apparmor_parser"
[   22.184758] audit: type=1400 audit(1439498007.113:41): apparmor="STATUS" operation="profile_replace" name="launchpad_integration" pid=1306 comm="apparmor_parser"
[   22.184768] audit: type=1400 audit(1439498007.113:42): apparmor="STATUS" operation="profile_replace" name="sanitized_helper" pid=1306 comm="apparmor_parser"
[   22.971680] usb 3-1.2: new high-speed USB device number 5 using ehci-pci
[   23.066173] usb 3-1.2: New USB device found, idVendor=12d1, idProduct=1436
[   23.066180] usb 3-1.2: New USB device strings: Mfr=4, Product=3, SerialNumber=0
[   23.066184] usb 3-1.2: Product: HUAWEI Mobile
[   23.066188] usb 3-1.2: Manufacturer: HUAWEI Technology
[   23.069456] usb-storage 3-1.2:1.0: USB Mass Storage device detected
[   23.070661] usb-storage 3-1.2:1.1: USB Mass Storage device detected
[   23.071246] usb-storage 3-1.2:1.2: USB Mass Storage device detected
[   23.071950] usb-storage 3-1.2:1.3: USB Mass Storage device detected
[   23.072585] usb-storage 3-1.2:1.4: USB Mass Storage device detected
[   23.073212] usb-storage 3-1.2:1.5: USB Mass Storage device detected
[   23.073714] scsi host13: usb-storage 3-1.2:1.5
[   23.074586] usb-storage 3-1.2:1.6: USB Mass Storage device detected
[   23.075086] scsi host14: usb-storage 3-1.2:1.6
[   23.208176] cdc_ether 3-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
[   23.208595] usbcore: registered new interface driver cdc_ether
[   23.326691] usbcore: registered new interface driver usbserial
[   23.568638] usbcore: registered new interface driver option
[   23.569201] usbserial: USB Serial support registered for GSM modem (1-port)
[   23.570021] option 3-1.2:1.0: GSM modem (1-port) converter detected
[   23.571889] usb 3-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[   23.573913] option 3-1.2:1.3: GSM modem (1-port) converter detected
[   23.575380] usb 3-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[   23.575444] option 3-1.2:1.4: GSM modem (1-port) converter detected
[   23.575784] usb 3-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[   24.073403] scsi 14:0:0:0: Direct-Access     HUAWEI   SD Storage       2.31 PQ: 0 ANSI: 2
[   24.073490] scsi 13:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[   24.075245] sd 14:0:0:0: Attached scsi generic sg2 type 0
[   24.078712] sr 13:0:0:0: [sr0] scsi-1 drive
[   24.083764] sr 13:0:0:0: Attached scsi CD-ROM sr0
[   24.085194] sr 13:0:0:0: Attached scsi generic sg3 type 5
[   24.086368] sd 14:0:0:0: [sdc] Attached SCSI removable disk
[   24.808458] r8169 0000:02:00.0 eth0: link down
[   24.808662] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   64.614313] PPP BSD Compression module registered
[   64.619412] PPP Deflate Compression module registered
[   66.536082] usb 4-1.5: USB disconnect, device number 4

Comments

Sedat Dilek Aug. 14, 2015, 9:36 a.m. UTC | #1
On Fri, Aug 14, 2015 at 11:39 AM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> On Thursday, August 13, 2015 10:39:08 PM Sedat Dilek wrote:
>>
>> --f46d04447e7fc2306e051d3753a5
>> Content-Type: text/plain; charset=UTF-8
>>
>> On Thu, Aug 13, 2015 at 6:53 PM, Hans de Goede <hdegoede@redhat.com> wrote:
>> > Before this commit, the following would happen:
>> >
>> > a) acpi_video_get_backlight_type() gets called
>> > b) acpi_video_get_backlight_type() calls acpi_video_init_backlight_type()
>> > c) acpi_video_init_backlight_type() locks its function static init_mutex
>> > d) acpi_video_init_backlight_type() calls backlight_register_notifier()
>> > e) backlight_register_notifier() takes its notifier-chain lock
>> >
>> > And when the backlight notifier chain gets called we've:
>> >
>> > 1) blocking_notifier_call_chain() gets called
>> > 2) blocking_notifier_call_chain() takes the notifier-chain lock
>> > 3) blocking_notifier_call_chain() calls acpi_video_backlight_notify()
>> > 4) acpi_video_backlight_notify() calls acpi_video_get_backlight_type()
>> > 5) acpi_video_get_backlight_type() calls acpi_video_init_backlight_type()
>> > 6) acpi_video_init_backlight_type() locks its function static init_mutex
>> >
>> > So in the first call sequence we have:
>> >
>> > a) init_mutex gets locked
>> > b) notifier-chain gets locked
>> >
>> > and in the second call sequence we have:
>> >
>> > 1) notifier-chain gets locked
>> > 2) init_mutex gets locked
>> >
>> > And we've a circular locking dependency. This specific locking dependency
>> > is fixable without using the big hammer otherwise known as a workqueue,
>> > but further analysis shows a similar problem with the backlight notifier
>> > chain lock vs register_count_mutex from drivers/acpi/acpi_video.c,
>> > and fixing that becomes problematic.
>> >
>> > So this commit simply fixes this with the big hammer, performance
>> > wise this is a non issue as we expect the work to get scheduled
>> > exactly zero or one times during normal system use.
>> >
>>
>> This patch on top of Linux v4.2-rc6 fixes the issue for me.
>>
>> Feel free to add my...
>>
>>    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
>>    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
>
> Applied, thanks!
>

Thanks for carrying this one.
Isn't this a for-4.2/acpi-video-fixes?
Why did you apply this in your linux-next Git branch?

- sed@ -

[1] http://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git/commit/?h=linux-next&id=7231ed1a813e0a9d249bbbe58e66ca058aee83e1

> Rafael
>
Rafael J. Wysocki Aug. 14, 2015, 9:39 a.m. UTC | #2
On Thursday, August 13, 2015 10:39:08 PM Sedat Dilek wrote:
> 
> --f46d04447e7fc2306e051d3753a5
> Content-Type: text/plain; charset=UTF-8
> 
> On Thu, Aug 13, 2015 at 6:53 PM, Hans de Goede <hdegoede@redhat.com> wrote:
> > Before this commit, the following would happen:
> >
> > a) acpi_video_get_backlight_type() gets called
> > b) acpi_video_get_backlight_type() calls acpi_video_init_backlight_type()
> > c) acpi_video_init_backlight_type() locks its function static init_mutex
> > d) acpi_video_init_backlight_type() calls backlight_register_notifier()
> > e) backlight_register_notifier() takes its notifier-chain lock
> >
> > And when the backlight notifier chain gets called we've:
> >
> > 1) blocking_notifier_call_chain() gets called
> > 2) blocking_notifier_call_chain() takes the notifier-chain lock
> > 3) blocking_notifier_call_chain() calls acpi_video_backlight_notify()
> > 4) acpi_video_backlight_notify() calls acpi_video_get_backlight_type()
> > 5) acpi_video_get_backlight_type() calls acpi_video_init_backlight_type()
> > 6) acpi_video_init_backlight_type() locks its function static init_mutex
> >
> > So in the first call sequence we have:
> >
> > a) init_mutex gets locked
> > b) notifier-chain gets locked
> >
> > and in the second call sequence we have:
> >
> > 1) notifier-chain gets locked
> > 2) init_mutex gets locked
> >
> > And we've a circular locking dependency. This specific locking dependency
> > is fixable without using the big hammer otherwise known as a workqueue,
> > but further analysis shows a similar problem with the backlight notifier
> > chain lock vs register_count_mutex from drivers/acpi/acpi_video.c,
> > and fixing that becomes problematic.
> >
> > So this commit simply fixes this with the big hammer, performance
> > wise this is a non issue as we expect the work to get scheduled
> > exactly zero or one times during normal system use.
> >
> 
> This patch on top of Linux v4.2-rc6 fixes the issue for me.
> 
> Feel free to add my...
> 
>    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
>    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>

Applied, thanks!

Rafael
Sedat Dilek Aug. 14, 2015, 9:57 a.m. UTC | #3
On Fri, Aug 14, 2015 at 12:16 PM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> On Friday, August 14, 2015 11:36:41 AM Sedat Dilek wrote:
>> On Fri, Aug 14, 2015 at 11:39 AM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
>> > On Thursday, August 13, 2015 10:39:08 PM Sedat Dilek wrote:
>> >>
>> >> --f46d04447e7fc2306e051d3753a5
>> >> Content-Type: text/plain; charset=UTF-8
>> >>
>> >> On Thu, Aug 13, 2015 at 6:53 PM, Hans de Goede <hdegoede@redhat.com> wrote:
>> >> > Before this commit, the following would happen:
>> >> >
>> >> > a) acpi_video_get_backlight_type() gets called
>> >> > b) acpi_video_get_backlight_type() calls acpi_video_init_backlight_type()
>> >> > c) acpi_video_init_backlight_type() locks its function static init_mutex
>> >> > d) acpi_video_init_backlight_type() calls backlight_register_notifier()
>> >> > e) backlight_register_notifier() takes its notifier-chain lock
>> >> >
>> >> > And when the backlight notifier chain gets called we've:
>> >> >
>> >> > 1) blocking_notifier_call_chain() gets called
>> >> > 2) blocking_notifier_call_chain() takes the notifier-chain lock
>> >> > 3) blocking_notifier_call_chain() calls acpi_video_backlight_notify()
>> >> > 4) acpi_video_backlight_notify() calls acpi_video_get_backlight_type()
>> >> > 5) acpi_video_get_backlight_type() calls acpi_video_init_backlight_type()
>> >> > 6) acpi_video_init_backlight_type() locks its function static init_mutex
>> >> >
>> >> > So in the first call sequence we have:
>> >> >
>> >> > a) init_mutex gets locked
>> >> > b) notifier-chain gets locked
>> >> >
>> >> > and in the second call sequence we have:
>> >> >
>> >> > 1) notifier-chain gets locked
>> >> > 2) init_mutex gets locked
>> >> >
>> >> > And we've a circular locking dependency. This specific locking dependency
>> >> > is fixable without using the big hammer otherwise known as a workqueue,
>> >> > but further analysis shows a similar problem with the backlight notifier
>> >> > chain lock vs register_count_mutex from drivers/acpi/acpi_video.c,
>> >> > and fixing that becomes problematic.
>> >> >
>> >> > So this commit simply fixes this with the big hammer, performance
>> >> > wise this is a non issue as we expect the work to get scheduled
>> >> > exactly zero or one times during normal system use.
>> >> >
>> >>
>> >> This patch on top of Linux v4.2-rc6 fixes the issue for me.
>> >>
>> >> Feel free to add my...
>> >>
>> >>    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
>> >>    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
>> >
>> > Applied, thanks!
>> >
>>
>> Thanks for carrying this one.
>> Isn't this a for-4.2/acpi-video-fixes?
>
> I have no branch like that.
>

I wanted to say it's "for 4.2-rc7".

>> Why did you apply this in your linux-next Git branch?
>
> Because that's what I do normally with patches I'm going to push to Linus.
>

OK, thanks.

- sed@ -

> Thanks,
> Rafael
>
Rafael J. Wysocki Aug. 14, 2015, 10:16 a.m. UTC | #4
On Friday, August 14, 2015 11:36:41 AM Sedat Dilek wrote:
> On Fri, Aug 14, 2015 at 11:39 AM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> > On Thursday, August 13, 2015 10:39:08 PM Sedat Dilek wrote:
> >>
> >> --f46d04447e7fc2306e051d3753a5
> >> Content-Type: text/plain; charset=UTF-8
> >>
> >> On Thu, Aug 13, 2015 at 6:53 PM, Hans de Goede <hdegoede@redhat.com> wrote:
> >> > Before this commit, the following would happen:
> >> >
> >> > a) acpi_video_get_backlight_type() gets called
> >> > b) acpi_video_get_backlight_type() calls acpi_video_init_backlight_type()
> >> > c) acpi_video_init_backlight_type() locks its function static init_mutex
> >> > d) acpi_video_init_backlight_type() calls backlight_register_notifier()
> >> > e) backlight_register_notifier() takes its notifier-chain lock
> >> >
> >> > And when the backlight notifier chain gets called we've:
> >> >
> >> > 1) blocking_notifier_call_chain() gets called
> >> > 2) blocking_notifier_call_chain() takes the notifier-chain lock
> >> > 3) blocking_notifier_call_chain() calls acpi_video_backlight_notify()
> >> > 4) acpi_video_backlight_notify() calls acpi_video_get_backlight_type()
> >> > 5) acpi_video_get_backlight_type() calls acpi_video_init_backlight_type()
> >> > 6) acpi_video_init_backlight_type() locks its function static init_mutex
> >> >
> >> > So in the first call sequence we have:
> >> >
> >> > a) init_mutex gets locked
> >> > b) notifier-chain gets locked
> >> >
> >> > and in the second call sequence we have:
> >> >
> >> > 1) notifier-chain gets locked
> >> > 2) init_mutex gets locked
> >> >
> >> > And we've a circular locking dependency. This specific locking dependency
> >> > is fixable without using the big hammer otherwise known as a workqueue,
> >> > but further analysis shows a similar problem with the backlight notifier
> >> > chain lock vs register_count_mutex from drivers/acpi/acpi_video.c,
> >> > and fixing that becomes problematic.
> >> >
> >> > So this commit simply fixes this with the big hammer, performance
> >> > wise this is a non issue as we expect the work to get scheduled
> >> > exactly zero or one times during normal system use.
> >> >
> >>
> >> This patch on top of Linux v4.2-rc6 fixes the issue for me.
> >>
> >> Feel free to add my...
> >>
> >>    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
> >>    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
> >
> > Applied, thanks!
> >
> 
> Thanks for carrying this one.
> Isn't this a for-4.2/acpi-video-fixes?

I have no branch like that.

> Why did you apply this in your linux-next Git branch?

Because that's what I do normally with patches I'm going to push to Linus.

Thanks,
Rafael
diff mbox

Patch

Hans de Goede (1):
      ACPI / video: Fix circular lock dependency issue in the video-detect code

 drivers/acpi/video_detect.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
index 815f75ef2411..2922f1f252d5 100644
--- a/drivers/acpi/video_detect.c
+++ b/drivers/acpi/video_detect.c
@@ -32,6 +32,7 @@ 
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/types.h>
+#include <linux/workqueue.h>
 #include <acpi/video.h>
 
 ACPI_MODULE_NAME("video");
@@ -41,6 +42,7 @@  void acpi_video_unregister_backlight(void);
 
 static bool backlight_notifier_registered;
 static struct notifier_block backlight_nb;
+static struct work_struct backlight_notify_work;
 
 static enum acpi_backlight_type acpi_backlight_cmdline = acpi_backlight_undef;
 static enum acpi_backlight_type acpi_backlight_dmi = acpi_backlight_undef;
@@ -262,6 +264,13 @@  static const struct dmi_system_id video_detect_dmi_table[] = {
 	{ },
 };
 
+/* This uses a workqueue to avoid various locking ordering issues */
+static void acpi_video_backlight_notify_work(struct work_struct *work)
+{
+	if (acpi_video_get_backlight_type() != acpi_backlight_video)
+		acpi_video_unregister_backlight();
+}
+
 static int acpi_video_backlight_notify(struct notifier_block *nb,
 				       unsigned long val, void *bd)
 {
@@ -269,9 +278,8 @@  static int acpi_video_backlight_notify(struct notifier_block *nb,
 
 	/* A raw bl registering may change video -> native */
 	if (backlight->props.type == BACKLIGHT_RAW &&
-	    val == BACKLIGHT_REGISTERED &&
-	    acpi_video_get_backlight_type() != acpi_backlight_video)
-		acpi_video_unregister_backlight();
+	    val == BACKLIGHT_REGISTERED)
+		schedule_work(&backlight_notify_work);
 
 	return NOTIFY_OK;
 }
@@ -304,6 +312,8 @@  enum acpi_backlight_type acpi_video_get_backlight_type(void)
 		acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
 				    ACPI_UINT32_MAX, find_video, NULL,
 				    &video_caps, NULL);
+		INIT_WORK(&backlight_notify_work,
+			  acpi_video_backlight_notify_work);
 		backlight_nb.notifier_call = acpi_video_backlight_notify;
 		backlight_nb.priority = 0;
 		if (backlight_register_notifier(&backlight_nb) == 0)