* [BUG] v3.12-rc5-139-gbdeeab6 assertion failed at drivers/net/bonding/bond_main.c (3398)
From: Thomas Glanzmann @ 2013-10-19 20:27 UTC (permalink / raw)
To: netdev
Cc: Jay Vosburgh, Andy Gospodarek, Nikolay Aleksandrov,
Veaceslav Falico, David S. Miller
Hello,
I'm referring to commit 7864a1adf7291993d74923fdd0a45459ce9da27e. I just
checked out the tip from Linus tree compiled it and run it on Debian Wheezy
with 4 1 GBIT NICs, two connected to one switch and two to another. I
configured bonding to use tlb. On the ports is one untagged and one
tagged VLAN. When I boot the kernel even if only one NIC is attached I
get multiple failed assertions:
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.12.0-rc5+ (sithglan@infra) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Sat Oct 19 20:15:20 CEST 2013
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.12.0-rc5+ root=UUID=80f5fc61-60ba-4e3d-8d3a-2a51e4e4a5bc ro
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009abff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009ac00-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dfe9fff] usable
[ 0.000000] BIOS-e820: [mem 0x000000007dfea000-0x000000007e026fff] reserved
[ 0.000000] BIOS-e820: [mem 0x000000007e027000-0x000000007e2c2fff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x000000007e2c3000-0x000000007f36bfff] reserved
[ 0.000000] BIOS-e820: [mem 0x000000007f36c000-0x000000007f7fffff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x0000000080000000-0x000000008fffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed3ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000107fffffff] usable
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] SMBIOS 2.7 present.
[ 0.000000] DMI: Supermicro X9SRD-F/X9SRD-F, BIOS 1.0a 10/15/2012
[ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[ 0.000000] No AGP bridge found
[ 0.000000] e820: last_pfn = 0x1080000 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 000000000000 mask 3FF000000000 write-back
[ 0.000000] 1 base 001000000000 mask 3FFF80000000 write-back
[ 0.000000] 2 base 000080000000 mask 3FFF80000000 uncachable
[ 0.000000] 3 disabled
[ 0.000000] 4 disabled
[ 0.000000] 5 disabled
[ 0.000000] 6 disabled
[ 0.000000] 7 disabled
[ 0.000000] 8 disabled
[ 0.000000] 9 disabled
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] e820: update [mem 0x80000000-0xffffffff] usable ==> reserved
[ 0.000000] e820: last_pfn = 0x7dfea max_arch_pfn = 0x400000000
[ 0.000000] found SMP MP-table at [mem 0x000fd840-0x000fd84f] mapped at [ffff8800000fd840]
[ 0.000000] Base memory trampoline at [ffff880000094000] 94000 size 24576
[ 0.000000] Using GB pages for direct mapping
[ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[ 0.000000] [mem 0x00000000-0x000fffff] page 4k
[ 0.000000] BRK [0x01853000, 0x01853fff] PGTABLE
[ 0.000000] BRK [0x01854000, 0x01854fff] PGTABLE
[ 0.000000] BRK [0x01855000, 0x01855fff] PGTABLE
[ 0.000000] init_memory_mapping: [mem 0x107fe00000-0x107fffffff]
[ 0.000000] [mem 0x107fe00000-0x107fffffff] page 1G
[ 0.000000] init_memory_mapping: [mem 0x107c000000-0x107fdfffff]
[ 0.000000] [mem 0x107c000000-0x107fdfffff] page 1G
[ 0.000000] init_memory_mapping: [mem 0x1000000000-0x107bffffff]
[ 0.000000] [mem 0x1000000000-0x107bffffff] page 1G
[ 0.000000] init_memory_mapping: [mem 0x00100000-0x7dfe9fff]
[ 0.000000] [mem 0x00100000-0x001fffff] page 4k
[ 0.000000] [mem 0x00200000-0x7ddfffff] page 2M
[ 0.000000] [mem 0x7de00000-0x7dfe9fff] page 4k
[ 0.000000] init_memory_mapping: [mem 0x100000000-0xfffffffff]
[ 0.000000] [mem 0x100000000-0xfffffffff] page 1G
[ 0.000000] RAMDISK: [mem 0x36938000-0x37493fff]
[ 0.000000] ACPI: RSDP 00000000000f0490 00024 (v02 SUPERM)
[ 0.000000] ACPI: XSDT 000000007e245088 0008C (v01 \xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff \xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff 00000001 AMI 00010013)
[ 0.000000] ACPI: FACP 000000007e24e7d8 000F4 (v04 \xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff \xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff 00000001 AMI 00010013)
[ 0.000000] ACPI: DSDT 000000007e2451a8 09629 (v02 \xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff \xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff\xffffffff 00000000 INTL 20091112)
[ 0.000000] ACPI: FACS 000000007e2c0f80 00040
[ 0.000000] ACPI: APIC 000000007e24e8d0 00100 (v03 00000001 AMI 00010013)
[ 0.000000] ACPI: FPDT 000000007e24e9d0 00044 (v01 00000001 AMI 00010013)
[ 0.000000] ACPI: HPET 000000007e24ea18 00038 (v01 SUPERM SMCI--MB 00000001 AMI. 00000005)
[ 0.000000] ACPI: PRAD 000000007e24ea50 000BE (v02 PRADID PRADTID 00000001 MSFT 04000000)
[ 0.000000] ACPI: SPMI 000000007e24eb10 00040 (v05 A M I OEMSPMI 00000000 AMI. 00000000)
[ 0.000000] ACPI: SSDT 000000007e24eb50 6B344 (v02 INTEL CpuPm 00004000 INTL 20091112)
[ 0.000000] ACPI: EINJ 000000007e2b9e98 00130 (v01 AMI AMI EINJ 00000000 00000000)
[ 0.000000] ACPI: ERST 000000007e2b9fc8 00230 (v01 AMIER AMI ERST 00000000 00000000)
[ 0.000000] ACPI: HEST 000000007e2ba1f8 000A8 (v01 AMI AMI HEST 00000000 00000000)
[ 0.000000] ACPI: BERT 000000007e2ba2a0 00030 (v01 AMI AMI BERT 00000000 00000000)
[ 0.000000] ACPI: DMAR 000000007e2ba2d0 000CC (v01 A M I OEMDMAR 00000001 INTL 00000001)
[ 0.000000] ACPI: MCFG 000000007e2ba3a0 0003C (v01 SUPERM SMCI--MB 00000001 MSFT 00000097)
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] No NUMA configuration found
[ 0.000000] Faking a node at [mem 0x0000000000000000-0x000000107fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x00000000-0x107fffffff]
[ 0.000000] NODE_DATA [mem 0x107fffa000-0x107fffdfff]
[ 0.000000] [ffffea0000000000-ffffea0039bfffff] PMD -> [ffff88103f600000-ffff8810775fffff] on node 0
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x00001000-0x00ffffff]
[ 0.000000] DMA32 [mem 0x01000000-0xffffffff]
[ 0.000000] Normal [mem 0x100000000-0x107fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00001000-0x00099fff]
[ 0.000000] node 0: [mem 0x00100000-0x7dfe9fff]
[ 0.000000] node 0: [mem 0x100000000-0x107fffffff]
[ 0.000000] On node 0 totalpages: 16768899
[ 0.000000] DMA zone: 56 pages used for memmap
[ 0.000000] DMA zone: 21 pages reserved
[ 0.000000] DMA zone: 3993 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 7000 pages used for memmap
[ 0.000000] DMA32 zone: 511978 pages, LIFO batch:31
[ 0.000000] Normal zone: 222208 pages used for memmap
[ 0.000000] Normal zone: 16252928 pages, LIFO batch:31
[ 0.000000] ACPI: PM-Timer IO Port: 0x408
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x08] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x0a] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x09] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x0b] enabled)
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x06] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x08] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x0a] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x05] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x07] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x09] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x0b] high edge lint[0x1])
[ 0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[ 0.000000] IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
[ 0.000000] ACPI: IOAPIC (id[0x02] address[0xfec01000] gsi_base[24])
[ 0.000000] IOAPIC[1]: apic_id 2, version 32, address 0xfec01000, GSI 24-47
[ 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: IRQ2 used by override.
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] ACPI: HPET id: 0x8086a701 base: 0xfed00000
[ 0.000000] smpboot: Allowing 12 CPUs, 0 hotplug CPUs
[ 0.000000] nr_irqs_gsi: 64
[ 0.000000] PM: Registered nosave memory: [mem 0x0009a000-0x0009afff]
[ 0.000000] PM: Registered nosave memory: [mem 0x0009b000-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 0x7dfea000-0x7e026fff]
[ 0.000000] PM: Registered nosave memory: [mem 0x7e027000-0x7e2c2fff]
[ 0.000000] PM: Registered nosave memory: [mem 0x7e2c3000-0x7f36bfff]
[ 0.000000] PM: Registered nosave memory: [mem 0x7f36c000-0x7f7fffff]
[ 0.000000] PM: Registered nosave memory: [mem 0x7f800000-0x7fffffff]
[ 0.000000] PM: Registered nosave memory: [mem 0x80000000-0x8fffffff]
[ 0.000000] PM: Registered nosave memory: [mem 0x90000000-0xfed1bfff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfed1c000-0xfed3ffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xfed40000-0xfeffffff]
[ 0.000000] PM: Registered nosave memory: [mem 0xff000000-0xffffffff]
[ 0.000000] e820: [mem 0x90000000-0xfed1bfff] available for PCI devices
[ 0.000000] setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:12 nr_node_ids:1
[ 0.000000] PERCPU: Embedded 27 pages/cpu @ffff88107fc00000 s80704 r8192 d21696 u131072
[ 0.000000] pcpu-alloc: s80704 r8192 d21696 u131072 alloc=1*2097152
[ 0.000000] pcpu-alloc: [0] 00 01 02 03 04 05 06 07 08 09 10 11 -- -- -- --
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16539614
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.12.0-rc5+ root=UUID=80f5fc61-60ba-4e3d-8d3a-2a51e4e4a5bc ro
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] xsave: enabled xstate_bv 0x7, cntxt size 0x340
[ 0.000000] Checking aperture...
[ 0.000000] No AGP bridge found
[ 0.000000] Calgary: detecting Calgary via BIOS EBDA area
[ 0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
[ 0.000000] Memory: 66070184K/67075596K available (3584K kernel code, 607K rwdata, 1512K rodata, 872K init, 876K bss, 1005412K reserved)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU dyntick-idle grace-period acceleration is enabled.
[ 0.000000] RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=12.
[ 0.000000] NR_IRQS:33024 nr_irqs:1184 16
[ 0.000000] Console: colour VGA+ 80x25
[ 0.000000] console [tty0] enabled
[ 0.000000] hpet clockevent registered
[ 0.000000] tsc: Fast TSC calibration using PIT
[ 0.004000] tsc: Detected 1999.978 MHz processor
[ 0.000004] Calibrating delay loop (skipped), value calculated using timer frequency.. 3999.95 BogoMIPS (lpj=7999912)
[ 0.000145] pid_max: default: 32768 minimum: 301
[ 0.000250] Security Framework initialized
[ 0.000321] AppArmor: AppArmor disabled by boot time parameter
[ 0.005209] Dentry cache hash table entries: 8388608 (order: 14, 67108864 bytes)
[ 0.020973] Inode-cache hash table entries: 4194304 (order: 13, 33554432 bytes)
[ 0.027672] Mount-cache hash table entries: 256
[ 0.027980] Initializing cgroup subsys devices
[ 0.028052] Initializing cgroup subsys freezer
[ 0.028122] Initializing cgroup subsys net_cls
[ 0.028192] Initializing cgroup subsys blkio
[ 0.028261] Initializing cgroup subsys perf_event
[ 0.028357] CPU: Physical Processor ID: 0
[ 0.028425] CPU: Processor Core ID: 0
[ 0.028519] mce: CPU supports 18 MCE banks
[ 0.028618] CPU0: Thermal monitoring enabled (TM1)
[ 0.028708] Last level iTLB entries: 4KB 512, 2MB 0, 4MB 0
[ 0.028708] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32
[ 0.028708] tlb_flushall_shift: 5
[ 0.028929] Freeing SMP alternatives memory: 12K (ffffffff81773000 - ffffffff81776000)
[ 0.029019] ACPI: Core revision 20130725
[ 0.053605] ACPI: All ACPI Tables successfully acquired
[ 0.054045] dmar: Host address width 46
[ 0.054114] dmar: DRHD base: 0x000000fbffc000 flags: 0x1
[ 0.054191] dmar: IOMMU 0: reg_base_addr fbffc000 ver 1:0 cap d2078c106f0462 ecap f020fe
[ 0.054280] dmar: RMRR base: 0x0000007dffd000 end: 0x0000007e009fff
[ 0.054352] dmar: ATSR flags: 0x0
[ 0.054419] dmar: RHSA base: 0x000000fbffc000 proximity domain: 0x0
[ 0.054586] IOAPIC id 0 under DRHD base 0xfbffc000 IOMMU 0
[ 0.054658] IOAPIC id 2 under DRHD base 0xfbffc000 IOMMU 0
[ 0.054729] HPET id 0 under DRHD base 0xfbffc000
[ 0.054927] Enabled IRQ remapping in x2apic mode
[ 0.054996] Enabling x2apic
[ 0.055061] Enabled x2apic
[ 0.055131] Switched APIC routing to cluster x2apic.
[ 0.055744] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[ 0.095498] smpboot: CPU0: Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz (fam: 06, model: 2d, stepping: 07)
[ 0.095735] TSC deadline timer enabled
[ 0.095744] Performance Events: PEBS fmt1+, 16-deep LBR, SandyBridge events, full-width counters, Intel PMU driver.
[ 0.096078] ... version: 3
[ 0.096145] ... bit width: 48
[ 0.101511] ... generic registers: 4
[ 0.101579] ... value mask: 0000ffffffffffff
[ 0.101649] ... max period: 0000ffffffffffff
[ 0.101718] ... fixed-purpose events: 3
[ 0.101786] ... event mask: 000000070000000f
[ 0.116326] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[ 0.102246] smpboot: Booting Node 0, Processors # 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10 # 11 OK
[ 0.248878] Brought up 12 CPUs
[ 0.248949] smpboot: Total of 12 processors activated (47999.47 BogoMIPS)
[ 0.267646] devtmpfs: initialized
[ 0.281269] PM: Registering ACPI NVS region [mem 0x7e027000-0x7e2c2fff] (2736128 bytes)
[ 0.281497] PM: Registering ACPI NVS region [mem 0x7f36c000-0x7f7fffff] (4800512 bytes)
[ 0.282080] regulator-dummy: no parameters
[ 0.282240] NET: Registered protocol family 16
[ 0.282421] cpuidle: using governor ladder
[ 0.282489] cpuidle: using governor menu
[ 0.282577] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[ 0.282666] ACPI: bus type PCI registered
[ 0.282734] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[ 0.282882] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0x80000000-0x8fffffff] (base 0x80000000)
[ 0.282975] PCI: MMCONFIG at [mem 0x80000000-0x8fffffff] reserved in E820
[ 0.292053] PCI: Using configuration type 1 for base access
[ 0.294195] bio: create slab <bio-0> at 0
[ 0.294500] ACPI: Added _OSI(Module Device)
[ 0.294569] ACPI: Added _OSI(Processor Device)
[ 0.294637] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.294707] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.299686] ACPI: EC: Look up EC in DSDT
[ 0.304858] ACPI: Executed 1 blocks of module-level executable AML code
[ 0.585219] ACPI: Interpreter enabled
[ 0.585299] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20130725/hwxface-571)
[ 0.585485] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S3_] (20130725/hwxface-571)
[ 0.585676] ACPI: (supports S0 S1 S4 S5)
[ 0.585744] ACPI: Using IOAPIC for interrupt routing
[ 0.585883] HEST: Table parsing has been initialized.
[ 0.585955] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[ 0.586280] ACPI: No dock devices found.
[ 0.588734] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[ 0.597833] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-fe])
[ 0.598131] acpi PNP0A08:00: Requesting ACPI _OSC control (0x1d)
[ 0.598525] acpi PNP0A08:00: ACPI _OSC control (0x11) granted
[ 0.598924] ACPI: \_SB_.PCI0.IOH_: can't evaluate _ADR (0x5)
[ 0.598996] ACPI: \_SB_.PCI0.VTDR: can't evaluate _ADR (0x5)
[ 0.599079] ACPI: \_SB_.PCI0.PCH_: can't evaluate _ADR (0x5)
[ 0.599151] ACPI: \_SB_.PCI0.CWDT: can't evaluate _ADR (0x5)
[ 0.599368] ACPI: \_SB_.PCI0.HPET: can't evaluate _ADR (0x5)
[ 0.599440] ACPI: \_SB_.PCI0.ITPM: can't evaluate _ADR (0x5)
[ 0.599511] PCI host bridge to bus 0000:00
[ 0.599580] pci_bus 0000:00: root bus resource [bus 00-fe]
[ 0.599652] pci_bus 0000:00: root bus resource [io 0x0000-0x03af]
[ 0.599725] pci_bus 0000:00: root bus resource [io 0x03e0-0x0cf7]
[ 0.599797] pci_bus 0000:00: root bus resource [io 0x03b0-0x03df]
[ 0.599869] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff]
[ 0.599942] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[ 0.600015] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff]
[ 0.600089] pci_bus 0000:00: root bus resource [mem 0xfed0e000-0xfed0ffff]
[ 0.600162] pci_bus 0000:00: root bus resource [mem 0x80000000-0xfbffffff]
[ 0.600247] pci 0000:00:00.0: [8086:3c00] type 00 class 0x060000
[ 0.600307] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[ 0.600420] pci 0000:00:01.0: [8086:3c02] type 01 class 0x060400
[ 0.600489] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[ 0.600562] pci 0000:00:01.0: System wakeup disabled by ACPI
[ 0.600679] pci 0000:00:01.1: [8086:3c03] type 01 class 0x060400
[ 0.600747] pci 0000:00:01.1: PME# supported from D0 D3hot D3cold
[ 0.600818] pci 0000:00:01.1: System wakeup disabled by ACPI
[ 0.600940] pci 0000:00:02.0: [8086:3c04] type 01 class 0x060400
[ 0.601007] pci 0000:00:02.0: PME# supported from D0 D3hot D3cold
[ 0.601080] pci 0000:00:02.0: System wakeup disabled by ACPI
[ 0.601194] pci 0000:00:02.2: [8086:3c06] type 01 class 0x060400
[ 0.601261] pci 0000:00:02.2: PME# supported from D0 D3hot D3cold
[ 0.601332] pci 0000:00:02.2: System wakeup disabled by ACPI
[ 0.601449] pci 0000:00:03.0: [8086:3c08] type 01 class 0x060400
[ 0.601516] pci 0000:00:03.0: PME# supported from D0 D3hot D3cold
[ 0.601589] pci 0000:00:03.0: System wakeup disabled by ACPI
[ 0.601703] pci 0000:00:03.2: [8086:3c0a] type 01 class 0x060400
[ 0.601770] pci 0000:00:03.2: PME# supported from D0 D3hot D3cold
[ 0.601841] pci 0000:00:03.2: System wakeup disabled by ACPI
[ 0.601960] pci 0000:00:04.0: [8086:3c20] type 00 class 0x088000
[ 0.601976] pci 0000:00:04.0: reg 0x10: [mem 0xfb81c000-0xfb81ffff 64bit]
[ 0.602134] pci 0000:00:04.1: [8086:3c21] type 00 class 0x088000
[ 0.602148] pci 0000:00:04.1: reg 0x10: [mem 0xfb818000-0xfb81bfff 64bit]
[ 0.602305] pci 0000:00:04.2: [8086:3c22] type 00 class 0x088000
[ 0.602320] pci 0000:00:04.2: reg 0x10: [mem 0xfb814000-0xfb817fff 64bit]
[ 0.602483] pci 0000:00:04.3: [8086:3c23] type 00 class 0x088000
[ 0.602498] pci 0000:00:04.3: reg 0x10: [mem 0xfb810000-0xfb813fff 64bit]
[ 0.602655] pci 0000:00:04.4: [8086:3c24] type 00 class 0x088000
[ 0.602670] pci 0000:00:04.4: reg 0x10: [mem 0xfb80c000-0xfb80ffff 64bit]
[ 0.602831] pci 0000:00:04.5: [8086:3c25] type 00 class 0x088000
[ 0.602845] pci 0000:00:04.5: reg 0x10: [mem 0xfb808000-0xfb80bfff 64bit]
[ 0.603000] pci 0000:00:04.6: [8086:3c26] type 00 class 0x088000
[ 0.603015] pci 0000:00:04.6: reg 0x10: [mem 0xfb804000-0xfb807fff 64bit]
[ 0.603169] pci 0000:00:04.7: [8086:3c27] type 00 class 0x088000
[ 0.603184] pci 0000:00:04.7: reg 0x10: [mem 0xfb800000-0xfb803fff 64bit]
[ 0.603337] pci 0000:00:05.0: [8086:3c28] type 00 class 0x088000
[ 0.603479] pci 0000:00:05.2: [8086:3c2a] type 00 class 0x088000
[ 0.603620] pci 0000:00:05.4: [8086:3c2c] type 00 class 0x080020
[ 0.603633] pci 0000:00:05.4: reg 0x10: [mem 0xfb825000-0xfb825fff]
[ 0.603789] pci 0000:00:11.0: [8086:1d3e] type 01 class 0x060400
[ 0.603881] pci 0000:00:11.0: PME# supported from D0 D3hot D3cold
[ 0.603997] pci 0000:00:16.0: [8086:1d3a] type 00 class 0x078000
[ 0.604020] pci 0000:00:16.0: reg 0x10: [mem 0xfed0e000-0xfed0e00f 64bit]
[ 0.604095] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
[ 0.604199] pci 0000:00:16.1: [8086:1d3b] type 00 class 0x078000
[ 0.604222] pci 0000:00:16.1: reg 0x10: [mem 0xfed0f000-0xfed0f00f 64bit]
[ 0.604297] pci 0000:00:16.1: PME# supported from D0 D3hot D3cold
[ 0.604415] pci 0000:00:1a.0: [8086:1d2d] type 00 class 0x0c0320
[ 0.604437] pci 0000:00:1a.0: reg 0x10: [mem 0xfb823000-0xfb8233ff]
[ 0.604531] pci 0000:00:1a.0: PME# supported from D0 D3hot D3cold
[ 0.604600] pci 0000:00:1a.0: System wakeup disabled by ACPI
[ 0.604719] pci 0000:00:1d.0: [8086:1d26] type 00 class 0x0c0320
[ 0.604741] pci 0000:00:1d.0: reg 0x10: [mem 0xfb822000-0xfb8223ff]
[ 0.604835] pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold
[ 0.604905] pci 0000:00:1d.0: System wakeup disabled by ACPI
[ 0.605015] pci 0000:00:1e.0: [8086:244e] type 01 class 0x060401
[ 0.605125] pci 0000:00:1e.0: System wakeup disabled by ACPI
[ 0.605238] pci 0000:00:1f.0: [8086:1d41] type 00 class 0x060100
[ 0.605442] pci 0000:00:1f.2: [8086:1d02] type 00 class 0x010601
[ 0.605462] pci 0000:00:1f.2: reg 0x10: [io 0xf050-0xf057]
[ 0.605470] pci 0000:00:1f.2: reg 0x14: [io 0xf040-0xf043]
[ 0.605478] pci 0000:00:1f.2: reg 0x18: [io 0xf030-0xf037]
[ 0.605487] pci 0000:00:1f.2: reg 0x1c: [io 0xf020-0xf023]
[ 0.605495] pci 0000:00:1f.2: reg 0x20: [io 0xf000-0xf01f]
[ 0.605503] pci 0000:00:1f.2: reg 0x24: [mem 0xfb821000-0xfb8217ff]
[ 0.605551] pci 0000:00:1f.2: PME# supported from D3hot
[ 0.605650] pci 0000:00:1f.3: [8086:1d22] type 00 class 0x0c0500
[ 0.605666] pci 0000:00:1f.3: reg 0x10: [mem 0xfb820000-0xfb8200ff 64bit]
[ 0.605688] pci 0000:00:1f.3: reg 0x20: [io 0x1180-0x119f]
[ 0.605799] pci 0000:00:1f.6: [8086:1d24] type 00 class 0x118000
[ 0.605820] pci 0000:00:1f.6: reg 0x10: [mem 0x90000000-0x90000fff 64bit]
[ 0.606027] pci 0000:00:01.0: PCI bridge to [bus 01]
[ 0.606161] pci 0000:00:01.1: PCI bridge to [bus 02]
[ 0.606308] pci 0000:03:00.0: [8086:1521] type 00 class 0x020000
[ 0.606319] pci 0000:03:00.0: reg 0x10: [mem 0xfb580000-0xfb5fffff]
[ 0.606333] pci 0000:03:00.0: reg 0x18: [io 0xe020-0xe03f]
[ 0.606341] pci 0000:03:00.0: reg 0x1c: [mem 0xfb704000-0xfb707fff]
[ 0.606362] pci 0000:03:00.0: reg 0x30: [mem 0xfb640000-0xfb67ffff pref]
[ 0.606401] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[ 0.606430] pci 0000:03:00.0: reg 0x184: [mem 0xfb6e0000-0xfb6e3fff]
[ 0.606447] pci 0000:03:00.0: reg 0x190: [mem 0xfb6c0000-0xfb6c3fff]
[ 0.606516] pci 0000:03:00.1: [8086:1521] type 00 class 0x020000
[ 0.606527] pci 0000:03:00.1: reg 0x10: [mem 0xfb500000-0xfb57ffff]
[ 0.606541] pci 0000:03:00.1: reg 0x18: [io 0xe000-0xe01f]
[ 0.606549] pci 0000:03:00.1: reg 0x1c: [mem 0xfb700000-0xfb703fff]
[ 0.606569] pci 0000:03:00.1: reg 0x30: [mem 0xfb600000-0xfb63ffff pref]
[ 0.606608] pci 0000:03:00.1: PME# supported from D0 D3hot D3cold
[ 0.606632] pci 0000:03:00.1: reg 0x184: [mem 0xfb6a0000-0xfb6a3fff]
[ 0.606649] pci 0000:03:00.1: reg 0x190: [mem 0xfb680000-0xfb683fff]
[ 0.614483] pci 0000:00:02.0: PCI bridge to [bus 03-04]
[ 0.614569] pci 0000:00:02.0: bridge window [io 0xe000-0xefff]
[ 0.614573] pci 0000:00:02.0: bridge window [mem 0xfb500000-0xfb7fffff]
[ 0.614650] pci 0000:05:00.0: [8086:1521] type 00 class 0x020000
[ 0.614660] pci 0000:05:00.0: reg 0x10: [mem 0xfb200000-0xfb2fffff]
[ 0.614680] pci 0000:05:00.0: reg 0x1c: [mem 0xfb404000-0xfb407fff]
[ 0.614701] pci 0000:05:00.0: reg 0x30: [mem 0xfb300000-0xfb37ffff pref]
[ 0.614739] pci 0000:05:00.0: PME# supported from D0 D3hot D3cold
[ 0.614768] pci 0000:05:00.0: reg 0x184: [mem 0xfb3e0000-0xfb3e3fff]
[ 0.614784] pci 0000:05:00.0: reg 0x190: [mem 0xfb3c0000-0xfb3c3fff]
[ 0.614846] pci 0000:05:00.1: [8086:1521] type 00 class 0x020000
[ 0.614857] pci 0000:05:00.1: reg 0x10: [mem 0xfb100000-0xfb1fffff]
[ 0.614877] pci 0000:05:00.1: reg 0x1c: [mem 0xfb400000-0xfb403fff]
[ 0.614933] pci 0000:05:00.1: PME# supported from D0 D3hot D3cold
[ 0.614957] pci 0000:05:00.1: reg 0x184: [mem 0xfb3a0000-0xfb3a3fff]
[ 0.614974] pci 0000:05:00.1: reg 0x190: [mem 0xfb380000-0xfb383fff]
[ 0.622495] pci 0000:00:02.2: PCI bridge to [bus 05-06]
[ 0.622570] pci 0000:00:02.2: bridge window [mem 0xfb100000-0xfb4fffff]
[ 0.622636] pci 0000:00:03.0: PCI bridge to [bus 07]
[ 0.622774] pci 0000:00:03.2: PCI bridge to [bus 08]
[ 0.622919] pci 0000:00:11.0: PCI bridge to [bus 09]
[ 0.623049] pci 0000:0a:01.0: [102b:0532] type 00 class 0x030000
[ 0.623067] pci 0000:0a:01.0: reg 0x10: [mem 0xf9000000-0xf9ffffff pref]
[ 0.623077] pci 0000:0a:01.0: reg 0x14: [mem 0xfb000000-0xfb003fff]
[ 0.623087] pci 0000:0a:01.0: reg 0x18: [mem 0xfa800000-0xfaffffff]
[ 0.623222] pci 0000:00:1e.0: PCI bridge to [bus 0a] (subtractive decode)
[ 0.623299] pci 0000:00:1e.0: bridge window [mem 0xfa800000-0xfb0fffff]
[ 0.623305] pci 0000:00:1e.0: bridge window [mem 0xf9000000-0xf9ffffff 64bit pref]
[ 0.623307] pci 0000:00:1e.0: bridge window [io 0x0000-0x03af] (subtractive decode)
[ 0.623310] pci 0000:00:1e.0: bridge window [io 0x03e0-0x0cf7] (subtractive decode)
[ 0.623312] pci 0000:00:1e.0: bridge window [io 0x03b0-0x03df] (subtractive decode)
[ 0.623315] pci 0000:00:1e.0: bridge window [io 0x0d00-0xffff] (subtractive decode)
[ 0.623317] pci 0000:00:1e.0: bridge window [mem 0x000a0000-0x000bffff] (subtractive decode)
[ 0.623320] pci 0000:00:1e.0: bridge window [mem 0x000c0000-0x000dffff] (subtractive decode)
[ 0.623322] pci 0000:00:1e.0: bridge window [mem 0xfed0e000-0xfed0ffff] (subtractive decode)
[ 0.623325] pci 0000:00:1e.0: bridge window [mem 0x80000000-0xfbffffff] (subtractive decode)
[ 0.623366] pci_bus 0000:00: on NUMA node 0 (pxm 0)
[ 0.623368] acpi PNP0A08:00: Disabling ASPM (FADT indicates it is unsupported)
[ 0.624144] ACPI: PCI Root Bridge [UNC0] (domain 0000 [bus ff])
[ 0.624219] acpi PNP0A03:00: ACPI _OSC support notification failed, disabling PCIe ASPM
[ 0.624308] acpi PNP0A03:00: Unable to request _OSC control (_OSC support mask: 0x08)
[ 0.624464] PCI host bridge to bus 0000:ff
[ 0.624533] pci_bus 0000:ff: root bus resource [bus ff]
[ 0.624612] pci 0000:ff:08.0: [8086:3c80] type 00 class 0x088000
[ 0.624676] pci 0000:ff:08.3: [8086:3c83] type 00 class 0x088000
[ 0.624747] pci 0000:ff:08.4: [8086:3c84] type 00 class 0x088000
[ 0.624822] pci 0000:ff:09.0: [8086:3c90] type 00 class 0x088000
[ 0.624882] pci 0000:ff:09.3: [8086:3c93] type 00 class 0x088000
[ 0.624951] pci 0000:ff:09.4: [8086:3c94] type 00 class 0x088000
[ 0.625023] pci 0000:ff:0a.0: [8086:3cc0] type 00 class 0x088000
[ 0.625074] pci 0000:ff:0a.1: [8086:3cc1] type 00 class 0x088000
[ 0.625124] pci 0000:ff:0a.2: [8086:3cc2] type 00 class 0x088000
[ 0.625174] pci 0000:ff:0a.3: [8086:3cd0] type 00 class 0x088000
[ 0.625227] pci 0000:ff:0b.0: [8086:3ce0] type 00 class 0x088000
[ 0.625278] pci 0000:ff:0b.3: [8086:3ce3] type 00 class 0x088000
[ 0.625329] pci 0000:ff:0c.0: [8086:3ce8] type 00 class 0x088000
[ 0.625380] pci 0000:ff:0c.1: [8086:3ce8] type 00 class 0x088000
[ 0.625430] pci 0000:ff:0c.2: [8086:3ce8] type 00 class 0x088000
[ 0.625482] pci 0000:ff:0c.6: [8086:3cf4] type 00 class 0x088000
[ 0.625532] pci 0000:ff:0c.7: [8086:3cf6] type 00 class 0x088000
[ 0.625582] pci 0000:ff:0d.0: [8086:3ce8] type 00 class 0x088000
[ 0.625632] pci 0000:ff:0d.1: [8086:3ce8] type 00 class 0x088000
[ 0.625682] pci 0000:ff:0d.2: [8086:3ce8] type 00 class 0x088000
[ 0.625733] pci 0000:ff:0d.6: [8086:3cf5] type 00 class 0x088000
[ 0.625784] pci 0000:ff:0e.0: [8086:3ca0] type 00 class 0x088000
[ 0.625838] pci 0000:ff:0e.1: [8086:3c46] type 00 class 0x110100
[ 0.625898] pci 0000:ff:0f.0: [8086:3ca8] type 00 class 0x088000
[ 0.625963] pci 0000:ff:0f.1: [8086:3c71] type 00 class 0x088000
[ 0.626031] pci 0000:ff:0f.2: [8086:3caa] type 00 class 0x088000
[ 0.626097] pci 0000:ff:0f.3: [8086:3cab] type 00 class 0x088000
[ 0.626162] pci 0000:ff:0f.4: [8086:3cac] type 00 class 0x088000
[ 0.626231] pci 0000:ff:0f.5: [8086:3cad] type 00 class 0x088000
[ 0.626294] pci 0000:ff:0f.6: [8086:3cae] type 00 class 0x088000
[ 0.626352] pci 0000:ff:10.0: [8086:3cb0] type 00 class 0x088000
[ 0.626419] pci 0000:ff:10.1: [8086:3cb1] type 00 class 0x088000
[ 0.626493] pci 0000:ff:10.2: [8086:3cb2] type 00 class 0x088000
[ 0.626560] pci 0000:ff:10.3: [8086:3cb3] type 00 class 0x088000
[ 0.626628] pci 0000:ff:10.4: [8086:3cb4] type 00 class 0x088000
[ 0.626696] pci 0000:ff:10.5: [8086:3cb5] type 00 class 0x088000
[ 0.626763] pci 0000:ff:10.6: [8086:3cb6] type 00 class 0x088000
[ 0.626830] pci 0000:ff:10.7: [8086:3cb7] type 00 class 0x088000
[ 0.626894] pci 0000:ff:11.0: [8086:3cb8] type 00 class 0x088000
[ 0.626959] pci 0000:ff:13.0: [8086:3ce4] type 00 class 0x088000
[ 0.627012] pci 0000:ff:13.1: [8086:3c43] type 00 class 0x110100
[ 0.627066] pci 0000:ff:13.4: [8086:3ce6] type 00 class 0x110100
[ 0.627118] pci 0000:ff:13.5: [8086:3c44] type 00 class 0x110100
[ 0.627170] pci 0000:ff:13.6: [8086:3c45] type 00 class 0x088000
[ 0.627326] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15)
[ 0.628013] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *10 11 12 14 15)
[ 0.628699] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 10 11 12 14 15)
[ 0.629337] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 10 *11 12 14 15)
[ 0.629977] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11 12 14 15) *0
[ 0.630729] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0
[ 0.631473] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 *10 11 12 14 15)
[ 0.632158] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 *7 10 11 12 14 15)
[ 0.634271] ACPI: Enabled 2 GPEs in block 00 to 3F
[ 0.634461] ACPI: \_SB_.PCI0: notify handler is installed
[ 0.634636] ACPI: \_SB_.UNC0: notify handler is installed
[ 0.634711] Found 2 acpi root devices
[ 0.634819] vgaarb: device added: PCI:0000:0a:01.0,decodes=io+mem,owns=io+mem,locks=none
[ 0.634919] vgaarb: loaded
[ 0.634984] vgaarb: bridge control possible 0000:0a:01.0
[ 0.635123] PCI: Using ACPI for IRQ routing
[ 0.641814] PCI: pci_cache_line_size set to 64 bytes
[ 0.641943] e820: reserve RAM buffer [mem 0x0009ac00-0x0009ffff]
[ 0.641946] e820: reserve RAM buffer [mem 0x7dfea000-0x7fffffff]
[ 0.642092] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[ 0.642586] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
[ 0.644700] Switched to clocksource hpet
[ 0.646733] pnp: PnP ACPI init
[ 0.646817] ACPI: bus type PNP registered
[ 0.646980] system 00:00: [mem 0xfc000000-0xfcffffff] has been reserved
[ 0.647057] system 00:00: [mem 0xfd000000-0xfdffffff] has been reserved
[ 0.647130] system 00:00: [mem 0xfe000000-0xfeafffff] has been reserved
[ 0.647204] system 00:00: [mem 0xfeb00000-0xfebfffff] has been reserved
[ 0.647277] system 00:00: [mem 0xfed00400-0xfed3ffff] could not be reserved
[ 0.647351] system 00:00: [mem 0xfed45000-0xfedfffff] has been reserved
[ 0.647426] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
[ 0.647530] system 00:01: [mem 0xfbffc000-0xfbffdfff] could not be reserved
[ 0.647605] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.647621] pnp 00:02: [dma 4]
[ 0.647644] pnp 00:02: Plug and Play ACPI device, IDs PNP0200 (active)
[ 0.647684] pnp 00:03: Plug and Play ACPI device, IDs PNP0b00 (active)
[ 0.647713] pnp 00:04: Plug and Play ACPI device, IDs PNP0800 (active)
[ 0.647794] system 00:05: [io 0x04d0-0x04d1] has been reserved
[ 0.647867] system 00:05: [mem 0x00000400-0x000004ff] could not be reserved
[ 0.647941] system 00:05: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.647977] pnp 00:06: Plug and Play ACPI device, IDs PNP0c04 (active)
[ 0.648132] system 00:07: [io 0x0a00-0x0a1f] has been reserved
[ 0.648205] system 00:07: [io 0x0a30-0x0a3f] has been reserved
[ 0.648277] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.648549] pnp 00:08: [dma 0 disabled]
[ 0.648611] pnp 00:08: Plug and Play ACPI device, IDs PNP0501 (active)
[ 0.648777] system 00:09: [io 0x0b00-0x0b7f] has been reserved
[ 0.648851] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (active)
[ 0.649064] pnp 00:0a: [dma 0 disabled]
[ 0.649123] pnp 00:0a: Plug and Play ACPI device, IDs PNP0501 (active)
[ 0.649296] pnp 00:0b: Plug and Play ACPI device, IDs IPI0001 (active)
[ 0.649544] system 00:0c: [io 0x0400-0x0453] could not be reserved
[ 0.649618] system 00:0c: [io 0x0458-0x047f] has been reserved
[ 0.649690] system 00:0c: [io 0x1180-0x119f] has been reserved
[ 0.649762] system 00:0c: [io 0x0500-0x057f] has been reserved
[ 0.649835] system 00:0c: [mem 0xfed1c000-0xfed1ffff] has been reserved
[ 0.649909] system 00:0c: [mem 0xfec00000-0xfecfffff] could not be reserved
[ 0.649983] system 00:0c: [mem 0xfed08000-0xfed08fff] has been reserved
[ 0.650056] system 00:0c: [mem 0xff000000-0xffffffff] has been reserved
[ 0.650129] system 00:0c: Plug and Play ACPI device, IDs PNP0c01 (active)
[ 0.650217] system 00:0d: [io 0x0454-0x0457] has been reserved
[ 0.650290] system 00:0d: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[ 0.650462] pnp 00:0e: Plug and Play ACPI device, IDs PNP0103 (active)
[ 0.650693] system 00:0f: [mem 0x00000000-0x0009ffff] could not be reserved
[ 0.650767] system 00:0f: Plug and Play ACPI device, IDs PNP0c01 (active)
[ 0.650986] pnp: PnP ACPI: found 16 devices
[ 0.651054] ACPI: bus type PNP unregistered
[ 0.657936] pci 0000:00:01.0: PCI bridge to [bus 01]
[ 0.658015] pci 0000:00:01.1: PCI bridge to [bus 02]
[ 0.658094] pci 0000:00:02.0: PCI bridge to [bus 03-04]
[ 0.658166] pci 0000:00:02.0: bridge window [io 0xe000-0xefff]
[ 0.658240] pci 0000:00:02.0: bridge window [mem 0xfb500000-0xfb7fffff]
[ 0.658319] pci 0000:00:02.2: PCI bridge to [bus 05-06]
[ 0.658392] pci 0000:00:02.2: bridge window [mem 0xfb100000-0xfb4fffff]
[ 0.658470] pci 0000:00:03.0: PCI bridge to [bus 07]
[ 0.658548] pci 0000:00:03.2: PCI bridge to [bus 08]
[ 0.658626] pci 0000:00:11.0: PCI bridge to [bus 09]
[ 0.658708] pci 0000:00:1e.0: PCI bridge to [bus 0a]
[ 0.658781] pci 0000:00:1e.0: bridge window [mem 0xfa800000-0xfb0fffff]
[ 0.658856] pci 0000:00:1e.0: bridge window [mem 0xf9000000-0xf9ffffff 64bit pref]
[ 0.658949] pci_bus 0000:00: resource 4 [io 0x0000-0x03af]
[ 0.658951] pci_bus 0000:00: resource 5 [io 0x03e0-0x0cf7]
[ 0.658954] pci_bus 0000:00: resource 6 [io 0x03b0-0x03df]
[ 0.658956] pci_bus 0000:00: resource 7 [io 0x0d00-0xffff]
[ 0.658958] pci_bus 0000:00: resource 8 [mem 0x000a0000-0x000bffff]
[ 0.658960] pci_bus 0000:00: resource 9 [mem 0x000c0000-0x000dffff]
[ 0.658963] pci_bus 0000:00: resource 10 [mem 0xfed0e000-0xfed0ffff]
[ 0.658965] pci_bus 0000:00: resource 11 [mem 0x80000000-0xfbffffff]
[ 0.658967] pci_bus 0000:03: resource 0 [io 0xe000-0xefff]
[ 0.658969] pci_bus 0000:03: resource 1 [mem 0xfb500000-0xfb7fffff]
[ 0.658972] pci_bus 0000:05: resource 1 [mem 0xfb100000-0xfb4fffff]
[ 0.658974] pci_bus 0000:0a: resource 1 [mem 0xfa800000-0xfb0fffff]
[ 0.658976] pci_bus 0000:0a: resource 2 [mem 0xf9000000-0xf9ffffff 64bit pref]
[ 0.658979] pci_bus 0000:0a: resource 4 [io 0x0000-0x03af]
[ 0.658981] pci_bus 0000:0a: resource 5 [io 0x03e0-0x0cf7]
[ 0.658983] pci_bus 0000:0a: resource 6 [io 0x03b0-0x03df]
[ 0.658985] pci_bus 0000:0a: resource 7 [io 0x0d00-0xffff]
[ 0.658987] pci_bus 0000:0a: resource 8 [mem 0x000a0000-0x000bffff]
[ 0.658989] pci_bus 0000:0a: resource 9 [mem 0x000c0000-0x000dffff]
[ 0.658991] pci_bus 0000:0a: resource 10 [mem 0xfed0e000-0xfed0ffff]
[ 0.658993] pci_bus 0000:0a: resource 11 [mem 0x80000000-0xfbffffff]
[ 0.659129] NET: Registered protocol family 2
[ 0.660115] TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
[ 0.661610] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[ 0.661822] TCP: Hash tables configured (established 524288 bind 65536)
[ 0.661918] TCP: reno registered
[ 0.662066] UDP hash table entries: 32768 (order: 8, 1048576 bytes)
[ 0.662408] UDP-Lite hash table entries: 32768 (order: 8, 1048576 bytes)
[ 0.662816] NET: Registered protocol family 1
[ 0.700841] pci 0000:0a:01.0: Boot video device
[ 0.700902] PCI: CLS 64 bytes, default 64
[ 0.700950] Unpacking initramfs...
[ 0.973164] Freeing initrd memory: 11632K (ffff880036938000 - ffff880037494000)
[ 0.973267] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 0.973341] software IO TLB [mem 0x79fea000-0x7dfea000] (64MB) mapped at [ffff880079fea000-ffff88007dfe9fff]
[ 0.974695] audit: initializing netlink socket (disabled)
[ 0.974787] type=2000 audit(1382206912.796:1): initialized
[ 0.999115] bounce pool size: 64 pages
[ 0.999187] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 1.003098] VFS: Disk quotas dquot_6.5.2
[ 1.003206] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 1.003398] msgmni has been set to 32768
[ 1.003811] alg: No test for stdrng (krng)
[ 1.003916] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[ 1.004006] io scheduler noop registered
[ 1.004074] io scheduler deadline registered
[ 1.004180] io scheduler cfq registered (default)
[ 1.005428] ioapic: probe of 0000:00:05.4 failed with error -22
[ 1.005512] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[ 1.005598] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[ 1.011015] intel_idle: MWAIT substates: 0x21120
[ 1.011017] intel_idle: v0.4 model 0x2D
[ 1.011018] intel_idle: lapic_timer_reliable_states 0xffffffff
[ 1.011477] ERST: Error Record Serialization Table (ERST) support is initialized.
[ 1.011571] pstore: Registered erst as persistent store backend
[ 1.011788] GHES: APEI firmware first mode is enabled by APEI bit and WHEA _OSC.
[ 1.011930] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 1.032503] 00:08: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 1.053054] 00:0a: ttyS2 at I/O 0x3e8 (irq = 3, base_baud = 115200) is a 16550A
[ 1.053637] Linux agpgart interface v0.103
[ 1.053940] i8042: PNP: No PS/2 controller found. Probing ports directly.
[ 1.056544] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 1.056620] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 1.056831] mousedev: PS/2 mouse device common for all mice
[ 1.056943] rtc_cmos 00:03: RTC can wake from S4
[ 1.057149] rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0
[ 1.057251] rtc_cmos 00:03: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
[ 1.057400] drop_monitor: Initializing network drop monitor service
[ 1.057563] TCP: cubic registered
[ 1.057815] NET: Registered protocol family 10
[ 1.058187] mip6: Mobile IPv6
[ 1.058255] NET: Registered protocol family 17
[ 1.058336] Key type dns_resolver registered
[ 1.058903] PM: Hibernation image not present or could not be loaded.
[ 1.058914] registered taskstats version 1
[ 1.063057] rtc_cmos 00:03: setting system clock to 2013-10-19 18:21:53 UTC (1382206913)
[ 1.064477] Freeing unused kernel memory: 872K (ffffffff81699000 - ffffffff81773000)
[ 1.064565] Write protecting the kernel read-only data: 6144k
[ 1.066220] Freeing unused kernel memory: 504K (ffff880001382000 - ffff880001400000)
[ 1.067735] Freeing unused kernel memory: 536K (ffff88000157a000 - ffff880001600000)
[ 1.079405] udevd[106]: starting version 175
[ 1.113716] pps_core: LinuxPPS API ver. 1 registered
[ 1.113794] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 1.114175] PTP clock support registered
[ 1.114498] dca service started, version 1.12.1
[ 1.115895] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.0.5-k
[ 1.115975] igb: Copyright (c) 2007-2013 Intel Corporation.
[ 1.116084] pcieport 0000:00:02.0: driver skip pci_set_master, fix it!
[ 1.116509] igb 0000:03:00.0: irq 65 for MSI/MSI-X
[ 1.116524] igb 0000:03:00.0: irq 66 for MSI/MSI-X
[ 1.116538] igb 0000:03:00.0: irq 67 for MSI/MSI-X
[ 1.116551] igb 0000:03:00.0: irq 68 for MSI/MSI-X
[ 1.116562] igb 0000:03:00.0: irq 69 for MSI/MSI-X
[ 1.116573] igb 0000:03:00.0: irq 70 for MSI/MSI-X
[ 1.116585] igb 0000:03:00.0: irq 71 for MSI/MSI-X
[ 1.116596] igb 0000:03:00.0: irq 72 for MSI/MSI-X
[ 1.116609] igb 0000:03:00.0: irq 73 for MSI/MSI-X
[ 1.118537] SCSI subsystem initialized
[ 1.120087] libata version 3.00 loaded.
[ 1.122387] ahci 0000:00:1f.2: version 3.0
[ 1.122533] ahci 0000:00:1f.2: irq 74 for MSI/MSI-X
[ 1.128664] microcode: CPU0 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.128824] microcode: CPU0 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.129973] microcode: CPU0 updated to revision 0x710, date = 2013-06-17
[ 1.130062] microcode: CPU1 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.130174] microcode: CPU1 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.130917] microcode: CPU1 updated to revision 0x710, date = 2013-06-17
[ 1.131002] microcode: CPU2 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.131118] microcode: CPU2 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.131846] microcode: CPU2 updated to revision 0x710, date = 2013-06-17
[ 1.131936] microcode: CPU3 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.132038] microcode: CPU3 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.132765] microcode: CPU3 updated to revision 0x710, date = 2013-06-17
[ 1.132861] microcode: CPU4 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.132977] microcode: CPU4 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.133706] microcode: CPU4 updated to revision 0x710, date = 2013-06-17
[ 1.133797] microcode: CPU5 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.133895] microcode: CPU5 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.134624] microcode: CPU5 updated to revision 0x710, date = 2013-06-17
[ 1.134705] microcode: CPU6 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.134802] microcode: CPU6 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.135522] microcode: CPU6 updated to revision 0x710, date = 2013-06-17
[ 1.135613] microcode: CPU7 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.135716] microcode: CPU7 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.136442] microcode: CPU7 updated to revision 0x710, date = 2013-06-17
[ 1.136531] microcode: CPU8 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.136631] microcode: CPU8 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.136760] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
[ 1.136856] ahci 0000:00:1f.2: flags: 64bit ncq sntf pm led clo pio slum part ems apst
[ 1.136951] ahci 0000:00:1f.2: setting latency timer to 64
[ 1.137373] microcode: CPU8 updated to revision 0x710, date = 2013-06-17
[ 1.137489] microcode: CPU9 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.137606] microcode: CPU9 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.138334] microcode: CPU9 updated to revision 0x710, date = 2013-06-17
[ 1.138425] microcode: CPU10 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.138538] microcode: CPU10 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.139268] microcode: CPU10 updated to revision 0x710, date = 2013-06-17
[ 1.139354] microcode: CPU11 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.139466] microcode: CPU11 sig=0x206d7, pf=0x1, revision=0x70d
[ 1.140196] microcode: CPU11 updated to revision 0x710, date = 2013-06-17
[ 1.140356] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[ 1.177366] scsi0 : ahci
[ 1.177655] scsi1 : ahci
[ 1.177869] scsi2 : ahci
[ 1.178142] scsi3 : ahci
[ 1.178360] scsi4 : ahci
[ 1.178578] scsi5 : ahci
[ 1.178726] ata1: SATA max UDMA/133 abar m2048@0xfb821000 port 0xfb821100 irq 74
[ 1.178817] ata2: SATA max UDMA/133 abar m2048@0xfb821000 port 0xfb821180 irq 74
[ 1.178905] ata3: SATA max UDMA/133 abar m2048@0xfb821000 port 0xfb821200 irq 74
[ 1.178993] ata4: SATA max UDMA/133 abar m2048@0xfb821000 port 0xfb821280 irq 74
[ 1.179081] ata5: SATA max UDMA/133 abar m2048@0xfb821000 port 0xfb821300 irq 74
[ 1.179170] ata6: SATA max UDMA/133 abar m2048@0xfb821000 port 0xfb821380 irq 74
[ 1.193441] igb 0000:03:00.0: added PHC on eth0
[ 1.193514] igb 0000:03:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 1.193590] igb 0000:03:00.0: eth0: (PCIe:5.0Gb/s:Width x4) 00:25:90:97:dc:1e
[ 1.193735] igb 0000:03:00.0: eth0: PBA No: 104900-000
[ 1.193806] igb 0000:03:00.0: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
[ 1.194283] igb 0000:03:00.1: irq 75 for MSI/MSI-X
[ 1.194293] igb 0000:03:00.1: irq 76 for MSI/MSI-X
[ 1.194301] igb 0000:03:00.1: irq 77 for MSI/MSI-X
[ 1.194309] igb 0000:03:00.1: irq 78 for MSI/MSI-X
[ 1.194316] igb 0000:03:00.1: irq 79 for MSI/MSI-X
[ 1.194324] igb 0000:03:00.1: irq 80 for MSI/MSI-X
[ 1.194331] igb 0000:03:00.1: irq 81 for MSI/MSI-X
[ 1.194339] igb 0000:03:00.1: irq 82 for MSI/MSI-X
[ 1.194346] igb 0000:03:00.1: irq 83 for MSI/MSI-X
[ 1.273269] igb 0000:03:00.1: added PHC on eth1
[ 1.273342] igb 0000:03:00.1: Intel(R) Gigabit Ethernet Network Connection
[ 1.273417] igb 0000:03:00.1: eth1: (PCIe:5.0Gb/s:Width x4) 00:25:90:97:dc:1f
[ 1.273562] igb 0000:03:00.1: eth1: PBA No: 104900-000
[ 1.273633] igb 0000:03:00.1: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
[ 1.273802] pcieport 0000:00:02.2: driver skip pci_set_master, fix it!
[ 1.274177] igb 0000:05:00.0: irq 84 for MSI/MSI-X
[ 1.274187] igb 0000:05:00.0: irq 85 for MSI/MSI-X
[ 1.274195] igb 0000:05:00.0: irq 86 for MSI/MSI-X
[ 1.274204] igb 0000:05:00.0: irq 87 for MSI/MSI-X
[ 1.274211] igb 0000:05:00.0: irq 88 for MSI/MSI-X
[ 1.274219] igb 0000:05:00.0: irq 89 for MSI/MSI-X
[ 1.274226] igb 0000:05:00.0: irq 90 for MSI/MSI-X
[ 1.274234] igb 0000:05:00.0: irq 91 for MSI/MSI-X
[ 1.274241] igb 0000:05:00.0: irq 92 for MSI/MSI-X
[ 1.353398] igb 0000:05:00.0: added PHC on eth2
[ 1.353472] igb 0000:05:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 1.353547] igb 0000:05:00.0: eth2: (PCIe:5.0Gb/s:Width x4) a0:36:9f:18:17:c2
[ 1.353904] igb 0000:05:00.0: eth2: PBA No: G15138-001
[ 1.353982] igb 0000:05:00.0: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
[ 1.354453] igb 0000:05:00.1: irq 93 for MSI/MSI-X
[ 1.354463] igb 0000:05:00.1: irq 94 for MSI/MSI-X
[ 1.354471] igb 0000:05:00.1: irq 95 for MSI/MSI-X
[ 1.354479] igb 0000:05:00.1: irq 96 for MSI/MSI-X
[ 1.354486] igb 0000:05:00.1: irq 97 for MSI/MSI-X
[ 1.354494] igb 0000:05:00.1: irq 98 for MSI/MSI-X
[ 1.354501] igb 0000:05:00.1: irq 99 for MSI/MSI-X
[ 1.354509] igb 0000:05:00.1: irq 100 for MSI/MSI-X
[ 1.354517] igb 0000:05:00.1: irq 101 for MSI/MSI-X
[ 1.433311] igb 0000:05:00.1: added PHC on eth3
[ 1.433384] igb 0000:05:00.1: Intel(R) Gigabit Ethernet Network Connection
[ 1.433458] igb 0000:05:00.1: eth3: (PCIe:5.0Gb/s:Width x4) a0:36:9f:18:17:c3
[ 1.433815] igb 0000:05:00.1: eth3: PBA No: G15138-001
[ 1.433886] igb 0000:05:00.1: Using MSI-X interrupts. 8 rx queue(s), 8 tx queue(s)
[ 1.450598] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[ 1.450690] e100: Copyright(c) 1999-2006 Intel Corporation
[ 1.455050] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[ 1.455129] e1000: Copyright (c) 1999-2006 Intel Corporation.
[ 1.467666] via_rhine: v1.10-LK1.5.1 2010-10-09 Written by Donald Becker
[ 1.493763] md: raid1 personality registered for level 1
[ 1.495476] 3ware Storage Controller device driver for Linux v1.26.02.003.
[ 1.496738] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 1.496836] ata3: SATA link down (SStatus 0 SControl 300)
[ 1.496933] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 1.497026] ata5: SATA link down (SStatus 0 SControl 300)
[ 1.498941] ata1.00: ATA-8: WDC WD20EADS-00S2B0, 04.05G04, max UDMA/133
[ 1.499030] ata1.00: 3907029168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[ 1.500742] ata6: SATA link down (SStatus 0 SControl 300)
[ 1.500780] ata4: SATA link down (SStatus 0 SControl 300)
[ 1.501594] ata1.00: configured for UDMA/133
[ 1.501851] scsi 0:0:0:0: Direct-Access ATA WDC WD20EADS-00S 04.0 PQ: 0 ANSI: 5
[ 1.502103] sd 0:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)
[ 1.502397] sd 0:0:0:0: [sda] Write Protect is off
[ 1.502469] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[ 1.502549] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.503063] ata2.00: ATA-8: WDC WD20EADS-00R6B0, 01.00A01, max UDMA/133
[ 1.503143] ata2.00: 3907029168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[ 1.505050] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 1.509072] ata2.00: configured for UDMA/133
[ 1.509306] scsi 1:0:0:0: Direct-Access ATA WDC WD20EADS-00R 01.0 PQ: 0 ANSI: 5
[ 1.509584] sd 1:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)
[ 1.509597] sd 1:0:0:0: Attached scsi generic sg1 type 0
[ 1.510000] sd 1:0:0:0: [sdb] Write Protect is off
[ 1.510075] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 1.510195] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 1.510731] sda: sda1 sda2 sda3
[ 1.516692] sd 0:0:0:0: [sda] Attached SCSI disk
[ 1.527180] sdb: sdb1 sdb2 sdb3
[ 1.528266] sd 1:0:0:0: [sdb] Attached SCSI disk
[ 1.617985] md: md1 stopped.
[ 1.618646] md: bind<sda2>
[ 1.620069] md/raid1:md1: active with 1 out of 2 mirrors
[ 1.620176] md1: detected capacity change from 0 to 17178746880
[ 1.620295] RAID1 conf printout:
[ 1.620297] --- wd:1 rd:2
[ 1.620298] disk 0, wo:0, o:1, dev:sda2
[ 1.626874] md1: unknown partition table
[ 1.835982] md: md2 stopped.
[ 1.836659] md: bind<sdb3>
[ 1.836870] md: bind<sda3>
[ 1.838743] md/raid1:md2: active with 2 out of 2 mirrors
[ 1.838839] md2: detected capacity change from 0 to 1983007113216
[ 1.838932] RAID1 conf printout:
[ 1.838935] --- wd:2 rd:2
[ 1.838938] disk 0, wo:0, o:1, dev:sda3
[ 1.838939] disk 1, wo:0, o:1, dev:sdb3
[ 1.848710] md2: unknown partition table
[ 1.972804] tsc: Refined TSC clocksource calibration: 1999.999 MHz
[ 2.042479] md: md0 stopped.
[ 2.043221] md: bind<sdb1>
[ 2.043430] md: bind<sda1>
[ 2.044925] md/raid1:md0: active with 2 out of 2 mirrors
[ 2.045020] md0: detected capacity change from 0 to 209702912
[ 2.045139] RAID1 conf printout:
[ 2.045140] --- wd:2 rd:2
[ 2.045143] disk 0, wo:0, o:1, dev:sda1
[ 2.045145] disk 1, wo:0, o:1, dev:sdb1
[ 2.046421] md0: unknown partition table
[ 2.294075] kjournald starting. Commit interval 5 seconds
[ 2.294597] EXT3-fs (md2): mounted filesystem with ordered data mode
[ 2.972995] Switched to clocksource tsc
[ 4.864390] udevd[572]: starting version 175
[ 5.144965] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
[ 5.145066] ACPI: Power Button [PWRB]
[ 5.145204] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[ 5.145296] ACPI: Power Button [PWRF]
[ 5.190660] wmi: Mapper loaded
[ 5.310723] ipmi message handler version 39.2
[ 5.346745] EDAC MC: Ver: 3.0.0
[ 5.349291] ACPI: Requesting acpi_cpufreq
[ 5.354218] IPMI System Interface driver.
[ 5.354322] ipmi_si: probing via ACPI
[ 5.355634] ipmi_si 00:0b: [io 0x0ca2] regsize 1 spacing 1 irq 0
[ 5.355705] ipmi_si: Adding ACPI-specified kcs state machine
[ 5.355838] ipmi_si: probing via SMBIOS
[ 5.355906] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[ 5.355977] ipmi_si: Adding SMBIOS-specified kcs state machine duplicate interface
[ 5.356112] ipmi_si: probing via SPMI
[ 5.356180] ipmi_si: SPMI: io 0xca2 regsize 1 spacing 1 irq 0
[ 5.356250] ipmi_si: Adding SPMI-specified kcs state machine duplicate interface
[ 5.356384] ipmi_si: Trying ACPI-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0
[ 5.489492] ipmi_si 00:0b: Found new BMC (man_id: 0x002a7c, prod_id: 0x0668, dev_id: 0x20)
[ 5.489599] ipmi_si 00:0b: IPMI kcs interface initialized
[ 5.521856] EDAC sbridge: Seeking for: dev 0e.0 PCI ID 8086:3ca0
[ 5.521938] EDAC sbridge: Seeking for: dev 0e.0 PCI ID 8086:3ca0
[ 5.522011] EDAC sbridge: Seeking for: dev 0f.0 PCI ID 8086:3ca8
[ 5.522086] EDAC sbridge: Seeking for: dev 0f.0 PCI ID 8086:3ca8
[ 5.522158] EDAC sbridge: Seeking for: dev 0f.1 PCI ID 8086:3c71
[ 5.522233] EDAC sbridge: Seeking for: dev 0f.1 PCI ID 8086:3c71
[ 5.522306] EDAC sbridge: Seeking for: dev 0f.2 PCI ID 8086:3caa
[ 5.522381] EDAC sbridge: Seeking for: dev 0f.2 PCI ID 8086:3caa
[ 5.522453] EDAC sbridge: Seeking for: dev 0f.3 PCI ID 8086:3cab
[ 5.522528] EDAC sbridge: Seeking for: dev 0f.3 PCI ID 8086:3cab
[ 5.522600] EDAC sbridge: Seeking for: dev 0f.4 PCI ID 8086:3cac
[ 5.522675] EDAC sbridge: Seeking for: dev 0f.4 PCI ID 8086:3cac
[ 5.522748] EDAC sbridge: Seeking for: dev 0f.5 PCI ID 8086:3cad
[ 5.522823] EDAC sbridge: Seeking for: dev 0f.5 PCI ID 8086:3cad
[ 5.522895] EDAC sbridge: Seeking for: dev 11.0 PCI ID 8086:3cb8
[ 5.522971] EDAC sbridge: Seeking for: dev 11.0 PCI ID 8086:3cb8
[ 5.523043] EDAC sbridge: Seeking for: dev 0c.6 PCI ID 8086:3cf4
[ 5.523117] EDAC sbridge: Seeking for: dev 0c.6 PCI ID 8086:3cf4
[ 5.523190] EDAC sbridge: Seeking for: dev 0c.7 PCI ID 8086:3cf6
[ 5.523265] EDAC sbridge: Seeking for: dev 0c.7 PCI ID 8086:3cf6
[ 5.523337] EDAC sbridge: Seeking for: dev 0d.6 PCI ID 8086:3cf5
[ 5.523412] EDAC sbridge: Seeking for: dev 0d.6 PCI ID 8086:3cf5
[ 5.523655] EDAC MC0: Giving out device to 'sbridge_edac.c' 'Sandy Bridge Socket#0': DEV 0000:ff:0e.0
[ 5.523746] EDAC sbridge: Driver loaded.
[ 5.656444] input: PC Speaker as /devices/platform/pcspkr/input/input2
[ 5.700367] ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \PMIO 1 (20130725/utaddress-251)
[ 5.700569] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[ 5.700664] ACPI Warning: 0x0000000000000500-0x000000000000052f SystemIO conflicts with Region \GINV 1 (20130725/utaddress-251)
[ 5.700859] ACPI Warning: 0x0000000000000500-0x000000000000052f SystemIO conflicts with Region \GPIO 2 (20130725/utaddress-251)
[ 5.701048] ACPI Warning: 0x0000000000000500-0x000000000000052f SystemIO conflicts with Region \_SB_.PCI0.HEC2.GPO2 3 (20130725/utaddress-251)
[ 5.701239] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[ 5.701357] lpc_ich: Resource conflict(s) found affecting gpio_ich
[ 5.851000] ACPI: bus type USB registered
[ 5.851099] usbcore: registered new interface driver usbfs
[ 5.851180] usbcore: registered new interface driver hub
[ 5.851348] usbcore: registered new device driver usb
[ 5.863037] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 5.868291] iTCO_vendor_support: vendor-support=0
[ 5.870399] ehci-pci: EHCI PCI platform driver
[ 5.870619] ehci-pci 0000:00:1a.0: setting latency timer to 64
[ 5.870641] ehci-pci 0000:00:1a.0: EHCI Host Controller
[ 5.870717] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1
[ 5.870816] ehci-pci 0000:00:1a.0: debug port 2
[ 5.874793] ehci-pci 0000:00:1a.0: cache line size of 64 is not supported
[ 5.874827] ehci-pci 0000:00:1a.0: irq 16, io mem 0xfb823000
[ 5.884721] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00
[ 5.884839] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 5.884913] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 5.885001] usb usb1: Product: EHCI Host Controller
[ 5.885071] usb usb1: Manufacturer: Linux 3.12.0-rc5+ ehci_hcd
[ 5.885142] usb usb1: SerialNumber: 0000:00:1a.0
[ 5.885345] hub 1-0:1.0: USB hub found
[ 5.885420] hub 1-0:1.0: 2 ports detected
[ 5.885744] ehci-pci 0000:00:1d.0: setting latency timer to 64
[ 5.885761] ehci-pci 0000:00:1d.0: EHCI Host Controller
[ 5.885836] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 2
[ 5.885935] ehci-pci 0000:00:1d.0: debug port 2
[ 5.889887] ehci-pci 0000:00:1d.0: cache line size of 64 is not supported
[ 5.889923] ehci-pci 0000:00:1d.0: irq 23, io mem 0xfb822000
[ 5.900708] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00
[ 5.900817] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 5.900890] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 5.900978] usb usb2: Product: EHCI Host Controller
[ 5.901048] usb usb2: Manufacturer: Linux 3.12.0-rc5+ ehci_hcd
[ 5.901119] usb usb2: SerialNumber: 0000:00:1d.0
[ 5.901300] hub 2-0:1.0: USB hub found
[ 5.901374] hub 2-0:1.0: 2 ports detected
[ 5.926812] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
[ 5.926906] iTCO_wdt: Found a Patsburg TCO device (Version=2, TCOBASE=0x0460)
[ 5.927076] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[ 6.059469] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
[ 6.097328] ioatdma: Intel(R) QuickData Technology Driver 4.00
[ 6.097651] ioatdma 0000:00:04.0: irq 102 for MSI/MSI-X
[ 6.097898] igb 0000:03:00.0: DCA enabled
[ 6.097992] igb 0000:03:00.1: DCA enabled
[ 6.098261] ioatdma 0000:00:04.1: irq 103 for MSI/MSI-X
[ 6.098463] igb 0000:05:00.0: DCA enabled
[ 6.098554] igb 0000:05:00.1: DCA enabled
[ 6.098870] ioatdma 0000:00:04.2: irq 104 for MSI/MSI-X
[ 6.099648] ioatdma 0000:00:04.3: irq 105 for MSI/MSI-X
[ 6.100145] ioatdma 0000:00:04.4: irq 106 for MSI/MSI-X
[ 6.100523] ioatdma 0000:00:04.5: irq 107 for MSI/MSI-X
[ 6.100873] ioatdma 0000:00:04.6: irq 108 for MSI/MSI-X
[ 6.101196] ioatdma 0000:00:04.7: irq 109 for MSI/MSI-X
[ 6.117243] Error: Driver 'pcspkr' is already registered, aborting...
[ 6.147760] i801_smbus 0000:00:1f.3: SMBus using PCI Interrupt
[ 6.196732] usb 1-1: new high-speed USB device number 2 using ehci-pci
[ 6.329119] usb 1-1: New USB device found, idVendor=8087, idProduct=0024
[ 6.329205] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 6.329680] hub 1-1:1.0: USB hub found
[ 6.329865] hub 1-1:1.0: 6 ports detected
[ 6.440832] usb 2-1: new high-speed USB device number 2 using ehci-pci
[ 6.573115] usb 2-1: New USB device found, idVendor=8087, idProduct=0024
[ 6.573195] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 6.573708] hub 2-1:1.0: USB hub found
[ 6.574023] hub 2-1:1.0: 8 ports detected
[ 6.644898] usb 1-1.2: new full-speed USB device number 3 using ehci-pci
[ 6.738838] usb 1-1.2: New USB device found, idVendor=0557, idProduct=2221
[ 6.738915] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 6.739003] usb 1-1.2: Product: Hermon USB hidmouse Device
[ 6.739074] usb 1-1.2: Manufacturer: Winbond Electronics Corp
[ 6.780045] hidraw: raw HID events driver (C) Jiri Kosina
[ 6.783057] usbcore: registered new interface driver usbhid
[ 6.783129] usbhid: USB HID core driver
[ 6.797615] input: Winbond Electronics Corp Hermon USB hidmouse Device as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input3
[ 6.797932] hid-generic 0003:0557:2221.0001: input,hidraw0: USB HID v1.00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-0000:00:1a.0-1.2/input0
[ 6.798302] input: Winbond Electronics Corp Hermon USB hidmouse Device as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.1/input/input4
[ 6.804236] hid-generic 0003:0557:2221.0002: input,hidraw1: USB HID v1.00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-0000:00:1a.0-1.2/input1
[ 7.173766] Adding 16776116k swap on /dev/md1. Priority:-1 extents:1 across:16776116k
[ 7.245067] EXT3-fs (md2): using internal journal
[ 7.645797] loop: module loaded
[ 7.866279] Fusion MPT base driver 3.04.20
[ 7.866353] Copyright (c) 1999-2008 LSI Corporation
[ 7.876599] Fusion MPT SPI Host driver 3.04.20
[ 7.934363] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 11.286713] kjournald starting. Commit interval 5 seconds
[ 11.297889] EXT3-fs (md0): using internal journal
[ 11.297979] EXT3-fs (md0): mounted filesystem with ordered data mode
[ 11.741785] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 11.856191] ISO 9660 Extensions: RRIP_1991A
[ 11.943248] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 11.960889] ISO 9660 Extensions: RRIP_1991A
[ 12.230732] UDF-fs: warning (device loop5): udf_load_vrs: No anchor found
[ 12.230809] UDF-fs: Rescanning with blocksize 2048
[ 12.231938] UDF-fs: INFO Mounting volume 'UDF Volume', timestamp 2012/07/26 11:16 (1078)
[ 12.232888] UDF-fs: warning (device loop6): udf_load_vrs: No anchor found
[ 12.232963] UDF-fs: Rescanning with blocksize 2048
[ 12.233264] UDF-fs: INFO Mounting volume 'UDF Volume', timestamp 2012/07/26 11:16 (1078)
[ 12.312402] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 12.338617] ISO 9660 Extensions: RRIP_1991A
[ 12.417054] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 12.435496] ISO 9660 Extensions: RRIP_1991A
[ 12.479945] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 12.552621] ISO 9660 Extensions: RRIP_1991A
[ 12.584928] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 12.600544] ISO 9660 Extensions: RRIP_1991A
[ 12.646825] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 12.695972] ISO 9660 Extensions: RRIP_1991A
[ 12.742522] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 12.817960] ISO 9660 Extensions: RRIP_1991A
[ 12.897240] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 12.906041] ISO 9660 Extensions: RRIP_1991A
[ 14.643674] bonding: Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
[ 14.653771] bonding: bond0: Setting MII monitoring interval to 100.
[ 14.657585] bonding: bond0: setting mode to balance-tlb (5).
[ 14.660936] bonding: bond0: Adding slave eth0.
[ 14.757431] bonding: bond0: enslaving eth0 as an active interface with a down link.
[ 14.770985] bonding: bond0: Adding slave eth1.
[ 14.865464] bonding: bond0: enslaving eth1 as an active interface with a down link.
[ 14.869976] bonding: bond0: Adding slave eth2.
[ 14.965313] bonding: bond0: enslaving eth2 as an active interface with a down link.
[ 14.969795] bonding: bond0: Adding slave eth3.
[ 15.065456] bonding: bond0: enslaving eth3 as an active interface with a down link.
[ 15.073178] IPv6: ADDRCONF(NETDEV_UP): bond0: link is not ready
[ 17.698053] igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[ 17.772814] bonding: bond0: link status definitely up for interface eth0, 1000 Mbps full duplex.
[ 17.772915] bonding: bond0: making interface eth0 the new active one.
[ 17.773076] bonding: bond0: first active interface up!
[ 17.773159] IPv6: ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready
[ 17.814093] igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[ 17.872810] bonding: bond0: link status definitely up for interface eth1, 1000 Mbps full duplex.
[ 17.902092] igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[ 17.972849] bonding: bond0: link status definitely up for interface eth2, 1000 Mbps full duplex.
[ 18.082067] igb: eth3 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[ 18.172815] bonding: bond0: link status definitely up for interface eth3, 1000 Mbps full duplex.
[ 19.080783] RTNL: assertion failed at drivers/net/bonding/bond_main.c (3398)
[ 19.080868] CPU: 4 PID: 0 Comm: swapper/4 Not tainted 3.12.0-rc5+ #1
[ 19.080944] Hardware name: Supermicro X9SRD-F/X9SRD-F, BIOS 1.0a 10/15/2012
[ 19.081022] 0000000000000000 0000000000000000 ffffffff81373aba ffff88103e1a0000
[ 19.081316] ffffffffa040aea2 ffff88103e1a0000 0000000000000000 ffff88103e1a0000
[ 19.081607] ffffffff812c54f5 00000000ffffffff ffff88107fc83c90 ffff88107f000480
[ 19.081912] Call Trace:
[ 19.081982] <IRQ> [<ffffffff81373aba>] ? dump_stack+0x41/0x51
[ 19.082176] [<ffffffffa040aea2>] ? bond_set_rx_mode+0x2d/0xa7 [bonding]
[ 19.082258] [<ffffffff812c54f5>] ? __dev_mc_add+0x48/0x59
[ 19.082337] [<ffffffff8134d4ee>] ? igmp6_group_added+0x65/0x17d
[ 19.082418] [<ffffffff810fc836>] ? kmem_cache_alloc_trace+0xbb/0xcb
[ 19.082497] [<ffffffff8134e7dd>] ? ipv6_dev_mc_inc+0x20e/0x236
[ 19.082578] [<ffffffff81339f70>] ? addrconf_join_solict+0x2e/0x33
[ 19.082656] [<ffffffff81332e22>] ? ipv6_dev_ac_inc+0x131/0x16f
[ 19.082735] [<ffffffff81336f67>] ? addrconf_join_anycast+0x38/0x3e
[ 19.082814] [<ffffffff8133a0b1>] ? __ipv6_ifa_notify+0x106/0x234
[ 19.082893] [<ffffffff8133a20d>] ? ipv6_ifa_notify+0x2e/0x37
[ 19.082971] [<ffffffff8133a660>] ? addrconf_dad_completed+0x32/0x185
[ 19.083050] [<ffffffff8133a874>] ? addrconf_dad_timer+0xc1/0x13c
[ 19.083129] [<ffffffff8133a7b3>] ? addrconf_dad_completed+0x185/0x185
[ 19.083210] [<ffffffff81040613>] ? call_timer_fn+0x4b/0xf6
[ 19.083288] [<ffffffff8133a7b3>] ? addrconf_dad_completed+0x185/0x185
[ 19.083367] [<ffffffff81040c04>] ? run_timer_softirq+0x189/0x1ce
[ 19.083448] [<ffffffff8107c7dd>] ? tick_sched_do_timer+0x25/0x25
[ 19.083527] [<ffffffff8103ad68>] ? __do_softirq+0xe8/0x201
[ 19.083606] [<ffffffff81075d98>] ? ktime_get+0x5f/0x6b
[ 19.083682] [<ffffffff8107afca>] ? clockevents_program_event+0x9a/0xb6
[ 19.083761] [<ffffffff8137df5c>] ? call_softirq+0x1c/0x30
[ 19.083839] [<ffffffff81003b7c>] ? do_softirq+0x2c/0x60
[ 19.083916] [<ffffffff8103af46>] ? irq_exit+0x3b/0x7f
[ 19.083994] [<ffffffff81023b19>] ? smp_apic_timer_interrupt+0x2c/0x37
[ 19.084074] [<ffffffff8137d48a>] ? apic_timer_interrupt+0x6a/0x70
[ 19.084149] <EOI> [<ffffffff8129a6b1>] ? cpuidle_enter_state+0x43/0xa6
[ 19.084330] [<ffffffff8129a6aa>] ? cpuidle_enter_state+0x3c/0xa6
[ 19.084408] [<ffffffff8129a7e6>] ? cpuidle_idle_call+0xd2/0x142
[ 19.084486] [<ffffffff81008ff9>] ? arch_cpu_idle+0x6/0x17
[ 19.084563] [<ffffffff8106f7e9>] ? cpu_startup_entry+0x10d/0x180
[ 19.084641] [<ffffffff8137780c>] ? _raw_spin_unlock_irqrestore+0x6/0x7
[ 19.084726] [<ffffffff810226dd>] ? start_secondary+0x1df/0x1e5
[ 288.351173] 8021q: 802.1Q VLAN Support v1.8
[ 288.351258] 8021q: adding VLAN 0 to HW filter on device eth0
[ 288.351382] 8021q: adding VLAN 0 to HW filter on device eth1
[ 288.351506] 8021q: adding VLAN 0 to HW filter on device eth2
[ 288.351628] 8021q: adding VLAN 0 to HW filter on device eth3
[ 288.351751] 8021q: adding VLAN 0 to HW filter on device bond0
[ 290.160653] RTNL: assertion failed at drivers/net/bonding/bond_main.c (3398)
[ 290.160740] CPU: 7 PID: 0 Comm: swapper/7 Not tainted 3.12.0-rc5+ #1
[ 290.160816] Hardware name: Supermicro X9SRD-F/X9SRD-F, BIOS 1.0a 10/15/2012
[ 290.160894] 0000000000000000 0000000000000000 ffffffff81373aba ffff88103e1a0000
[ 290.161186] ffffffffa040aea2 ffff88103e1a0000 0000000000000000 ffff88103e1a0204
[ 290.161477] ffffffff812c5c61 ffff88103e087000 ffff88103e087000 0000000000000000
[ 290.161769] Call Trace:
[ 290.161845] <IRQ> [<ffffffff81373aba>] ? dump_stack+0x41/0x51
[ 290.162038] [<ffffffffa040aea2>] ? bond_set_rx_mode+0x2d/0xa7 [bonding]
[ 290.162122] [<ffffffff812c5c61>] ? dev_mc_sync+0x58/0x6a
[ 290.162200] [<ffffffffa0429e67>] ? vlan_dev_set_rx_mode+0x13/0x23 [8021q]
[ 290.162280] [<ffffffff812c54f5>] ? __dev_mc_add+0x48/0x59
[ 290.162360] [<ffffffff8134d4ee>] ? igmp6_group_added+0x65/0x17d
[ 290.162441] [<ffffffff810fc836>] ? kmem_cache_alloc_trace+0xbb/0xcb
[ 290.162519] [<ffffffff8134e7dd>] ? ipv6_dev_mc_inc+0x20e/0x236
[ 290.162599] [<ffffffff81339f70>] ? addrconf_join_solict+0x2e/0x33
[ 290.162678] [<ffffffff81332e22>] ? ipv6_dev_ac_inc+0x131/0x16f
[ 290.162756] [<ffffffff81336f67>] ? addrconf_join_anycast+0x38/0x3e
[ 290.162835] [<ffffffff8133a0b1>] ? __ipv6_ifa_notify+0x106/0x234
[ 290.162913] [<ffffffff8133a20d>] ? ipv6_ifa_notify+0x2e/0x37
[ 290.162991] [<ffffffff8133a660>] ? addrconf_dad_completed+0x32/0x185
[ 290.163070] [<ffffffff8133a874>] ? addrconf_dad_timer+0xc1/0x13c
[ 290.163148] [<ffffffff8133a7b3>] ? addrconf_dad_completed+0x185/0x185
[ 290.163228] [<ffffffff81040613>] ? call_timer_fn+0x4b/0xf6
[ 290.163305] [<ffffffff8133a7b3>] ? addrconf_dad_completed+0x185/0x185
[ 290.163384] [<ffffffff81040c04>] ? run_timer_softirq+0x189/0x1ce
[ 290.163464] [<ffffffff8107c7dd>] ? tick_sched_do_timer+0x25/0x25
[ 290.163543] [<ffffffff8103ad68>] ? __do_softirq+0xe8/0x201
[ 290.163621] [<ffffffff81075d98>] ? ktime_get+0x5f/0x6b
[ 290.163697] [<ffffffff8107afca>] ? clockevents_program_event+0x9a/0xb6
[ 290.163776] [<ffffffff8137df5c>] ? call_softirq+0x1c/0x30
[ 290.163854] [<ffffffff81003b7c>] ? do_softirq+0x2c/0x60
[ 290.163931] [<ffffffff8103af46>] ? irq_exit+0x3b/0x7f
[ 290.164009] [<ffffffff81023b19>] ? smp_apic_timer_interrupt+0x2c/0x37
[ 290.164089] [<ffffffff8137d48a>] ? apic_timer_interrupt+0x6a/0x70
[ 290.164164] <EOI> [<ffffffff8129a6b1>] ? cpuidle_enter_state+0x43/0xa6
[ 290.164345] [<ffffffff8129a6aa>] ? cpuidle_enter_state+0x3c/0xa6
[ 290.164422] [<ffffffff8129a7e6>] ? cpuidle_idle_call+0xd2/0x142
[ 290.164500] [<ffffffff81008ff9>] ? arch_cpu_idle+0x6/0x17
[ 290.170083] [<ffffffff8106f7e9>] ? cpu_startup_entry+0x10d/0x180
[ 290.170161] [<ffffffff8137780c>] ? _raw_spin_unlock_irqrestore+0x6/0x7
[ 290.170240] [<ffffffff810226dd>] ? start_secondary+0x1df/0x1e5
[ 290.170377] RTNL: assertion failed at drivers/net/bonding/bond_main.c (3398)
[ 290.170455] CPU: 7 PID: 0 Comm: swapper/7 Not tainted 3.12.0-rc5+ #1
[ 290.170531] Hardware name: Supermicro X9SRD-F/X9SRD-F, BIOS 1.0a 10/15/2012
[ 290.170607] 0000000000000000 0000000000000000 ffffffff81373aba ffff88103e1a0000
[ 290.170897] ffffffffa040aea2 ffff88103e1a0000 0000000000000000 ffff88103e1a0204
[ 290.171186] ffffffff812c5cca 0000000000000000 ffff88103e087000 0000000000000000
[ 290.171484] Call Trace:
[ 290.171554] <IRQ> [<ffffffff81373aba>] ? dump_stack+0x41/0x51
[ 290.171734] [<ffffffffa040aea2>] ? bond_set_rx_mode+0x2d/0xa7 [bonding]
[ 290.171818] [<ffffffff812c5cca>] ? dev_uc_sync+0x57/0x6a
[ 290.171896] [<ffffffff812c54f5>] ? __dev_mc_add+0x48/0x59
[ 290.171974] [<ffffffff8134d4ee>] ? igmp6_group_added+0x65/0x17d
[ 290.172052] [<ffffffff810fc836>] ? kmem_cache_alloc_trace+0xbb/0xcb
[ 290.172132] [<ffffffff8134e7dd>] ? ipv6_dev_mc_inc+0x20e/0x236
[ 290.172210] [<ffffffff81339f70>] ? addrconf_join_solict+0x2e/0x33
[ 290.172288] [<ffffffff81332e22>] ? ipv6_dev_ac_inc+0x131/0x16f
[ 290.172366] [<ffffffff81336f67>] ? addrconf_join_anycast+0x38/0x3e
[ 290.172446] [<ffffffff8133a0b1>] ? __ipv6_ifa_notify+0x106/0x234
[ 290.172524] [<ffffffff8133a20d>] ? ipv6_ifa_notify+0x2e/0x37
[ 290.172604] [<ffffffff8133a660>] ? addrconf_dad_completed+0x32/0x185
[ 290.172683] [<ffffffff8133a874>] ? addrconf_dad_timer+0xc1/0x13c
[ 290.172762] [<ffffffff8133a7b3>] ? addrconf_dad_completed+0x185/0x185
[ 290.172840] [<ffffffff81040613>] ? call_timer_fn+0x4b/0xf6
[ 290.172918] [<ffffffff8133a7b3>] ? addrconf_dad_completed+0x185/0x185
[ 290.172997] [<ffffffff81040c04>] ? run_timer_softirq+0x189/0x1ce
[ 290.173074] [<ffffffff8107c7dd>] ? tick_sched_do_timer+0x25/0x25
[ 290.173153] [<ffffffff8103ad68>] ? __do_softirq+0xe8/0x201
[ 290.173229] [<ffffffff81075d98>] ? ktime_get+0x5f/0x6b
[ 290.173305] [<ffffffff8107afca>] ? clockevents_program_event+0x9a/0xb6
[ 290.173383] [<ffffffff8137df5c>] ? call_softirq+0x1c/0x30
[ 290.173459] [<ffffffff81003b7c>] ? do_softirq+0x2c/0x60
[ 290.173536] [<ffffffff8103af46>] ? irq_exit+0x3b/0x7f
[ 290.173612] [<ffffffff81023b19>] ? smp_apic_timer_interrupt+0x2c/0x37
[ 290.173690] [<ffffffff8137d48a>] ? apic_timer_interrupt+0x6a/0x70
[ 290.173765] <EOI> [<ffffffff8129a6b1>] ? cpuidle_enter_state+0x43/0xa6
[ 290.173944] [<ffffffff8129a6aa>] ? cpuidle_enter_state+0x3c/0xa6
[ 290.174021] [<ffffffff8129a7e6>] ? cpuidle_idle_call+0xd2/0x142
[ 290.174098] [<ffffffff81008ff9>] ? arch_cpu_idle+0x6/0x17
[ 290.174175] [<ffffffff8106f7e9>] ? cpu_startup_entry+0x10d/0x180
[ 290.174252] [<ffffffff8137780c>] ? _raw_spin_unlock_irqrestore+0x6/0x7
[ 290.174331] [<ffffffff810226dd>] ? start_secondary+0x1df/0x1e5
[ 298.920399] RTNL: assertion failed at drivers/net/bonding/bond_main.c (3398)
[ 298.920499] CPU: 7 PID: 4596 Comm: rpcbind Not tainted 3.12.0-rc5+ #1
[ 298.920587] Hardware name: Supermicro X9SRD-F/X9SRD-F, BIOS 1.0a 10/15/2012
[ 298.920676] 0000000000000000 0000000000000000 ffffffff81373aba ffff88103e1a0000
[ 298.920949] ffffffffa040aea2 ffff88103e1a0000 0000000000000000 ffff88103e1a0000
[ 298.921220] ffffffff812c54f5 00000000000000d0 ffff88103ca31c48 ffff88107f000480
[ 298.921492] Call Trace:
[ 298.921564] [<ffffffff81373aba>] ? dump_stack+0x41/0x51
[ 298.921639] [<ffffffffa040aea2>] ? bond_set_rx_mode+0x2d/0xa7 [bonding]
[ 298.921715] [<ffffffff812c54f5>] ? __dev_mc_add+0x48/0x59
[ 298.921789] [<ffffffff8134d4ee>] ? igmp6_group_added+0x65/0x17d
[ 298.921864] [<ffffffff810fc836>] ? kmem_cache_alloc_trace+0xbb/0xcb
[ 298.921937] [<ffffffff8134e7dd>] ? ipv6_dev_mc_inc+0x20e/0x236
[ 298.922010] [<ffffffff8134e91b>] ? ipv6_sock_mc_join+0x116/0x171
[ 298.922084] [<ffffffff813442c4>] ? do_ipv6_setsockopt.isra.6+0x8e4/0xc57
[ 298.922159] [<ffffffff8110dd62>] ? full_name_hash+0x13/0x50
[ 298.922232] [<ffffffff812bd5f9>] ? dev_name_hash.isra.57+0x20/0x35
[ 298.922305] [<ffffffff812bd6fb>] ? dev_get_by_name_rcu+0x31/0x52
[ 298.922378] [<ffffffff810fac27>] ? __cache_free.isra.46+0x178/0x187
[ 298.922453] [<ffffffff81124f93>] ? __inode_wait_for_writeback+0x67/0xae
[ 298.922527] [<ffffffff810fac27>] ? __cache_free.isra.46+0x178/0x187
[ 298.922602] [<ffffffff81117164>] ? dentry_kill+0x13d/0x149
[ 298.922674] [<ffffffff813446ad>] ? compat_ipv6_setsockopt+0x76/0xc4
[ 298.922752] [<ffffffff812d7b61>] ? compat_sys_setsockopt+0x1df/0x203
[ 298.922828] [<ffffffff81059540>] ? should_resched+0x5/0x23
[ 298.922900] [<ffffffff812d7f3b>] ? compat_sys_socketcall+0x126/0x19f
[ 298.922973] [<ffffffff8137dff5>] ? sysenter_dispatch+0x7/0x1a
[ 298.923117] RTNL: assertion failed at drivers/net/bonding/bond_main.c (3398)
[ 298.923191] CPU: 7 PID: 4596 Comm: rpcbind Not tainted 3.12.0-rc5+ #1
[ 298.923263] Hardware name: Supermicro X9SRD-F/X9SRD-F, BIOS 1.0a 10/15/2012
[ 298.923336] 0000000000000000 0000000000000000 ffffffff81373aba ffff88103e1a0000
[ 298.923623] ffffffffa040aea2 ffff88103e1a0000 0000000000000000 ffff88103e1a0204
[ 298.923924] ffffffff812c5c61 ffff88103e087000 ffff88103e087000 0000000000000000
[ 298.924225] Call Trace:
[ 298.924300] [<ffffffff81373aba>] ? dump_stack+0x41/0x51
[ 298.924380] [<ffffffffa040aea2>] ? bond_set_rx_mode+0x2d/0xa7 [bonding]
[ 298.924460] [<ffffffff812c5c61>] ? dev_mc_sync+0x58/0x6a
[ 298.924539] [<ffffffffa0429e67>] ? vlan_dev_set_rx_mode+0x13/0x23 [8021q]
[ 298.924628] [<ffffffff812c54f5>] ? __dev_mc_add+0x48/0x59
[ 298.924716] [<ffffffff8134d4ee>] ? igmp6_group_added+0x65/0x17d
[ 298.924806] [<ffffffff810fc836>] ? kmem_cache_alloc_trace+0xbb/0xcb
[ 298.924885] [<ffffffff8134e7dd>] ? ipv6_dev_mc_inc+0x20e/0x236
[ 298.924962] [<ffffffff8134e91b>] ? ipv6_sock_mc_join+0x116/0x171
[ 298.925045] [<ffffffff813442c4>] ? do_ipv6_setsockopt.isra.6+0x8e4/0xc57
[ 298.925131] [<ffffffff8110dd62>] ? full_name_hash+0x13/0x50
[ 298.925214] [<ffffffff812bd5f9>] ? dev_name_hash.isra.57+0x20/0x35
[ 298.925296] [<ffffffff812bd6fb>] ? dev_get_by_name_rcu+0x31/0x52
[ 298.925375] [<ffffffff810fac27>] ? __cache_free.isra.46+0x178/0x187
[ 298.925455] [<ffffffff81124f93>] ? __inode_wait_for_writeback+0x67/0xae
[ 298.925534] [<ffffffff810fac27>] ? __cache_free.isra.46+0x178/0x187
[ 298.925613] [<ffffffff81117164>] ? dentry_kill+0x13d/0x149
[ 298.925691] [<ffffffff813446ad>] ? compat_ipv6_setsockopt+0x76/0xc4
[ 298.925771] [<ffffffff812d7b61>] ? compat_sys_setsockopt+0x1df/0x203
[ 298.925849] [<ffffffff81059540>] ? should_resched+0x5/0x23
[ 298.925927] [<ffffffff812d7f3b>] ? compat_sys_socketcall+0x126/0x19f
[ 298.926005] [<ffffffff8137dff5>] ? sysenter_dispatch+0x7/0x1a
[ 298.926143] RTNL: assertion failed at drivers/net/bonding/bond_main.c (3398)
[ 298.926222] CPU: 7 PID: 4596 Comm: rpcbind Not tainted 3.12.0-rc5+ #1
[ 298.926298] Hardware name: Supermicro X9SRD-F/X9SRD-F, BIOS 1.0a 10/15/2012
[ 298.926374] 0000000000000000 0000000000000000 ffffffff81373aba ffff88103e1a0000
[ 298.926678] ffffffffa040aea2 ffff88103e1a0000 0000000000000000 ffff88103e1a0204
[ 298.926967] ffffffff812c5cca 0000000000000000 ffff88103e087000 0000000000000000
[ 298.927256] Call Trace:
[ 298.927330] [<ffffffff81373aba>] ? dump_stack+0x41/0x51
[ 298.927409] [<ffffffffa040aea2>] ? bond_set_rx_mode+0x2d/0xa7 [bonding]
[ 298.927489] [<ffffffff812c5cca>] ? dev_uc_sync+0x57/0x6a
[ 298.927566] [<ffffffff812c54f5>] ? __dev_mc_add+0x48/0x59
[ 298.927643] [<ffffffff8134d4ee>] ? igmp6_group_added+0x65/0x17d
[ 298.927726] [<ffffffff810fc836>] ? kmem_cache_alloc_trace+0xbb/0xcb
[ 298.927812] [<ffffffff8134e7dd>] ? ipv6_dev_mc_inc+0x20e/0x236
[ 298.927893] [<ffffffff8134e91b>] ? ipv6_sock_mc_join+0x116/0x171
[ 298.927972] [<ffffffff813442c4>] ? do_ipv6_setsockopt.isra.6+0x8e4/0xc57
[ 298.928050] [<ffffffff8110dd62>] ? full_name_hash+0x13/0x50
[ 298.928127] [<ffffffff812bd5f9>] ? dev_name_hash.isra.57+0x20/0x35
[ 298.928205] [<ffffffff812bd6fb>] ? dev_get_by_name_rcu+0x31/0x52
[ 298.928283] [<ffffffff810fac27>] ? __cache_free.isra.46+0x178/0x187
[ 298.928362] [<ffffffff81124f93>] ? __inode_wait_for_writeback+0x67/0xae
[ 298.928441] [<ffffffff810fac27>] ? __cache_free.isra.46+0x178/0x187
[ 298.928521] [<ffffffff81117164>] ? dentry_kill+0x13d/0x149
[ 298.928608] [<ffffffff813446ad>] ? compat_ipv6_setsockopt+0x76/0xc4
[ 298.928699] [<ffffffff812d7b61>] ? compat_sys_setsockopt+0x1df/0x203
[ 298.928790] [<ffffffff81059540>] ? should_resched+0x5/0x23
[ 298.928867] [<ffffffff812d7f3b>] ? compat_sys_socketcall+0x126/0x19f
[ 298.928945] [<ffffffff8137dff5>] ? sysenter_dispatch+0x7/0x1a
[ 299.185287] RPC: Registered named UNIX socket transport module.
[ 299.185374] RPC: Registered udp transport module.
[ 299.185443] RPC: Registered tcp transport module.
[ 299.185511] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 299.235908] FS-Cache: Loaded
[ 299.264498] FS-Cache: Netfs 'nfs' registered for caching
[ 299.298592] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 304.218323] Netfilter messages via NETLINK v0.30.
[ 313.028841] tun: Universal TUN/TAP device driver, 1.6
[ 313.028931] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 313.409097] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 314.231257] RTNL: assertion failed at drivers/net/bonding/bond_main.c (3398)
[ 314.231336] CPU: 0 PID: 6146 Comm: avahi-daemon Not tainted 3.12.0-rc5+ #1
[ 314.231410] Hardware name: Supermicro X9SRD-F/X9SRD-F, BIOS 1.0a 10/15/2012
[ 314.231484] 0000000000000000 0000000000000000 ffffffff81373aba ffff88103e1a0000
[ 314.231758] ffffffffa040aea2 ffff88103e1a0000 0000000000000000 ffff88103e1a0204
[ 314.232035] ffffffff812c5c61 ffff88103e087000 ffff88103e087000 0000000000000000
[ 314.232317] Call Trace:
[ 314.232397] [<ffffffff81373aba>] ? dump_stack+0x41/0x51
[ 314.232475] [<ffffffffa040aea2>] ? bond_set_rx_mode+0x2d/0xa7 [bonding]
[ 314.232552] [<ffffffff812c5c61>] ? dev_mc_sync+0x58/0x6a
[ 314.232624] [<ffffffffa0429e67>] ? vlan_dev_set_rx_mode+0x13/0x23 [8021q]
[ 314.232699] [<ffffffff812c54f5>] ? __dev_mc_add+0x48/0x59
[ 314.232779] [<ffffffff8134d4ee>] ? igmp6_group_added+0x65/0x17d
[ 314.232856] [<ffffffff810fc836>] ? kmem_cache_alloc_trace+0xbb/0xcb
[ 314.232929] [<ffffffff8134e7dd>] ? ipv6_dev_mc_inc+0x20e/0x236
[ 314.233001] [<ffffffff8134e91b>] ? ipv6_sock_mc_join+0x116/0x171
[ 314.233076] [<ffffffff813442c4>] ? do_ipv6_setsockopt.isra.6+0x8e4/0xc57
[ 314.233151] [<ffffffff812aeac3>] ? sock_sendmsg+0x49/0x64
[ 314.233225] [<ffffffff8111b33d>] ? fget_light+0x2e/0x7c
[ 314.233297] [<ffffffff812acbdc>] ? sockfd_lookup_light+0x17/0x4b
[ 314.233369] [<ffffffff812af517>] ? SYSC_sendto+0xec/0x101
[ 314.233441] [<ffffffff813446ad>] ? compat_ipv6_setsockopt+0x76/0xc4
[ 314.233517] [<ffffffff812d7b61>] ? compat_sys_setsockopt+0x1df/0x203
[ 314.233591] [<ffffffff812d7f3b>] ? compat_sys_socketcall+0x126/0x19f
[ 314.233665] [<ffffffff8137dff5>] ? sysenter_dispatch+0x7/0x1a
[ 314.233794] RTNL: assertion failed at drivers/net/bonding/bond_main.c (3398)
[ 314.233868] CPU: 0 PID: 6146 Comm: avahi-daemon Not tainted 3.12.0-rc5+ #1
[ 314.233940] Hardware name: Supermicro X9SRD-F/X9SRD-F, BIOS 1.0a 10/15/2012
[ 314.234013] 0000000000000000 0000000000000000 ffffffff81373aba ffff88103e1a0000
[ 314.234285] ffffffffa040aea2 ffff88103e1a0000 0000000000000000 ffff88103e1a0204
[ 314.234558] ffffffff812c5cca 0000000000000000 ffff88103e087000 0000000000000000
[ 314.234831] Call Trace:
[ 314.234897] [<ffffffff81373aba>] ? dump_stack+0x41/0x51
[ 314.234970] [<ffffffffa040aea2>] ? bond_set_rx_mode+0x2d/0xa7 [bonding]
[ 314.235044] [<ffffffff812c5cca>] ? dev_uc_sync+0x57/0x6a
[ 314.235123] [<ffffffff812c54f5>] ? __dev_mc_add+0x48/0x59
[ 314.235194] [<ffffffff8134d4ee>] ? igmp6_group_added+0x65/0x17d
[ 314.235274] [<ffffffff810fc836>] ? kmem_cache_alloc_trace+0xbb/0xcb
[ 314.235347] [<ffffffff8134e7dd>] ? ipv6_dev_mc_inc+0x20e/0x236
[ 314.235420] [<ffffffff8134e91b>] ? ipv6_sock_mc_join+0x116/0x171
[ 314.235493] [<ffffffff813442c4>] ? do_ipv6_setsockopt.isra.6+0x8e4/0xc57
[ 314.235566] [<ffffffff812aeac3>] ? sock_sendmsg+0x49/0x64
[ 314.235639] [<ffffffff8111b33d>] ? fget_light+0x2e/0x7c
[ 314.235710] [<ffffffff812acbdc>] ? sockfd_lookup_light+0x17/0x4b
[ 314.235782] [<ffffffff812af517>] ? SYSC_sendto+0xec/0x101
[ 314.235854] [<ffffffff813446ad>] ? compat_ipv6_setsockopt+0x76/0xc4
[ 314.235928] [<ffffffff812d7b61>] ? compat_sys_setsockopt+0x1df/0x203
[ 314.236002] [<ffffffff812d7f3b>] ? compat_sys_socketcall+0x126/0x19f
[ 314.236075] [<ffffffff8137dff5>] ? sysenter_dispatch+0x7/0x1a
[ 314.236393] RTNL: assertion failed at drivers/net/bonding/bond_main.c (3398)
[ 314.236467] CPU: 0 PID: 6146 Comm: avahi-daemon Not tainted 3.12.0-rc5+ #1
[ 314.236540] Hardware name: Supermicro X9SRD-F/X9SRD-F, BIOS 1.0a 10/15/2012
[ 314.236613] 0000000000000000 0000000000000000 ffffffff81373aba ffff88103e1a0000
[ 314.236889] ffffffffa040aea2 ffff88103e1a0000 0000000000000000 ffff88103e1a0000
[ 314.237162] ffffffff812c54f5 00000000000000d0 ffff88102f5c5c48 ffff88107f000480
[ 314.237434] Call Trace:
[ 314.237501] [<ffffffff81373aba>] ? dump_stack+0x41/0x51
[ 314.237575] [<ffffffffa040aea2>] ? bond_set_rx_mode+0x2d/0xa7 [bonding]
[ 314.237649] [<ffffffff812c54f5>] ? __dev_mc_add+0x48/0x59
[ 314.237720] [<ffffffff8134d4ee>] ? igmp6_group_added+0x65/0x17d
[ 314.237794] [<ffffffff810fc836>] ? kmem_cache_alloc_trace+0xbb/0xcb
[ 314.237866] [<ffffffff8134e7dd>] ? ipv6_dev_mc_inc+0x20e/0x236
[ 314.237939] [<ffffffff8134e91b>] ? ipv6_sock_mc_join+0x116/0x171
[ 314.238018] [<ffffffff813442c4>] ? do_ipv6_setsockopt.isra.6+0x8e4/0xc57
[ 314.238093] [<ffffffff812aeac3>] ? sock_sendmsg+0x49/0x64
[ 314.238166] [<ffffffff810dfc2a>] ? handle_mm_fault+0x22c/0x8aa
[ 314.238239] [<ffffffff8111b33d>] ? fget_light+0x2e/0x7c
[ 314.238310] [<ffffffff812acbdc>] ? sockfd_lookup_light+0x17/0x4b
[ 314.238382] [<ffffffff812af517>] ? SYSC_sendto+0xec/0x101
[ 314.238454] [<ffffffff813446ad>] ? compat_ipv6_setsockopt+0x76/0xc4
[ 314.238528] [<ffffffff81058942>] ? mmdrop+0xd/0x1c
[ 314.238599] [<ffffffff812d7b61>] ? compat_sys_setsockopt+0x1df/0x203
[ 314.238674] [<ffffffff81075fa6>] ? getnstimeofday+0x7/0x20
[ 314.238746] [<ffffffff812d7f3b>] ? compat_sys_socketcall+0x126/0x19f
[ 314.238818] [<ffffffff8137dff5>] ? sysenter_dispatch+0x7/0x1a
[ 314.508396] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 314.528759] NFSD: starting 90-second grace period (net ffffffff81678200)
[ 320.219271] postgres (6634): /proc/6634/oom_adj is deprecated, please use /proc/6634/oom_score_adj instead.
Howto reproduce:
- Build the kernel from Torvalds tip
- Configure bonding with tlb with one NIC.
auto bond0
iface bond0 inet static
address ...
netmask ...
network ...
broadcast ...
gateway ...
bond-mode balance-tlb
bond-miimon 100
slaves eth0
# eth1 eth2 eth3
Cheers,
Thomas
^ permalink raw reply
* Re: IPv6 path discovery oddities - flushing the routing cache resolves
From: Hannes Frederic Sowa @ 2013-10-19 20:24 UTC (permalink / raw)
To: Valentijn Sessink; +Cc: netdev, Steinar H. Gunderson
In-Reply-To: <5262963B.8040001@blub.net>
On Sat, Oct 19, 2013 at 04:24:59PM +0200, Valentijn Sessink wrote:
> op 19-10-13 12:12, Steinar H. Gunderson schreef:
> >Thanks so much for looking into this! It's great that to hear that it's not
> >just me being weird =)
>
> I'm not sure the patch addresses weirdness ;-P
>
> On the more serious side: I have this problem with a 3.8.0 kernel
> (Ubuntu 12.04 with updated kernel). I saw that you (Steinar) experience
> this with 3.10 and 3.11, iirc. I'm a little bit worried by the fact that
> this has not been seen for at least six months - and now suddenly pops up.
>
> Does anyone have an idea when this race condition was introduced?
Do a bisect. ;)
I had a look at the history but could not find a single commit
to blame. Even reference counting changes (e.g. removal of neighbour
caching in routes) or something in the way the socket release callbacks
are processed by tcp could introduce a way where these problems are more
likely to happen. I wondered, too.
A lot of people of the IPv6 community often state that mtu discovery is broken
because of filtering packet_too_bigs. Maybe most people assumed broken
firewalls and did not actual check if it is the kernels problem. So, thanks
again for reporting this issue.
Greetings,
Hannes
^ permalink raw reply
* [PATCH net-next v4 9/9] net: switch net_secret key generation to net_get_random_once
From: Hannes Frederic Sowa @ 2013-10-19 19:48 UTC (permalink / raw)
To: netdev; +Cc: linux-kernel, Hannes Frederic Sowa, Eric Dumazet, David S. Miller
In-Reply-To: <1382212139-20301-1-git-send-email-hannes@stressinduktion.org>
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
---
net/core/secure_seq.c | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/net/core/secure_seq.c b/net/core/secure_seq.c
index 3f1ec15..b02fd16 100644
--- a/net/core/secure_seq.c
+++ b/net/core/secure_seq.c
@@ -7,6 +7,7 @@
#include <linux/hrtimer.h>
#include <linux/ktime.h>
#include <linux/string.h>
+#include <linux/net.h>
#include <net/secure_seq.h>
@@ -16,18 +17,7 @@ static u32 net_secret[NET_SECRET_SIZE] ____cacheline_aligned;
static void net_secret_init(void)
{
- u32 tmp;
- int i;
-
- if (likely(net_secret[0]))
- return;
-
- for (i = NET_SECRET_SIZE; i > 0;) {
- do {
- get_random_bytes(&tmp, sizeof(tmp));
- } while (!tmp);
- cmpxchg(&net_secret[--i], 0, tmp);
- }
+ net_get_random_once(net_secret, sizeof(net_secret));
}
#ifdef CONFIG_INET
--
1.8.3.1
^ permalink raw reply related
* [PATCH net-next v4 2/9] ipv6: split inet6_ehashfn to hash functions per compilation unit
From: Hannes Frederic Sowa @ 2013-10-19 19:48 UTC (permalink / raw)
To: netdev; +Cc: linux-kernel, Hannes Frederic Sowa, Eric Dumazet, David S. Miller
In-Reply-To: <1382212139-20301-1-git-send-email-hannes@stressinduktion.org>
This patch splits the inet6_ehashfn into separate ones in
ipv6/inet6_hashtables.o and ipv6/udp.o to ease the introduction of
seperate secrets keys later.
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
---
include/net/inet6_hashtables.h | 28 +++++++---------------------
include/net/ipv6.h | 4 ++--
net/ipv6/inet6_hashtables.c | 24 ++++++++++++++++++++++++
net/ipv6/udp.c | 20 ++++++++++++++++----
4 files changed, 49 insertions(+), 27 deletions(-)
diff --git a/include/net/inet6_hashtables.h b/include/net/inet6_hashtables.h
index a105d1a..ae06135 100644
--- a/include/net/inet6_hashtables.h
+++ b/include/net/inet6_hashtables.h
@@ -28,28 +28,14 @@
struct inet_hashinfo;
-static inline unsigned int inet6_ehashfn(struct net *net,
- const struct in6_addr *laddr, const u16 lport,
- const struct in6_addr *faddr, const __be16 fport)
+static inline unsigned int __inet6_ehashfn(const u32 lhash,
+ const u16 lport,
+ const u32 fhash,
+ const __be16 fport,
+ const u32 initval)
{
- u32 ports = (((u32)lport) << 16) | (__force u32)fport;
-
- return jhash_3words((__force u32)laddr->s6_addr32[3],
- ipv6_addr_jhash(faddr),
- ports,
- inet_ehash_secret + net_hash_mix(net));
-}
-
-static inline int inet6_sk_ehashfn(const struct sock *sk)
-{
- const struct inet_sock *inet = inet_sk(sk);
- const struct in6_addr *laddr = &sk->sk_v6_rcv_saddr;
- const struct in6_addr *faddr = &sk->sk_v6_daddr;
- const __u16 lport = inet->inet_num;
- const __be16 fport = inet->inet_dport;
- struct net *net = sock_net(sk);
-
- return inet6_ehashfn(net, laddr, lport, faddr, fport);
+ const u32 ports = (((u32)lport) << 16) | (__force u32)fport;
+ return jhash_3words(lhash, fhash, ports, initval);
}
int __inet6_hash(struct sock *sk, struct inet_timewait_sock *twp);
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index fe1c7f6..a35055f 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -539,14 +539,14 @@ static inline u32 ipv6_addr_hash(const struct in6_addr *a)
}
/* more secured version of ipv6_addr_hash() */
-static inline u32 ipv6_addr_jhash(const struct in6_addr *a)
+static inline u32 __ipv6_addr_jhash(const struct in6_addr *a, const u32 initval)
{
u32 v = (__force u32)a->s6_addr32[0] ^ (__force u32)a->s6_addr32[1];
return jhash_3words(v,
(__force u32)a->s6_addr32[2],
(__force u32)a->s6_addr32[3],
- ipv6_hash_secret);
+ initval);
}
static inline bool ipv6_addr_loopback(const struct in6_addr *a)
diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c
index 842d833..fa7dd38 100644
--- a/net/ipv6/inet6_hashtables.c
+++ b/net/ipv6/inet6_hashtables.c
@@ -23,6 +23,30 @@
#include <net/secure_seq.h>
#include <net/ip.h>
+static unsigned int inet6_ehashfn(struct net *net,
+ const struct in6_addr *laddr,
+ const u16 lport,
+ const struct in6_addr *faddr,
+ const __be16 fport)
+{
+ const u32 lhash = (__force u32)laddr->s6_addr32[3];
+ const u32 fhash = __ipv6_addr_jhash(faddr, ipv6_hash_secret);
+ return __inet6_ehashfn(lhash, lport, fhash, fport,
+ inet_ehash_secret + net_hash_mix(net));
+}
+
+static int inet6_sk_ehashfn(const struct sock *sk)
+{
+ const struct inet_sock *inet = inet_sk(sk);
+ const struct in6_addr *laddr = &sk->sk_v6_rcv_saddr;
+ const struct in6_addr *faddr = &sk->sk_v6_daddr;
+ const __u16 lport = inet->inet_num;
+ const __be16 fport = inet->inet_dport;
+ struct net *net = sock_net(sk);
+
+ return inet6_ehashfn(net, laddr, lport, faddr, fport);
+}
+
int __inet6_hash(struct sock *sk, struct inet_timewait_sock *tw)
{
struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo;
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index b496de1..324bd36 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -53,6 +53,18 @@
#include <trace/events/skb.h>
#include "udp_impl.h"
+static unsigned int udp6_ehashfn(struct net *net,
+ const struct in6_addr *laddr,
+ const u16 lport,
+ const struct in6_addr *faddr,
+ const __be16 fport)
+{
+ const u32 lhash = (__force u32)laddr->s6_addr32[3];
+ const u32 fhash = __ipv6_addr_jhash(faddr, ipv6_hash_secret);
+ return __inet6_ehashfn(lhash, lport, fhash, fport,
+ inet_ehash_secret + net_hash_mix(net));
+}
+
int ipv6_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2)
{
const struct in6_addr *sk2_rcv_saddr6 = inet6_rcv_saddr(sk2);
@@ -214,8 +226,8 @@ begin:
badness = score;
reuseport = sk->sk_reuseport;
if (reuseport) {
- hash = inet6_ehashfn(net, daddr, hnum,
- saddr, sport);
+ hash = udp6_ehashfn(net, daddr, hnum,
+ saddr, sport);
matches = 1;
} else if (score == SCORE2_MAX)
goto exact_match;
@@ -295,8 +307,8 @@ begin:
badness = score;
reuseport = sk->sk_reuseport;
if (reuseport) {
- hash = inet6_ehashfn(net, daddr, hnum,
- saddr, sport);
+ hash = udp6_ehashfn(net, daddr, hnum,
+ saddr, sport);
matches = 1;
}
} else if (score == badness && reuseport) {
--
1.8.3.1
^ permalink raw reply related
* [PATCH net-next v4 8/9] tcp: switch tcp_fastopen key generation to net_get_random_once
From: Hannes Frederic Sowa @ 2013-10-19 19:48 UTC (permalink / raw)
To: netdev
Cc: linux-kernel, Hannes Frederic Sowa, Yuchung Cheng, Eric Dumazet,
David S. Miller
In-Reply-To: <1382212139-20301-1-git-send-email-hannes@stressinduktion.org>
Changed key initialization of tcp_fastopen cookies to net_get_random_once.
If the user sets a custom key net_get_random_once must be called at
least once to ensure we don't overwrite the user provided key when the
first cookie is generated later on.
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
---
include/net/tcp.h | 2 +-
net/ipv4/sysctl_net_ipv4.c | 5 +++++
net/ipv4/tcp_fastopen.c | 27 ++++++++++++++++-----------
3 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/include/net/tcp.h b/include/net/tcp.h
index f30326f..b12e29a 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -1322,7 +1322,7 @@ extern struct tcp_fastopen_context __rcu *tcp_fastopen_ctx;
int tcp_fastopen_reset_cipher(void *key, unsigned int len);
void tcp_fastopen_cookie_gen(__be32 src, __be32 dst,
struct tcp_fastopen_cookie *foc);
-
+void tcp_fastopen_init_key_once(bool publish);
#define TCP_FASTOPEN_KEY_LENGTH 16
/* Fastopen key context */
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index c08f096..4b161d5 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -274,6 +274,11 @@ static int proc_tcp_fastopen_key(struct ctl_table *ctl, int write,
ret = -EINVAL;
goto bad_key;
}
+ /* Generate a dummy secret but don't publish it. This
+ * is needed so we don't regenerate a new key on the
+ * first invocation of tcp_fastopen_cookie_gen
+ */
+ tcp_fastopen_init_key_once(false);
tcp_fastopen_reset_cipher(user_key, TCP_FASTOPEN_KEY_LENGTH);
}
diff --git a/net/ipv4/tcp_fastopen.c b/net/ipv4/tcp_fastopen.c
index ab7bd35..766032b 100644
--- a/net/ipv4/tcp_fastopen.c
+++ b/net/ipv4/tcp_fastopen.c
@@ -14,6 +14,20 @@ struct tcp_fastopen_context __rcu *tcp_fastopen_ctx;
static DEFINE_SPINLOCK(tcp_fastopen_ctx_lock);
+void tcp_fastopen_init_key_once(bool publish)
+{
+ static u8 key[TCP_FASTOPEN_KEY_LENGTH];
+
+ /* tcp_fastopen_reset_cipher publishes the new context
+ * atomically, so we allow this race happening here.
+ *
+ * All call sites of tcp_fastopen_cookie_gen also check
+ * for a valid cookie, so this is an acceptable risk.
+ */
+ if (net_get_random_once(key, sizeof(key)) && publish)
+ tcp_fastopen_reset_cipher(key, sizeof(key));
+}
+
static void tcp_fastopen_ctx_free(struct rcu_head *head)
{
struct tcp_fastopen_context *ctx =
@@ -70,6 +84,8 @@ void tcp_fastopen_cookie_gen(__be32 src, __be32 dst,
__be32 path[4] = { src, dst, 0, 0 };
struct tcp_fastopen_context *ctx;
+ tcp_fastopen_init_key_once(true);
+
rcu_read_lock();
ctx = rcu_dereference(tcp_fastopen_ctx);
if (ctx) {
@@ -78,14 +94,3 @@ void tcp_fastopen_cookie_gen(__be32 src, __be32 dst,
}
rcu_read_unlock();
}
-
-static int __init tcp_fastopen_init(void)
-{
- __u8 key[TCP_FASTOPEN_KEY_LENGTH];
-
- get_random_bytes(key, sizeof(key));
- tcp_fastopen_reset_cipher(key, sizeof(key));
- return 0;
-}
-
-late_initcall(tcp_fastopen_init);
--
1.8.3.1
^ permalink raw reply related
* [PATCH net-next v4 7/9] inet: convert inet_ehash_secret and ipv6_hash_secret to net_get_random_once
From: Hannes Frederic Sowa @ 2013-10-19 19:48 UTC (permalink / raw)
To: netdev; +Cc: linux-kernel, Hannes Frederic Sowa, Eric Dumazet, David S. Miller
In-Reply-To: <1382212139-20301-1-git-send-email-hannes@stressinduktion.org>
Initialize the ehash and ipv6_hash_secrets with net_get_random_once.
Each compilation unit gets its own secret now:
ipv4/inet_hashtables.o
ipv4/udp.o
ipv6/inet6_hashtables.o
ipv6/udp.o
rds/connection.o
The functions still get inlined into the hashing functions. In the fast
path we have at most two (needed in ipv6) if (unlikely(...)).
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
---
include/net/inet_sock.h | 4 ----
net/ipv4/af_inet.c | 27 ---------------------------
net/ipv4/inet_hashtables.c | 4 ++++
net/ipv4/udp.c | 6 +++++-
net/ipv6/af_inet6.c | 5 -----
net/ipv6/inet6_hashtables.c | 15 ++++++++++++---
net/ipv6/udp.c | 17 ++++++++++++++---
net/rds/connection.c | 12 +++++++++---
8 files changed, 44 insertions(+), 46 deletions(-)
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h
index 7a6c7f8..1833c3f 100644
--- a/include/net/inet_sock.h
+++ b/include/net/inet_sock.h
@@ -204,10 +204,6 @@ static inline void inet_sk_copy_descendant(struct sock *sk_to,
int inet_sk_rebuild_header(struct sock *sk);
-extern u32 inet_ehash_secret;
-extern u32 ipv6_hash_secret;
-void build_ehash_secret(void);
-
static inline unsigned int __inet_ehashfn(const __be32 laddr,
const __u16 lport,
const __be32 faddr,
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 35913fb..b6bdd82 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -245,29 +245,6 @@ out:
}
EXPORT_SYMBOL(inet_listen);
-u32 inet_ehash_secret __read_mostly;
-EXPORT_SYMBOL(inet_ehash_secret);
-
-u32 ipv6_hash_secret __read_mostly;
-EXPORT_SYMBOL(ipv6_hash_secret);
-
-/*
- * inet_ehash_secret must be set exactly once, and to a non nul value
- * ipv6_hash_secret must be set exactly once.
- */
-void build_ehash_secret(void)
-{
- u32 rnd;
-
- do {
- get_random_bytes(&rnd, sizeof(rnd));
- } while (rnd == 0);
-
- if (cmpxchg(&inet_ehash_secret, 0, rnd) == 0)
- get_random_bytes(&ipv6_hash_secret, sizeof(ipv6_hash_secret));
-}
-EXPORT_SYMBOL(build_ehash_secret);
-
/*
* Create an inet socket.
*/
@@ -284,10 +261,6 @@ static int inet_create(struct net *net, struct socket *sock, int protocol,
int try_loading_module = 0;
int err;
- if (unlikely(!inet_ehash_secret))
- if (sock->type != SOCK_RAW && sock->type != SOCK_DGRAM)
- build_ehash_secret();
-
sock->state = SS_UNCONNECTED;
/* Look for the requested type/protocol pair. */
diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c
index 18aa668..8b9cf27 100644
--- a/net/ipv4/inet_hashtables.c
+++ b/net/ipv4/inet_hashtables.c
@@ -28,6 +28,10 @@ static unsigned int inet_ehashfn(struct net *net, const __be32 laddr,
const __u16 lport, const __be32 faddr,
const __be16 fport)
{
+ static u32 inet_ehash_secret __read_mostly;
+
+ net_get_random_once(&inet_ehash_secret, sizeof(inet_ehash_secret));
+
return __inet_ehashfn(laddr, lport, faddr, fport,
inet_ehash_secret + net_hash_mix(net));
}
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index b4437c7..89909dd 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -411,8 +411,12 @@ static unsigned int udp_ehashfn(struct net *net, const __be32 laddr,
const __u16 lport, const __be32 faddr,
const __be16 fport)
{
+ static u32 udp_ehash_secret __read_mostly;
+
+ net_get_random_once(&udp_ehash_secret, sizeof(udp_ehash_secret));
+
return __inet_ehashfn(laddr, lport, faddr, fport,
- inet_ehash_secret + net_hash_mix(net));
+ udp_ehash_secret + net_hash_mix(net));
}
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index a2cb07c..20af1fb 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -110,11 +110,6 @@ static int inet6_create(struct net *net, struct socket *sock, int protocol,
int try_loading_module = 0;
int err;
- if (sock->type != SOCK_RAW &&
- sock->type != SOCK_DGRAM &&
- !inet_ehash_secret)
- build_ehash_secret();
-
/* Look for the requested type/protocol pair. */
lookup_protocol:
err = -ESOCKTNOSUPPORT;
diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c
index fa7dd38..262e13c 100644
--- a/net/ipv6/inet6_hashtables.c
+++ b/net/ipv6/inet6_hashtables.c
@@ -29,10 +29,19 @@ static unsigned int inet6_ehashfn(struct net *net,
const struct in6_addr *faddr,
const __be16 fport)
{
- const u32 lhash = (__force u32)laddr->s6_addr32[3];
- const u32 fhash = __ipv6_addr_jhash(faddr, ipv6_hash_secret);
+ static u32 inet6_ehash_secret __read_mostly;
+ static u32 ipv6_hash_secret __read_mostly;
+
+ u32 lhash, fhash;
+
+ net_get_random_once(&inet6_ehash_secret, sizeof(inet6_ehash_secret));
+ net_get_random_once(&ipv6_hash_secret, sizeof(ipv6_hash_secret));
+
+ lhash = (__force u32)laddr->s6_addr32[3];
+ fhash = __ipv6_addr_jhash(faddr, ipv6_hash_secret);
+
return __inet6_ehashfn(lhash, lport, fhash, fport,
- inet_ehash_secret + net_hash_mix(net));
+ inet6_ehash_secret + net_hash_mix(net));
}
static int inet6_sk_ehashfn(const struct sock *sk)
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index 324bd36..44fc4e3 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -59,10 +59,21 @@ static unsigned int udp6_ehashfn(struct net *net,
const struct in6_addr *faddr,
const __be16 fport)
{
- const u32 lhash = (__force u32)laddr->s6_addr32[3];
- const u32 fhash = __ipv6_addr_jhash(faddr, ipv6_hash_secret);
+ static u32 udp6_ehash_secret __read_mostly;
+ static u32 udp_ipv6_hash_secret __read_mostly;
+
+ u32 lhash, fhash;
+
+ net_get_random_once(&udp6_ehash_secret,
+ sizeof(udp6_ehash_secret));
+ net_get_random_once(&udp_ipv6_hash_secret,
+ sizeof(udp_ipv6_hash_secret));
+
+ lhash = (__force u32)laddr->s6_addr32[3];
+ fhash = __ipv6_addr_jhash(faddr, udp_ipv6_hash_secret);
+
return __inet6_ehashfn(lhash, lport, fhash, fport,
- inet_ehash_secret + net_hash_mix(net));
+ udp_ipv6_hash_secret + net_hash_mix(net));
}
int ipv6_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2)
diff --git a/net/rds/connection.c b/net/rds/connection.c
index 45e2366..378c3a6 100644
--- a/net/rds/connection.c
+++ b/net/rds/connection.c
@@ -51,10 +51,16 @@ static struct kmem_cache *rds_conn_slab;
static struct hlist_head *rds_conn_bucket(__be32 laddr, __be32 faddr)
{
+ static u32 rds_hash_secret __read_mostly;
+
+ unsigned long hash;
+
+ net_get_random_once(&rds_hash_secret, sizeof(rds_hash_secret));
+
/* Pass NULL, don't need struct net for hash */
- unsigned long hash = __inet_ehashfn(be32_to_cpu(laddr), 0,
- be32_to_cpu(faddr), 0,
- inet_ehash_secret);
+ hash = __inet_ehashfn(be32_to_cpu(laddr), 0,
+ be32_to_cpu(faddr), 0,
+ rds_hash_secret);
return &rds_conn_hash[hash & RDS_CONNECTION_HASH_MASK];
}
--
1.8.3.1
^ permalink raw reply related
* [PATCH net-next v4 6/9] inet: split syncookie keys for ipv4 and ipv6 and initialize with net_get_random_once
From: Hannes Frederic Sowa @ 2013-10-19 19:48 UTC (permalink / raw)
To: netdev
Cc: linux-kernel, Hannes Frederic Sowa, Florian Westphal,
Eric Dumazet, David S. Miller
In-Reply-To: <1382212139-20301-1-git-send-email-hannes@stressinduktion.org>
This patch splits the secret key for syncookies for ipv4 and ipv6 and
initializes them with net_get_random_once. This change was the reason I
did this series. I think the initialization of the syncookie_secret is
way to early.
Cc: Florian Westphal <fw@strlen.de>
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
---
include/net/tcp.h | 1 -
net/ipv4/syncookies.c | 15 +++++----------
net/ipv6/syncookies.c | 12 +++++++++---
3 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 372dccc..f30326f 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -475,7 +475,6 @@ int tcp_send_rcvq(struct sock *sk, struct msghdr *msg, size_t size);
void inet_sk_rx_dst_set(struct sock *sk, const struct sk_buff *skb);
/* From syncookies.c */
-extern __u32 syncookie_secret[2][16-4+SHA_DIGEST_WORDS];
int __cookie_v4_check(const struct iphdr *iph, const struct tcphdr *th,
u32 cookie);
struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb,
diff --git a/net/ipv4/syncookies.c b/net/ipv4/syncookies.c
index 3b64c59..b95331e 100644
--- a/net/ipv4/syncookies.c
+++ b/net/ipv4/syncookies.c
@@ -25,15 +25,7 @@
extern int sysctl_tcp_syncookies;
-__u32 syncookie_secret[2][16-4+SHA_DIGEST_WORDS];
-EXPORT_SYMBOL(syncookie_secret);
-
-static __init int init_syncookies(void)
-{
- get_random_bytes(syncookie_secret, sizeof(syncookie_secret));
- return 0;
-}
-__initcall(init_syncookies);
+static u32 syncookie_secret[2][16-4+SHA_DIGEST_WORDS];
#define COOKIEBITS 24 /* Upper bits store count */
#define COOKIEMASK (((__u32)1 << COOKIEBITS) - 1)
@@ -44,8 +36,11 @@ static DEFINE_PER_CPU(__u32 [16 + 5 + SHA_WORKSPACE_WORDS],
static u32 cookie_hash(__be32 saddr, __be32 daddr, __be16 sport, __be16 dport,
u32 count, int c)
{
- __u32 *tmp = __get_cpu_var(ipv4_cookie_scratch);
+ __u32 *tmp;
+
+ net_get_random_once(syncookie_secret, sizeof(syncookie_secret));
+ tmp = __get_cpu_var(ipv4_cookie_scratch);
memcpy(tmp + 4, syncookie_secret[c], sizeof(syncookie_secret[c]));
tmp[0] = (__force u32)saddr;
tmp[1] = (__force u32)daddr;
diff --git a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c
index d04d3f1..535a3ad 100644
--- a/net/ipv6/syncookies.c
+++ b/net/ipv6/syncookies.c
@@ -24,6 +24,8 @@
#define COOKIEBITS 24 /* Upper bits store count */
#define COOKIEMASK (((__u32)1 << COOKIEBITS) - 1)
+static u32 syncookie6_secret[2][16-4+SHA_DIGEST_WORDS];
+
/* RFC 2460, Section 8.3:
* [ipv6 tcp] MSS must be computed as the maximum packet size minus 60 [..]
*
@@ -61,14 +63,18 @@ static DEFINE_PER_CPU(__u32 [16 + 5 + SHA_WORKSPACE_WORDS],
static u32 cookie_hash(const struct in6_addr *saddr, const struct in6_addr *daddr,
__be16 sport, __be16 dport, u32 count, int c)
{
- __u32 *tmp = __get_cpu_var(ipv6_cookie_scratch);
+ __u32 *tmp;
+
+ net_get_random_once(syncookie6_secret, sizeof(syncookie6_secret));
+
+ tmp = __get_cpu_var(ipv6_cookie_scratch);
/*
* we have 320 bits of information to hash, copy in the remaining
- * 192 bits required for sha_transform, from the syncookie_secret
+ * 192 bits required for sha_transform, from the syncookie6_secret
* and overwrite the digest with the secret
*/
- memcpy(tmp + 10, syncookie_secret[c], 44);
+ memcpy(tmp + 10, syncookie6_secret[c], 44);
memcpy(tmp, saddr, 16);
memcpy(tmp + 4, daddr, 16);
tmp[8] = ((__force u32)sport << 16) + (__force u32)dport;
--
1.8.3.1
^ permalink raw reply related
* [PATCH net-next v4 5/9] net: introduce new macro net_get_random_once
From: Hannes Frederic Sowa @ 2013-10-19 19:48 UTC (permalink / raw)
To: netdev
Cc: linux-kernel, Hannes Frederic Sowa, Ingo Molnar, Steven Rostedt,
Jason Baron, Peter Zijlstra, Eric Dumazet, David S. Miller
In-Reply-To: <1382212139-20301-1-git-send-email-hannes@stressinduktion.org>
net_get_random_once is a new macro which handles the initialization
of secret keys. It is possible to call it in the fast path. Only the
initialization depends on the spinlock and is rather slow. Otherwise
it should get used just before the key is used to delay the entropy
extration as late as possible to get better randomness. It returns true
if the key got initialized.
The usage of static_keys for net_get_random_once is a bit uncommon so
it needs some further explanation why this actually works:
=== In the simple non-HAVE_JUMP_LABEL case we actually have ===
no constrains to use static_key_(true|false) on keys initialized with
STATIC_KEY_INIT_(FALSE|TRUE). So this path just expands in favor of
the likely case that the initialization is already done. The key is
initialized like this:
___done_key = { .enabled = ATOMIC_INIT(0) }
The check
if (!static_key_true(&___done_key)) \
expands into (pseudo code)
if (!likely(___done_key > 0))
, so we take the fast path as soon as ___done_key is increased from the
helper function.
=== If HAVE_JUMP_LABELs are available this depends ===
on patching of jumps into the prepared NOPs, which is done in
jump_label_init at boot-up time (from start_kernel). It is forbidden
and dangerous to use net_get_random_once in functions which are called
before that!
At compilation time NOPs are generated at the call sites of
net_get_random_once. E.g. net/ipv6/inet6_hashtable.c:inet6_ehashfn (we
need to call net_get_random_once two times in inet6_ehashfn, so two NOPs):
71: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
76: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
Both will be patched to the actual jumps to the end of the function to
call __net_get_random_once at boot time as explained above.
arch_static_branch is optimized and inlined for false as return value and
actually also returns false in case the NOP is placed in the instruction
stream. So in the fast case we get a "return false". But because we
initialize ___done_key with (enabled != (entries & 1)) this call-site
will get patched up at boot thus returning true. The final check looks
like this:
if (!static_key_true(&___done_key)) \
___ret = __net_get_random_once(buf, \
expands to
if (!!static_key_false(&___done_key)) \
___ret = __net_get_random_once(buf, \
So we get true at boot time and as soon as static_key_slow_inc is called
on the key it will invert the logic and return false for the fast path.
static_key_slow_inc will change the branch because it got initialized
with .enabled == 0. After static_key_slow_inc is called on the key the
branch is replaced with a nop again.
=== Misc: ===
The helper defers the increment into a workqueue so we don't
have problems calling this code from atomic sections. A seperate boolean
(___done) guards the case where we enter net_get_random_once again before
the increment happend.
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Jason Baron <jbaron@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
---
I tested this patchset with !CC_HAVE_ASM_GOTO and with CC_HAVE_ASM_GOTO
on x86_64.
I quickly reviewed that all architectures which implement HAVE_JUMP_LABEL
also patch all branch sites on boot-up. But this needs further review
as this is a security sensitive patch series.
Thank you!
include/linux/net.h | 25 +++++++++++++++++++++++++
net/core/utils.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 73 insertions(+)
diff --git a/include/linux/net.h b/include/linux/net.h
index ca9ec85..a489705 100644
--- a/include/linux/net.h
+++ b/include/linux/net.h
@@ -239,6 +239,31 @@ do { \
#define net_random() prandom_u32()
#define net_srandom(seed) prandom_seed((__force u32)(seed))
+bool __net_get_random_once(void *buf, int nbytes, bool *done,
+ struct static_key *done_key);
+
+#ifdef HAVE_JUMP_LABEL
+#define ___NET_RANDOM_STATIC_KEY_INIT ((struct static_key) \
+ { .enabled = ATOMIC_INIT(0), .entries = (void *)1 })
+#else /* !HAVE_JUMP_LABEL */
+#define ___NET_RANDOM_STATIC_KEY_INIT STATIC_KEY_INIT_FALSE
+#endif /* HAVE_JUMP_LABEL */
+
+/* BE CAREFUL: this function is not interrupt safe */
+#define net_get_random_once(buf, nbytes) \
+ ({ \
+ bool ___ret = false; \
+ static bool ___done = false; \
+ static struct static_key ___done_key = \
+ ___NET_RANDOM_STATIC_KEY_INIT; \
+ if (!static_key_true(&___done_key)) \
+ ___ret = __net_get_random_once(buf, \
+ nbytes, \
+ &___done, \
+ &___done_key); \
+ ___ret; \
+ })
+
int kernel_sendmsg(struct socket *sock, struct msghdr *msg, struct kvec *vec,
size_t num, size_t len);
int kernel_recvmsg(struct socket *sock, struct msghdr *msg, struct kvec *vec,
diff --git a/net/core/utils.c b/net/core/utils.c
index aa88e23..bf09371 100644
--- a/net/core/utils.c
+++ b/net/core/utils.c
@@ -338,3 +338,51 @@ void inet_proto_csum_replace16(__sum16 *sum, struct sk_buff *skb,
csum_unfold(*sum)));
}
EXPORT_SYMBOL(inet_proto_csum_replace16);
+
+struct __net_random_once_work {
+ struct work_struct work;
+ struct static_key *key;
+};
+
+static void __net_random_once_deferred(struct work_struct *w)
+{
+ struct __net_random_once_work *work =
+ container_of(w, struct __net_random_once_work, work);
+ if (!static_key_enabled(work->key))
+ static_key_slow_inc(work->key);
+ kfree(work);
+}
+
+static void __net_random_once_disable_jump(struct static_key *key)
+{
+ struct __net_random_once_work *w;
+
+ w = kmalloc(sizeof(*w), GFP_ATOMIC);
+ if (!w)
+ return;
+
+ INIT_WORK(&w->work, __net_random_once_deferred);
+ w->key = key;
+ schedule_work(&w->work);
+}
+
+bool __net_get_random_once(void *buf, int nbytes, bool *done,
+ struct static_key *done_key)
+{
+ static DEFINE_SPINLOCK(lock);
+
+ spin_lock_bh(&lock);
+ if (*done) {
+ spin_unlock_bh(&lock);
+ return false;
+ }
+
+ get_random_bytes(buf, nbytes);
+ *done = true;
+ spin_unlock_bh(&lock);
+
+ __net_random_once_disable_jump(done_key);
+
+ return true;
+}
+EXPORT_SYMBOL(__net_get_random_once);
--
1.8.3.1
^ permalink raw reply related
* [PATCH net-next v4 4/9] x86/jump_label: expect default_nop if static_key gets enabled on boot-up
From: Hannes Frederic Sowa @ 2013-10-19 19:48 UTC (permalink / raw)
To: netdev
Cc: linux-kernel, Hannes Frederic Sowa, Thomas Gleixner, Ingo Molnar,
H. Peter Anvin, Steven Rostedt, Jason Baron, Peter Zijlstra,
Eric Dumazet, David S. Miller, x86
In-Reply-To: <1382212139-20301-1-git-send-email-hannes@stressinduktion.org>
net_get_random_once(intrduced in the next patch) uses static_keys in
a way that they get enabled on boot-up instead of replaced with an
ideal_nop. So check for default_nop on initial enabling.
Other architectures don't check for this.
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Jason Baron <jbaron@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: x86@kernel.org
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
---
arch/x86/kernel/jump_label.c | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/arch/x86/kernel/jump_label.c b/arch/x86/kernel/jump_label.c
index ee11b7d..26d5a55 100644
--- a/arch/x86/kernel/jump_label.c
+++ b/arch/x86/kernel/jump_label.c
@@ -42,15 +42,27 @@ static void __jump_label_transform(struct jump_entry *entry,
int init)
{
union jump_code_union code;
+ const unsigned char default_nop[] = { STATIC_KEY_INIT_NOP };
const unsigned char *ideal_nop = ideal_nops[NOP_ATOMIC5];
if (type == JUMP_LABEL_ENABLE) {
- /*
- * We are enabling this jump label. If it is not a nop
- * then something must have gone wrong.
- */
- if (unlikely(memcmp((void *)entry->code, ideal_nop, 5) != 0))
- bug_at((void *)entry->code, __LINE__);
+ if (init) {
+ /*
+ * Jump label is enabled for the first time.
+ * So we expect a default_nop...
+ */
+ if (unlikely(memcmp((void *)entry->code, default_nop, 5)
+ != 0))
+ bug_at((void *)entry->code, __LINE__);
+ } else {
+ /*
+ * ...otherwise expect an ideal_nop. Otherwise
+ * something went horribly wrong.
+ */
+ if (unlikely(memcmp((void *)entry->code, ideal_nop, 5)
+ != 0))
+ bug_at((void *)entry->code, __LINE__);
+ }
code.jump = 0xe9;
code.offset = entry->target -
@@ -63,7 +75,6 @@ static void __jump_label_transform(struct jump_entry *entry,
* are converting the default nop to the ideal nop.
*/
if (init) {
- const unsigned char default_nop[] = { STATIC_KEY_INIT_NOP };
if (unlikely(memcmp((void *)entry->code, default_nop, 5) != 0))
bug_at((void *)entry->code, __LINE__);
} else {
--
1.8.3.1
^ permalink raw reply related
* [PATCH net-next v4 3/9] static_key: WARN on usage before jump_label_init was called
From: Hannes Frederic Sowa @ 2013-10-19 19:48 UTC (permalink / raw)
To: netdev
Cc: linux-kernel, Hannes Frederic Sowa, Steven Rostedt,
Peter Zijlstra, Andi Kleen
In-Reply-To: <1382212139-20301-1-git-send-email-hannes@stressinduktion.org>
Usage of the static key primitives to toggle a branch must not be used
before jump_label_init() is called from init/main.c. jump_label_init
reorganizes and wires up the jump_entries so usage before that could
have unforeseen consequences.
Following primitives are now checked for correct use:
* static_key_slow_inc
* static_key_slow_dec
* static_key_slow_dec_deferred
* jump_label_rate_limit
The x86 architecture already checks this by testing if the default_nop
was already replaced with an optimal nop or with a branch instruction. It
will panic then. Other architectures don't check for this.
Because we need to relax this check for the x86 arch to allow code to
transition from default_nop to the enabled state and other architectures
did not check for this at all this patch introduces checking on the
static_key primitives in a non-arch dependent manner.
All checked functions are considered slow-path so the additional check
does no harm to performance.
The warnings are best observed with earlyprintk.
Based on a patch from Andi Kleen.
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
---
include/linux/jump_label.h | 10 ++++++++++
include/linux/jump_label_ratelimit.h | 2 ++
init/main.c | 7 +++++++
kernel/jump_label.c | 5 +++++
4 files changed, 24 insertions(+)
diff --git a/include/linux/jump_label.h b/include/linux/jump_label.h
index a507907..e96be72 100644
--- a/include/linux/jump_label.h
+++ b/include/linux/jump_label.h
@@ -48,6 +48,13 @@
#include <linux/types.h>
#include <linux/compiler.h>
+#include <linux/bug.h>
+
+extern bool static_key_initialized;
+
+#define STATIC_KEY_CHECK_USE() WARN(!static_key_initialized, \
+ "%s used before call to jump_label_init", \
+ __func__)
#if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL)
@@ -128,6 +135,7 @@ struct static_key {
static __always_inline void jump_label_init(void)
{
+ static_key_initialized = true;
}
static __always_inline bool static_key_false(struct static_key *key)
@@ -146,11 +154,13 @@ static __always_inline bool static_key_true(struct static_key *key)
static inline void static_key_slow_inc(struct static_key *key)
{
+ STATIC_KEY_CHECK_USE();
atomic_inc(&key->enabled);
}
static inline void static_key_slow_dec(struct static_key *key)
{
+ STATIC_KEY_CHECK_USE();
atomic_dec(&key->enabled);
}
diff --git a/include/linux/jump_label_ratelimit.h b/include/linux/jump_label_ratelimit.h
index 1137883..089f70f 100644
--- a/include/linux/jump_label_ratelimit.h
+++ b/include/linux/jump_label_ratelimit.h
@@ -23,12 +23,14 @@ struct static_key_deferred {
};
static inline void static_key_slow_dec_deferred(struct static_key_deferred *key)
{
+ STATIC_KEY_CHECK_USE();
static_key_slow_dec(&key->key);
}
static inline void
jump_label_rate_limit(struct static_key_deferred *key,
unsigned long rl)
{
+ STATIC_KEY_CHECK_USE();
}
#endif /* HAVE_JUMP_LABEL */
#endif /* _LINUX_JUMP_LABEL_RATELIMIT_H */
diff --git a/init/main.c b/init/main.c
index af310af..27bbec1a 100644
--- a/init/main.c
+++ b/init/main.c
@@ -136,6 +136,13 @@ static char *execute_command;
static char *ramdisk_execute_command;
/*
+ * Used to generate warnings if static_key manipulation functions are used
+ * before jump_label_init is called.
+ */
+bool static_key_initialized __read_mostly = false;
+EXPORT_SYMBOL_GPL(static_key_initialized);
+
+/*
* If set, this is an indication to the drivers that reset the underlying
* device before going ahead with the initialization otherwise driver might
* rely on the BIOS and skip the reset operation.
diff --git a/kernel/jump_label.c b/kernel/jump_label.c
index 297a924..9019f15 100644
--- a/kernel/jump_label.c
+++ b/kernel/jump_label.c
@@ -58,6 +58,7 @@ static void jump_label_update(struct static_key *key, int enable);
void static_key_slow_inc(struct static_key *key)
{
+ STATIC_KEY_CHECK_USE();
if (atomic_inc_not_zero(&key->enabled))
return;
@@ -103,12 +104,14 @@ static void jump_label_update_timeout(struct work_struct *work)
void static_key_slow_dec(struct static_key *key)
{
+ STATIC_KEY_CHECK_USE();
__static_key_slow_dec(key, 0, NULL);
}
EXPORT_SYMBOL_GPL(static_key_slow_dec);
void static_key_slow_dec_deferred(struct static_key_deferred *key)
{
+ STATIC_KEY_CHECK_USE();
__static_key_slow_dec(&key->key, key->timeout, &key->work);
}
EXPORT_SYMBOL_GPL(static_key_slow_dec_deferred);
@@ -116,6 +119,7 @@ EXPORT_SYMBOL_GPL(static_key_slow_dec_deferred);
void jump_label_rate_limit(struct static_key_deferred *key,
unsigned long rl)
{
+ STATIC_KEY_CHECK_USE();
key->timeout = rl;
INIT_DELAYED_WORK(&key->work, jump_label_update_timeout);
}
@@ -212,6 +216,7 @@ void __init jump_label_init(void)
key->next = NULL;
#endif
}
+ static_key_initialized = true;
jump_label_unlock();
}
--
1.8.3.1
^ permalink raw reply related
* [PATCH net-next v4 1/9] ipv4: split inet_ehashfn to hash functions per compilation unit
From: Hannes Frederic Sowa @ 2013-10-19 19:48 UTC (permalink / raw)
To: netdev; +Cc: linux-kernel, Hannes Frederic Sowa, Eric Dumazet, David S. Miller
In-Reply-To: <1382212139-20301-1-git-send-email-hannes@stressinduktion.org>
This duplicates a bit of code but let's us easily introduce
separate secret keys later. The separate compilation units are
ipv4/inet_hashtabbles.o, ipv4/udp.o and rds/connection.o.
Cc: Eric Dumazet <edumazet@google.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
---
include/net/inet_sock.h | 22 ++++++----------------
net/ipv4/inet_hashtables.c | 21 +++++++++++++++++++++
net/ipv4/udp.c | 16 ++++++++++++----
net/rds/connection.c | 6 +++---
4 files changed, 42 insertions(+), 23 deletions(-)
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h
index 06da91e..7a6c7f8 100644
--- a/include/net/inet_sock.h
+++ b/include/net/inet_sock.h
@@ -208,26 +208,16 @@ extern u32 inet_ehash_secret;
extern u32 ipv6_hash_secret;
void build_ehash_secret(void);
-static inline unsigned int inet_ehashfn(struct net *net,
- const __be32 laddr, const __u16 lport,
- const __be32 faddr, const __be16 fport)
+static inline unsigned int __inet_ehashfn(const __be32 laddr,
+ const __u16 lport,
+ const __be32 faddr,
+ const __be16 fport,
+ u32 initval)
{
return jhash_3words((__force __u32) laddr,
(__force __u32) faddr,
((__u32) lport) << 16 | (__force __u32)fport,
- inet_ehash_secret + net_hash_mix(net));
-}
-
-static inline int inet_sk_ehashfn(const struct sock *sk)
-{
- const struct inet_sock *inet = inet_sk(sk);
- const __be32 laddr = inet->inet_rcv_saddr;
- const __u16 lport = inet->inet_num;
- const __be32 faddr = inet->inet_daddr;
- const __be16 fport = inet->inet_dport;
- struct net *net = sock_net(sk);
-
- return inet_ehashfn(net, laddr, lport, faddr, fport);
+ initval);
}
static inline struct request_sock *inet_reqsk_alloc(struct request_sock_ops *ops)
diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c
index a4b66bb..18aa668 100644
--- a/net/ipv4/inet_hashtables.c
+++ b/net/ipv4/inet_hashtables.c
@@ -24,6 +24,27 @@
#include <net/secure_seq.h>
#include <net/ip.h>
+static unsigned int inet_ehashfn(struct net *net, const __be32 laddr,
+ const __u16 lport, const __be32 faddr,
+ const __be16 fport)
+{
+ return __inet_ehashfn(laddr, lport, faddr, fport,
+ inet_ehash_secret + net_hash_mix(net));
+}
+
+
+static unsigned int inet_sk_ehashfn(const struct sock *sk)
+{
+ const struct inet_sock *inet = inet_sk(sk);
+ const __be32 laddr = inet->inet_rcv_saddr;
+ const __u16 lport = inet->inet_num;
+ const __be32 faddr = inet->inet_daddr;
+ const __be16 fport = inet->inet_dport;
+ struct net *net = sock_net(sk);
+
+ return inet_ehashfn(net, laddr, lport, faddr, fport);
+}
+
/*
* Allocate and initialize a new local port bind bucket.
* The bindhash mutex for snum's hash chain must be held here.
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 9f27bb8..b4437c7 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -407,6 +407,14 @@ static inline int compute_score2(struct sock *sk, struct net *net,
return score;
}
+static unsigned int udp_ehashfn(struct net *net, const __be32 laddr,
+ const __u16 lport, const __be32 faddr,
+ const __be16 fport)
+{
+ return __inet_ehashfn(laddr, lport, faddr, fport,
+ inet_ehash_secret + net_hash_mix(net));
+}
+
/* called with read_rcu_lock() */
static struct sock *udp4_lib_lookup2(struct net *net,
@@ -430,8 +438,8 @@ begin:
badness = score;
reuseport = sk->sk_reuseport;
if (reuseport) {
- hash = inet_ehashfn(net, daddr, hnum,
- saddr, sport);
+ hash = udp_ehashfn(net, daddr, hnum,
+ saddr, sport);
matches = 1;
}
} else if (score == badness && reuseport) {
@@ -511,8 +519,8 @@ begin:
badness = score;
reuseport = sk->sk_reuseport;
if (reuseport) {
- hash = inet_ehashfn(net, daddr, hnum,
- saddr, sport);
+ hash = udp_ehashfn(net, daddr, hnum,
+ saddr, sport);
matches = 1;
}
} else if (score == badness && reuseport) {
diff --git a/net/rds/connection.c b/net/rds/connection.c
index 642ad42..45e2366 100644
--- a/net/rds/connection.c
+++ b/net/rds/connection.c
@@ -52,9 +52,9 @@ static struct kmem_cache *rds_conn_slab;
static struct hlist_head *rds_conn_bucket(__be32 laddr, __be32 faddr)
{
/* Pass NULL, don't need struct net for hash */
- unsigned long hash = inet_ehashfn(NULL,
- be32_to_cpu(laddr), 0,
- be32_to_cpu(faddr), 0);
+ unsigned long hash = __inet_ehashfn(be32_to_cpu(laddr), 0,
+ be32_to_cpu(faddr), 0,
+ inet_ehash_secret);
return &rds_conn_hash[hash & RDS_CONNECTION_HASH_MASK];
}
--
1.8.3.1
^ permalink raw reply related
* [PATCH net-next v4 0/9] Introduce support to lazy initialize mostly static keys
From: Hannes Frederic Sowa @ 2013-10-19 19:48 UTC (permalink / raw)
To: netdev; +Cc: linux-kernel
Hi!
This series implements support for delaying the initialization of secret
keys, e.g. used for hashing, for as long as possible. This functionality
is implemented by a new macro, net_get_random_bytes.
I already used it to protect the socket hashes, the syncookie secret
(most important) and the tcp_fastopen secrets.
Changelog:
v2) Use static_keys in net_get_random_once to have as minimal impact to
the fast-path as possible.
v3) added patch "static_key: WARN on usage before jump_label_init was called":
Patch "x86/jump_label: expect default_nop if static_key gets enabled
on boot-up" relaxes the checks for using static_key primitives before
jump_label_init. So tighten them first.
v4) Update changelog on the patch "static_key: WARN on usage before
jump_label_init was called"
Included patches:
ipv4: split inet_ehashfn to hash functions per compilation unit
ipv6: split inet6_ehashfn to hash functions per compilation unit
static_key: WARN on usage before jump_label_init was called
x86/jump_label: expect default_nop if static_key gets enabled on boot-up
net: introduce new macro net_get_random_once
inet: split syncookie keys for ipv4 and ipv6 and initialize with net_get_random_once
inet: convert inet_ehash_secret and ipv6_hash_secret to net_get_random_once
tcp: switch tcp_fastopen key generation to net_get_random_once
net: switch net_secret key generation to net_get_random_once
Diffstat:
arch/x86/kernel/jump_label.c | 25 ++++++++++++++++++-------
include/linux/jump_label.h | 10 ++++++++++
include/linux/jump_label_ratelimit.h | 2 ++
include/linux/net.h | 25 +++++++++++++++++++++++++
include/net/inet6_hashtables.h | 28 +++++++---------------------
include/net/inet_sock.h | 26 ++++++--------------------
include/net/ipv6.h | 4 ++--
include/net/tcp.h | 3 +--
init/main.c | 7 +++++++
kernel/jump_label.c | 5 +++++
net/core/secure_seq.c | 14 ++------------
net/core/utils.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
net/ipv4/af_inet.c | 27 ---------------------------
net/ipv4/inet_hashtables.c | 25 +++++++++++++++++++++++++
net/ipv4/syncookies.c | 15 +++++----------
net/ipv4/sysctl_net_ipv4.c | 5 +++++
net/ipv4/tcp_fastopen.c | 27 ++++++++++++++++-----------
net/ipv4/udp.c | 20 ++++++++++++++++----
net/ipv6/af_inet6.c | 5 -----
net/ipv6/inet6_hashtables.c | 33 +++++++++++++++++++++++++++++++++
net/ipv6/syncookies.c | 12 +++++++++---
net/ipv6/udp.c | 31 +++++++++++++++++++++++++++----
net/rds/connection.c | 12 +++++++++---
23 files changed, 278 insertions(+), 131 deletions(-)
^ permalink raw reply
* [PATCH net-next 4/6] ipv4: gso: make inet_gso_segment() stackable
From: Eric Dumazet @ 2013-10-19 18:42 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Jerry Chu, Tom Herbert, Eric Dumazet
In-Reply-To: <1382208178-22347-1-git-send-email-edumazet@google.com>
In order to support GSO on IPIP, we need to make
inet_gso_segment() stackable.
It should not assume network header starts right after mac
header.
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
include/linux/skbuff.h | 7 +++++--
net/core/dev.c | 2 ++
net/ipv4/af_inet.c | 25 ++++++++++++++++++-------
3 files changed, 25 insertions(+), 9 deletions(-)
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index ba74474..cad1e0c 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -2722,9 +2722,12 @@ static inline struct sec_path *skb_sec_path(struct sk_buff *skb)
/* Keeps track of mac header offset relative to skb->head.
* It is useful for TSO of Tunneling protocol. e.g. GRE.
* For non-tunnel skb it points to skb_mac_header() and for
- * tunnel skb it points to outer mac header. */
+ * tunnel skb it points to outer mac header.
+ * Keeps track of level of encapsulation of network headers.
+ */
struct skb_gso_cb {
- int mac_offset;
+ int mac_offset;
+ int encap_level;
};
#define SKB_GSO_CB(skb) ((struct skb_gso_cb *)(skb)->cb)
diff --git a/net/core/dev.c b/net/core/dev.c
index 1b6eadf..0918aad 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2377,6 +2377,8 @@ struct sk_buff *__skb_gso_segment(struct sk_buff *skb,
}
SKB_GSO_CB(skb)->mac_offset = skb_headroom(skb);
+ SKB_GSO_CB(skb)->encap_level = 0;
+
skb_reset_mac_header(skb);
skb_reset_mac_len(skb);
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 4f8cd4f..5783ab5 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1273,16 +1273,17 @@ out:
}
static struct sk_buff *inet_gso_segment(struct sk_buff *skb,
- netdev_features_t features)
+ netdev_features_t features)
{
struct sk_buff *segs = ERR_PTR(-EINVAL);
const struct net_offload *ops;
+ unsigned int offset = 0;
struct iphdr *iph;
+ bool tunnel;
int proto;
+ int nhoff;
int ihl;
int id;
- unsigned int offset = 0;
- bool tunnel;
if (unlikely(skb_shinfo(skb)->gso_type &
~(SKB_GSO_TCPV4 |
@@ -1296,6 +1297,8 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb,
0)))
goto out;
+ skb_reset_network_header(skb);
+ nhoff = skb_network_header(skb) - skb_mac_header(skb);
if (unlikely(!pskb_may_pull(skb, sizeof(*iph))))
goto out;
@@ -1312,7 +1315,10 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb,
goto out;
__skb_pull(skb, ihl);
- tunnel = !!skb->encapsulation;
+ tunnel = SKB_GSO_CB(skb)->encap_level > 0;
+ if (tunnel)
+ features = skb->dev->hw_enc_features & netif_skb_features(skb);
+ SKB_GSO_CB(skb)->encap_level += ihl;
skb_reset_transport_header(skb);
@@ -1327,18 +1333,23 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb,
skb = segs;
do {
- iph = ip_hdr(skb);
+ iph = (struct iphdr *)(skb_mac_header(skb) + nhoff);
if (!tunnel && proto == IPPROTO_UDP) {
iph->id = htons(id);
iph->frag_off = htons(offset >> 3);
if (skb->next != NULL)
iph->frag_off |= htons(IP_MF);
- offset += (skb->len - skb->mac_len - iph->ihl * 4);
+ offset += skb->len - nhoff - ihl;
} else {
iph->id = htons(id++);
}
- iph->tot_len = htons(skb->len - skb->mac_len);
+ iph->tot_len = htons(skb->len - nhoff);
ip_send_check(iph);
+ if (tunnel) {
+ skb_reset_inner_headers(skb);
+ skb->encapsulation = 1;
+ }
+ skb->network_header = (u8 *)iph - skb->head;
} while ((skb = skb->next));
out:
--
1.8.4
^ permalink raw reply related
* Re: [PATCH net-next 0/6] net: Implement GSO/TSO support for IPIP
From: Eric Dumazet @ 2013-10-19 18:59 UTC (permalink / raw)
To: Eric Dumazet; +Cc: David S. Miller, netdev, Jerry Chu, Tom Herbert
In-Reply-To: <1382208178-22347-1-git-send-email-edumazet@google.com>
On Sat, 2013-10-19 at 11:42 -0700, Eric Dumazet wrote:
> This patch serie implements GSO/TSO support for IPIP
>
> David, please note it applies after "ipv4: gso: send_check() & segment() cleanups"
> ( http://patchwork.ozlabs.org/patch/284714/ )
Oh well, I meant to say the above patch was _included_ in this patch
set.
^ permalink raw reply
* [PATCH net-next 1/6] ipv4: gso: send_check() & segment() cleanups
From: Eric Dumazet @ 2013-10-19 18:42 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Jerry Chu, Tom Herbert, Eric Dumazet
In-Reply-To: <1382208178-22347-1-git-send-email-edumazet@google.com>
inet_gso_segment() and inet_gso_send_check() are called by
skb_mac_gso_segment() under rcu lock, no need to use
rcu_read_lock() / rcu_read_unlock()
Avoid calling ip_hdr() twice per function.
We can use ip_send_check() helper.
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/ipv4/af_inet.c | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 35913fb..4f8cd4f 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1254,20 +1254,19 @@ static int inet_gso_send_check(struct sk_buff *skb)
if (ihl < sizeof(*iph))
goto out;
+ proto = iph->protocol;
+
+ /* Warning: after this point, iph might be no longer valid */
if (unlikely(!pskb_may_pull(skb, ihl)))
goto out;
-
__skb_pull(skb, ihl);
+
skb_reset_transport_header(skb);
- iph = ip_hdr(skb);
- proto = iph->protocol;
err = -EPROTONOSUPPORT;
- rcu_read_lock();
ops = rcu_dereference(inet_offloads[proto]);
if (likely(ops && ops->callbacks.gso_send_check))
err = ops->callbacks.gso_send_check(skb);
- rcu_read_unlock();
out:
return err;
@@ -1305,23 +1304,23 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb,
if (ihl < sizeof(*iph))
goto out;
+ id = ntohs(iph->id);
+ proto = iph->protocol;
+
+ /* Warning: after this point, iph might be no longer valid */
if (unlikely(!pskb_may_pull(skb, ihl)))
goto out;
+ __skb_pull(skb, ihl);
tunnel = !!skb->encapsulation;
- __skb_pull(skb, ihl);
skb_reset_transport_header(skb);
- iph = ip_hdr(skb);
- id = ntohs(iph->id);
- proto = iph->protocol;
+
segs = ERR_PTR(-EPROTONOSUPPORT);
- rcu_read_lock();
ops = rcu_dereference(inet_offloads[proto]);
if (likely(ops && ops->callbacks.gso_segment))
segs = ops->callbacks.gso_segment(skb, features);
- rcu_read_unlock();
if (IS_ERR_OR_NULL(segs))
goto out;
@@ -1339,8 +1338,7 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb,
iph->id = htons(id++);
}
iph->tot_len = htons(skb->len - skb->mac_len);
- iph->check = 0;
- iph->check = ip_fast_csum(skb_network_header(skb), iph->ihl);
+ ip_send_check(iph);
} while ((skb = skb->next));
out:
--
1.8.4
^ permalink raw reply related
* [PATCH net-next 0/6] net: Implement GSO/TSO support for IPIP
From: Eric Dumazet @ 2013-10-19 18:42 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Jerry Chu, Tom Herbert, Eric Dumazet
This patch serie implements GSO/TSO support for IPIP
David, please note it applies after "ipv4: gso: send_check() & segment() cleanups"
( http://patchwork.ozlabs.org/patch/284714/ )
Broadcom bnx2x driver is now enabled for TSO support of IPIP traffic
Before patch :
lpq83:~# ./netperf -H 7.7.9.84 -Cc
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 7.7.9.84 () port 0 AF_INET
Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB
87380 16384 16384 10.00 3357.88 5.09 3.70 2.983 2.167
After patch :
lpq83:~# ./netperf -H 7.7.9.84 -Cc
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 7.7.9.84 () port 0 AF_INET
Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB
87380 16384 16384 10.00 8532.40 2.55 7.73 0.588 1.781
Eric Dumazet (6):
ipv4: gso: send_check() & segment() cleanups
net: generalize skb_segment()
ipv4: generalize gre_handle_offloads
ipv4: gso: make inet_gso_segment() stackable
ipip: add GSO/TSO support
bnx2x: add TSO support for IPIP
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 4 +-
include/linux/netdev_features.h | 2 +
include/linux/skbuff.h | 13 ++++--
include/net/gre.h | 8 +++-
include/net/ip_tunnels.h | 3 ++
net/core/dev.c | 2 +
net/core/ethtool.c | 1 +
net/core/skbuff.c | 22 ++-------
net/ipv4/af_inet.c | 58 ++++++++++++++++--------
net/ipv4/gre_demux.c | 29 ------------
net/ipv4/gre_offload.c | 3 +-
net/ipv4/ip_tunnel_core.c | 33 ++++++++++++++
net/ipv4/ipip.c | 11 +++--
net/ipv4/tcp_offload.c | 1 +
net/ipv4/udp_offload.c | 1 +
net/ipv6/ip6_offload.c | 1 +
net/ipv6/udp_offload.c | 1 +
net/mpls/mpls_gso.c | 1 +
18 files changed, 116 insertions(+), 78 deletions(-)
--
1.8.4
^ permalink raw reply
* [PATCH net-next 3/6] ipv4: generalize gre_handle_offloads
From: Eric Dumazet @ 2013-10-19 18:42 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Jerry Chu, Tom Herbert, Eric Dumazet
In-Reply-To: <1382208178-22347-1-git-send-email-edumazet@google.com>
This patch makes gre_handle_offloads() more generic
and rename it to iptunnel_handle_offloads()
This will be used to add GSO/TSO support to IPIP tunnels.
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
include/net/gre.h | 8 +++++++-
include/net/ip_tunnels.h | 3 +++
net/ipv4/gre_demux.c | 29 -----------------------------
net/ipv4/ip_tunnel_core.c | 33 +++++++++++++++++++++++++++++++++
4 files changed, 43 insertions(+), 30 deletions(-)
diff --git a/include/net/gre.h b/include/net/gre.h
index 57e4afd..dcd9ae3 100644
--- a/include/net/gre.h
+++ b/include/net/gre.h
@@ -38,7 +38,13 @@ void gre_offload_exit(void);
void gre_build_header(struct sk_buff *skb, const struct tnl_ptk_info *tpi,
int hdr_len);
-struct sk_buff *gre_handle_offloads(struct sk_buff *skb, bool gre_csum);
+
+static inline struct sk_buff *gre_handle_offloads(struct sk_buff *skb,
+ bool gre_csum)
+{
+ return iptunnel_handle_offloads(skb, gre_csum, SKB_GSO_GRE);
+}
+
static inline int ip_gre_calc_hlen(__be16 o_flags)
{
diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h
index a0a4a10..732f8c6 100644
--- a/include/net/ip_tunnels.h
+++ b/include/net/ip_tunnels.h
@@ -150,6 +150,9 @@ int iptunnel_xmit(struct rtable *rt, struct sk_buff *skb,
__be32 src, __be32 dst, __u8 proto,
__u8 tos, __u8 ttl, __be16 df, bool xnet);
+struct sk_buff *iptunnel_handle_offloads(struct sk_buff *skb, bool gre_csum,
+ int gso_type_mask);
+
static inline void iptunnel_xmit_stats(int err,
struct net_device_stats *err_stats,
struct pcpu_tstats __percpu *stats)
diff --git a/net/ipv4/gre_demux.c b/net/ipv4/gre_demux.c
index 736c9fc3..5893e99 100644
--- a/net/ipv4/gre_demux.c
+++ b/net/ipv4/gre_demux.c
@@ -93,35 +93,6 @@ void gre_build_header(struct sk_buff *skb, const struct tnl_ptk_info *tpi,
}
EXPORT_SYMBOL_GPL(gre_build_header);
-struct sk_buff *gre_handle_offloads(struct sk_buff *skb, bool gre_csum)
-{
- int err;
-
- if (likely(!skb->encapsulation)) {
- skb_reset_inner_headers(skb);
- skb->encapsulation = 1;
- }
-
- if (skb_is_gso(skb)) {
- err = skb_unclone(skb, GFP_ATOMIC);
- if (unlikely(err))
- goto error;
- skb_shinfo(skb)->gso_type |= SKB_GSO_GRE;
- return skb;
- } else if (skb->ip_summed == CHECKSUM_PARTIAL && gre_csum) {
- err = skb_checksum_help(skb);
- if (unlikely(err))
- goto error;
- } else if (skb->ip_summed != CHECKSUM_PARTIAL)
- skb->ip_summed = CHECKSUM_NONE;
-
- return skb;
-error:
- kfree_skb(skb);
- return ERR_PTR(err);
-}
-EXPORT_SYMBOL_GPL(gre_handle_offloads);
-
static __sum16 check_checksum(struct sk_buff *skb)
{
__sum16 csum = 0;
diff --git a/net/ipv4/ip_tunnel_core.c b/net/ipv4/ip_tunnel_core.c
index c31e3ad..42ffbc8 100644
--- a/net/ipv4/ip_tunnel_core.c
+++ b/net/ipv4/ip_tunnel_core.c
@@ -116,3 +116,36 @@ int iptunnel_pull_header(struct sk_buff *skb, int hdr_len, __be16 inner_proto)
return 0;
}
EXPORT_SYMBOL_GPL(iptunnel_pull_header);
+
+struct sk_buff *iptunnel_handle_offloads(struct sk_buff *skb,
+ bool csum_help,
+ int gso_type_mask)
+{
+ int err;
+
+ if (likely(!skb->encapsulation)) {
+ skb_reset_inner_headers(skb);
+ skb->encapsulation = 1;
+ }
+
+ if (skb_is_gso(skb)) {
+ err = skb_unclone(skb, GFP_ATOMIC);
+ if (unlikely(err))
+ goto error;
+ skb_shinfo(skb)->gso_type |= gso_type_mask;
+ return skb;
+ }
+
+ if (skb->ip_summed == CHECKSUM_PARTIAL && csum_help) {
+ err = skb_checksum_help(skb);
+ if (unlikely(err))
+ goto error;
+ } else if (skb->ip_summed != CHECKSUM_PARTIAL)
+ skb->ip_summed = CHECKSUM_NONE;
+
+ return skb;
+error:
+ kfree_skb(skb);
+ return ERR_PTR(err);
+}
+EXPORT_SYMBOL_GPL(iptunnel_handle_offloads);
--
1.8.4
^ permalink raw reply related
* [PATCH net-next 5/6] ipip: add GSO/TSO support
From: Eric Dumazet @ 2013-10-19 18:42 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Jerry Chu, Tom Herbert, Eric Dumazet
In-Reply-To: <1382208178-22347-1-git-send-email-edumazet@google.com>
Now inet_gso_segment() is stackable, its relatively easy to
implement GSO/TSO support for IPIP
Performance results, when segmentation is done after tunnel
device (as no NIC is yet enabled for TSO IPIP support) :
Before patch :
lpq83:~# ./netperf -H 7.7.9.84 -Cc
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 7.7.9.84 () port 0 AF_INET
Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB
87380 16384 16384 10.00 3357.88 5.09 3.70 2.983 2.167
After patch :
lpq83:~# ./netperf -H 7.7.9.84 -Cc
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 7.7.9.84 () port 0 AF_INET
Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB
87380 16384 16384 10.00 7710.19 4.52 6.62 1.152 1.687
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
include/linux/netdev_features.h | 2 ++
include/linux/skbuff.h | 6 ++++--
net/core/ethtool.c | 1 +
net/ipv4/af_inet.c | 9 +++++++++
net/ipv4/gre_offload.c | 3 ++-
net/ipv4/ipip.c | 11 ++++++-----
net/ipv4/tcp_offload.c | 1 +
net/ipv4/udp_offload.c | 1 +
net/ipv6/ip6_offload.c | 1 +
net/ipv6/udp_offload.c | 1 +
net/mpls/mpls_gso.c | 1 +
11 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/include/linux/netdev_features.h b/include/linux/netdev_features.h
index a2a89a5..8dad68c 100644
--- a/include/linux/netdev_features.h
+++ b/include/linux/netdev_features.h
@@ -42,6 +42,7 @@ enum {
NETIF_F_TSO6_BIT, /* ... TCPv6 segmentation */
NETIF_F_FSO_BIT, /* ... FCoE segmentation */
NETIF_F_GSO_GRE_BIT, /* ... GRE with TSO */
+ NETIF_F_GSO_IPIP_BIT, /* ... IPIP tunnel with TSO */
NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
/**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
@@ -107,6 +108,7 @@ enum {
#define NETIF_F_RXFCS __NETIF_F(RXFCS)
#define NETIF_F_RXALL __NETIF_F(RXALL)
#define NETIF_F_GSO_GRE __NETIF_F(GSO_GRE)
+#define NETIF_F_GSO_IPIP __NETIF_F(GSO_IPIP)
#define NETIF_F_GSO_UDP_TUNNEL __NETIF_F(GSO_UDP_TUNNEL)
#define NETIF_F_GSO_MPLS __NETIF_F(GSO_MPLS)
#define NETIF_F_HW_VLAN_STAG_FILTER __NETIF_F(HW_VLAN_STAG_FILTER)
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index cad1e0c..6072913 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -318,9 +318,11 @@ enum {
SKB_GSO_GRE = 1 << 6,
- SKB_GSO_UDP_TUNNEL = 1 << 7,
+ SKB_GSO_IPIP = 1 << 7,
- SKB_GSO_MPLS = 1 << 8,
+ SKB_GSO_UDP_TUNNEL = 1 << 8,
+
+ SKB_GSO_MPLS = 1 << 9,
};
#if BITS_PER_LONG > 32
diff --git a/net/core/ethtool.c b/net/core/ethtool.c
index 78e9d92..8cab774 100644
--- a/net/core/ethtool.c
+++ b/net/core/ethtool.c
@@ -81,6 +81,7 @@ static const char netdev_features_strings[NETDEV_FEATURE_COUNT][ETH_GSTRING_LEN]
[NETIF_F_TSO6_BIT] = "tx-tcp6-segmentation",
[NETIF_F_FSO_BIT] = "tx-fcoe-segmentation",
[NETIF_F_GSO_GRE_BIT] = "tx-gre-segmentation",
+ [NETIF_F_GSO_IPIP_BIT] = "tx-ipip-segmentation",
[NETIF_F_GSO_UDP_TUNNEL_BIT] = "tx-udp_tnl-segmentation",
[NETIF_F_GSO_MPLS_BIT] = "tx-mpls-segmentation",
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 5783ab5..4049906 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1291,6 +1291,7 @@ static struct sk_buff *inet_gso_segment(struct sk_buff *skb,
SKB_GSO_DODGY |
SKB_GSO_TCP_ECN |
SKB_GSO_GRE |
+ SKB_GSO_IPIP |
SKB_GSO_TCPV6 |
SKB_GSO_UDP_TUNNEL |
SKB_GSO_MPLS |
@@ -1656,6 +1657,13 @@ static struct packet_offload ip_packet_offload __read_mostly = {
},
};
+static const struct net_offload ipip_offload = {
+ .callbacks = {
+ .gso_send_check = inet_gso_send_check,
+ .gso_segment = inet_gso_segment,
+ },
+};
+
static int __init ipv4_offload_init(void)
{
/*
@@ -1667,6 +1675,7 @@ static int __init ipv4_offload_init(void)
pr_crit("%s: Cannot add TCP protocol offload\n", __func__);
dev_add_offload(&ip_packet_offload);
+ inet_add_offload(&ipip_offload, IPPROTO_IPIP);
return 0;
}
diff --git a/net/ipv4/gre_offload.c b/net/ipv4/gre_offload.c
index 55e6bfb..e5d4361 100644
--- a/net/ipv4/gre_offload.c
+++ b/net/ipv4/gre_offload.c
@@ -39,7 +39,8 @@ static struct sk_buff *gre_gso_segment(struct sk_buff *skb,
SKB_GSO_UDP |
SKB_GSO_DODGY |
SKB_GSO_TCP_ECN |
- SKB_GSO_GRE)))
+ SKB_GSO_GRE |
+ SKB_GSO_IPIP)))
goto out;
if (unlikely(!pskb_may_pull(skb, sizeof(*greh))))
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c
index 7f80fb4..fe3e9f7 100644
--- a/net/ipv4/ipip.c
+++ b/net/ipv4/ipip.c
@@ -220,17 +220,17 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev)
if (unlikely(skb->protocol != htons(ETH_P_IP)))
goto tx_error;
- if (likely(!skb->encapsulation)) {
- skb_reset_inner_headers(skb);
- skb->encapsulation = 1;
- }
+ skb = iptunnel_handle_offloads(skb, false, SKB_GSO_IPIP);
+ if (IS_ERR(skb))
+ goto out;
ip_tunnel_xmit(skb, dev, tiph, tiph->protocol);
return NETDEV_TX_OK;
tx_error:
- dev->stats.tx_errors++;
dev_kfree_skb(skb);
+out:
+ dev->stats.tx_errors++;
return NETDEV_TX_OK;
}
@@ -275,6 +275,7 @@ static const struct net_device_ops ipip_netdev_ops = {
#define IPIP_FEATURES (NETIF_F_SG | \
NETIF_F_FRAGLIST | \
NETIF_F_HIGHDMA | \
+ NETIF_F_GSO_SOFTWARE | \
NETIF_F_HW_CSUM)
static void ipip_tunnel_setup(struct net_device *dev)
diff --git a/net/ipv4/tcp_offload.c b/net/ipv4/tcp_offload.c
index 8e3113f..dfc96b0 100644
--- a/net/ipv4/tcp_offload.c
+++ b/net/ipv4/tcp_offload.c
@@ -56,6 +56,7 @@ struct sk_buff *tcp_gso_segment(struct sk_buff *skb,
SKB_GSO_TCP_ECN |
SKB_GSO_TCPV6 |
SKB_GSO_GRE |
+ SKB_GSO_IPIP |
SKB_GSO_MPLS |
SKB_GSO_UDP_TUNNEL |
0) ||
diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c
index f35ecca..83206de 100644
--- a/net/ipv4/udp_offload.c
+++ b/net/ipv4/udp_offload.c
@@ -52,6 +52,7 @@ static struct sk_buff *udp4_ufo_fragment(struct sk_buff *skb,
if (unlikely(type & ~(SKB_GSO_UDP | SKB_GSO_DODGY |
SKB_GSO_UDP_TUNNEL |
+ SKB_GSO_IPIP |
SKB_GSO_GRE | SKB_GSO_MPLS) ||
!(type & (SKB_GSO_UDP))))
goto out;
diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c
index d82de72..548036a 100644
--- a/net/ipv6/ip6_offload.c
+++ b/net/ipv6/ip6_offload.c
@@ -98,6 +98,7 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb,
SKB_GSO_DODGY |
SKB_GSO_TCP_ECN |
SKB_GSO_GRE |
+ SKB_GSO_IPIP |
SKB_GSO_UDP_TUNNEL |
SKB_GSO_MPLS |
SKB_GSO_TCPV6 |
diff --git a/net/ipv6/udp_offload.c b/net/ipv6/udp_offload.c
index 6055951..f63780f 100644
--- a/net/ipv6/udp_offload.c
+++ b/net/ipv6/udp_offload.c
@@ -64,6 +64,7 @@ static struct sk_buff *udp6_ufo_fragment(struct sk_buff *skb,
SKB_GSO_DODGY |
SKB_GSO_UDP_TUNNEL |
SKB_GSO_GRE |
+ SKB_GSO_IPIP |
SKB_GSO_MPLS) ||
!(type & (SKB_GSO_UDP))))
goto out;
diff --git a/net/mpls/mpls_gso.c b/net/mpls/mpls_gso.c
index 1bec121..851cd88 100644
--- a/net/mpls/mpls_gso.c
+++ b/net/mpls/mpls_gso.c
@@ -33,6 +33,7 @@ static struct sk_buff *mpls_gso_segment(struct sk_buff *skb,
SKB_GSO_DODGY |
SKB_GSO_TCP_ECN |
SKB_GSO_GRE |
+ SKB_GSO_IPIP |
SKB_GSO_MPLS)))
goto out;
--
1.8.4
^ permalink raw reply related
* [PATCH net-next 6/6] bnx2x: add TSO support for IPIP
From: Eric Dumazet @ 2013-10-19 18:42 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Jerry Chu, Tom Herbert, Eric Dumazet
In-Reply-To: <1382208178-22347-1-git-send-email-edumazet@google.com>
bnx2x driver already handles TSO for GRE, current code
is the same for IPIP.
Performance results : (Note we are now limited by receiver,
as it does not support GRO for IPIP yet)
Before patch :
lpq83:~# ./netperf -H 7.7.9.84 -Cc
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 7.7.9.84 () port 0 AF_INET
Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB
87380 16384 16384 10.00 7710.19 4.52 6.62 1.152 1.687
After patch :
lpq83:~# ./netperf -H 7.7.9.84 -Cc
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 7.7.9.84 () port 0 AF_INET
Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB
87380 16384 16384 10.00 8532.40 2.55 7.73 0.588 1.781
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
index 8fd3432..6e5b35f 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -12260,10 +12260,12 @@ static int bnx2x_init_dev(struct bnx2x *bp, struct pci_dev *pdev,
NETIF_F_RXCSUM | NETIF_F_LRO | NETIF_F_GRO |
NETIF_F_RXHASH | NETIF_F_HW_VLAN_CTAG_TX;
if (!CHIP_IS_E1x(bp)) {
- dev->hw_features |= NETIF_F_GSO_GRE | NETIF_F_GSO_UDP_TUNNEL;
+ dev->hw_features |= NETIF_F_GSO_GRE | NETIF_F_GSO_UDP_TUNNEL |
+ NETIF_F_GSO_IPIP;
dev->hw_enc_features =
NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_SG |
NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6 |
+ NETIF_F_GSO_IPIP |
NETIF_F_GSO_GRE | NETIF_F_GSO_UDP_TUNNEL;
}
--
1.8.4
^ permalink raw reply related
* [PATCH net-next 2/6] net: generalize skb_segment()
From: Eric Dumazet @ 2013-10-19 18:42 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Jerry Chu, Tom Herbert, Eric Dumazet
In-Reply-To: <1382208178-22347-1-git-send-email-edumazet@google.com>
While implementing GSO/TSO support for IPIP, I found skb_segment()
was assuming network header was immediately following mac header.
Its not really true in the case inet_gso_segment() is stacked :
By the time tcp_gso_segment() is called, network header points
to the inner IP header.
Let's instead assume nothing and pick the current offsets found in
original skb, we have skb_headers_offset_update() helper for that.
Also move the csum_start update inside skb_headers_offset_update()
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
net/core/skbuff.c | 22 +++++-----------------
1 file changed, 5 insertions(+), 17 deletions(-)
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 8ead744..0ab32fa 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -903,6 +903,9 @@ EXPORT_SYMBOL(skb_clone);
static void skb_headers_offset_update(struct sk_buff *skb, int off)
{
+ /* Only adjust this if it actually is csum_start rather than csum */
+ if (skb->ip_summed == CHECKSUM_PARTIAL)
+ skb->csum_start += off;
/* {transport,network,mac}_header and tail are relative to skb->head */
skb->transport_header += off;
skb->network_header += off;
@@ -1109,9 +1112,6 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail,
#endif
skb->tail += off;
skb_headers_offset_update(skb, nhead);
- /* Only adjust this if it actually is csum_start rather than csum */
- if (skb->ip_summed == CHECKSUM_PARTIAL)
- skb->csum_start += nhead;
skb->cloned = 0;
skb->hdr_len = 0;
skb->nohdr = 0;
@@ -1176,7 +1176,6 @@ struct sk_buff *skb_copy_expand(const struct sk_buff *skb,
NUMA_NO_NODE);
int oldheadroom = skb_headroom(skb);
int head_copy_len, head_copy_off;
- int off;
if (!n)
return NULL;
@@ -1200,11 +1199,7 @@ struct sk_buff *skb_copy_expand(const struct sk_buff *skb,
copy_skb_header(n, skb);
- off = newheadroom - oldheadroom;
- if (n->ip_summed == CHECKSUM_PARTIAL)
- n->csum_start += off;
-
- skb_headers_offset_update(n, off);
+ skb_headers_offset_update(n, newheadroom - oldheadroom);
return n;
}
@@ -2837,14 +2832,7 @@ struct sk_buff *skb_segment(struct sk_buff *skb, netdev_features_t features)
__copy_skb_header(nskb, skb);
nskb->mac_len = skb->mac_len;
- /* nskb and skb might have different headroom */
- if (nskb->ip_summed == CHECKSUM_PARTIAL)
- nskb->csum_start += skb_headroom(nskb) - headroom;
-
- skb_reset_mac_header(nskb);
- skb_set_network_header(nskb, skb->mac_len);
- nskb->transport_header = (nskb->network_header +
- skb_network_header_len(skb));
+ skb_headers_offset_update(nskb, skb_headroom(nskb) - headroom);
skb_copy_from_linear_data_offset(skb, -tnl_hlen,
nskb->data - tnl_hlen,
--
1.8.4
^ permalink raw reply related
* Re: [RFC net-next] ipv6: Use destination address determined by IPVS
From: Hannes Frederic Sowa @ 2013-10-19 18:34 UTC (permalink / raw)
To: Julian Anastasov
Cc: Simon Horman,
YOSHIFUJI Hideaki / 吉藤英明, lvs-devel,
netdev, Mark Brooks, Phil Oester
In-Reply-To: <alpine.LFD.2.03.1310191919290.1469@ssi.bg>
On Sat, Oct 19, 2013 at 07:37:10PM +0300, Julian Anastasov wrote:
>
> Hello,
>
> On Fri, 18 Oct 2013, Hannes Frederic Sowa wrote:
>
> > I played around with your patch and tested xt_TEE. I added a TEE rule to
> > mangle/OUTPUT and pinged. This happend, I have not yet analyzed it:
> >
> > [ 101.126649] ------------[ cut here ]------------
> > [ 101.128436] BUG: unable to handle kernel paging request at fffffffb8a2fda88
> > [ 101.129421] IP: [<ffffffff810c9737>] cpuacct_charge+0x97/0x200
> > [ 101.129421] PGD 1c0f067 PUD 0
> > [ 101.129421] Thread overran stack, or stack corrupted
>
> Problem with process stack? May be some packet loop
> happens? Because I can not reproduce such problem in my
> virtual setup, I tested TEE too, with careful packet
> matching and 1 CPU. Should I assume that you don't have such
> oops when the patch is not applied, with the same TEE rule?
Oh, sorry, you are right. It happens with an unpatched net-next kernel, too.
I inserted the TEE rule in mangel/OUTGOING and had only one route, ip -6 r a
default via fe80::1 dev eth0 which at the time of the panic was actually not
reachable.
> > [ 101.129421] Oops: 0000 [#1] SMP
>
> You don't appear to have PREEMPT in above line.
> I'm not sure when preemption is enabled if tee_tg6() does
> not have a problem with its anti-loop measures (tee_active).
> Is preemption possible in OUTPUT hook, i.e. can we change
> the CPU while playing with tee_active and as result change
> different flag?
Hm, maybe. I don't have too much insight into netfilter stack and
what are the differences between OUTPUT and FORWARD path but plan to
investigate. ;)
Anyways just wanted to let you know that unpatched kernels are affected, too.
Will have a closer look later.
Greetings,
Hannes
^ permalink raw reply
* [PATCH iproute2] ss: make socket statistic parseable
From: Hagen Paul Pfeifer @ 2013-10-19 17:54 UTC (permalink / raw)
To: netdev; +Cc: shemminger, Hagen Paul Pfeifer, Eric Dumazet
Currently "ss -emoi" output is nearly perfect: key value(s) tuples are
delimited by colon. Except three groups: socket options, congestion
control algorithm and send data. Especially the first two groups prevent
automated parsing: what if a future congestion control algorithm is
named "faster" - is this a TCP flag or a congestion control algorithm?
The current syntax allow no parsing.
This patch harmonize the syntax for the last three remaining groups.
Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net>
---
misc/ss.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/misc/ss.c b/misc/ss.c
index c0369f1..beca2eb 100644
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -1386,20 +1386,22 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r,
info = RTA_DATA(tb[INET_DIAG_INFO]);
if (show_options) {
+ int is_not_first_element = 0;
+ printf(" options:");
if (info->tcpi_options & TCPI_OPT_TIMESTAMPS)
- printf(" ts");
+ printf("%cts", is_not_first_element++ ? ',' : '\0');
if (info->tcpi_options & TCPI_OPT_SACK)
- printf(" sack");
+ printf("%csack", is_not_first_element++ ? ',' : '\0');
if (info->tcpi_options & TCPI_OPT_ECN)
- printf(" ecn");
+ printf("%cecn", is_not_first_element++ ? ',' : '\0');
if (info->tcpi_options & TCPI_OPT_ECN_SEEN)
- printf(" ecnseen");
+ printf("%cecnseen", is_not_first_element++ ? ',' : '\0');
if (info->tcpi_options & TCPI_OPT_SYN_DATA)
- printf(" fastopen");
+ printf("%cfastopen", is_not_first_element++ ? ',' : '\0');
}
if (tb[INET_DIAG_CONG])
- printf(" %s", rta_getattr_str(tb[INET_DIAG_CONG]));
+ printf(" cc:%s", rta_getattr_str(tb[INET_DIAG_CONG]));
if (info->tcpi_options & TCPI_OPT_WSCALE)
printf(" wscale:%d,%d", info->tcpi_snd_wscale,
@@ -1429,7 +1431,7 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r,
}
if (rtt > 0 && info->tcpi_snd_mss && info->tcpi_snd_cwnd) {
- printf(" send %sbps",
+ printf(" send:%sbps",
sprint_bw(b1, (double) info->tcpi_snd_cwnd *
(double) info->tcpi_snd_mss * 8000000.
/ rtt));
--
1.8.4.rc3
^ permalink raw reply related
* Re: net: sctp: possible dereference after freeing
From: Vlad Yasevich @ 2013-10-19 17:36 UTC (permalink / raw)
To: Geyslan Gregório Bem
Cc: Neil Horman, David S. Miller, linux-sctp@vger.kernel.org,
netdev@vger.kernel.org, LKML
In-Reply-To: <CAGG-pUT=qrYxOQ5jeU=9KipYO+MAA9oJj=241YMqo54S7K+xsA@mail.gmail.com>
On Oct 19, 2013, at 7:49 AM, Geyslan Gregório Bem <geyslan@gmail.com> wrote:
> 2013/10/19 Geyslan Gregório Bem <geyslan@gmail.com>:
>> Hi maintainers,
>>
>> I would like to know if these are catches:
>>
>> /net/sctp/endpointola.c (281)
>> static void sctp_endpoint_destroy(struct sctp_endpoint *ep)
>> {
>> struct sock *sk;
>> ...
>> kfree(ep);
>> SCTP_DBG_OBJCNT_DEC(ep);
>> }
>>
>> The 'ep' object counter is being decremented?! Is the kfree to be there indeed?
>> Let me know what was intended here.
>>
>> Same here:
>> /net/sctp/endpointola.c (165)
>> static void sctp_transport_destroy_rcu(struct rcu_head *head)
>> {
>> struct sctp_transport *transport;
>> ...
>> kfree(transport);
>> SCTP_DBG_OBJCNT_DEC(transport);
>> }
>>
>> Regards,
>>
>> Geyslan Gregório Bem
>> hackingbits.com
>
> Oops. I got it. ;)
>
> extern atomic_t sctp_dbg_objcnt_ep;
> http://lxr.free-electrons.com/source/include/net/sctp/sctp.h#L269
> extern atomic_t sctp_dbg_objcnt_transport;
> http://lxr.free-electrons.com/source/arch/x86/include/asm/atomic.h#L105
>
> Cheers.
There is no reference here since the macro turns variable name to string using ## name.
So the order doesn't matter really.
-vlad --
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply
* Re: [PATCH] sctp: Do not trigger BUG_ON when deleting assoc without primary path
From: Vlad Yasevich @ 2013-10-19 17:31 UTC (permalink / raw)
To: David Miller
Cc: netdev@vger.kernel.org, linux-sctp@vger.kernel.org,
Mark.Thomas@metaswitch.com, dborkman@redhat.com,
nhorman@tuxdriver.com
In-Reply-To: <20131018.163843.394049429297788865.davem@davemloft.net>
On Oct 18, 2013, at 4:38 PM, David Miller <davem@davemloft.net> wrote:
> From: Vlad Yasevich <vyasevich@gmail.com>
> Date: Thu, 17 Oct 2013 13:30:42 -0400
>
>> It is possible to enter sctp_cmd_delete_tcb() without having a
>> primary path. The situations this most often happens in is
>> when duplication cookie processing is triggered. In this
>> case, we are deleting a temporarily created association that
>> is not fully populated. Additially, at the time we
>> are deleting the offending association, it is really too
>> late to issue a BUG!
>
> Vlad, it looks like you and Daniel are working on an alternative
> scheme to handle this issue. So I just toss this patch for now?
yep. toss for now.
thanks
vlad
^ permalink raw reply
* Re: linux-next: Tree for Oct 18 (netdev: nf_tables_bridge.c)
From: Randy Dunlap @ 2013-10-19 17:22 UTC (permalink / raw)
To: Mark Brown, Thierry Reding
Cc: linux-next, linux-kernel, Patrick McHardy, netdev@vger.kernel.org,
netfilter-devel
In-Reply-To: <20131019125057.GZ2443@sirena.org.uk>
[-- Attachment #1: Type: text/plain, Size: 1359 bytes --]
On 10/19/13 05:50, Mark Brown wrote:
> Hi all,
>
> I've uploaded today's linux-next tree to the master branch of the
> repository below:
>
> git://gitorious.org/thierryreding/linux-next.git
>
> A next-20131018 tag is also provided for convenience.
>
> A few new conflicts today but otherwise uneventful. x86_64 allmodconfig
> builds after each merge but no other build tests were done.
on i386:
when CONFIG_NF_TABLES[_MODULE] is not enabled,
but CONFIG_NF_TABLES_BRIDGE is enabled:
net/bridge/netfilter/nf_tables_bridge.c: In function 'nf_tables_bridge_init_net':
net/bridge/netfilter/nf_tables_bridge.c:24:5: error: 'struct net' has no member named 'nft'
net/bridge/netfilter/nf_tables_bridge.c:25:9: error: 'struct net' has no member named 'nft'
net/bridge/netfilter/nf_tables_bridge.c:28:2: error: 'struct net' has no member named 'nft'
net/bridge/netfilter/nf_tables_bridge.c:30:34: error: 'struct net' has no member named 'nft'
net/bridge/netfilter/nf_tables_bridge.c:35:11: error: 'struct net' has no member named 'nft'
net/bridge/netfilter/nf_tables_bridge.c: In function 'nf_tables_bridge_exit_net':
net/bridge/netfilter/nf_tables_bridge.c:41:27: error: 'struct net' has no member named 'nft'
net/bridge/netfilter/nf_tables_bridge.c:42:11: error: 'struct net' has no member named 'nft'
Full randconfig file is attached.
--
~Randy
[-- Attachment #2: config-r4894 --]
[-- Type: text/plain, Size: 69176 bytes --]
#
# Automatically generated file; DO NOT EDIT.
# Linux/i386 3.12.0-rc5 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
# CONFIG_ZONE_DMA32 is not set
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
#
# General setup
#
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_COMPILE_TEST=y
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
CONFIG_FHANDLE=y
CONFIG_AUDIT=y
# CONFIG_AUDITSYSCALL is not set
# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_DEBUG=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_KTIME_SCALAR=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
#
# RCU Subsystem
#
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
CONFIG_RCU_FANOUT_EXACT=y
CONFIG_TREE_RCU_TRACE=y
# CONFIG_RCU_BOOST is not set
# CONFIG_RCU_NOCB_CPU is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
# CONFIG_CGROUP_FREEZER is not set
# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CPUSETS is not set
CONFIG_CGROUP_CPUACCT=y
# CONFIG_RESOURCE_COUNTERS is not set
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_BLK_CGROUP is not set
CONFIG_CHECKPOINT_RESTORE=y
# CONFIG_NAMESPACES is not set
CONFIG_UIDGID_STRICT_TYPE_CHECKS=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_ANON_INODES=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_PRINTK is not set
CONFIG_BUG=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
# CONFIG_EPOLL is not set
CONFIG_SIGNALFD=y
# CONFIG_TIMERFD is not set
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_EMBEDDED=y
CONFIG_HAVE_PERF_EVENTS=y
#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
# CONFIG_SLUB is not set
CONFIG_SLOB=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_KPROBES=y
# CONFIG_JUMP_LABEL is not set
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_KRETPROBES=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OLD_SIGACTION=y
#
# GCOV-based kernel profiling
#
CONFIG_GCOV_KERNEL=y
CONFIG_GCOV_PROFILE_ALL=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_MODULE_SIG=y
# CONFIG_MODULE_SIG_FORCE is not set
CONFIG_MODULE_SIG_ALL=y
# CONFIG_MODULE_SIG_SHA1 is not set
# CONFIG_MODULE_SIG_SHA224 is not set
CONFIG_MODULE_SIG_SHA256=y
# CONFIG_MODULE_SIG_SHA384 is not set
# CONFIG_MODULE_SIG_SHA512 is not set
CONFIG_MODULE_SIG_HASH="sha256"
CONFIG_BLOCK=y
CONFIG_LBDAF=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_CMDLINE_PARSER=y
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
# CONFIG_ACORN_PARTITION_CUMANA is not set
CONFIG_ACORN_PARTITION_EESOX=y
# CONFIG_ACORN_PARTITION_ICS is not set
# CONFIG_ACORN_PARTITION_ADFS is not set
# CONFIG_ACORN_PARTITION_POWERTEC is not set
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_AIX_PARTITION=y
# CONFIG_OSF_PARTITION is not set
CONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
CONFIG_MINIX_SUBPARTITION=y
# CONFIG_SOLARIS_X86_PARTITION is not set
CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_CMDLINE_PARTITION=y
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=m
CONFIG_IOSCHED_CFQ=m
CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED="noop"
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_FREEZER=y
#
# Processor type and features
#
# CONFIG_ZONE_DMA is not set
# CONFIG_SMP is not set
CONFIG_X86_MPPARSE=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
# CONFIG_X86_32_IRIS is not set
# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
# CONFIG_HYPERVISOR_GUEST is not set
CONFIG_NO_BOOTMEM=y
CONFIG_MEMTEST=y
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
CONFIG_MELAN=y
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=4
CONFIG_X86_L1_CACHE_SHIFT=4
CONFIG_X86_ALIGNMENT_16=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_MINIMUM_CPU_FAMILY=5
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_PROCESSOR_SELECT=y
# CONFIG_CPU_SUP_INTEL is not set
CONFIG_CPU_SUP_CYRIX_32=y
# CONFIG_CPU_SUP_AMD is not set
CONFIG_CPU_SUP_CENTAUR=y
# CONFIG_CPU_SUP_TRANSMETA_32 is not set
CONFIG_CPU_SUP_UMC_32=y
CONFIG_HPET_TIMER=y
CONFIG_DMI=y
CONFIG_NR_CPUS=1
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
# CONFIG_X86_MCE is not set
CONFIG_VM86=y
CONFIG_TOSHIBA=y
# CONFIG_I8K is not set
CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=m
CONFIG_MICROCODE_INTEL=y
# CONFIG_MICROCODE_AMD is not set
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_MICROCODE_INTEL_LIB=y
# CONFIG_MICROCODE_INTEL_EARLY is not set
# CONFIG_MICROCODE_AMD_EARLY is not set
CONFIG_X86_MSR=y
# CONFIG_X86_CPUID is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_X86_PAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=999999
# CONFIG_COMPACTION is not set
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_TRANSPARENT_HUGEPAGE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_NEED_PER_CPU_KM=y
CONFIG_CLEANCACHE=y
# CONFIG_FRONTSWAP is not set
# CONFIG_CMA is not set
# CONFIG_ZBUD is not set
CONFIG_MEM_SOFT_DIRTY=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_RESERVE_LOW=64
# CONFIG_MATH_EMULATION is not set
# CONFIG_MTRR is not set
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
# CONFIG_SECCOMP is not set
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x1000000
# CONFIG_COMPAT_VDSO is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=""
CONFIG_CMDLINE_OVERRIDE=y
#
# Power management and ACPI options
#
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_HIBERNATION is not set
CONFIG_PM_SLEEP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
# CONFIG_PM_RUNTIME is not set
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_SFI=y
# CONFIG_APM is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
#
# CPU Idle
#
# CONFIG_CPU_IDLE is not set
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
#
# Bus options (PCI etc.)
#
# CONFIG_PCI is not set
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
CONFIG_EISA=y
# CONFIG_EISA_VLB_PRIMING is not set
# CONFIG_EISA_VIRTUAL_ROOT is not set
CONFIG_EISA_NAMES=y
CONFIG_SCx200=m
# CONFIG_SCx200HR_TIMER is not set
# CONFIG_ALIX is not set
# CONFIG_NET5501 is not set
# CONFIG_GEOS is not set
# CONFIG_TS5500 is not set
# CONFIG_PCCARD is not set
# CONFIG_X86_SYSFB is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_HAVE_AOUT=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=y
# CONFIG_COREDUMP is not set
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
CONFIG_UNIX=m
CONFIG_UNIX_DIAG=m
# CONFIG_NET_KEY is not set
# CONFIG_INET is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_XTABLES=m
CONFIG_NF_TABLES_BRIDGE=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
# CONFIG_BRIDGE_EBT_LIMIT is not set
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
# CONFIG_BRIDGE_EBT_SNAT is not set
# CONFIG_BRIDGE_EBT_LOG is not set
# CONFIG_BRIDGE_EBT_ULOG is not set
CONFIG_BRIDGE_EBT_NFLOG=m
# CONFIG_ATM is not set
CONFIG_STP=m
CONFIG_BRIDGE=m
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
CONFIG_LLC=y
CONFIG_LLC2=y
# CONFIG_IPX is not set
CONFIG_ATALK=y
CONFIG_DEV_APPLETALK=m
CONFIG_LTPC=m
# CONFIG_COPS is not set
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_X25=m
# CONFIG_LAPB is not set
CONFIG_PHONET=y
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
# CONFIG_NET_SCH_CBQ is not set
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=m
# CONFIG_NET_SCH_RED is not set
# CONFIG_NET_SCH_SFB is not set
# CONFIG_NET_SCH_SFQ is not set
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_DSMARK=y
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
# CONFIG_NET_SCH_CODEL is not set
# CONFIG_NET_SCH_FQ_CODEL is not set
# CONFIG_NET_SCH_FQ is not set
CONFIG_NET_SCH_PLUG=m
#
# Classification
#
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
# CONFIG_CLS_U32_PERF is not set
CONFIG_CLS_U32_MARK=y
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
CONFIG_NET_CLS_FLOW=y
# CONFIG_NET_CLS_CGROUP is not set
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
# CONFIG_DNS_RESOLVER is not set
CONFIG_BATMAN_ADV=m
# CONFIG_BATMAN_ADV_NC is not set
CONFIG_BATMAN_ADV_DEBUG=y
# CONFIG_OPENVSWITCH is not set
# CONFIG_VSOCKETS is not set
# CONFIG_NETLINK_MMAP is not set
CONFIG_NETLINK_DIAG=m
# CONFIG_NET_MPLS_GSO is not set
CONFIG_NETPRIO_CGROUP=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
#
# Network testing
#
CONFIG_HAMRADIO=y
#
# Packet Radio protocols
#
CONFIG_AX25=m
# CONFIG_AX25_DAMA_SLAVE is not set
CONFIG_NETROM=m
CONFIG_ROSE=m
#
# AX.25 network device drivers
#
CONFIG_MKISS=m
CONFIG_6PACK=m
CONFIG_BPQETHER=m
# CONFIG_DMASCC is not set
# CONFIG_SCC is not set
CONFIG_BAYCOM_SER_FDX=m
CONFIG_BAYCOM_SER_HDX=m
CONFIG_BAYCOM_PAR=m
CONFIG_BAYCOM_EPP=m
# CONFIG_YAM is not set
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
CONFIG_CAN_GW=m
#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_DEV is not set
CONFIG_CAN_DEBUG_DEVICES=y
# CONFIG_IRDA is not set
CONFIG_BT=m
CONFIG_BT_RFCOMM=m
# CONFIG_BT_RFCOMM_TTY is not set
# CONFIG_BT_BNEP is not set
# CONFIG_BT_CMTP is not set
CONFIG_BT_HIDP=m
#
# Bluetooth device drivers
#
# CONFIG_BT_HCIUART is not set
# CONFIG_BT_HCIVHCI is not set
CONFIG_BT_MRVL=m
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_CFG80211=m
CONFIG_NL80211_TESTMODE=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
# CONFIG_CFG80211_DEFAULT_PS is not set
# CONFIG_CFG80211_DEBUGFS is not set
CONFIG_CFG80211_INTERNAL_REGDB=y
# CONFIG_CFG80211_WEXT is not set
CONFIG_LIB80211=m
CONFIG_LIB80211_DEBUG=y
# CONFIG_MAC80211 is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
CONFIG_RFKILL_REGULATOR=y
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
CONFIG_NFC=m
CONFIG_NFC_NCI=m
CONFIG_NFC_NCI_SPI=y
CONFIG_NFC_HCI=m
CONFIG_NFC_SHDLC=y
#
# Near Field Communication (NFC) devices
#
# CONFIG_NFC_SIM is not set
CONFIG_NFC_PN544=m
CONFIG_NFC_PN544_I2C=m
# CONFIG_NFC_MICROREAD is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_DEBUG_DRIVER=y
CONFIG_DEBUG_DEVRES=y
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPI=y
CONFIG_REGMAP_MMIO=m
CONFIG_REGMAP_IRQ=y
CONFIG_DMA_SHARED_BUFFER=y
#
# Bus devices
#
CONFIG_CONNECTOR=m
CONFIG_MTD=m
# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_CMDLINE_PARTS is not set
CONFIG_MTD_AR7_PARTS=m
#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=m
# CONFIG_MTD_BLOCK is not set
CONFIG_MTD_BLOCK_RO=m
CONFIG_FTL=m
# CONFIG_NFTL is not set
CONFIG_INFTL=m
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
CONFIG_MTD_OOPS=m
CONFIG_MTD_SWAP=m
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=m
CONFIG_MTD_JEDECPROBE=m
CONFIG_MTD_GEN_PROBE=m
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=m
CONFIG_MTD_CFI_AMDSTD=m
CONFIG_MTD_CFI_STAA=m
CONFIG_MTD_CFI_UTIL=m
CONFIG_MTD_RAM=m
# CONFIG_MTD_ROM is not set
CONFIG_MTD_ABSENT=m
#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=m
CONFIG_MTD_PHYSMAP_COMPAT=y
CONFIG_MTD_PHYSMAP_START=0x8000000
CONFIG_MTD_PHYSMAP_LEN=0
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_SC520CDP is not set
# CONFIG_MTD_NETSC520 is not set
CONFIG_MTD_TS5500=m
# CONFIG_MTD_SBC_GXX is not set
CONFIG_MTD_SCx200_DOCFLASH=m
CONFIG_MTD_AMD76XROM=m
# CONFIG_MTD_ICHXROM is not set
CONFIG_MTD_NETtel=m
# CONFIG_MTD_L440GX is not set
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_LATCH_ADDR is not set
#
# Self-contained MTD device drivers
#
CONFIG_MTD_DATAFLASH=m
CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
CONFIG_MTD_DATAFLASH_OTP=y
CONFIG_MTD_M25P80=m
# CONFIG_M25PXX_USE_FAST_READ is not set
CONFIG_MTD_SST25L=m
CONFIG_MTD_SLRAM=m
CONFIG_MTD_PHRAM=m
CONFIG_MTD_MTDRAM=m
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTDRAM_ERASE_SIZE=128
# CONFIG_MTD_BLOCK2MTD is not set
#
# Disk-On-Chip Device Drivers
#
CONFIG_MTD_DOCG3=m
CONFIG_BCH_CONST_M=14
CONFIG_BCH_CONST_T=4
# CONFIG_MTD_NAND is not set
CONFIG_MTD_ONENAND=m
# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
# CONFIG_MTD_ONENAND_GENERIC is not set
# CONFIG_MTD_ONENAND_OTP is not set
# CONFIG_MTD_ONENAND_2X_PROGRAM is not set
#
# LPDDR flash memory drivers
#
CONFIG_MTD_LPDDR=m
CONFIG_MTD_QINFO_PROBE=m
# CONFIG_MTD_UBI is not set
CONFIG_PARPORT=y
# CONFIG_PARPORT_PC is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT_1284=y
# CONFIG_PNP is not set
# CONFIG_BLK_DEV is not set
#
# Misc devices
#
CONFIG_SENSORS_LIS3LV02D=y
# CONFIG_AD525X_DPOT is not set
CONFIG_DUMMY_IRQ=m
# CONFIG_ICS932S401 is not set
# CONFIG_ATMEL_SSC is not set
CONFIG_ENCLOSURE_SERVICES=y
CONFIG_APDS9802ALS=m
CONFIG_ISL29003=m
CONFIG_ISL29020=y
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1780 is not set
# CONFIG_SENSORS_BH1770 is not set
CONFIG_SENSORS_APDS990X=m
# CONFIG_HMC6352 is not set
CONFIG_DS1682=y
CONFIG_TI_DAC7512=m
CONFIG_BMP085=y
# CONFIG_BMP085_I2C is not set
CONFIG_BMP085_SPI=y
CONFIG_USB_SWITCH_FSA9480=y
CONFIG_LATTICE_ECP3_CONFIG=m
CONFIG_SRAM=y
CONFIG_C2PORT=m
CONFIG_C2PORT_DURAMAR_2150=m
#
# EEPROM support
#
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=y
CONFIG_EEPROM_93CX6=y
# CONFIG_EEPROM_93XX46 is not set
#
# Texas Instruments shared transport line discipline
#
CONFIG_SENSORS_LIS3_SPI=m
CONFIG_SENSORS_LIS3_I2C=y
#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not set
#
# Intel MIC Host Driver
#
#
# Intel MIC Card Driver
#
CONFIG_HAVE_IDE=y
CONFIG_IDE=y
#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_TIMINGS=y
CONFIG_IDE_ATAPI=y
CONFIG_IDE_LEGACY=y
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_IDE_GD=m
# CONFIG_IDE_GD_ATA is not set
# CONFIG_IDE_GD_ATAPI is not set
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
CONFIG_BLK_DEV_IDETAPE=y
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_PROC_FS=y
#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_PLATFORM=y
CONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
#
# Other IDE chipsets support
#
#
# Note: most of these also require special kernel boot parameters
#
CONFIG_BLK_DEV_4DRIVES=y
# CONFIG_BLK_DEV_ALI14XX is not set
CONFIG_BLK_DEV_DTC2278=m
CONFIG_BLK_DEV_HT6560B=y
CONFIG_BLK_DEV_QD65XX=m
# CONFIG_BLK_DEV_UMC8672 is not set
# CONFIG_BLK_DEV_IDEDMA is not set
#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
CONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_PROC_FS is not set
#
# SCSI support type (disk, tape, CD-ROM)
#
# CONFIG_BLK_DEV_SD is not set
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
# CONFIG_SCSI_ENCLOSURE is not set
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
# CONFIG_SCSI_SAS_ATA is not set
# CONFIG_SCSI_SAS_HOST_SMP is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_BOOT_SYSFS=m
CONFIG_SCSI_7000FASST=y
# CONFIG_SCSI_AHA152X is not set
CONFIG_SCSI_AHA1542=y
CONFIG_SCSI_AHA1740=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC7XXX_OLD=y
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_IN2000=y
CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_UFSHCD_PLATFORM=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_LIBFC=y
CONFIG_LIBFCOE=y
CONFIG_SCSI_DTC3280=y
CONFIG_SCSI_EATA=m
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
CONFIG_SCSI_GENERIC_NCR5380=y
CONFIG_SCSI_GENERIC_NCR5380_MMIO=y
CONFIG_SCSI_GENERIC_NCR53C400=y
CONFIG_SCSI_NCR53C406A=m
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
CONFIG_SCSI_SIM710=y
CONFIG_SCSI_SYM53C416=m
# CONFIG_SCSI_T128 is not set
CONFIG_SCSI_U14_34F=y
CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y
# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=y
CONFIG_SCSI_DEBUG=y
# CONFIG_SCSI_VIRTIO is not set
CONFIG_SCSI_DH=m
CONFIG_SCSI_DH_RDAC=m
# CONFIG_SCSI_DH_HP_SW is not set
CONFIG_SCSI_DH_EMC=m
# CONFIG_SCSI_DH_ALUA is not set
CONFIG_SCSI_OSD_INITIATOR=m
# CONFIG_SCSI_OSD_ULD is not set
CONFIG_SCSI_OSD_DPRINT_SENSE=1
CONFIG_SCSI_OSD_DEBUG=y
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_SATA_PMP=y
#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#
CONFIG_ATA_BMDMA=y
#
# SATA SFF controllers with BMDMA
#
CONFIG_SATA_HIGHBANK=m
CONFIG_SATA_MV=m
CONFIG_SATA_RCAR=m
#
# PATA SFF controllers with BMDMA
#
CONFIG_PATA_ARASAN_CF=m
#
# PIO-only SFF controllers
#
CONFIG_PATA_PLATFORM=m
CONFIG_PATA_QDI=m
CONFIG_PATA_WINBOND_VLB=m
#
# Generic fallback / legacy drivers
#
CONFIG_PATA_LEGACY=m
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_LINEAR=m
# CONFIG_MD_RAID0 is not set
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=m
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
CONFIG_BCACHE=y
CONFIG_BCACHE_DEBUG=y
CONFIG_BCACHE_EDEBUG=y
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BLK_DEV_DM is not set
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
# CONFIG_LOOPBACK_TARGET is not set
CONFIG_TCM_FC=m
# CONFIG_ISCSI_TARGET is not set
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_NETDEVICES=y
# CONFIG_NET_CORE is not set
# CONFIG_ARCNET is not set
#
# CAIF transport drivers
#
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
CONFIG_VHOST_RING=m
CONFIG_VHOST=m
#
# Distributed Switch Architecture drivers
#
CONFIG_NET_DSA_MV88E6XXX=y
CONFIG_NET_DSA_MV88E6060=m
CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=y
CONFIG_NET_DSA_MV88E6123_61_65=y
# CONFIG_ETHERNET is not set
CONFIG_FDDI=y
# CONFIG_DEFXX is not set
CONFIG_PHYLIB=y
#
# MII PHY device drivers
#
# CONFIG_AT803X_PHY is not set
CONFIG_AMD_PHY=m
CONFIG_MARVELL_PHY=y
CONFIG_DAVICOM_PHY=y
# CONFIG_QSEMI_PHY is not set
# CONFIG_LXT_PHY is not set
CONFIG_CICADA_PHY=y
CONFIG_VITESSE_PHY=m
# CONFIG_SMSC_PHY is not set
CONFIG_BROADCOM_PHY=m
CONFIG_BCM87XX_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_NATIONAL_PHY=m
CONFIG_STE10XP=m
CONFIG_LSI_ET1011C_PHY=y
# CONFIG_MICREL_PHY is not set
CONFIG_FIXED_PHY=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
# CONFIG_PPP_FILTER is not set
CONFIG_PPP_MPPE=m
CONFIG_PPP_MULTILINK=y
# CONFIG_PPPOE is not set
# CONFIG_PPP_ASYNC is not set
CONFIG_PPP_SYNC_TTY=m
CONFIG_SLIP=y
CONFIG_SLHC=y
CONFIG_SLIP_COMPRESSED=y
# CONFIG_SLIP_SMART is not set
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_WLAN=y
# CONFIG_ATH_CARDS is not set
CONFIG_BRCMUTIL=m
CONFIG_BRCMFMAC=m
CONFIG_BRCM_TRACING=y
# CONFIG_BRCMDBG is not set
# CONFIG_HOSTAP is not set
CONFIG_LIBERTAS=m
# CONFIG_LIBERTAS_SPI is not set
CONFIG_LIBERTAS_DEBUG=y
# CONFIG_LIBERTAS_MESH is not set
# CONFIG_WL_TI is not set
CONFIG_MWIFIEX=m
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
CONFIG_ISDN_AUDIO=y
# CONFIG_ISDN_TTY_FAX is not set
# CONFIG_ISDN_X25 is not set
#
# ISDN feature submodules
#
CONFIG_ISDN_DRV_LOOP=m
CONFIG_ISDN_DIVERSION=m
#
# ISDN4Linux hardware drivers
#
#
# Passive cards
#
CONFIG_ISDN_DRV_HISAX=m
#
# D-channel protocol features
#
CONFIG_HISAX_EURO=y
# CONFIG_DE_AOC is not set
CONFIG_HISAX_NO_SENDCOMPLETE=y
CONFIG_HISAX_NO_LLC=y
CONFIG_HISAX_NO_KEYPAD=y
CONFIG_HISAX_1TR6=y
CONFIG_HISAX_NI1=y
CONFIG_HISAX_MAX_CARDS=8
#
# HiSax supported cards
#
CONFIG_HISAX_16_0=y
CONFIG_HISAX_16_3=y
# CONFIG_HISAX_S0BOX is not set
CONFIG_HISAX_AVM_A1=y
# CONFIG_HISAX_FRITZPCI is not set
# CONFIG_HISAX_AVM_A1_PCMCIA is not set
# CONFIG_HISAX_ELSA is not set
CONFIG_HISAX_IX1MICROR2=y
CONFIG_HISAX_DIEHLDIVA=y
# CONFIG_HISAX_ASUSCOM is not set
# CONFIG_HISAX_TELEINT is not set
CONFIG_HISAX_HFCS=y
CONFIG_HISAX_SEDLBAUER=y
CONFIG_HISAX_SPORTSTER=y
# CONFIG_HISAX_MIC is not set
CONFIG_HISAX_NICCY=y
# CONFIG_HISAX_ISURF is not set
# CONFIG_HISAX_HSTSAPHIR is not set
CONFIG_HISAX_GAZEL=y
CONFIG_HISAX_HFC_SX=y
# CONFIG_HISAX_DEBUG is not set
#
# HiSax PCMCIA card service modules
#
#
# HiSax sub driver modules
#
CONFIG_HISAX_HFC4S8S=m
#
# Active cards
#
CONFIG_ISDN_DRV_ICN=m
CONFIG_ISDN_DRV_PCBIT=m
CONFIG_ISDN_DRV_SC=m
CONFIG_ISDN_DRV_ACT2000=m
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_CAPI_TRACE=y
# CONFIG_ISDN_CAPI_MIDDLEWARE is not set
# CONFIG_ISDN_CAPI_CAPI20 is not set
# CONFIG_ISDN_CAPI_CAPIDRV is not set
#
# CAPI hardware drivers
#
# CONFIG_CAPI_AVM is not set
CONFIG_CAPI_EICON=y
CONFIG_ISDN_DRV_GIGASET=y
CONFIG_GIGASET_DUMMYLL=y
CONFIG_GIGASET_M101=m
# CONFIG_GIGASET_DEBUG is not set
CONFIG_MISDN=y
CONFIG_MISDN_DSP=m
CONFIG_MISDN_L1OIP=m
#
# mISDN hardware drivers
#
#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
CONFIG_INPUT_SPARSEKMAP=y
CONFIG_INPUT_MATRIXKMAP=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ADP5588=y
CONFIG_KEYBOARD_ADP5589=y
CONFIG_KEYBOARD_ATKBD=m
CONFIG_KEYBOARD_QT1070=m
CONFIG_KEYBOARD_QT2160=m
CONFIG_KEYBOARD_LKKBD=y
CONFIG_KEYBOARD_TCA6416=y
# CONFIG_KEYBOARD_TCA8418 is not set
CONFIG_KEYBOARD_LM8323=y
CONFIG_KEYBOARD_LM8333=y
CONFIG_KEYBOARD_MAX7359=y
CONFIG_KEYBOARD_MCS=y
CONFIG_KEYBOARD_MPR121=y
CONFIG_KEYBOARD_NEWTON=m
CONFIG_KEYBOARD_OPENCORES=m
CONFIG_KEYBOARD_STOWAWAY=m
CONFIG_KEYBOARD_SUNKBD=y
CONFIG_KEYBOARD_STMPE=m
CONFIG_KEYBOARD_TC3589X=m
# CONFIG_KEYBOARD_TWL4030 is not set
CONFIG_KEYBOARD_XTKBD=m
CONFIG_KEYBOARD_CROS_EC=m
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
CONFIG_INPUT_TABLET=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
CONFIG_TOUCHSCREEN_BU21013=y
CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
CONFIG_TOUCHSCREEN_CYTTSP_SPI=m
CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m
CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m
# CONFIG_TOUCHSCREEN_CYTTSP4_SPI is not set
CONFIG_TOUCHSCREEN_DA9034=y
CONFIG_TOUCHSCREEN_DA9052=m
CONFIG_TOUCHSCREEN_DYNAPRO=m
CONFIG_TOUCHSCREEN_HAMPSHIRE=m
# CONFIG_TOUCHSCREEN_EETI is not set
CONFIG_TOUCHSCREEN_FUJITSU=m
CONFIG_TOUCHSCREEN_ILI210X=y
# CONFIG_TOUCHSCREEN_GUNZE is not set
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
CONFIG_TOUCHSCREEN_MMS114=y
CONFIG_TOUCHSCREEN_MTOUCH=y
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_MK712=y
# CONFIG_TOUCHSCREEN_HTCPEN is not set
CONFIG_TOUCHSCREEN_PENMOUNT=y
CONFIG_TOUCHSCREEN_EDT_FT5X06=y
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
# CONFIG_TOUCHSCREEN_PIXCIR is not set
CONFIG_TOUCHSCREEN_WM831X=m
CONFIG_TOUCHSCREEN_MC13783=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TSC_SERIO=y
CONFIG_TOUCHSCREEN_TSC2005=m
CONFIG_TOUCHSCREEN_TSC2007=m
CONFIG_TOUCHSCREEN_PCAP=y
CONFIG_TOUCHSCREEN_ST1232=y
CONFIG_TOUCHSCREEN_STMPE=m
CONFIG_TOUCHSCREEN_TPS6507X=y
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_88PM80X_ONKEY is not set
# CONFIG_INPUT_AD714X is not set
CONFIG_INPUT_BMA150=m
CONFIG_INPUT_PCSPKR=y
CONFIG_INPUT_MAX8925_ONKEY=y
CONFIG_INPUT_MC13783_PWRBUTTON=y
CONFIG_INPUT_MMA8450=y
# CONFIG_INPUT_MPU3050 is not set
CONFIG_INPUT_APANEL=y
CONFIG_INPUT_WISTRON_BTNS=y
CONFIG_INPUT_KXTJ9=m
# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_RETU_PWRBUTTON=y
CONFIG_INPUT_TWL4030_PWRBUTTON=m
CONFIG_INPUT_TWL4030_VIBRA=y
CONFIG_INPUT_UINPUT=y
# CONFIG_INPUT_PCF50633_PMU is not set
CONFIG_INPUT_PCF8574=m
CONFIG_INPUT_PWM_BEEPER=m
CONFIG_INPUT_DA9052_ONKEY=m
CONFIG_INPUT_WM831X_ON=m
CONFIG_INPUT_PCAP=y
CONFIG_INPUT_ADXL34X=m
# CONFIG_INPUT_ADXL34X_I2C is not set
# CONFIG_INPUT_ADXL34X_SPI is not set
# CONFIG_INPUT_CMA3000 is not set
# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=m
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_LIBPS2=m
CONFIG_SERIO_RAW=y
CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_PS2MULT is not set
CONFIG_SERIO_ARC_PS2=y
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
#
# Character devices
#
CONFIG_TTY=y
# CONFIG_VT is not set
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_ROCKETPORT=y
# CONFIG_CYCLADES is not set
CONFIG_MOXA_INTELLIO=m
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_N_HDLC is not set
CONFIG_N_GSM=y
CONFIG_TRACE_ROUTER=m
CONFIG_TRACE_SINK=y
# CONFIG_DEVKMEM is not set
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
CONFIG_FIX_EARLYCON_MEM=y
#
# Non-8250 serial port support
#
CONFIG_SERIAL_KGDB_NMI=y
CONFIG_SERIAL_MAX3100=y
# CONFIG_SERIAL_MAX310X is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
CONFIG_SERIAL_SCCNXP=y
CONFIG_SERIAL_SCCNXP_CONSOLE=y
CONFIG_SERIAL_TIMBERDALE=m
CONFIG_SERIAL_ALTERA_JTAGUART=m
CONFIG_SERIAL_ALTERA_UART=y
CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
# CONFIG_SERIAL_ALTERA_UART_CONSOLE is not set
CONFIG_SERIAL_ARC=m
CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_TTY_PRINTK is not set
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=y
# CONFIG_VIRTIO_CONSOLE is not set
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=m
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM_TPM=m
# CONFIG_NVRAM is not set
CONFIG_DTLK=y
CONFIG_R3964=m
# CONFIG_MWAVE is not set
CONFIG_SCx200_GPIO=m
CONFIG_PC8736x_GPIO=m
CONFIG_NSC_GPIO=m
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=m
# CONFIG_TCG_TIS is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TELCLOCK=y
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
# CONFIG_I2C_CHARDEV is not set
CONFIG_I2C_MUX=y
#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_MUX_PCA9541 is not set
CONFIG_I2C_MUX_PCA954x=m
# CONFIG_I2C_HELPER_AUTO is not set
CONFIG_I2C_SMBUS=y
#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCF=y
CONFIG_I2C_ALGOPCA=y
#
# I2C Hardware Bus support
#
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_KEMPLD is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_PCA_PLATFORM=y
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_SIMTEC is not set
CONFIG_I2C_XILINX=m
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_PARPORT is not set
CONFIG_I2C_PARPORT_LIGHT=y
CONFIG_I2C_TAOS_EVM=y
#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_ELEKTOR is not set
CONFIG_I2C_PCA_ISA=m
# CONFIG_SCx200_I2C is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
CONFIG_SPI_ATMEL=m
# CONFIG_SPI_BCM2835 is not set
CONFIG_SPI_BITBANG=m
# CONFIG_SPI_BUTTERFLY is not set
CONFIG_SPI_EP93XX=y
CONFIG_SPI_IMX=m
CONFIG_SPI_LM70_LLP=m
CONFIG_SPI_FSL_DSPI=m
# CONFIG_SPI_OMAP24XX is not set
CONFIG_SPI_TI_QSPI=m
CONFIG_SPI_OMAP_100K=y
CONFIG_SPI_ORION=y
# CONFIG_SPI_PXA2XX_PCI is not set
CONFIG_SPI_SC18IS602=m
CONFIG_SPI_SH=m
# CONFIG_SPI_SH_HSPI is not set
CONFIG_SPI_TEGRA114=m
CONFIG_SPI_TEGRA20_SFLASH=m
CONFIG_SPI_TEGRA20_SLINK=y
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
CONFIG_SPI_DESIGNWARE=m
#
# SPI Protocol Masters
#
CONFIG_SPI_SPIDEV=y
# CONFIG_SPI_TLE62X0 is not set
CONFIG_HSI=m
CONFIG_HSI_BOARDINFO=y
#
# HSI clients
#
CONFIG_HSI_CHAR=m
#
# PPS support
#
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set
CONFIG_NTP_PPS=y
#
# PPS clients support
#
CONFIG_PPS_CLIENT_KTIMER=y
# CONFIG_PPS_CLIENT_LDISC is not set
CONFIG_PPS_CLIENT_PARPORT=y
CONFIG_PPS_CLIENT_GPIO=y
#
# PPS generators support
#
#
# PTP clock support
#
# CONFIG_PTP_1588_CLOCK is not set
# CONFIG_DP83640_PHY is not set
# CONFIG_PTP_1588_CLOCK_PCH is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIO_DEVRES=y
# CONFIG_GPIOLIB is not set
CONFIG_W1=y
# CONFIG_W1_CON is not set
#
# 1-wire Bus Masters
#
# CONFIG_W1_MASTER_DS2482 is not set
# CONFIG_W1_MASTER_DS1WM is not set
#
# 1-wire Slaves
#
# CONFIG_W1_SLAVE_THERM is not set
CONFIG_W1_SLAVE_SMEM=y
CONFIG_W1_SLAVE_DS2408=m
CONFIG_W1_SLAVE_DS2408_READBACK=y
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
# CONFIG_W1_SLAVE_DS2431 is not set
# CONFIG_W1_SLAVE_DS2433 is not set
CONFIG_W1_SLAVE_DS2760=y
CONFIG_W1_SLAVE_DS2780=y
CONFIG_W1_SLAVE_DS2781=y
CONFIG_W1_SLAVE_DS28E04=y
CONFIG_W1_SLAVE_BQ27000=m
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
CONFIG_GENERIC_ADC_BATTERY=m
CONFIG_MAX8925_POWER=y
CONFIG_WM831X_BACKUP=y
CONFIG_WM831X_POWER=y
CONFIG_TEST_POWER=m
CONFIG_BATTERY_DS2760=m
CONFIG_BATTERY_DS2780=y
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
CONFIG_BATTERY_SBS=m
CONFIG_BATTERY_BQ27x00=y
# CONFIG_BATTERY_BQ27X00_I2C is not set
# CONFIG_BATTERY_BQ27X00_PLATFORM is not set
# CONFIG_BATTERY_DA9030 is not set
CONFIG_BATTERY_DA9052=m
CONFIG_BATTERY_MAX17040=y
# CONFIG_BATTERY_MAX17042 is not set
CONFIG_CHARGER_PCF50633=m
CONFIG_CHARGER_MAX8903=m
CONFIG_CHARGER_TWL4030=y
CONFIG_CHARGER_LP8727=m
CONFIG_CHARGER_BQ2415X=y
CONFIG_CHARGER_SMB347=m
# CONFIG_CHARGER_TPS65090 is not set
CONFIG_BATTERY_GOLDFISH=y
CONFIG_POWER_RESET=y
# CONFIG_POWER_AVS is not set
# CONFIG_HWMON is not set
CONFIG_THERMAL=m
# CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE is not set
CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=y
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set
#
# Texas Instruments thermal drivers
#
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
CONFIG_WATCHDOG_NOWAYOUT=y
#
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_DA9052_WATCHDOG is not set
CONFIG_WM831X_WATCHDOG=m
# CONFIG_TWL4030_WATCHDOG is not set
# CONFIG_RETU_WATCHDOG is not set
CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=y
CONFIG_F71808E_WDT=m
CONFIG_SC520_WDT=m
CONFIG_SBC_FITPC2_WATCHDOG=m
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
CONFIG_IBMASR=m
# CONFIG_WAFER_WDT is not set
CONFIG_IT8712F_WDT=y
# CONFIG_IT87_WDT is not set
CONFIG_KEMPLD_WDT=m
CONFIG_SC1200_WDT=m
CONFIG_PC87413_WDT=y
CONFIG_60XX_WDT=y
# CONFIG_SBC8360_WDT is not set
CONFIG_SBC7240_WDT=m
# CONFIG_CPU5_WDT is not set
CONFIG_SMSC_SCH311X_WDT=m
# CONFIG_SMSC37B787_WDT is not set
CONFIG_W83627HF_WDT=m
CONFIG_W83697HF_WDT=y
# CONFIG_W83697UG_WDT is not set
# CONFIG_W83877F_WDT is not set
CONFIG_W83977F_WDT=m
# CONFIG_MACHZ_WDT is not set
CONFIG_SBC_EPX_C3_WATCHDOG=m
#
# ISA-based Watchdog Cards
#
# CONFIG_PCWATCHDOG is not set
CONFIG_MIXCOMWD=y
CONFIG_WDT=y
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
CONFIG_SSB=m
# CONFIG_SSB_SILENT is not set
CONFIG_SSB_DEBUG=y
CONFIG_BCMA_POSSIBLE=y
#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set
#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
CONFIG_MFD_AS3711=y
# CONFIG_PMIC_ADP5520 is not set
CONFIG_MFD_CROS_EC=m
# CONFIG_MFD_CROS_EC_I2C is not set
# CONFIG_MFD_CROS_EC_SPI is not set
CONFIG_PMIC_DA903X=y
CONFIG_PMIC_DA9052=y
# CONFIG_MFD_DA9052_SPI is not set
CONFIG_MFD_DA9052_I2C=y
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9063 is not set
CONFIG_MFD_MC13783=y
CONFIG_MFD_MC13XXX=y
CONFIG_MFD_MC13XXX_SPI=m
CONFIG_MFD_MC13XXX_I2C=y
# CONFIG_HTC_PASIC3 is not set
CONFIG_MFD_KEMPLD=y
CONFIG_MFD_88PM800=m
CONFIG_MFD_88PM805=m
# CONFIG_MFD_88PM860X is not set
CONFIG_MFD_MAX77686=y
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX8907 is not set
CONFIG_MFD_MAX8925=y
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
CONFIG_EZX_PCAP=y
CONFIG_MFD_RETU=y
CONFIG_MFD_PCF50633=m
CONFIG_PCF50633_ADC=m
CONFIG_PCF50633_GPIO=m
CONFIG_MFD_RC5T583=y
# CONFIG_MFD_SEC_CORE is not set
CONFIG_MFD_SI476X_CORE=y
# CONFIG_MFD_SM501 is not set
CONFIG_MFD_SMSC=y
# CONFIG_ABX500_CORE is not set
CONFIG_MFD_STMPE=y
#
# STMicroelectronics STMPE Interface Drivers
#
# CONFIG_STMPE_I2C is not set
CONFIG_STMPE_SPI=y
# CONFIG_MFD_SYSCON is not set
CONFIG_MFD_TI_AM335X_TSCADC=m
# CONFIG_MFD_LP8788 is not set
CONFIG_MFD_PALMAS=y
CONFIG_TPS6105X=m
CONFIG_TPS6507X=m
CONFIG_MFD_TPS65090=y
CONFIG_MFD_TPS65217=m
CONFIG_MFD_TPS6586X=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_TWL4030_CORE=y
# CONFIG_TWL4030_MADC is not set
CONFIG_MFD_TWL4030_AUDIO=y
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
CONFIG_MFD_LM3533=y
CONFIG_MFD_TC3589X=y
# CONFIG_MFD_TMIO is not set
CONFIG_MFD_ARIZONA=y
CONFIG_MFD_ARIZONA_I2C=m
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM5102 is not set
# CONFIG_MFD_WM5110 is not set
CONFIG_MFD_WM8997=y
CONFIG_MFD_WM8400=y
CONFIG_MFD_WM831X=y
CONFIG_MFD_WM831X_I2C=y
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
CONFIG_MFD_WM8994=y
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
# CONFIG_REGULATOR_88PM800 is not set
# CONFIG_REGULATOR_AD5398 is not set
CONFIG_REGULATOR_AS3711=y
# CONFIG_REGULATOR_DA903X is not set
# CONFIG_REGULATOR_DA9052 is not set
CONFIG_REGULATOR_DA9210=y
CONFIG_REGULATOR_FAN53555=y
CONFIG_REGULATOR_ISL6271A=m
# CONFIG_REGULATOR_LP3971 is not set
# CONFIG_REGULATOR_LP3972 is not set
CONFIG_REGULATOR_LP872X=m
# CONFIG_REGULATOR_LP8755 is not set
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX8649 is not set
CONFIG_REGULATOR_MAX8660=y
# CONFIG_REGULATOR_MAX8925 is not set
# CONFIG_REGULATOR_MAX8952 is not set
CONFIG_REGULATOR_MAX8973=m
# CONFIG_REGULATOR_MAX77686 is not set
# CONFIG_REGULATOR_MC13783 is not set
# CONFIG_REGULATOR_MC13892 is not set
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_PCAP=m
CONFIG_REGULATOR_PCF50633=m
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_RC5T583 is not set
# CONFIG_REGULATOR_TPS51632 is not set
CONFIG_REGULATOR_TPS6105X=m
CONFIG_REGULATOR_TPS62360=m
# CONFIG_REGULATOR_TPS65023 is not set
# CONFIG_REGULATOR_TPS6507X is not set
CONFIG_REGULATOR_TPS65090=y
CONFIG_REGULATOR_TPS65217=m
# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_TPS6586X=y
CONFIG_REGULATOR_TWL4030=m
# CONFIG_REGULATOR_WM831X is not set
CONFIG_REGULATOR_WM8400=y
# CONFIG_REGULATOR_WM8994 is not set
CONFIG_MEDIA_SUPPORT=y
#
# Multimedia core support
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
# CONFIG_MEDIA_RADIO_SUPPORT is not set
CONFIG_MEDIA_RC_SUPPORT=y
# CONFIG_MEDIA_CONTROLLER is not set
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_ADV_DEBUG=y
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_V4L2_MEM2MEM_DEV=y
CONFIG_VIDEOBUF_GEN=y
CONFIG_VIDEOBUF_DMA_CONTIG=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=y
# CONFIG_VIDEO_V4L2_INT_DEVICE is not set
# CONFIG_TTPCI_EEPROM is not set
#
# Media drivers
#
CONFIG_RC_CORE=y
CONFIG_RC_MAP=m
# CONFIG_RC_DECODERS is not set
# CONFIG_RC_DEVICES is not set
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_TIMBERDALE=y
CONFIG_SOC_CAMERA=m
CONFIG_SOC_CAMERA_SCALE_CROP=m
# CONFIG_SOC_CAMERA_PLATFORM is not set
CONFIG_VIDEO_RCAR_VIN=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
CONFIG_VIDEO_SH_VEU=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVI=m
CONFIG_VIDEO_MEM2MEM_TESTDEV=y
#
# Supported MMC/SDIO adapters
#
# CONFIG_MEDIA_PARPORT_SUPPORT is not set
#
# Media ancillary drivers (tuners, sensors, i2c, frontends)
#
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
CONFIG_MEDIA_ATTACH=y
# CONFIG_VIDEO_IR_I2C is not set
#
# Encoders, decoders, sensors and other helper chips
#
#
# Audio decoders, processors and mixers
#
CONFIG_VIDEO_TVAUDIO=m
# CONFIG_VIDEO_TDA7432 is not set
CONFIG_VIDEO_TDA9840=m
CONFIG_VIDEO_TEA6415C=y
# CONFIG_VIDEO_TEA6420 is not set
CONFIG_VIDEO_MSP3400=y
CONFIG_VIDEO_CS5345=y
# CONFIG_VIDEO_CS53L32A is not set
# CONFIG_VIDEO_TLV320AIC23B is not set
# CONFIG_VIDEO_UDA1342 is not set
CONFIG_VIDEO_WM8775=m
# CONFIG_VIDEO_WM8739 is not set
CONFIG_VIDEO_VP27SMPX=y
CONFIG_VIDEO_SONY_BTF_MPX=m
#
# RDS decoders
#
CONFIG_VIDEO_SAA6588=y
#
# Video decoders
#
CONFIG_VIDEO_ADV7180=y
CONFIG_VIDEO_ADV7183=m
CONFIG_VIDEO_BT819=y
CONFIG_VIDEO_BT856=y
# CONFIG_VIDEO_BT866 is not set
CONFIG_VIDEO_KS0127=m
# CONFIG_VIDEO_ML86V7667 is not set
CONFIG_VIDEO_SAA7110=m
CONFIG_VIDEO_SAA711X=m
CONFIG_VIDEO_SAA7191=y
# CONFIG_VIDEO_TVP514X is not set
CONFIG_VIDEO_TVP5150=m
CONFIG_VIDEO_TVP7002=m
CONFIG_VIDEO_TW2804=y
# CONFIG_VIDEO_TW9903 is not set
# CONFIG_VIDEO_TW9906 is not set
CONFIG_VIDEO_VPX3220=y
#
# Video and audio decoders
#
CONFIG_VIDEO_SAA717X=m
# CONFIG_VIDEO_CX25840 is not set
#
# Video encoders
#
# CONFIG_VIDEO_SAA7127 is not set
CONFIG_VIDEO_SAA7185=y
CONFIG_VIDEO_ADV7170=m
# CONFIG_VIDEO_ADV7175 is not set
# CONFIG_VIDEO_ADV7343 is not set
CONFIG_VIDEO_ADV7393=m
# CONFIG_VIDEO_AK881X is not set
# CONFIG_VIDEO_THS8200 is not set
#
# Camera sensor devices
#
CONFIG_VIDEO_OV7640=m
CONFIG_VIDEO_OV7670=m
CONFIG_VIDEO_VS6624=y
# CONFIG_VIDEO_MT9V011 is not set
CONFIG_VIDEO_SR030PC30=m
#
# Flash devices
#
#
# Video improvement chips
#
CONFIG_VIDEO_UPD64031A=y
CONFIG_VIDEO_UPD64083=y
#
# Miscellaneous helper chips
#
CONFIG_VIDEO_THS7303=y
CONFIG_VIDEO_M52790=y
#
# Sensors used on soc_camera driver
#
#
# soc_camera sensor drivers
#
# CONFIG_SOC_CAMERA_IMX074 is not set
# CONFIG_SOC_CAMERA_MT9M001 is not set
CONFIG_SOC_CAMERA_MT9M111=m
CONFIG_SOC_CAMERA_MT9T031=m
CONFIG_SOC_CAMERA_MT9T112=m
CONFIG_SOC_CAMERA_MT9V022=m
# CONFIG_SOC_CAMERA_OV2640 is not set
CONFIG_SOC_CAMERA_OV5642=m
CONFIG_SOC_CAMERA_OV6650=m
CONFIG_SOC_CAMERA_OV772X=m
CONFIG_SOC_CAMERA_OV9640=m
CONFIG_SOC_CAMERA_OV9740=m
# CONFIG_SOC_CAMERA_RJ54N1 is not set
# CONFIG_SOC_CAMERA_TW9910 is not set
CONFIG_MEDIA_TUNER=y
#
# Customize TV tuners
#
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=y
CONFIG_MEDIA_TUNER_TDA827X=y
CONFIG_MEDIA_TUNER_TDA18271=y
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=y
CONFIG_MEDIA_TUNER_TEA5767=y
CONFIG_MEDIA_TUNER_MT20XX=y
CONFIG_MEDIA_TUNER_MT2060=y
CONFIG_MEDIA_TUNER_MT2063=m
# CONFIG_MEDIA_TUNER_MT2266 is not set
CONFIG_MEDIA_TUNER_MT2131=m
CONFIG_MEDIA_TUNER_QT1010=m
CONFIG_MEDIA_TUNER_XC2028=y
# CONFIG_MEDIA_TUNER_XC5000 is not set
CONFIG_MEDIA_TUNER_XC4000=y
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=y
CONFIG_MEDIA_TUNER_MC44S803=m
# CONFIG_MEDIA_TUNER_MAX2165 is not set
CONFIG_MEDIA_TUNER_TDA18218=y
# CONFIG_MEDIA_TUNER_FC0011 is not set
# CONFIG_MEDIA_TUNER_FC0012 is not set
CONFIG_MEDIA_TUNER_FC0013=y
# CONFIG_MEDIA_TUNER_TDA18212 is not set
# CONFIG_MEDIA_TUNER_E4000 is not set
CONFIG_MEDIA_TUNER_FC2580=m
CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_MEDIA_TUNER_IT913X=m
CONFIG_MEDIA_TUNER_R820T=y
#
# Customise DVB Frontends
#
CONFIG_DVB_AU8522=y
CONFIG_DVB_AU8522_V4L=y
# CONFIG_DVB_TUNER_DIB0070 is not set
CONFIG_DVB_TUNER_DIB0090=y
#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set
#
# Graphics support
#
# CONFIG_DRM is not set
CONFIG_DRM_PANEL=y
CONFIG_VGASTATE=y
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
CONFIG_FB_ARC=y
CONFIG_FB_VGA16=y
CONFIG_FB_UVESA=m
# CONFIG_FB_VESA is not set
# CONFIG_FB_N411 is not set
CONFIG_FB_HGA=y
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_TMIO is not set
# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_FB_METRONOME=y
CONFIG_FB_BROADSHEET=y
# CONFIG_FB_AUO_K190X is not set
CONFIG_FB_SIMPLE=y
# CONFIG_EXYNOS_VIDEO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
# CONFIG_LOGO_LINUX_VGA16 is not set
# CONFIG_LOGO_LINUX_CLUT224 is not set
# CONFIG_SOUND is not set
#
# HID support
#
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
# CONFIG_HIDRAW is not set
# CONFIG_UHID is not set
CONFIG_HID_GENERIC=m
#
# Special HID drivers
#
# CONFIG_HID_A4TECH is not set
CONFIG_HID_ACRUX=m
# CONFIG_HID_ACRUX_FF is not set
# CONFIG_HID_APPLE is not set
# CONFIG_HID_AUREAL is not set
CONFIG_HID_BELKIN=m
# CONFIG_HID_CHERRY is not set
CONFIG_HID_CHICONY=y
# CONFIG_HID_CYPRESS is not set
CONFIG_HID_DRAGONRISE=y
# CONFIG_DRAGONRISE_FF is not set
CONFIG_HID_EMS_FF=y
CONFIG_HID_ELECOM=m
CONFIG_HID_EZKEY=m
CONFIG_HID_KEYTOUCH=y
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=y
CONFIG_HID_WALTOP=m
CONFIG_HID_GYRATION=y
# CONFIG_HID_ICADE is not set
CONFIG_HID_TWINHAN=y
# CONFIG_HID_KENSINGTON is not set
# CONFIG_HID_LCPOWER is not set
CONFIG_HID_LENOVO_TPKBD=y
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=m
CONFIG_LOGITECH_FF=y
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
# CONFIG_LOGIWHEELS_FF is not set
# CONFIG_HID_MAGICMOUSE is not set
# CONFIG_HID_MICROSOFT is not set
CONFIG_HID_MONTEREY=m
# CONFIG_HID_MULTITOUCH is not set
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=m
CONFIG_PANTHERLORD_FF=y
# CONFIG_HID_PETALYNX is not set
CONFIG_HID_PICOLCD=y
CONFIG_HID_PICOLCD_FB=y
# CONFIG_HID_PICOLCD_LEDS is not set
# CONFIG_HID_PICOLCD_CIR is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_SAITEK is not set
CONFIG_HID_SAMSUNG=m
# CONFIG_HID_SPEEDLINK is not set
CONFIG_HID_STEELSERIES=m
CONFIG_HID_SUNPLUS=m
CONFIG_HID_GREENASIA=y
# CONFIG_GREENASIA_FF is not set
CONFIG_HID_SMARTJOYPLUS=m
# CONFIG_SMARTJOYPLUS_FF is not set
CONFIG_HID_TIVO=y
CONFIG_HID_TOPSEED=m
CONFIG_HID_THINGM=m
CONFIG_HID_THRUSTMASTER=m
CONFIG_THRUSTMASTER_FF=y
# CONFIG_HID_WACOM is not set
CONFIG_HID_WIIMOTE=y
CONFIG_HID_XINMO=m
# CONFIG_HID_ZEROPLUS is not set
CONFIG_HID_ZYDACRON=y
CONFIG_HID_SENSOR_HUB=y
#
# I2C HID support
#
CONFIG_I2C_HID=y
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
#
# LED drivers
#
CONFIG_LEDS_LM3530=m
CONFIG_LEDS_LM3533=y
CONFIG_LEDS_LM3642=y
CONFIG_LEDS_NET48XX=m
# CONFIG_LEDS_WRAP is not set
CONFIG_LEDS_PCA9532=y
# CONFIG_LEDS_LP3944 is not set
CONFIG_LEDS_LP55XX_COMMON=y
# CONFIG_LEDS_LP5521 is not set
# CONFIG_LEDS_LP5523 is not set
CONFIG_LEDS_LP5562=y
CONFIG_LEDS_LP8501=m
# CONFIG_LEDS_CLEVO_MAIL is not set
CONFIG_LEDS_PCA955X=y
CONFIG_LEDS_PCA963X=y
CONFIG_LEDS_PCA9685=y
CONFIG_LEDS_WM831X_STATUS=y
# CONFIG_LEDS_DA903X is not set
CONFIG_LEDS_DA9052=m
CONFIG_LEDS_DAC124S085=y
# CONFIG_LEDS_PWM is not set
CONFIG_LEDS_REGULATOR=m
CONFIG_LEDS_BD2802=m
CONFIG_LEDS_MC13783=y
CONFIG_LEDS_TCA6507=m
CONFIG_LEDS_LM355x=m
CONFIG_LEDS_OT200=y
CONFIG_LEDS_BLINKM=m
#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
# CONFIG_LEDS_TRIGGER_ONESHOT is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
# CONFIG_LEDS_TRIGGER_CPU is not set
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
#
# iptables trigger is under Netfilter config (LED target)
#
CONFIG_LEDS_TRIGGER_TRANSIENT=y
CONFIG_LEDS_TRIGGER_CAMERA=y
CONFIG_ACCESSIBILITY=y
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=y
# CONFIG_RTC_CLASS is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set
#
# DMA Devices
#
# CONFIG_DW_DMAC_CORE is not set
# CONFIG_DW_DMAC is not set
CONFIG_TIMB_DMA=y
CONFIG_DMA_ENGINE=y
#
# DMA Clients
#
# CONFIG_NET_DMA is not set
# CONFIG_ASYNC_TX_DMA is not set
# CONFIG_DMATEST is not set
CONFIG_AUXDISPLAY=y
# CONFIG_UIO is not set
CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO=y
#
# Virtio drivers
#
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_MMIO=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
#
# Microsoft Hyper-V guest support
#
# CONFIG_STAGING is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_CHROMEOS_LAPTOP is not set
CONFIG_SENSORS_HDAPS=m
#
# Hardware Spinlock drivers
#
CONFIG_CLKSRC_I8253=y
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
# CONFIG_MAILBOX is not set
CONFIG_IOMMU_SUPPORT=y
#
# Remoteproc drivers
#
CONFIG_REMOTEPROC=m
CONFIG_STE_MODEM_RPROC=m
#
# Rpmsg drivers
#
CONFIG_PM_DEVFREQ=y
#
# DEVFREQ Governors
#
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
CONFIG_DEVFREQ_GOV_POWERSAVE=y
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
#
# DEVFREQ Drivers
#
CONFIG_EXTCON=m
#
# Extcon Device Drivers
#
CONFIG_EXTCON_ADC_JACK=m
# CONFIG_EXTCON_PALMAS is not set
CONFIG_MEMORY=y
CONFIG_IIO=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_BUFFER_CB=y
CONFIG_IIO_KFIFO_BUF=m
CONFIG_IIO_TRIGGERED_BUFFER=m
CONFIG_IIO_TRIGGER=y
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
#
# Accelerometers
#
CONFIG_BMA180=m
# CONFIG_HID_SENSOR_ACCEL_3D is not set
CONFIG_IIO_ST_ACCEL_3AXIS=m
CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
# CONFIG_KXSD9 is not set
#
# Analog to digital converters
#
CONFIG_AD_SIGMA_DELTA=m
# CONFIG_AD7266 is not set
CONFIG_AD7298=m
CONFIG_AD7476=m
CONFIG_AD7791=m
# CONFIG_AD7793 is not set
CONFIG_AD7887=m
# CONFIG_AD7923 is not set
# CONFIG_MAX1363 is not set
CONFIG_MCP320X=m
CONFIG_MCP3422=m
CONFIG_NAU7802=m
# CONFIG_TI_ADC081C is not set
CONFIG_TI_AM335X_ADC=m
CONFIG_TWL6030_GPADC=m
#
# Amplifiers
#
CONFIG_AD8366=m
#
# Hid Sensor IIO Common
#
CONFIG_HID_SENSOR_IIO_COMMON=m
CONFIG_HID_SENSOR_IIO_TRIGGER=m
# CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS is not set
CONFIG_IIO_ST_SENSORS_I2C=m
CONFIG_IIO_ST_SENSORS_SPI=m
CONFIG_IIO_ST_SENSORS_CORE=m
#
# Digital to analog converters
#
# CONFIG_AD5064 is not set
CONFIG_AD5360=m
CONFIG_AD5380=m
# CONFIG_AD5421 is not set
# CONFIG_AD5446 is not set
# CONFIG_AD5449 is not set
CONFIG_AD5504=m
# CONFIG_AD5624R_SPI is not set
CONFIG_AD5686=m
# CONFIG_AD5755 is not set
# CONFIG_AD5764 is not set
CONFIG_AD5791=m
# CONFIG_AD7303 is not set
CONFIG_MAX517=m
CONFIG_MCP4725=m
#
# Frequency Synthesizers DDS/PLL
#
#
# Clock Generator/Distribution
#
CONFIG_AD9523=m
#
# Phase-Locked Loop (PLL) frequency synthesizers
#
CONFIG_ADF4350=m
#
# Digital gyroscope sensors
#
# CONFIG_ADIS16080 is not set
CONFIG_ADIS16130=m
# CONFIG_ADIS16136 is not set
CONFIG_ADIS16260=m
CONFIG_ADXRS450=m
CONFIG_HID_SENSOR_GYRO_3D=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
# CONFIG_ITG3200 is not set
#
# Inertial measurement units
#
CONFIG_ADIS16400=m
# CONFIG_ADIS16480 is not set
CONFIG_IIO_ADIS_LIB=m
CONFIG_IIO_ADIS_LIB_BUFFER=y
CONFIG_INV_MPU6050_IIO=m
#
# Light sensors
#
# CONFIG_ADJD_S311 is not set
# CONFIG_APDS9300 is not set
CONFIG_GP2AP020A00F=m
CONFIG_HID_SENSOR_ALS=m
CONFIG_SENSORS_LM3533=m
# CONFIG_TCS3472 is not set
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_TSL4531=m
CONFIG_VCNL4000=m
#
# Magnetometer sensors
#
# CONFIG_HID_SENSOR_MAGNETOMETER_3D is not set
# CONFIG_IIO_ST_MAGN_3AXIS is not set
#
# Triggers - standalone
#
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_SYSFS_TRIGGER=m
#
# Pressure sensors
#
CONFIG_IIO_ST_PRESS=m
CONFIG_IIO_ST_PRESS_I2C=m
CONFIG_IIO_ST_PRESS_SPI=m
#
# Temperature sensors
#
CONFIG_TMP006=m
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
CONFIG_PWM_TWL=y
# CONFIG_PWM_TWL_LED is not set
CONFIG_IPACK_BUS=y
CONFIG_SERIAL_IPOCTAL=y
# CONFIG_RESET_CONTROLLER is not set
# CONFIG_FMC is not set
#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
#
# Firmware Drivers
#
CONFIG_EDD=y
CONFIG_EDD_OFF=y
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=m
CONFIG_GOOGLE_FIRMWARE=y
#
# Google Firmware Drivers
#
CONFIG_GOOGLE_MEMCONSOLE=y
#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
CONFIG_EXT2_FS_XIP=y
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=m
# CONFIG_EXT4_USE_FOR_EXT23 is not set
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
CONFIG_EXT4_DEBUG=y
CONFIG_FS_XIP=y
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
CONFIG_REISERFS_CHECK=y
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
CONFIG_OCFS2_DEBUG_FS=y
# CONFIG_BTRFS_FS is not set
CONFIG_NILFS2_FS=m
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
# CONFIG_INOTIFY_USER is not set
# CONFIG_FANOTIFY is not set
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
CONFIG_QUOTA_DEBUG=y
CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=y
# CONFIG_QFMT_V2 is not set
CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=y
# CONFIG_FUSE_FS is not set
#
# Caches
#
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
CONFIG_FSCACHE_HISTOGRAM=y
CONFIG_FSCACHE_DEBUG=y
CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_CACHEFILES=m
CONFIG_CACHEFILES_DEBUG=y
CONFIG_CACHEFILES_HISTOGRAM=y
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
# CONFIG_PROC_SYSCTL is not set
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=y
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=y
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=m
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
CONFIG_NLS_CODEPAGE_936=y
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=y
# CONFIG_NLS_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
CONFIG_NLS_MAC_CENTEURO=y
CONFIG_NLS_MAC_CROATIAN=y
# CONFIG_NLS_MAC_CYRILLIC is not set
# CONFIG_NLS_MAC_GAELIC is not set
# CONFIG_NLS_MAC_GREEK is not set
CONFIG_NLS_MAC_ICELAND=m
CONFIG_NLS_MAC_INUIT=y
# CONFIG_NLS_MAC_ROMANIAN is not set
CONFIG_NLS_MAC_TURKISH=y
# CONFIG_NLS_UTF8 is not set
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
#
# printk and dmesg options
#
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
#
# Compile-time checks and compiler options
#
# CONFIG_DEBUG_INFO is not set
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
CONFIG_STRIP_ASM_SYMS=y
CONFIG_READABLE_ASM=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_DEBUG_KERNEL=y
#
# Memory Debugging
#
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_OBJECTS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VM_RB=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_DEBUG_SHIRQ is not set
#
# Debug Lockups and Hangs
#
# CONFIG_LOCKUP_DETECTOR is not set
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
# CONFIG_SCHED_DEBUG is not set
CONFIG_SCHEDSTATS=y
CONFIG_TIMER_STATS=y
CONFIG_DEBUG_PREEMPT=y
#
# Lock Debugging (spinlocks, mutexes, etc...)
#
# CONFIG_DEBUG_RT_MUTEXES is not set
CONFIG_RT_MUTEX_TESTER=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_LOCK_ALLOC=y
# CONFIG_PROVE_LOCKING is not set
CONFIG_LOCKDEP=y
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_LOCKDEP=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_KOBJECT_RELEASE=y
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_LIST=y
# CONFIG_DEBUG_SG is not set
CONFIG_DEBUG_NOTIFIERS=y
CONFIG_DEBUG_CREDENTIALS=y
#
# RCU Debugging
#
CONFIG_PROVE_RCU_DELAY=y
CONFIG_SPARSE_RCU_POINTER=y
CONFIG_RCU_TORTURE_TEST=y
# CONFIG_RCU_TORTURE_TEST_RUNNABLE is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_CPU_STALL_VERBOSE is not set
# CONFIG_RCU_CPU_STALL_INFO is not set
CONFIG_RCU_TRACE=y
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
CONFIG_NOTIFIER_ERROR_INJECTION=m
# CONFIG_PM_NOTIFIER_ERROR_INJECT is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
#
# Runtime Testing
#
CONFIG_LKDTM=y
# CONFIG_TEST_LIST_SORT is not set
CONFIG_KPROBES_SANITY_TEST=y
CONFIG_BACKTRACE_SELF_TEST=m
CONFIG_RBTREE_TEST=y
CONFIG_INTERVAL_TREE_TEST=m
CONFIG_ATOMIC64_SELFTEST=y
CONFIG_ASYNC_RAID6_TEST=m
# CONFIG_TEST_STRING_HELPERS is not set
CONFIG_TEST_KSTRTOX=m
# CONFIG_DMA_API_DEBUG is not set
CONFIG_SAMPLES=y
# CONFIG_SAMPLE_KOBJECT is not set
CONFIG_SAMPLE_KPROBES=m
CONFIG_SAMPLE_KRETPROBES=m
CONFIG_SAMPLE_HW_BREAKPOINT=m
CONFIG_SAMPLE_KFIFO=m
# CONFIG_SAMPLE_KDB is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y
CONFIG_KGDB_TESTS_ON_BOOT=y
CONFIG_KGDB_TESTS_BOOT_STRING="V1F100"
CONFIG_KGDB_LOW_LEVEL_TRAP=y
CONFIG_KGDB_KDB=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
CONFIG_STRICT_DEVMEM=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
CONFIG_X86_PTDUMP=y
# CONFIG_DEBUG_RODATA is not set
# CONFIG_DEBUG_SET_MODULE_RONX is not set
CONFIG_DEBUG_NX_TEST=m
# CONFIG_DOUBLEFAULT is not set
# CONFIG_DEBUG_TLBFLUSH is not set
CONFIG_IOMMU_STRESS=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_X86_DECODER_SELFTEST=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_CPA_DEBUG=y
CONFIG_OPTIMIZE_INLINING=y
CONFIG_DEBUG_NMI_SELFTEST=y
# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
#
# Security options
#
CONFIG_KEYS=y
# CONFIG_PERSISTENT_KEYRINGS is not set
# CONFIG_BIG_KEYS is not set
CONFIG_TRUSTED_KEYS=m
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
CONFIG_SECURITY_DMESG_RESTRICT=y
# CONFIG_SECURITY is not set
CONFIG_SECURITYFS=y
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_GF128MUL=y
# CONFIG_CRYPTO_NULL is not set
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
CONFIG_CRYPTO_TEST=m
#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
# CONFIG_CRYPTO_GCM is not set
CONFIG_CRYPTO_SEQIV=m
#
# Block modes
#
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=y
# CONFIG_CRYPTO_PCBC is not set
CONFIG_CRYPTO_XTS=y
#
# Hash modes
#
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m
#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32=m
# CONFIG_CRYPTO_CRC32_PCLMUL is not set
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
# CONFIG_CRYPTO_MICHAEL_MIC is not set
CONFIG_CRYPTO_RMD128=m
# CONFIG_CRYPTO_RMD160 is not set
CONFIG_CRYPTO_RMD256=m
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_TGR192=y
# CONFIG_CRYPTO_WP512 is not set
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_586=y
# CONFIG_CRYPTO_AES_NI_INTEL is not set
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
# CONFIG_CRYPTO_TEA is not set
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=y
CONFIG_CRYPTO_TWOFISH_586=y
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=m
# CONFIG_CRYPTO_LZ4 is not set
CONFIG_CRYPTO_LZ4HC=m
#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_HW is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_PUBLIC_KEY_ALGO_RSA=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_HAVE_KVM=y
CONFIG_VIRTUALIZATION=y
# CONFIG_KVM is not set
# CONFIG_LGUEST is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#
CONFIG_RAID6_PQ=m
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC32_SELFTEST=y
# CONFIG_CRC32_SLICEBY8 is not set
# CONFIG_CRC32_SLICEBY4 is not set
CONFIG_CRC32_SARWATE=y
# CONFIG_CRC32_BIT is not set
CONFIG_CRC7=y
CONFIG_LIBCRC32C=m
CONFIG_CRC8=y
CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4HC_COMPRESS=m
CONFIG_LZ4_DECOMPRESS=m
# CONFIG_XZ_DEC is not set
# CONFIG_XZ_DEC_BCJ is not set
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_BCH=m
CONFIG_BCH_CONST_PARAMS=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_DQL=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
# CONFIG_AVERAGE is not set
CONFIG_CLZ_TAB=y
# CONFIG_CORDIC is not set
# CONFIG_DDR is not set
CONFIG_MPILIB=y
CONFIG_OID_REGISTRY=y
CONFIG_FONT_SUPPORT=m
CONFIG_FONT_8x16=y
CONFIG_FONT_AUTOSELECT=y
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox