[x86-64] Compressed kernel does not boot when built with binutils 2.27 and CONFIG_RELOCATABLE is not set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

We have been trying to boot up a kernel (4.9-rc5, also tested with 4.4.31
and 4.1.35) build with the latest binutils 2.27.
However, all those kernels fail to boot on qemu and no console logs can be seen.
The same kernels build with binutils 2.26.1 boot without problems.

Here some extra info:

We have used qemu 1.6.2 to test this, with the following command:

qemu-system-x86_64 -nographic -nodefaults -serial stdio -append "console=ttyS0,38400" -kernel bzImage

and we have used gcc 4.9.4 and binutils 2.27 to build the kernel.
The kernel is configure with:

# CONFIG_RELOCATABLE is not set

you can see the full defconfig at the end of the email.

After bisecting binutils, we narrowed the issue to the following commit:

commit bae420ef26f4331415b0503141c5931318025906
Author: H.J. Lu <hjl.tools@xxxxxxxxx>
Date:   Fri Feb 26 09:38:08 2016 -0800

    Optimize x86 GOT32X/GOTPCRELX relocations

    R_386_GOT32X, R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX relocations
    retrieve the symbol address via its GOT slot.  If the symbol address is
    known at the link-time, we can use it directly by changing instruction
    encoding.  Indirect branch can only be converted to PC relative direct
    branch.  MOV can be changed to LEA or encoded differently with signed
    address.  The subset of binary operations can be encoded only with
    signed address.

    If undefined weak symbol is resolved to zero link-time, we can use it
    as address.  Zero addresss can't used with PC relative direct branch
    when PIC is true since the current PC is unknown.  In 64-bit, 32-bit
    relocation for PC relatiave direct branch to zero may also overflow.

    If this optimization causes relocation overflow, --no-relax can be used
    to work around it.

    bfd/

            PR ld/19609
            * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
            load with locally bound symbols if PIC is false or there is no
            base register.  Optimize branch to 0 if PIC is false.
            (elf_i386_relocate_section): Don't generate dynamic relocations
            against undefined weak symbols if PIC is false.
* elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
            if we can't estimate relocation overflow with --no-relax.
            Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
            symbols if PIC is false.  Optimize branch to 0 if PIC is false.
(elf_x86_64_relocate_section): Don't generate dynamic relocations
            against undefined weak symbols if PIC is false.

So it seems that with the latest binutils the linker does some optimization that breaks
the booting.
Disabling the linker relaxation with (--no-relax) fixes the issue.
The same happens whew linking with (-pie -z noreloc-overflow) options.

Hackish example of enabling -pie when linking the compressed kernel (4.9-rc5):

diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
index 536ccfc..6fe16ff 100644
--- a/arch/x86/boot/compressed/Makefile
+++ b/arch/x86/boot/compressed/Makefile
@@ -52,7 +52,7 @@ LDFLAGS += $(shell $(LD) --help 2>&1 | grep -q "\-z noreloc-overflow" \
        && echo "-z noreloc-overflow -pie --no-dynamic-linker")
 endif
 endif
-LDFLAGS_vmlinux := -T
+LDFLAGS_vmlinux := -z noreloc-overflow -pie -T

 hostprogs-y    := mkpiggy
 HOST_EXTRACFLAGS += -I$(srctree)/tools/include

When we disable the linker relaxation, we can see that some access to the bss are using relative PC addressing to access data, but in the broken version the address
is absolute.

-  47c310:    48 c7 c0 c0 57 49 00     mov    $0x4957c0,%rax
+ 47c310: 48 8d 05 a9 94 01 00 lea 0x194a9(%rip),%rax # 4957c0 <free_mem_ptr>

so this seems to be the root problem why the booting got broken.

Here the diff of the objdumps from a non working arch/x86/boot/compressed/vmlinux version
and another working by disabling the linker relaxation (on 4.9-rc5)

diff vmlinux-broken.S vmlinux-with-no-relax.S
--- vmlinux-broken.S
+++ vmlinux-with-no-relax.S
@@ -118,7 +118,7 @@
   47c1d7:    48 89 f7                 mov    %rsi,%rdi
47c1da: 48 8d 35 9f 55 00 00 lea 0x559f(%rip),%rsi # 481780 <_bss> 47c1e1: 48 8d 15 6d 40 b8 ff lea -0x47bf93(%rip),%rdx # 255 <_ehead>
-  47c1e8:    b9 40 bf 47 00           mov    $0x47bf40,%ecx
+  47c1e8:    b9 46 bf 47 00           mov    $0x47bf46,%ecx
   47c1ed:    49 89 e8                 mov    %rbp,%r8
   47c1f0:    49 c7 c1 60 99 04 01     mov    $0x1049960,%r9
   47c1f7:    e8 54 32 00 00           callq  47f450 <extract_kernel>
@@ -212,9 +212,9 @@
47c304: 48 8b 05 7d 94 01 00 mov 0x1947d(%rip),%rax # 495788 <malloc_ptr>
   47c30b:    48 85 c0                 test   %rax,%rax
   47c30e:    75 0a                    jne    47c31a <malloc+0x1a>
-  47c310:    48 c7 c0 c0 57 49 00     mov    $0x4957c0,%rax
+ 47c310: 48 8d 05 a9 94 01 00 lea 0x194a9(%rip),%rax # 4957c0 <free_mem_ptr>
   47c317:    48 8b 00                 mov    (%rax),%rax
-  47c31a:    48 c7 c2 b8 57 49 00     mov    $0x4957b8,%rdx
+ 47c31a: 48 8d 15 97 94 01 00 lea 0x19497(%rip),%rdx # 4957b8 <free_mem_end_ptr>
   47c321:    48 83 c0 03              add    $0x3,%rax
   47c325:    48 63 ff                 movslq %edi,%rdi
   47c328:    48 83 e0 fc              and $0xfffffffffffffffc,%rax
@@ -3433,7 +3433,7 @@
   47f239:    0f 1f 80 00 00 00 00     nopl   0x0(%rax)

 000000000047f240 <__putstr>:
-  47f240:    49 c7 c0 c8 57 49 00     mov    $0x4957c8,%r8
+ 47f240: 4c 8d 05 81 65 01 00 lea 0x16581(%rip),%r8 # 4957c8 <early_serial_base>
   47f247:    41 54                    push   %r12
   47f249:    55                       push   %rbp
   47f24a:    53                       push   %rbx
@@ -3496,7 +3496,7 @@
   47f2eb:    ee                       out    %al,(%dx)
   47f2ec:    eb 8a                    jmp    47f278 <__putstr+0x38>
   47f2ee:    66 90                    xchg   %ax,%ax
-  47f2f0:    48 c7 c5 b0 57 49 00     mov    $0x4957b0,%rbp
+ 47f2f0: 48 8d 2d b9 64 01 00 lea 0x164b9(%rip),%rbp # 4957b0 <boot_params>
   47f2f7:    48 8b 45 00              mov    0x0(%rbp),%rax
   47f2fb:    80 78 06 00              cmpb   $0x0,0x6(%rax)
   47f2ff:    75 0e                    jne    47f30f <__putstr+0xcf>
@@ -3626,7 +3626,7 @@
   47f46c:    48 83 ec 58              sub    $0x58,%rsp
   47f470:    80 a7 11 02 00 00 fd     andb   $0xfd,0x211(%rdi)
   47f477:    80 bf ef 01 00 00 00     cmpb   $0x0,0x1ef(%rdi)
-  47f47e:    48 c7 c0 b0 57 49 00     mov    $0x4957b0,%rax
+ 47f47e: 48 8d 05 2b 63 01 00 lea 0x1632b(%rip),%rax # 4957b0 <boot_params>
   47f485:    48 89 38                 mov    %rdi,(%rax)
   47f488:    74 69                    je     47f4f3 <extract_kernel+0xa3>
   47f48a:    48 8d bf c0 00 00 00     lea    0xc0(%rdi),%rdi
@@ -3649,7 +3649,7 @@
   47f4dd:    ba 14 01 00 00           mov    $0x114,%edx
   47f4e2:    31 f6                    xor    %esi,%esi
   47f4e4:    e8 17 07 00 00           callq  47fc00 <memset>
-  47f4e9:    48 c7 c0 b0 57 49 00     mov    $0x4957b0,%rax
+ 47f4e9: 48 8d 05 c0 62 01 00 lea 0x162c0(%rip),%rax # 4957b0 <boot_params>
   47f4f0:    4c 8b 28                 mov    (%rax),%r13
   47f4f3:    41 80 7d 06 07           cmpb   $0x7,0x6(%r13)
   47f4f8:    0f 84 02 03 00 00        je     47f800 <extract_kernel+0x3b0>
@@ -3662,8 +3662,8 @@
   47f51e:    41 0f b6 45 07           movzbl 0x7(%r13),%eax
47f523: 89 05 67 62 01 00 mov %eax,0x16267(%rip) # 495790 <cols>
   47f529:    e8 b2 0a 00 00           callq  47ffe0 <console_init>
-  47f52e:    49 c7 c5 c0 57 49 00     mov    $0x4957c0,%r13
-  47f535:    48 c7 c0 b8 57 49 00     mov    $0x4957b8,%rax
+ 47f52e: 4c 8d 2d 8b 62 01 00 lea 0x1628b(%rip),%r13 # 4957c0 <free_mem_ptr> + 47f535: 48 8d 05 7c 62 01 00 lea 0x1627c(%rip),%rax # 4957b8 <free_mem_end_ptr>
   47f53c:    49 8d 94 24 00 00 01     lea    0x10000(%r12),%rdx
   47f543:    00
   47f544:    f7 c5 ff ff 1f 00        test   $0x1fffff,%ebp
@@ -4380,7 +4380,7 @@
   47fece:    00 00

 000000000047fed0 <cmdline_find_option>:
-  47fed0:    48 c7 c0 b0 57 49 00     mov    $0x4957b0,%rax
+ 47fed0: 48 8d 05 d9 58 01 00 lea 0x158d9(%rip),%rax # 4957b0 <boot_params>
   47fed7:    49 89 f9                 mov    %rdi,%r9
   47feda:    89 d1                    mov    %edx,%ecx
   47fedc:    48 89 f2                 mov    %rsi,%rdx
@@ -4394,7 +4394,7 @@
   47feff:    90                       nop

 000000000047ff00 <cmdline_find_option_bool>:
-  47ff00:    48 c7 c0 b0 57 49 00     mov    $0x4957b0,%rax
+ 47ff00: 48 8d 05 a9 58 01 00 lea 0x158a9(%rip),%rax # 4957b0 <boot_params>
   47ff07:    48 89 fe                 mov    %rdi,%rsi
   47ff0a:    48 8b 10                 mov    (%rax),%rdx
   47ff0d:    8b ba c8 00 00 00        mov    0xc8(%rdx),%edi
@@ -4464,7 +4464,7 @@
   47ffc8:    44 89 c2                 mov    %r8d,%edx
   47ffcb:    83 e0 7f                 and    $0x7f,%eax
   47ffce:    ee                       out    %al,(%dx)
-  47ffcf:    48 c7 c0 c8 57 49 00     mov    $0x4957c8,%rax
+ 47ffcf: 48 8d 05 f2 57 01 00 lea 0x157f2(%rip),%rax # 4957c8 <early_serial_base>
   47ffd6:    89 38                    mov    %edi,(%rax)
   47ffd8:    c3                       retq
   47ffd9:    0f 1f 80 00 00 00 00     nopl   0x0(%rax)
@@ -4526,7 +4526,7 @@
   4800b3:    74 08                    je     4800bd <console_init+0xdd>
   4800b5:    44 89 e7                 mov    %r12d,%edi
   4800b8:    e8 c3 fe ff ff           callq  47ff80 <early_serial_init>
-  4800bd:    48 c7 c0 c8 57 49 00     mov    $0x4957c8,%rax
+ 4800bd: 48 8d 05 04 57 01 00 lea 0x15704(%rip),%rax # 4957c8 <early_serial_base>
   4800c4:    8b 00                    mov    (%rax),%eax
   4800c6:    85 c0                    test   %eax,%eax
   4800c8:    74 36                    je     480100 <console_init+0x120>


I guess the way to fix this will be to enable also PIE for linking when CONFIG_RELOCATABLE is not
set for 64 bits kernels (maybe also for 32 bits !??).

Any ideas how to properly solve it  ? or any comments on this ?

Br and thanks,
Carlos

