Re: [Linux-v4.6-rc1] ext4: WARNING: CPU: 2 PID: 2692 at kernel/locking/lockdep.c:2017 __lock_acquire+0x180e/0x2260

From: Sedat Dilek
Date: Sun Mar 27 2016 - 04:58:31 EST


On Sun, Mar 27, 2016 at 10:15 AM, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote:
> Hi,
>
> I tried Linux v4.6-rc1 and found an easter-egg :-)?
>
> [ 77.403377] ------------[ cut here ]------------
> [ 77.403391] WARNING: CPU: 2 PID: 2692 at
> kernel/locking/lockdep.c:2017 __lock_acquire+0x180e/0x2260
> [ 77.403394] DEBUG_LOCKS_WARN_ON(chain->depth != curr->lockdep_depth
> - (i - 1))
> [ 77.403397] Modules linked in: ppp_deflate bsd_comp ppp_async
> crc_ccitt option usb_wwan cdc_ether usbserial usbnet arc4 iwldvm bnep
> mac80211 rfcomm uvcvideo i915 snd_hda_codec_hdmi snd_hda_codec_realtek
> kvm_intel videobuf2_vmalloc snd_hda_codec_generic videobuf2_memops
> snd_hda_intel kvm joydev videobuf2_v4l2 snd_hda_codec videobuf2_core
> videodev usb_storage snd_hwdep btusb snd_hda_core btrtl snd_pcm
> parport_pc btbcm i2c_algo_bit irqbypass drm_kms_helper iwlwifi btintel
> ppdev psmouse snd_seq_midi bluetooth snd_seq_midi_event syscopyarea
> snd_rawmidi sysfillrect serio_raw snd_seq sysimgblt samsung_laptop
> fb_sys_fops snd_timer drm snd_seq_device cfg80211 intel_rst wmi snd
> video soundcore lpc_ich mac_hid lp parport binfmt_misc hid_generic
> usbhid hid r8169 mii
> [ 77.403485] CPU: 2 PID: 2692 Comm: URL Classifier Not tainted
> 4.6.0-rc1-1-iniza-small #1
> [ 77.403487] Hardware name: SAMSUNG ELECTRONICS CO., LTD.
> 530U3BI/530U4BI/530U4BH/530U3BI/530U4BI/530U4BH, BIOS 13XK 03/28/2013
> [ 77.403490] 0000000000000000 ffff88005dadb910 ffffffff81411955
> ffff88005dadb960
> [ 77.403496] 0000000000000000 ffff88005dadb950 ffffffff81083db1
> 000007e15dadba00
> [ 77.403502] ffff88006acdd900 0000000000000000 0000000000000004
> 31018a8cbc5d051b
> [ 77.403506] Call Trace:
> [ 77.403513] [<ffffffff81411955>] dump_stack+0x85/0xc0
> [ 77.403517] [<ffffffff81083db1>] __warn+0xd1/0xf0
> [ 77.403521] [<ffffffff81083e1f>] warn_slowpath_fmt+0x4f/0x60
> [ 77.403526] [<ffffffff810df01e>] __lock_acquire+0x180e/0x2260
> [ 77.403532] [<ffffffff812ff494>] ? __ext4_handle_dirty_metadata+0x94/0x220
> [ 77.403539] [<ffffffff812cd17b>] ? ext4_mark_iloc_dirty+0x43b/0x790
> [ 77.403543] [<ffffffff810e0709>] lock_acquire+0x119/0x220
> [ 77.403547] [<ffffffff81300972>] ? ext4_mb_initialize_context+0x142/0x180
> [ 77.403552] [<ffffffff81809359>] mutex_lock_nested+0x69/0x3d0
> [ 77.403557] [<ffffffff81300972>] ? ext4_mb_initialize_context+0x142/0x180
> [ 77.403560] [<ffffffff810dd24d>] ? mark_held_locks+0x6d/0x90
> [ 77.403563] [<ffffffff810db9c9>] ? __lock_is_held+0x49/0x70
> [ 77.403568] [<ffffffff81300972>] ext4_mb_initialize_context+0x142/0x180
> [ 77.403572] [<ffffffff81307b39>] ext4_mb_new_blocks+0x169/0x840
> [ 77.403575] [<ffffffff812f6657>] ? ext4_find_extent+0x1b7/0x320
> [ 77.403578] [<ffffffff810db9c9>] ? __lock_is_held+0x49/0x70
> [ 77.403583] [<ffffffff812fb005>] ext4_ext_map_blocks+0xab5/0x2100
> [ 77.403589] [<ffffffff812ca33c>] ext4_map_blocks+0x10c/0x510
> [ 77.403593] [<ffffffff812f59f4>] ? ext4_alloc_file_blocks.isra.35+0xe4/0x310
> [ 77.403598] [<ffffffff812f5a17>] ext4_alloc_file_blocks.isra.35+0x107/0x310
> [ 77.403603] [<ffffffff812fdd6d>] ext4_fallocate+0x45d/0xb40
> [ 77.403608] [<ffffffff810d97ee>] ? update_fast_ctr+0x1e/0x40
> [ 77.403612] [<ffffffff810d989c>] ? percpu_down_read+0x5c/0xa0
> [ 77.403617] [<ffffffff812310cd>] vfs_fallocate+0x13d/0x220
> [ 77.403622] [<ffffffff81231ea3>] SyS_fallocate+0x43/0x70
> [ 77.403625] [<ffffffff8180d900>] entry_SYSCALL_64_fastpath+0x23/0xc1
> [ 77.403629] ---[ end trace b0a1385410b98c5a ]---
>
> $ egrep -i 'lockdep|ext4' /boot/config-4.6.0-rc1-1-iniza-small
> CONFIG_LOCKDEP_SUPPORT=y
> CONFIG_EXT4_FS=y
> CONFIG_EXT4_USE_FOR_EXT2=y
> CONFIG_EXT4_FS_POSIX_ACL=y
> CONFIG_EXT4_FS_SECURITY=y
> CONFIG_EXT4_ENCRYPTION=y
> CONFIG_EXT4_FS_ENCRYPTION=y
> # CONFIG_EXT4_DEBUG is not set
> CONFIG_LOCKDEP=y
> CONFIG_DEBUG_LOCKDEP=y
>
> Full dmesg-log and linux-config attached.
>
> Hope this helps.
>

I pulled ext4.git#dev on top of Linux v4.6-rc1...

Miklos Szeredi (4):
fs: add file_dentry()
nfs: use file_dentry()
ext4: use dget_parent() in ext4_file_open()
ext4: use file_dentry()

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()

... and did not see the call-trace.

- Sedat -
[ 0.000000] Linux version 4.6.0-rc1-2-iniza-small (sedat.dilek@xxxxxxxxx@fambox) (gcc version 4.9.2 (Ubuntu 4.9.2-0ubuntu1~12.04) ) #1 SMP Sun Mar 27 10:43:35 CEST 2016
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.6.0-rc1-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]: 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 [0x02e94000, 0x02e94fff] PGTABLE
[ 0.000000] BRK [0x02e95000, 0x02e95fff] PGTABLE
[ 0.000000] BRK [0x02e96000, 0x02e96fff] PGTABLE
[ 0.000000] BRK [0x02e97000, 0x02e97fff] PGTABLE
[ 0.000000] BRK [0x02e98000, 0x02e98fff] PGTABLE
[ 0.000000] BRK [0x02e99000, 0x02e99fff] 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-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: 3916932K/4086000K available (8267K kernel code, 1422K rwdata, 3312K rodata, 1444K init, 14068K bss, 169068K 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.449 MHz processor
[ 0.000096] Calibrating delay loop (skipped), value calculated using timer frequency.. 3192.89 BogoMIPS (lpj=6385796)
[ 0.000109] pid_max: default: 32768 minimum: 301
[ 0.000152] ACPI: Core revision 20160108
[ 0.021565] ACPI: 5 ACPI AML tables successfully acquired and loaded
[ 0.021575]
[ 0.021775] Security Framework initialized
[ 0.021782] Yama: becoming mindful.
[ 0.021816] AppArmor: AppArmor initialized
[ 0.022290] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[ 0.023386] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[ 0.023869] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.023884] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes)
[ 0.025284] Disabled fast string operations
[ 0.025293] CPU: Physical Processor ID: 0
[ 0.025299] CPU: Processor Core ID: 0
[ 0.025308] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[ 0.025314] ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
[ 0.025322] mce: CPU supports 7 MCE banks
[ 0.025360] CPU0: Thermal monitoring enabled (TM1)
[ 0.025380] process: using mwait in idle threads
[ 0.025388] Last level iTLB entries: 4KB 512, 2MB 8, 4MB 8
[ 0.025395] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32, 1GB 0
[ 0.026039] Freeing SMP alternatives memory: 28K (ffffffff820ce000 - ffffffff820d5000)
[ 0.039366] ftrace: allocating 30168 entries in 118 pages
[ 0.056256] smpboot: Max logical packages: 4
[ 0.056266] smpboot: APIC(0) Converting physical 0 to logical package 0
[ 0.056354] x2apic: IRQ remapping doesn't support X2APIC mode
[ 0.056993] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[ 0.096689] TSC deadline timer enabled
[ 0.096695] smpboot: CPU0: Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz (family: 0x6, model: 0x2a, stepping: 0x7)
[ 0.096723] Performance Events: PEBS fmt1+, 16-deep LBR, SandyBridge events, full-width counters, Intel PMU driver.
[ 0.096767] ... version: 3
[ 0.096772] ... bit width: 48
[ 0.096777] ... generic registers: 4
[ 0.096782] ... value mask: 0000ffffffffffff
[ 0.096788] ... max period: 0000ffffffffffff
[ 0.096793] ... fixed-purpose events: 3
[ 0.096798] ... event mask: 000000070000000f
[ 0.098627] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[ 0.099526] x86: Booting SMP configuration:
[ 0.099534] .... node #0, CPUs: #1
[ 0.099877] Disabled fast string operations
[ 0.179767] #2<6>[ 0.180076] Disabled fast string operations
[ 0.260116] #3
[ 0.260116] Disabled fast string operations
[ 0.339372] x86: Booted up 1 node, 4 CPUs
[ 0.339389] smpboot: Total of 4 processors activated (12787.27 BogoMIPS)
[ 0.344381] devtmpfs: initialized
[ 0.344733] x86/mm: Memory block size: 128MB
[ 0.350887] evm: security.selinux
[ 0.350893] evm: security.SMACK64
[ 0.350898] evm: security.capability
[ 0.351088] PM: Registering ACPI NVS region [mem 0xdae7f000-0xdaf9efff] (1179648 bytes)
[ 0.351528] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.353120] NET: Registered protocol family 16
[ 0.363332] cpuidle: using governor ladder
[ 0.379278] cpuidle: using governor menu
[ 0.379510] ACPI: bus type PCI registered
[ 0.379839] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
[ 0.379851] PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in E820
[ 0.379866] PCI: Using configuration type 1 for base access
[ 0.379919] core: PMU erratum BJ122, BV98, HSD29 worked around, HT is on
[ 0.395841] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 0.397176] ACPI: Added _OSI(Module Device)
[ 0.397185] ACPI: Added _OSI(Processor Device)
[ 0.397191] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.397197] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.398090] ACPI: Executed 1 blocks of module-level executable AML code
[ 0.416170] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[ 0.418254] ACPI: Dynamic OEM Table Load:
[ 0.418284] ACPI: SSDT 0xFFFF88011A01F000 000688 (v01 PmRef Cpu0Cst 00003001 INTL 20061109)
[ 0.421009] ACPI: Dynamic OEM Table Load:
[ 0.421037] ACPI: SSDT 0xFFFF88011A067800 000303 (v01 PmRef ApIst 00003000 INTL 20061109)
[ 0.423538] ACPI: Dynamic OEM Table Load:
[ 0.423565] ACPI: SSDT 0xFFFF88011A7A0000 000119 (v01 PmRef ApCst 00003000 INTL 20061109)
[ 0.427777] ACPI : EC: EC started
[ 0.429160] ACPI: Interpreter enabled
[ 0.429234] ACPI: (supports S0 S1 S3 S4 S5)
[ 0.429240] ACPI: Using IOAPIC for interrupt routing
[ 0.429325] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[ 0.454938] ACPI: Power Resource [FN00] (off)
[ 0.455468] ACPI: Power Resource [FN01] (off)
[ 0.455877] ACPI: Power Resource [FN02] (off)
[ 0.456281] ACPI: Power Resource [FN03] (off)
[ 0.456687] ACPI: Power Resource [FN04] (off)
[ 0.459561] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])
[ 0.459575] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[ 0.460341] \_SB_.PCI0 (33DB4D5B-1FF7-401C-9657-7441C03DD766): _OSC invalid UUID
[ 0.460344] _OSC request data: 1 1f 0
[ 0.460350] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
[ 0.461462] PCI host bridge to bus 0000:00
[ 0.461471] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
[ 0.461478] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
[ 0.461486] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[ 0.461496] pci_bus 0000:00: root bus resource [mem 0xdfa00000-0xfeafffff window]
[ 0.461506] pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfed44fff window]
[ 0.461516] pci_bus 0000:00: root bus resource [bus 00-3e]
[ 0.461605] pci 0000:00:00.0: [8086:0104] type 00 class 0x060000
[ 0.462074] pci 0000:00:02.0: [8086:0116] type 00 class 0x030000
[ 0.462095] pci 0000:00:02.0: reg 0x10: [mem 0xf0000000-0xf03fffff 64bit]
[ 0.462107] pci 0000:00:02.0: reg 0x18: [mem 0xe0000000-0xefffffff 64bit pref]
[ 0.462116] pci 0000:00:02.0: reg 0x20: [io 0x3000-0x303f]
[ 0.462628] pci 0000:00:16.0: [8086:1c3a] type 00 class 0x078000
[ 0.462669] pci 0000:00:16.0: reg 0x10: [mem 0xf0705000-0xf070500f 64bit]
[ 0.462823] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
[ 0.463220] pci 0000:00:1a.0: [8086:1c2d] type 00 class 0x0c0320
[ 0.463254] pci 0000:00:1a.0: reg 0x10: [mem 0xf070a000-0xf070a3ff]
[ 0.463441] pci 0000:00:1a.0: PME# supported from D0 D3hot D3cold
[ 0.463819] pci 0000:00:1b.0: [8086:1c20] type 00 class 0x040300
[ 0.463858] pci 0000:00:1b.0: reg 0x10: [mem 0xf0700000-0xf0703fff 64bit]
[ 0.464040] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[ 0.464266] pci 0000:00:1b.0: System wakeup disabled by ACPI
[ 0.464457] pci 0000:00:1c.0: [8086:1c10] type 01 class 0x060400
[ 0.464629] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[ 0.464829] pci 0000:00:1c.0: System wakeup disabled by ACPI
[ 0.465025] pci 0000:00:1c.3: [8086:1c16] type 01 class 0x060400
[ 0.465195] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold
[ 0.465395] pci 0000:00:1c.3: System wakeup disabled by ACPI
[ 0.465588] pci 0000:00:1c.4: [8086:1c18] type 01 class 0x060400
[ 0.465766] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
[ 0.466145] pci 0000:00:1d.0: [8086:1c26] type 00 class 0x0c0320
[ 0.466180] pci 0000:00:1d.0: reg 0x10: [mem 0xf0709000-0xf07093ff]
[ 0.466356] pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold
[ 0.466715] pci 0000:00:1f.0: [8086:1c49] type 00 class 0x060100
[ 0.467223] pci 0000:00:1f.2: [8086:1c03] type 00 class 0x010601
[ 0.467259] pci 0000:00:1f.2: reg 0x10: [io 0x3088-0x308f]
[ 0.467277] pci 0000:00:1f.2: reg 0x14: [io 0x3094-0x3097]
[ 0.467294] pci 0000:00:1f.2: reg 0x18: [io 0x3080-0x3087]
[ 0.467311] pci 0000:00:1f.2: reg 0x1c: [io 0x3090-0x3093]
[ 0.467329] pci 0000:00:1f.2: reg 0x20: [io 0x3060-0x307f]
[ 0.467347] pci 0000:00:1f.2: reg 0x24: [mem 0xf0708000-0xf07087ff]
[ 0.467465] pci 0000:00:1f.2: PME# supported from D3hot
[ 0.467830] pci 0000:00:1f.3: [8086:1c22] type 00 class 0x0c0500
[ 0.467864] pci 0000:00:1f.3: reg 0x10: [mem 0xf0704000-0xf07040ff 64bit]
[ 0.467913] pci 0000:00:1f.3: reg 0x20: [io 0xefa0-0xefbf]
[ 0.468666] pci 0000:01:00.0: [8086:0091] type 00 class 0x028000
[ 0.469042] pci 0000:01:00.0: reg 0x10: [mem 0xf0600000-0xf0601fff 64bit]
[ 0.470810] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[ 0.471217] pci 0000:01:00.0: System wakeup disabled by ACPI
[ 0.479687] pci 0000:00:1c.0: PCI bridge to [bus 01]
[ 0.479704] pci 0000:00:1c.0: bridge window [mem 0xf0600000-0xf06fffff]
[ 0.479937] pci 0000:02:00.0: [10ec:8168] type 00 class 0x020000
[ 0.480032] pci 0000:02:00.0: reg 0x10: [io 0x2000-0x20ff]
[ 0.480172] pci 0000:02:00.0: reg 0x18: [mem 0xf0404000-0xf0404fff 64bit pref]
[ 0.480258] pci 0000:02:00.0: reg 0x20: [mem 0xf0400000-0xf0403fff 64bit pref]
[ 0.480727] pci 0000:02:00.0: supports D1 D2
[ 0.480729] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 0.480941] pci 0000:02:00.0: System wakeup disabled by ACPI
[ 0.487612] pci 0000:00:1c.3: PCI bridge to [bus 02]
[ 0.487624] pci 0000:00:1c.3: bridge window [io 0x2000-0x2fff]
[ 0.487640] pci 0000:00:1c.3: bridge window [mem 0xf0400000-0xf04fffff 64bit pref]
[ 0.487840] pci 0000:03:00.0: [1b21:1042] type 00 class 0x0c0330
[ 0.487891] pci 0000:03:00.0: reg 0x10: [mem 0xf0500000-0xf0507fff 64bit]
[ 0.488173] pci 0000:03:00.0: PME# supported from D3hot D3cold
[ 0.488494] pci 0000:00:1c.4: PCI bridge to [bus 03]
[ 0.488510] pci 0000:00:1c.4: bridge window [mem 0xf0500000-0xf05fffff]
[ 0.490854] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 10 *11 12 14 15)
[ 0.491079] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled.
[ 0.491306] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 *10 11 12 14 15)
[ 0.491540] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 *10 11 12 14 15)
[ 0.491773] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 10 11 12 14 15) *9
[ 0.491996] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled.
[ 0.492221] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 10 *11 12 14 15)
[ 0.492442] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 10 11 12 14 15) *9
[ 0.494003] ACPI: Enabled 4 GPEs in block 00 to 3F
[ 0.494183] ACPI : EC: GPE = 0x17, I/O: command/status = 0x66, data = 0x62
[ 0.494472] ACPI : EC: 0 stale EC events cleared
[ 0.495286] vgaarb: setting as boot device: PCI:0000:00:02.0
[ 0.495294] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[ 0.495312] vgaarb: loaded
[ 0.495317] vgaarb: bridge control possible 0000:00:02.0
[ 0.496185] SCSI subsystem initialized
[ 0.496371] libata version 3.00 loaded.
[ 0.496476] ACPI: bus type USB registered
[ 0.496566] usbcore: registered new interface driver usbfs
[ 0.496614] usbcore: registered new interface driver hub
[ 0.496704] usbcore: registered new device driver usb
[ 0.497227] PCI: Using ACPI for IRQ routing
[ 0.500948] PCI: pci_cache_line_size set to 64 bytes
[ 0.501082] e820: reserve RAM buffer [mem 0x0009d800-0x0009ffff]
[ 0.501091] e820: reserve RAM buffer [mem 0xd9c9f000-0xdbffffff]
[ 0.501094] e820: reserve RAM buffer [mem 0xdb000000-0xdbffffff]
[ 0.501097] e820: reserve RAM buffer [mem 0x11fe00000-0x11fffffff]
[ 0.501918] NetLabel: Initializing
[ 0.501924] NetLabel: domain hash size = 128
[ 0.501930] NetLabel: protocols = UNLABELED CIPSOv4
[ 0.501992] NetLabel: unlabeled traffic allowed by default
[ 0.502324] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[ 0.502339] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
[ 0.504445] clocksource: Switched to clocksource hpet
[ 0.553701] VFS: Disk quotas dquot_6.6.0
[ 0.553759] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.554371] AppArmor: AppArmor Filesystem Enabled
[ 0.554637] pnp: PnP ACPI init
[ 0.555386] system 00:00: [io 0x0680-0x069f] has been reserved
[ 0.555396] system 00:00: [io 0x1000-0x100f] has been reserved
[ 0.555405] system 00:00: [io 0x5000-0x5003] has been reserved
[ 0.555413] system 00:00: [io 0xffff] has been reserved
[ 0.555421] system 00:00: [io 0x0400-0x0453] could not be reserved
[ 0.555430] system 00:00: [io 0x0458-0x047f] has been reserved
[ 0.555437] system 00:00: [io 0x0500-0x057f] has been reserved
[ 0.555445] system 00:00: [io 0x0a00-0x0a0f] has been reserved
[ 0.555453] system 00:00: [io 0x164e-0x164f] has been reserved
[ 0.555462] system 00:00: [io 0x5000-0x500f] could not be reserved
[ 0.555502] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.555611] pnp 00:01: Plug and Play ACPI device, IDs PNP0b00 (active)
[ 0.555819] system 00:02: [io 0x0454-0x0457] has been reserved
[ 0.555833] system 00:02: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[ 0.555952] pnp 00:03: Plug and Play ACPI device, IDs PNP0303 (active)
[ 0.556112] pnp 00:04: Plug and Play ACPI device, IDs ETD0b00 SYN0002 PNP0f13 (active)
[ 0.556702] system 00:05: [mem 0xfed1c000-0xfed1ffff] has been reserved
[ 0.556712] system 00:05: [mem 0xfed10000-0xfed17fff] has been reserved
[ 0.556720] system 00:05: [mem 0xfed18000-0xfed18fff] has been reserved
[ 0.556730] system 00:05: [mem 0xfed19000-0xfed19fff] has been reserved
[ 0.556739] system 00:05: [mem 0xf8000000-0xfbffffff] has been reserved
[ 0.556747] system 00:05: [mem 0xfed20000-0xfed3ffff] has been reserved
[ 0.556755] system 00:05: [mem 0xfed90000-0xfed93fff] has been reserved
[ 0.556763] system 00:05: [mem 0xfed45000-0xfed8ffff] has been reserved
[ 0.556772] system 00:05: [mem 0xff000000-0xffffffff] could not be reserved
[ 0.556781] system 00:05: [mem 0xfee00000-0xfeefffff] could not be reserved
[ 0.556794] system 00:05: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.557799] system 00:06: Plug and Play ACPI device, IDs PNP0c01 (active)
[ 0.557868] pnp: PnP ACPI: found 7 devices
[ 0.571443] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[ 0.571512] pci 0000:00:1c.0: PCI bridge to [bus 01]
[ 0.571527] pci 0000:00:1c.0: bridge window [mem 0xf0600000-0xf06fffff]
[ 0.571548] pci 0000:00:1c.3: PCI bridge to [bus 02]
[ 0.571556] pci 0000:00:1c.3: bridge window [io 0x2000-0x2fff]
[ 0.571574] pci 0000:00:1c.3: bridge window [mem 0xf0400000-0xf04fffff 64bit pref]
[ 0.571592] pci 0000:00:1c.4: PCI bridge to [bus 03]
[ 0.571604] pci 0000:00:1c.4: bridge window [mem 0xf0500000-0xf05fffff]
[ 0.571626] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window]
[ 0.571628] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window]
[ 0.571630] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[ 0.571632] pci_bus 0000:00: resource 7 [mem 0xdfa00000-0xfeafffff window]
[ 0.571634] pci_bus 0000:00: resource 8 [mem 0xfed40000-0xfed44fff window]
[ 0.571636] pci_bus 0000:01: resource 1 [mem 0xf0600000-0xf06fffff]
[ 0.571639] pci_bus 0000:02: resource 0 [io 0x2000-0x2fff]
[ 0.571641] pci_bus 0000:02: resource 2 [mem 0xf0400000-0xf04fffff 64bit pref]
[ 0.571643] pci_bus 0000:03: resource 1 [mem 0xf0500000-0xf05fffff]
[ 0.571803] NET: Registered protocol family 2
[ 0.572383] TCP established hash table entries: 32768 (order: 6, 262144 bytes)
[ 0.572706] TCP bind hash table entries: 32768 (order: 9, 2097152 bytes)
[ 0.575176] TCP: Hash tables configured (established 32768 bind 32768)
[ 0.575320] UDP hash table entries: 2048 (order: 6, 327680 bytes)
[ 0.575677] UDP-Lite hash table entries: 2048 (order: 6, 327680 bytes)
[ 0.576303] NET: Registered protocol family 1
[ 0.576343] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[ 0.578394] PCI: CLS 64 bytes, default 64
[ 0.578685] Trying to unpack rootfs image as initramfs...
[ 0.664525] Freeing initrd memory: 3572K (ffff8800378f6000 - ffff880037c73000)
[ 0.664619] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 0.664627] software IO TLB [mem 0xd5c9f000-0xd9c9f000] (64MB) mapped at [ffff8800d5c9f000-ffff8800d9c9efff]
[ 0.664827] RAPL PMU: API unit is 2^-32 Joules, 3 fixed counters, 163840 ms ovfl timer
[ 0.664837] RAPL PMU: hw unit of domain pp0-core 2^-16 Joules
[ 0.664842] RAPL PMU: hw unit of domain package 2^-16 Joules
[ 0.664848] RAPL PMU: hw unit of domain pp1-gpu 2^-16 Joules
[ 0.665197] Scanning for low memory corruption every 60 seconds
[ 0.666868] futex hash table entries: 2048 (order: 6, 262144 bytes)
[ 0.667091] audit: initializing netlink subsys (disabled)
[ 0.667186] audit: type=2000 audit(1459075663.656:1): initialized
[ 0.668845] Initialise system trusted keyring
[ 0.669335] workingset: timestamp_bits=38 max_order=20 bucket_order=0
[ 0.670624] fuse init (API version 7.24)
[ 0.673262] Key type asymmetric registered
[ 0.673288] Asymmetric key parser 'x509' registered
[ 0.673352] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 0.673515] io scheduler noop registered
[ 0.673524] io scheduler deadline registered (default)
[ 0.673590] io scheduler cfq registered
[ 0.673599] start plist test
[ 0.675514] end plist test
[ 0.676916] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 0.676951] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[ 0.677228] intel_idle: MWAIT substates: 0x21120
[ 0.677230] intel_idle: v0.4.1 model 0x2A
[ 0.677232] intel_idle: lapic_timer_reliable_states 0xffffffff
[ 0.678836] ACPI: AC Adapter [ADP1] (on-line)
[ 0.679150] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
[ 0.679211] ACPI: Lid Switch [LID0]
[ 0.679392] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
[ 0.679443] ACPI: Power Button [PWRB]
[ 0.679628] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
[ 0.679641] ACPI: Power Button [PWRF]
[ 0.684019] thermal LNXTHERM:00: registered as thermal_zone0
[ 0.684029] ACPI: Thermal Zone [TZ00] (69 C)
[ 0.685053] thermal LNXTHERM:01: registered as thermal_zone1
[ 0.685060] ACPI: Thermal Zone [TZ01] (30 C)
[ 0.685203] GHES: HEST is not enabled!
[ 0.685605] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[ 0.694240] ACPI: Battery Slot [BAT1] (battery present)
[ 0.694611] Linux agpgart interface v0.103
[ 0.707744] brd: module loaded
[ 0.714525] loop: module loaded
[ 0.719563] ahci 0000:00:1f.2: version 3.0
[ 0.720103] ahci 0000:00:1f.2: SSS flag set, parallel bus scan disabled
[ 0.730332] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x1b impl SATA mode
[ 0.730345] ahci 0000:00:1f.2: flags: 64bit ncq sntf ilck stag pm led clo pio slum part ems sxs apst
[ 0.755469] scsi host0: ahci
[ 0.756200] scsi host1: ahci
[ 0.756808] scsi host2: ahci
[ 0.757271] scsi host3: ahci
[ 0.757714] scsi host4: ahci
[ 0.758223] scsi host5: ahci
[ 0.758498] ata1: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708100 irq 25
[ 0.758510] ata2: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708180 irq 25
[ 0.758519] ata3: DUMMY
[ 0.758525] ata4: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708280 irq 25
[ 0.758535] ata5: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708300 irq 25
[ 0.758543] ata6: DUMMY
[ 0.760651] libphy: Fixed MDIO Bus: probed
[ 0.761139] tun: Universal TUN/TAP device driver, 1.6
[ 0.761145] tun: (C) 1999-2004 Max Krasnyansky <maxk@xxxxxxxxxxxx>
[ 0.761397] PPP generic driver version 2.4.2
[ 0.761587] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.761597] ehci-pci: EHCI PCI platform driver
[ 0.762118] ehci-pci 0000:00:1a.0: EHCI Host Controller
[ 0.762309] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1
[ 0.762390] ehci-pci 0000:00:1a.0: debug port 2
[ 0.766388] ehci-pci 0000:00:1a.0: cache line size of 64 is not supported
[ 0.766460] ehci-pci 0000:00:1a.0: irq 16, io mem 0xf070a000
[ 0.776487] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00
[ 0.776873] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.776882] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.776891] usb usb1: Product: EHCI Host Controller
[ 0.776897] usb usb1: Manufacturer: Linux 4.6.0-rc1-2-iniza-small ehci_hcd
[ 0.776904] usb usb1: SerialNumber: 0000:00:1a.0
[ 0.777984] hub 1-0:1.0: USB hub found
[ 0.778047] hub 1-0:1.0: 2 ports detected
[ 0.779633] ehci-pci 0000:00:1d.0: EHCI Host Controller
[ 0.779671] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 2
[ 0.779703] ehci-pci 0000:00:1d.0: debug port 2
[ 0.783628] ehci-pci 0000:00:1d.0: cache line size of 64 is not supported
[ 0.783666] ehci-pci 0000:00:1d.0: irq 23, io mem 0xf0709000
[ 0.792475] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00
[ 0.792646] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.792654] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.792663] usb usb2: Product: EHCI Host Controller
[ 0.792669] usb usb2: Manufacturer: Linux 4.6.0-rc1-2-iniza-small ehci_hcd
[ 0.792676] usb usb2: SerialNumber: 0000:00:1d.0
[ 0.793318] hub 2-0:1.0: USB hub found
[ 0.793352] hub 2-0:1.0: 2 ports detected
[ 0.793910] ehci-platform: EHCI generic platform driver
[ 0.793967] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.793988] ohci-pci: OHCI PCI platform driver
[ 0.794039] ohci-platform: OHCI generic platform driver
[ 0.794077] uhci_hcd: USB Universal Host Controller Interface driver
[ 0.794350] xhci_hcd 0000:03:00.0: xHCI Host Controller
[ 0.794382] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 3
[ 0.798872] xhci_hcd 0000:03:00.0: hcc params 0x0200f180 hci version 0x96 quirks 0x00080000
[ 0.799438] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.799446] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.799456] usb usb3: Product: xHCI Host Controller
[ 0.799462] usb usb3: Manufacturer: Linux 4.6.0-rc1-2-iniza-small xhci-hcd
[ 0.799468] usb usb3: SerialNumber: 0000:03:00.0
[ 0.800049] hub 3-0:1.0: USB hub found
[ 0.800128] hub 3-0:1.0: 2 ports detected
[ 0.800675] xhci_hcd 0000:03:00.0: xHCI Host Controller
[ 0.800695] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 4
[ 0.800803] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[ 0.800856] usb usb4: No SuperSpeed endpoint companion for config 1 interface 0 altsetting 0 ep 129: using minimum values
[ 0.800936] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003
[ 0.800943] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.800952] usb usb4: Product: xHCI Host Controller
[ 0.800958] usb usb4: Manufacturer: Linux 4.6.0-rc1-2-iniza-small xhci-hcd
[ 0.800965] usb usb4: SerialNumber: 0000:03:00.0
[ 0.801600] hub 4-0:1.0: USB hub found
[ 0.801653] hub 4-0:1.0: 2 ports detected
[ 0.802376] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:EPAD] at 0x60,0x64 irq 1,12
[ 0.808761] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 0.808818] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 0.809717] mousedev: PS/2 mouse device common for all mice
[ 0.811086] rtc_cmos 00:01: rtc core: registered rtc_cmos as rtc0
[ 0.811134] rtc_cmos 00:01: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[ 0.811241] device-mapper: uevent: version 1.0.3
[ 0.811453] device-mapper: ioctl: 4.34.0-ioctl (2015-10-28) initialised: dm-devel@xxxxxxxxxx
[ 0.811492] Intel P-state driver initializing.
[ 0.812350] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.812784] NET: Registered protocol family 10
[ 0.813670] NET: Registered protocol family 17
[ 0.813705] Key type dns_resolver registered
[ 0.814768] microcode: CPU0 sig=0x206a7, pf=0x10, revision=0x28
[ 0.814796] microcode: CPU1 sig=0x206a7, pf=0x10, revision=0x28
[ 0.814845] microcode: CPU2 sig=0x206a7, pf=0x10, revision=0x28
[ 0.814883] microcode: CPU3 sig=0x206a7, pf=0x10, revision=0x28
[ 0.815071] microcode: Microcode Update Driver: v2.01 <tigran@xxxxxxxxxxxxxxxxxxxx>, Peter Oruba
[ 0.815740] registered taskstats version 1
[ 0.815755] Loading compiled-in X.509 certificates
[ 0.817655] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[ 0.823124] Loaded X.509 cert 'Build time autogenerated kernel key: d861534734a1854c045ffb7a95ace7fffd94d654'
[ 0.827941] Key type trusted registered
[ 0.837116] Key type encrypted registered
[ 0.837136] AppArmor: AppArmor sha1 policy hashing enabled
[ 0.837146] evm: HMAC attrs: 0x1
[ 0.838260] rtc_cmos 00:01: setting system clock to 2016-03-27 10:47:44 UTC (1459075664)
[ 0.838465] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[ 0.838472] EDD information not available.
[ 1.064487] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 1.065788] ata1.00: ATA-8: Hitachi HTS545050A7E380, GG2OA6C0, max UDMA/133
[ 1.065819] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[ 1.067199] ata1.00: configured for UDMA/133
[ 1.068286] scsi 0:0:0:0: Direct-Access ATA Hitachi HTS54505 A6C0 PQ: 0 ANSI: 5
[ 1.088603] usb 1-1: new high-speed USB device number 2 using ehci-pci
[ 1.097620] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[ 1.097635] sd 0:0:0:0: [sda] 4096-byte physical blocks
[ 1.097914] sd 0:0:0:0: [sda] Write Protect is off
[ 1.097924] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.098024] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.098094] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 1.104454] usb 2-1: new high-speed USB device number 2 using ehci-pci
[ 1.148307] sda: sda1 sda2 sda3
[ 1.149901] sd 0:0:0:0: [sda] Attached SCSI disk
[ 1.221441] usb 1-1: New USB device found, idVendor=8087, idProduct=0024
[ 1.221452] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1.222459] hub 1-1:1.0: USB hub found
[ 1.222675] hub 1-1:1.0: 6 ports detected
[ 1.237211] usb 2-1: New USB device found, idVendor=8087, idProduct=0024
[ 1.237222] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 1.237970] hub 2-1:1.0: USB hub found
[ 1.238153] hub 2-1:1.0: 6 ports detected
[ 1.407803] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 1.408677] ata2.00: ATA-8: SanDisk iSSD P4 16GB, SSD 9.14, max UDMA/133
[ 1.408687] ata2.00: 31277232 sectors, multi 1: LBA48
[ 1.409591] ata2.00: configured for UDMA/133
[ 1.410115] scsi 1:0:0:0: Direct-Access ATA SanDisk iSSD P4 9.14 PQ: 0 ANSI: 5
[ 1.433207] sd 1:0:0:0: [sdb] 31277232 512-byte logical blocks: (16.0 GB/14.9 GiB)
[ 1.433451] sd 1:0:0:0: [sdb] Write Protect is off
[ 1.433465] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 1.433485] sd 1:0:0:0: Attached scsi generic sg1 type 0
[ 1.433546] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.434918] sdb: sdb1 sdb2
[ 1.435968] sd 1:0:0:0: [sdb] Attached SCSI disk
[ 1.496568] usb 1-1.4: new high-speed USB device number 3 using ehci-pci
[ 1.512567] usb 2-1.4: new low-speed USB device number 3 using ehci-pci
[ 1.611350] usb 2-1.4: New USB device found, idVendor=046d, idProduct=c00e
[ 1.611380] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.611388] usb 2-1.4: Product: USB-PS/2 Optical Mouse
[ 1.611394] usb 2-1.4: Manufacturer: Logitech
[ 1.664667] tsc: Refined TSC clocksource calibration: 1596.373 MHz
[ 1.664678] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x1702c2a0637, max_idle_ns: 440795222505 ns
[ 1.684532] usb 2-1.5: new full-speed USB device number 4 using ehci-pci
[ 1.740457] ata4: SATA link down (SStatus 0 SControl 300)
[ 1.749115] usb 1-1.4: New USB device found, idVendor=2232, idProduct=1018
[ 1.749127] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.749136] usb 1-1.4: Product: WebCam SC-13HDL11431N
[ 1.749142] usb 1-1.4: Manufacturer: 123
[ 1.781933] usb 2-1.5: New USB device found, idVendor=8086, idProduct=0189
[ 1.781944] usb 2-1.5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.048680] ata5: SATA link down (SStatus 0 SControl 300)
[ 2.050502] Freeing unused kernel memory: 1444K (ffffffff81f65000 - ffffffff820ce000)
[ 2.050514] Write protecting the kernel read-only data: 14336k
[ 2.052093] Freeing unused kernel memory: 1956K (ffff880001817000 - ffff880001a00000)
[ 2.054596] Freeing unused kernel memory: 784K (ffff880001d3c000 - ffff880001e00000)
[ 2.092416] udevd[171]: starting version 175
[ 2.375328] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[ 2.375356] r8169 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control
[ 2.380642] r8169 0000:02:00.0 eth0: RTL8168evl/8111evl at 0xffffc900009b0000, e8:03:9a:36:17:a9, XID 0c900800 IRQ 31
[ 2.380667] r8169 0000:02:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
[ 2.436653] usbcore: registered new interface driver usbhid
[ 2.436663] usbhid: USB HID core driver
[ 2.520552] 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.521071] 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.664755] clocksource: Switched to clocksource tsc
[ 3.335192] EXT4-fs (loop0): mounted filesystem with ordered data mode. Opts: (null)
[ 3.873581] random: nonblocking pool is initialized
[ 4.036411] usb 1-1.2: new high-speed USB device number 4 using ehci-pci
[ 4.131902] usb 1-1.2: New USB device found, idVendor=12d1, idProduct=1446
[ 4.131914] usb 1-1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[ 4.131923] usb 1-1.2: Product: HUAWEI Mobile
[ 4.131928] usb 1-1.2: Manufacturer: HUAWEI Technology
[ 5.379802] init: ureadahead main process (444) terminated with status 5
[ 9.666774] Adding 262140k swap on /host/ubuntu/disks/swap.disk. Priority:-1 extents:1 across:262140k FS
[ 9.922982] EXT4-fs (loop0): re-mounted. Opts: errors=remount-ro
[ 10.072288] udevd[670]: starting version 175
[ 11.125040] lp: driver loaded but no devices found
[ 13.283392] wmi: Mapper loaded
[ 13.451963] ACPI Warning: SystemIO range 0x0000000000000428-0x000000000000042F conflicts with OpRegion 0x0000000000000400-0x000000000000047F (\PMIO) (20160108/utaddress-255)
[ 13.451978] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[ 13.451986] ACPI Warning: SystemIO range 0x0000000000000540-0x000000000000054F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20160108/utaddress-255)
[ 13.451995] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[ 13.452000] ACPI Warning: SystemIO range 0x0000000000000530-0x000000000000053F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20160108/utaddress-255)
[ 13.452007] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[ 13.452011] ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052F conflicts with OpRegion 0x0000000000000500-0x0000000000000563 (\GPIO) (20160108/utaddress-255)
[ 13.452019] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[ 13.452022] lpc_ich: Resource conflict(s) found affecting gpio_ich
[ 13.487064] [drm] Initialized drm 1.1.0 20060810
[ 13.726449] samsung_laptop: detected SABI interface: SwSmi@
[ 14.276940] Bluetooth: Core ver 2.21
[ 14.278769] NET: Registered protocol family 31
[ 14.278774] Bluetooth: HCI device and connection manager initialized
[ 14.278867] Bluetooth: HCI socket layer initialized
[ 14.278878] Bluetooth: L2CAP socket layer initialized
[ 14.279046] Bluetooth: SCO socket layer initialized
[ 14.689301] Intel(R) Wireless WiFi driver for Linux
[ 14.689306] Copyright(c) 2003- 2015 Intel Corporation
[ 14.689693] iwlwifi 0000:01:00.0: can't disable ASPM; OS doesn't have ASPM control
[ 14.858827] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[ 14.859352] scsi host6: usb-storage 1-1.2:1.0
[ 14.859681] usb-storage 1-1.2:1.1: USB Mass Storage device detected
[ 14.860015] scsi host7: usb-storage 1-1.2:1.1
[ 14.860335] usbcore: registered new interface driver usb-storage
[ 14.908715] Linux video capture interface: v2.00
[ 14.937756] usbcore: registered new interface driver btusb
[ 14.965731] psmouse serio1: elantech: assuming hardware version 3 (with firmware version 0x450f00)
[ 14.985576] psmouse serio1: elantech: Synaptics capabilities query result 0x08, 0x17, 0x0c.
[ 15.000748] psmouse serio1: elantech: Elan sample query result 03, 3f, 86
[ 15.076817] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input6
[ 15.640329] iwlwifi 0000:01:00.0: loaded firmware version 18.168.6.1 op_mode iwldvm
[ 15.858297] scsi 6:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2
[ 15.861311] scsi 7:0:0:0: Direct-Access HUAWEI SD Storage 2.31 PQ: 0 ANSI: 2
[ 15.867956] sr 6:0:0:0: [sr0] scsi-1 drive
[ 15.867963] cdrom: Uniform CD-ROM driver Revision: 3.20
[ 15.870745] sr 6:0:0:0: Attached scsi CD-ROM sr0
[ 15.871634] sr 6:0:0:0: Attached scsi generic sg2 type 5
[ 15.874144] sd 7:0:0:0: Attached scsi generic sg3 type 0
[ 15.879621] sd 7:0:0:0: [sdc] Attached SCSI removable disk
[ 16.050769] [drm] Memory usable by graphics device = 2048M
[ 16.050837] [drm] Replacing VGA console driver
[ 16.057830] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 16.057833] [drm] Driver supports precise vblank timestamp query.
[ 16.060392] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[ 16.077663] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no)
[ 16.078649] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input7
[ 16.080993] [drm] Initialized i915 1.6.0 20160229 for 0000:00:02.0 on minor 0
[ 16.222024] fbcon: inteldrmfb (fb0) is primary device
[ 17.081513] audit: type=1400 audit(1459068480.741:2): apparmor="STATUS" operation="profile_load" name="/sbin/dhclient" pid=1079 comm="apparmor_parser"
[ 17.081522] audit: type=1400 audit(1459068480.741:3): apparmor="STATUS" operation="profile_load" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1079 comm="apparmor_parser"
[ 17.081528] audit: type=1400 audit(1459068480.741:4): apparmor="STATUS" operation="profile_load" name="/usr/lib/connman/scripts/dhclient-script" pid=1079 comm="apparmor_parser"
[ 17.081560] audit: type=1400 audit(1459068480.741:5): apparmor="STATUS" operation="profile_replace" name="/sbin/dhclient" pid=1080 comm="apparmor_parser"
[ 17.081572] audit: type=1400 audit(1459068480.741:6): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1080 comm="apparmor_parser"
[ 17.081582] audit: type=1400 audit(1459068480.741:7): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=1080 comm="apparmor_parser"
[ 17.082408] audit: type=1400 audit(1459068480.741:8): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1079 comm="apparmor_parser"
[ 17.082420] audit: type=1400 audit(1459068480.741:9): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=1079 comm="apparmor_parser"
[ 17.082491] audit: type=1400 audit(1459068480.741:10): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=1080 comm="apparmor_parser"
[ 17.082502] audit: type=1400 audit(1459068480.741:11): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=1080 comm="apparmor_parser"
[ 17.384034] Console: switching to colour frame buffer device 170x48
[ 17.388209] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[ 17.662850] usb 1-1.2: USB disconnect, device number 4
[ 17.768148] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 17.768153] Bluetooth: BNEP filters: protocol multicast
[ 17.768164] Bluetooth: BNEP socket layer initialized
[ 17.812332] Bluetooth: RFCOMM TTY layer initialized
[ 17.812360] Bluetooth: RFCOMM socket layer initialized
[ 17.812382] Bluetooth: RFCOMM ver 1.11
[ 17.814257] ppdev: user-space parallel port driver
[ 18.177782] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC269VC: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[ 18.177788] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 18.177791] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x15/0x0/0x0/0x0/0x0)
[ 18.177793] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
[ 18.177795] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 18.177798] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x19
[ 18.177802] snd_hda_codec_realtek hdaudioC0D0: Mic=0x18
[ 18.275498] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
[ 18.276844] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
[ 18.287763] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10
[ 18.360440] uvcvideo: Found UVC 1.00 device WebCam SC-13HDL11431N (2232:1018)
[ 18.380296] 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.380863] usbcore: registered new interface driver uvcvideo
[ 18.380867] USB Video Class driver (1.1.1)
[ 18.567161] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEBUG disabled
[ 18.567167] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEBUGFS enabled
[ 18.567169] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
[ 18.567173] iwlwifi 0000:01:00.0: Detected Intel(R) Centrino(R) Advanced-N 6230 AGN, REV=0xB0
[ 18.567740] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[ 18.585321] init: failsafe main process (1152) killed by TERM signal
[ 18.825033] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'
[ 21.703539] usb 1-1.2: new high-speed USB device number 5 using ehci-pci
[ 21.806130] usb 1-1.2: New USB device found, idVendor=12d1, idProduct=1436
[ 21.806136] usb 1-1.2: New USB device strings: Mfr=4, Product=3, SerialNumber=0
[ 21.806139] usb 1-1.2: Product: HUAWEI Mobile
[ 21.806141] usb 1-1.2: Manufacturer: HUAWEI Technology
[ 21.809402] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[ 21.810391] usb-storage 1-1.2:1.1: USB Mass Storage device detected
[ 21.810957] usb-storage 1-1.2:1.2: USB Mass Storage device detected
[ 21.811580] usb-storage 1-1.2:1.3: USB Mass Storage device detected
[ 21.812228] usb-storage 1-1.2:1.4: USB Mass Storage device detected
[ 21.812795] usb-storage 1-1.2:1.5: USB Mass Storage device detected
[ 21.813304] scsi host6: usb-storage 1-1.2:1.5
[ 21.814059] usb-storage 1-1.2:1.6: USB Mass Storage device detected
[ 21.814547] scsi host7: usb-storage 1-1.2:1.6
[ 21.890537] usbcore: registered new interface driver usbserial
[ 21.923895] 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.924051] usbcore: registered new interface driver cdc_ether
[ 21.976535] usbcore: registered new interface driver option
[ 21.978528] usbserial: USB Serial support registered for GSM modem (1-port)
[ 21.980906] option 1-1.2:1.0: GSM modem (1-port) converter detected
[ 21.981991] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
[ 21.982363] option 1-1.2:1.3: GSM modem (1-port) converter detected
[ 21.983847] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
[ 21.983941] option 1-1.2:1.4: GSM modem (1-port) converter detected
[ 21.984781] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
[ 22.813505] scsi 7:0:0:0: Direct-Access HUAWEI SD Storage 2.31 PQ: 0 ANSI: 2
[ 22.813744] scsi 6:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2
[ 22.815607] sd 7:0:0:0: Attached scsi generic sg2 type 0
[ 22.822645] sr 6:0:0:0: [sr0] scsi-1 drive
[ 22.822996] sd 7:0:0:0: [sdc] Attached SCSI removable disk
[ 22.826639] sr 6:0:0:0: Attached scsi CD-ROM sr0
[ 22.827955] sr 6:0:0:0: Attached scsi generic sg3 type 5
[ 23.605495] r8169 0000:02:00.0 eth0: link down
[ 23.605572] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 282.186579] PPP BSD Compression module registered
[ 282.238921] PPP Deflate Compression module registered
[ 283.650457] usb 2-1.5: USB disconnect, device number 4
Miklos Szeredi (4):
fs: add file_dentry()
nfs: use file_dentry()
ext4: use dget_parent() in ext4_file_open()
ext4: use file_dentry()

Sedat Dilek (1):
Merge branch 'dev' of git://git.kernel.org/.../tytso/ext4 into for-4.6/vfs-nfs-ext4-ovl-fixes

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()

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/nfs/dir.c | 6 +++---
fs/nfs/inode.c | 2 +-
fs/nfs/nfs4file.c | 4 ++--
fs/overlayfs/super.c | 33 +++++++++++++++++++++++++++++++++
include/linux/dcache.h | 10 ++++++++++
include/linux/fs.h | 10 ++++++++++
13 files changed, 146 insertions(+), 39 deletions(-)

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/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..5d972e6cd3fe 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,
};
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);

Attachment: config-4.6.0-rc1-2-iniza-small
Description: Binary data