CONFIG_LOCALVERSION="-pc64"
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_AUDIT=y
CONFIG_NO_HZ_FULL=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_MEMCG=y
CONFIG_BLK_CGROUP=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_NAMESPACES=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_UID16 is not set
CONFIG_SYSCTL_SYSCALL=y
CONFIG_EMBEDDED=y
# CONFIG_COMPAT_BRK is not set
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
CONFIG_KPROBES=y
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_SMP=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_MCORE2=y
CONFIG_PROCESSOR_SELECT=y
# CONFIG_CPU_SUP_AMD is not set
# CONFIG_CPU_SUP_CENTAUR is not set
CONFIG_NR_CPUS=512
CONFIG_SCHED_SMT=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
# CONFIG_X86_MCE_AMD is not set
CONFIG_X86_MCE_INJECT=m
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_NUMA=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_EFI=y
CONFIG_HZ_1000=y
CONFIG_KEXEC=y
CONFIG_PHYSICAL_START=0x200000
# CONFIG_RELOCATABLE is not set
CONFIG_HIBERNATION=y
CONFIG_PM_DEBUG=y
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_SBS=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
# CONFIG_PCIEASPM is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_STUB=m
CONFIG_PCI_IOV=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_BINFMT_MISC=m
CONFIG_IA32_EMULATION=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM_USER=m
CONFIG_NET_KEY=m
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_MD5SIG=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_IP6_NF_TARGET_NPT=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_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
CONFIG_IP_DCCP=m
CONFIG_IP_SCTP=m
CONFIG_RDS=m
CONFIG_RDS_TCP=m
CONFIG_TIPC=m
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_LLC2=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_DCB=y
CONFIG_NET_PKTGEN=m
# CONFIG_WIRELESS is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_DEVTMPFS=y
# CONFIG_STANDALONE is not set
CONFIG_CONNECTOR=y
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_DRBD=m
CONFIG_VIRTIO_BLK=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SRP_ATTRS=y
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_ISCI=y
CONFIG_SCSI_VIRTIO=y
CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_ATA_PIIX=m
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_UEVENT=y
CONFIG_FUSION=y
CONFIG_FUSION_SAS=m
CONFIG_NETDEVICES=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_VXLAN=m
CONFIG_NETCONSOLE=m
CONFIG_TUN=m
CONFIG_VETH=m
CONFIG_VIRTIO_NET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_ALTEON is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
# CONFIG_NET_VENDOR_EXAR is not set
# CONFIG_NET_VENDOR_HP is not set
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IXGBE=m
CONFIG_IXGBE_DCB=y
CONFIG_IXGBEVF=m
# CONFIG_NET_VENDOR_I825XX is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_NET_PACKET_ENGINE is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
CONFIG_PHYLIB=y
CONFIG_MDIO_BITBANG=y
CONFIG_BROADCOM_PHY=m
CONFIG_CICADA_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_FIXED_PHY=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LXT_PHY=m
CONFIG_MARVELL_PHY=m
CONFIG_MICREL_PHY=m
CONFIG_NATIONAL_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_REALTEK_PHY=m
CONFIG_SMSC_PHY=y
CONFIG_STE10XP=m
CONFIG_VITESSE_PHY=m
# CONFIG_WLAN is not set
# CONFIG_INPUT_MOUSEDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_MOUSE is not set
# CONFIG_SERIO_SERPORT is not set
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_LEGACY_PTY_COUNT=0
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HPET=y
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_HELPER_AUTO is not set
# CONFIG_HWMON is not set
# CONFIG_X86_PKG_TEMP_THERMAL is not set
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
CONFIG_I6300ESB_WDT=m
# CONFIG_VGA_ARB is not set
CONFIG_HID=m
CONFIG_USB=m
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_STORAGE=m
CONFIG_RTC_CLASS=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
CONFIG_DMADEVICES=y
CONFIG_INTEL_IOATDMA=m
CONFIG_UIO=y
CONFIG_VFIO=m
CONFIG_VFIO_PCI=m
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=y
# CONFIG_X86_PLATFORM_DEVICES is not set
CONFIG_INTEL_IOMMU=y
CONFIG_EDD=y
CONFIG_EDD_OFF=y
CONFIG_EFI_VARS=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_OVERLAY_FS=m
CONFIG_ISO9660_FS=m
CONFIG_VFAT_FS=m
CONFIG_PROC_KCORE=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NFS_FS=m
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
CONFIG_NFSD=m
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_SUNRPC_DEBUG=y
CONFIG_9P_FS=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_NLS_DEFAULT="ascii"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=m
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_INFO=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_TIMER_STATS=y
CONFIG_LATENCYTOP=y
CONFIG_IRQSOFF_TRACER=y
CONFIG_SCHED_TRACER=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_STACK_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_UPROBE_EVENT=y
CONFIG_ASYNC_RAID6_TEST=m
CONFIG_KGDB=y
CONFIG_KGDB_KDB=y
CONFIG_STRICT_DEVMEM=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_IO_DELAY_0XED=y
CONFIG_OPTIMIZE_INLINING=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_AES_NI_INTEL=m
# CONFIG_CRYPTO_HW is not set
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_VHOST_NET=m
--
To unsubscribe from this list: send the line "unsubscribe linux-x86_64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ia64]     [Linux Kernel]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux Hams]
  Powered by Linux