فهرست منبع

Upgraded kernel to v3.11.2

Maxim Kammerer 11 سال پیش
والد
کامیت
3153b64b17

+ 3 - 3
doc/changelog.txt

@@ -1,8 +1,8 @@
-2013-09-XX
-  + 2013.09 release
+2013-11-XX
+  + 2013.11 release
   * Release naming convention is YYYY.MM from now on
 
-  * Kernel 3.9.9 with module signing and BFQ I/O scheduler
+  * Kernel 3.11.2 with module signing
   * DM-Verity for faster SquashFS image verification
   * Support for installation to GPT media
   * Added support for exFAT filesystem

+ 3 - 3
src/etc/portage/make.conf

@@ -34,9 +34,9 @@ USE="aac acpi alsa apng archive bluetooth bs2b cairo caps cdda cjk
      staticsocket svg symlink thesaurus threads tiff truetype uuid usb v4l
      vorbis wavpack webgl wifi wmf X X509 xattr xft xinerama xmp xv"
 
-USE="${USE} -ant -berkdb -cracklib -cramfs -cups -cxx -enca -fts3 -gdbm -git
-     -http-cache -ipv6 -lvm1 -mudflap -orc -ptpax -qt4 -sendmail -session
-     -sqlite -static -tcpd -thin -xscreensaver -zeroconf"
+USE="${USE} -ant -berkdb -cracklib -cramfs -cups -cxx -enca -firmware-loader
+     -fts3 -gdbm -git -http-cache -ipv6 -lvm1 -mudflap -orc -ptpax -qt4 -sendmail
+     -session -sqlite -static -tcpd -thin -xscreensaver -zeroconf"
 
 # PaX markings
 PAX_MARKINGS="XT"

+ 0 - 1
src/etc/portage/package.accept_keywords

@@ -3,7 +3,6 @@
 =sys-power/cpupower-3.11*
 
 # Boot process (cdrtools: EFI platform support)
-=sys-boot/grub-2.00*:2
 =sys-fs/cryptsetup-1.6.2*
 
 # Network

+ 19 - 11
src/etc/portage/savedconfig/sys-kernel/linux-firmware

@@ -14,6 +14,15 @@ ar5523.bin
 htc_7010.fw
 htc_9271.fw
 
+# ATH10K
+# (missing)
+ath10k/QCA988X/hw1.0/firmware.bin
+ath10k/QCA988X/hw1.0/otp.bin
+ath10k/QCA988X/hw1.0/board.bin
+ath10k/QCA988X/hw2.0/firmware.bin
+ath10k/QCA988X/hw2.0/otp.bin
+ath10k/QCA988X/hw2.0/board.bin
+
 # BRCMFMAC
 brcm/brcmfmac43236b.bin
 # (missing)
@@ -49,15 +58,11 @@ iwlwifi-2030-6.ucode
 iwlwifi-5000-5.ucode
 iwlwifi-5150-2.ucode
 iwlwifi-6000-4.ucode
-iwlwifi-6000g2a-6.ucode
+iwlwifi-6000g2a-5.ucode
 iwlwifi-6000g2b-6.ucode
 iwlwifi-6050-5.ucode
-# (missing)
-# only -4 in linux-firmware
-# iwlwifi-6000-6.ucode
-# only -7 in linux-firmware
-iwlwifi-3160-6.ucode
-iwlwifi-7260-6.ucode
+iwlwifi-3160-7.ucode
+iwlwifi-7260-7.ucode
 
 # MWIFIEX
 mrvl/usb8797_uapsta.bin
@@ -91,6 +96,8 @@ rt3290.bin
 rt2870.bin
 
 # RTL{8192{CE,CU,SE,DE},8723AE}
+# grep -r MODULE_FIRMWARE /usr/src/linux/drivers/net/wireless/rtlwifi
+rtlwifi/rtl8188efw.bin
 rtlwifi/rtl8192cfw.bin
 rtlwifi/rtl8192cufw.bin
 rtlwifi/rtl8192sefw.bin
@@ -99,9 +106,6 @@ rtlwifi/rtl8192cfwU.bin
 rtlwifi/rtl8192cfwU_B.bin
 rtlwifi/rtl8723fw.bin
 rtlwifi/rtl8723fw_B.bin
-# (missing)
-rtlwifi/rtl8723aefw.bin
-rtlwifi/rtl8723aefw_B.bin
 
 
 # --- Bluetooth ---
@@ -141,8 +145,10 @@ e100/d101s_ucode.bin
 e100/d102e_ucode.bin
 
 # R8169
+# grep '^#define FIRMWARE_' /usr/src/linux/drivers/net/ethernet/realtek/r8169.c
 rtl_nic/rtl8105e-1.fw
 rtl_nic/rtl8106e-1.fw
+rtl_nic/rtl8106e-2.fw
 rtl_nic/rtl8168d-1.fw
 rtl_nic/rtl8168d-2.fw
 rtl_nic/rtl8168e-1.fw
@@ -150,9 +156,11 @@ rtl_nic/rtl8168e-2.fw
 rtl_nic/rtl8168e-3.fw
 rtl_nic/rtl8168f-1.fw
 rtl_nic/rtl8168f-2.fw
-rtl_nic/rtl8168g-1.fw
+rtl_nic/rtl8168g-2.fw
+rtl_nic/rtl8168g-3.fw
 rtl_nic/rtl8402-1.fw
 rtl_nic/rtl8411-1.fw
+rtl_nic/rtl8411-2.fw
 
 # TIGON3
 tigon/tg3.bin

+ 1 - 1
src/root/config/kversion

@@ -1 +1 @@
-3.9.9
+3.11.2

+ 104 - 49
src/root/config/linux-3.9.9-hardened-kexec-64.config → src/root/config/linux-3.11.2-hardened-kexec-64.config

@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 3.9.9-hardened Kernel Configuration
+# Linux/x86_64 3.11.2-hardened Kernel Configuration
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
@@ -22,7 +22,6 @@ 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_DEFAULT_IDLE=y
 CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
 CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
 CONFIG_HAVE_SETUP_PER_CPU_AREA=y
@@ -30,6 +29,8 @@ 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=y
 CONFIG_AUDIT_ARCH=y
 CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
@@ -46,6 +47,7 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 CONFIG_CROSS_COMPILE=""
+# CONFIG_COMPILE_TEST is not set
 CONFIG_LOCALVERSION=""
 # CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_HAVE_KERNEL_GZIP=y
@@ -53,11 +55,13 @@ 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 is not set
 # CONFIG_KERNEL_BZIP2 is not set
 # CONFIG_KERNEL_LZMA is not set
 CONFIG_KERNEL_XZ=y
 # CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
 CONFIG_DEFAULT_HOSTNAME="liberte"
 # CONFIG_SYSVIPC is not set
 # CONFIG_FHANDLE is not set
@@ -84,6 +88,9 @@ 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=y
 # CONFIG_HIGH_RES_TIMERS is not set
 
@@ -122,21 +129,21 @@ CONFIG_INITRAMFS_ROOT_GID=0
 # CONFIG_RD_LZMA is not set
 CONFIG_RD_XZ=y
 # CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
 # CONFIG_INITRAMFS_COMPRESSION_NONE is not set
 CONFIG_INITRAMFS_COMPRESSION_XZ=y
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
 CONFIG_HAVE_UID16=y
-# CONFIG_UID16 is not set
 CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+CONFIG_EXPERT=y
+# CONFIG_UID16 is not set
 CONFIG_KALLSYMS=y
 # CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
 CONFIG_BUG=y
 # CONFIG_PCSPKR_PLATFORM is not set
-CONFIG_HAVE_PCSPKR_PLATFORM=y
 # CONFIG_BASE_FULL is not set
 # CONFIG_FUTEX is not set
 # CONFIG_EPOLL is not set
@@ -145,6 +152,7 @@ CONFIG_HAVE_PCSPKR_PLATFORM=y
 # CONFIG_EVENTFD is not set
 # CONFIG_SHMEM is not set
 # CONFIG_AIO is not set
+CONFIG_PCI_QUIRKS=y
 # CONFIG_EMBEDDED is not set
 CONFIG_HAVE_PERF_EVENTS=y
 
@@ -154,7 +162,6 @@ CONFIG_HAVE_PERF_EVENTS=y
 CONFIG_PERF_EVENTS=y
 # CONFIG_DEBUG_PERF_USE_VMALLOC is not set
 # CONFIG_VM_EVENT_COUNTERS is not set
-CONFIG_PCI_QUIRKS=y
 CONFIG_COMPAT_BRK=y
 # CONFIG_SLAB is not set
 # CONFIG_SLUB is not set
@@ -192,6 +199,7 @@ CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
 CONFIG_HAVE_CONTEXT_TRACKING=y
 CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
 CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_SOFT_DIRTY=y
 CONFIG_MODULES_USE_ELF_RELA=y
 CONFIG_OLD_SIGSUSPEND3=y
 CONFIG_COMPAT_OLD_SIGACTION=y
@@ -220,14 +228,14 @@ CONFIG_ZONE_DMA=y
 # CONFIG_X86_INTEL_LPSS is not set
 CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
 # CONFIG_SCHED_OMIT_FRAME_POINTER is not set
-CONFIG_PARAVIRT_GUEST=y
-# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
+CONFIG_HYPERVISOR_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_DEBUG is not set
 # CONFIG_XEN is not set
 # CONFIG_XEN_PRIVILEGED_GUEST is not set
 CONFIG_KVM_GUEST=y
-CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
 CONFIG_PARAVIRT_CLOCK=y
-# CONFIG_PARAVIRT_DEBUG is not set
 CONFIG_NO_BOOTMEM=y
 CONFIG_MEMTEST=y
 # CONFIG_MK8 is not set
@@ -267,6 +275,8 @@ CONFIG_X86_MCE_THRESHOLD=y
 CONFIG_X86_THERMAL_VECTOR=y
 # CONFIG_I8K is not set
 # CONFIG_MICROCODE is not set
+# CONFIG_MICROCODE_INTEL_EARLY is not set
+# CONFIG_MICROCODE_AMD_EARLY is not set
 # CONFIG_X86_MSR is not set
 # CONFIG_X86_CPUID is not set
 CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
@@ -304,6 +314,7 @@ CONFIG_MEMORY_FAILURE=y
 # CONFIG_CROSS_MEMORY_ATTACH is not set
 CONFIG_NEED_PER_CPU_KM=y
 # CONFIG_CLEANCACHE is not set
+# CONFIG_ZBUD is not set
 # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
 CONFIG_X86_RESERVE_LOW=64
 # CONFIG_MTRR is not set
@@ -392,6 +403,10 @@ CONFIG_HT_IRQ=y
 # CONFIG_PCI_PASID is not set
 # CONFIG_PCI_IOAPIC is not set
 CONFIG_PCI_LABEL=y
+
+#
+# PCI host controller drivers
+#
 CONFIG_ISA_DMA_API=y
 CONFIG_AMD_NB=y
 # CONFIG_PCCARD is not set
@@ -403,6 +418,7 @@ CONFIG_AMD_NB=y
 CONFIG_BINFMT_ELF=y
 CONFIG_COMPAT_BINFMT_ELF=y
 CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_BINFMT_SCRIPT is not set
 # CONFIG_HAVE_AOUT is not set
 # CONFIG_BINFMT_MISC is not set
 # CONFIG_COREDUMP is not set
@@ -451,9 +467,9 @@ CONFIG_PNPACPI=y
 # Misc devices
 #
 # CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_DUMMY_IRQ is not set
 # CONFIG_IBM_ASM is not set
 # CONFIG_PHANTOM is not set
-# CONFIG_INTEL_MID_PTI is not set
 # CONFIG_SGI_IOC4 is not set
 # CONFIG_TIFM_CORE is not set
 # CONFIG_ATMEL_SSC is not set
@@ -461,6 +477,7 @@ CONFIG_PNPACPI=y
 # CONFIG_HP_ILO is not set
 # CONFIG_VMWARE_BALLOON is not set
 # CONFIG_PCH_PHUB is not set
+# CONFIG_SRAM is not set
 # CONFIG_C2PORT is not set
 
 #
@@ -476,6 +493,7 @@ CONFIG_PNPACPI=y
 #
 # Altera FPGA firmware download module
 #
+# CONFIG_VMWARE_VMCI is not set
 CONFIG_HAVE_IDE=y
 
 #
@@ -575,12 +593,11 @@ CONFIG_SERIAL_CORE=y
 # CONFIG_SERIAL_PCH_UART is not set
 # CONFIG_SERIAL_ARC is not set
 # CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
 # CONFIG_TTY_PRINTK is not set
 # CONFIG_IPMI_HANDLER is not set
 # CONFIG_HW_RANDOM is not set
 # CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
 # CONFIG_MWAVE is not set
@@ -627,6 +644,11 @@ CONFIG_THERMAL_GOV_STEP_WISE=y
 # CONFIG_THERMAL_GOV_USER_SPACE is not set
 # CONFIG_THERMAL_EMULATION is not set
 # CONFIG_INTEL_POWERCLAMP is not set
+# CONFIG_X86_PKG_TEMP_THERMAL is not set
+
+#
+# Texas Instruments thermal drivers
+#
 # CONFIG_WATCHDOG is not set
 CONFIG_SSB_POSSIBLE=y
 
@@ -645,17 +667,20 @@ CONFIG_BCMA_POSSIBLE=y
 # Multifunction device drivers
 #
 # CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_RTSX_PCI is not set
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_ABX500_CORE is not set
 # CONFIG_MFD_CS5535 is not set
-# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_CROS_EC is not set
+# CONFIG_HTC_PASIC3 is not set
 # CONFIG_LPC_ICH is not set
-# CONFIG_MFD_RDC321X is not set
+# CONFIG_LPC_SCH is not set
 # CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RTSX_PCI is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_SYSCON is not set
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_TMIO is not set
 # CONFIG_MFD_VX855 is not set
 # CONFIG_REGULATOR is not set
 # CONFIG_MEDIA_SUPPORT is not set
@@ -685,9 +710,6 @@ CONFIG_DUMMY_CONSOLE=y
 # HID support
 #
 # CONFIG_HID is not set
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
 # CONFIG_USB_SUPPORT is not set
 # CONFIG_UWB is not set
 # CONFIG_MMC is not set
@@ -714,10 +736,12 @@ CONFIG_EDAC_I5000=y
 CONFIG_EDAC_I5100=y
 # CONFIG_EDAC_I7300 is not set
 CONFIG_EDAC_SBRIDGE=y
+CONFIG_RTC_LIB=y
 # CONFIG_RTC_CLASS is not set
 # CONFIG_DMADEVICES is not set
 # CONFIG_AUXDISPLAY is not set
 # CONFIG_UIO is not set
+# CONFIG_VIRT_DRIVERS is not set
 
 #
 # Virtio drivers
@@ -749,7 +773,6 @@ CONFIG_CLKBLD_I8253=y
 #
 # Rpmsg drivers
 #
-# CONFIG_VIRT_DRIVERS is not set
 # CONFIG_PM_DEVFREQ is not set
 # CONFIG_EXTCON is not set
 CONFIG_MEMORY=y
@@ -758,6 +781,8 @@ CONFIG_MEMORY=y
 # CONFIG_VME_BUS is not set
 # CONFIG_PWM is not set
 # CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+# CONFIG_FMC is not set
 
 #
 # Firmware Drivers
@@ -859,58 +884,83 @@ CONFIG_NLS_DEFAULT="iso8859-1"
 # Kernel hacking
 #
 CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+
+#
+# printk and dmesg options
+#
 # CONFIG_PRINTK_TIME is not set
 CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+# CONFIG_BOOT_PRINTK_DELAY is not set
+
+#
+# Compile-time checks and compiler options
+#
+# CONFIG_DEBUG_INFO is not set
 CONFIG_ENABLE_WARN_DEPRECATED=y
 CONFIG_ENABLE_MUST_CHECK=y
 CONFIG_FRAME_WARN=2048
-# CONFIG_MAGIC_SYSRQ is not set
 CONFIG_STRIP_ASM_SYMS=y
 # CONFIG_READABLE_ASM is not set
 # CONFIG_UNUSED_SYMBOLS is not set
 # CONFIG_DEBUG_FS is not set
 # CONFIG_HEADERS_CHECK is not set
 # CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_MAGIC_SYSRQ is not set
 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 is not set
+# 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=y
 CONFIG_HARDLOCKUP_DETECTOR=y
 CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
 CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
-CONFIG_PANIC_ON_OOPS=y
-CONFIG_PANIC_ON_OOPS_VALUE=1
 CONFIG_DETECT_HUNG_TASK=y
 CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
 CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
 CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1
-# CONFIG_DEBUG_OBJECTS is not set
-CONFIG_HAVE_DEBUG_KMEMLEAK=y
-# CONFIG_DEBUG_KMEMLEAK is not set
+CONFIG_PANIC_ON_OOPS=y
+CONFIG_PANIC_ON_OOPS_VALUE=1
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
 # CONFIG_DEBUG_SPINLOCK is not set
 # CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
 # CONFIG_DEBUG_LOCK_ALLOC is not set
 # CONFIG_PROVE_LOCKING is not set
 # CONFIG_LOCK_STAT is not set
 # CONFIG_DEBUG_ATOMIC_SLEEP is not set
 # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
 # CONFIG_DEBUG_KOBJECT is not set
 # CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
 # CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
 # CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
 # CONFIG_DEBUG_SG is not set
 # CONFIG_DEBUG_NOTIFIERS is not set
 # CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-# CONFIG_FRAME_POINTER is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
 
 #
 # RCU Debugging
@@ -918,11 +968,10 @@ CONFIG_ARCH_WANT_FRAME_POINTERS=y
 # CONFIG_SPARSE_RCU_POINTER is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 # CONFIG_RCU_TRACE is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
 # CONFIG_NOTIFIER_ERROR_INJECTION is not set
 # CONFIG_FAULT_INJECTION is not set
-# CONFIG_DEBUG_PAGEALLOC 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
@@ -936,20 +985,26 @@ CONFIG_HAVE_FENTRY=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
 CONFIG_TRACING_SUPPORT=y
 # CONFIG_FTRACE is not set
+
+#
+# Runtime Testing
+#
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
 # CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
 # CONFIG_SAMPLES is not set
 CONFIG_HAVE_ARCH_KGDB=y
 # CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_TEST_KSTRTOX is not set
 CONFIG_STRICT_DEVMEM=y
 # CONFIG_X86_VERBOSE_BOOTUP is not set
 CONFIG_EARLY_PRINTK=y
 # CONFIG_EARLY_PRINTK_DBGP is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
 # CONFIG_X86_PTDUMP is not set
+CONFIG_DOUBLEFAULT=y
 # CONFIG_DEBUG_TLBFLUSH is not set
 # CONFIG_IOMMU_STRESS is not set
 CONFIG_HAVE_MMIOTRACE_SUPPORT=y
@@ -964,8 +1019,8 @@ CONFIG_IO_DELAY_0X80=y
 CONFIG_DEFAULT_IO_DELAY_TYPE=0
 # CONFIG_CPA_DEBUG is not set
 CONFIG_OPTIMIZE_INLINING=y
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
 # CONFIG_DEBUG_NMI_SELFTEST is not set
+# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
 
 #
 # Security options

+ 105 - 51
src/root/config/linux-3.9.9-hardened-kexec.config → src/root/config/linux-3.11.2-hardened-kexec.config

@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.9.9-hardened Kernel Configuration
+# Linux/x86 3.11.2-hardened Kernel Configuration
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
@@ -20,7 +20,6 @@ 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_DEFAULT_IDLE=y
 CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
 CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
 CONFIG_HAVE_SETUP_PER_CPU_AREA=y
@@ -28,6 +27,8 @@ 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
@@ -45,6 +46,7 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 CONFIG_CROSS_COMPILE=""
+# CONFIG_COMPILE_TEST is not set
 CONFIG_LOCALVERSION=""
 # CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_HAVE_KERNEL_GZIP=y
@@ -52,11 +54,13 @@ 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 is not set
 # CONFIG_KERNEL_BZIP2 is not set
 # CONFIG_KERNEL_LZMA is not set
 CONFIG_KERNEL_XZ=y
 # CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
 CONFIG_DEFAULT_HOSTNAME="liberte"
 # CONFIG_SYSVIPC is not set
 # CONFIG_FHANDLE is not set
@@ -82,6 +86,9 @@ 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=y
 # CONFIG_HIGH_RES_TIMERS is not set
 
@@ -119,21 +126,21 @@ CONFIG_INITRAMFS_ROOT_GID=0
 # CONFIG_RD_LZMA is not set
 CONFIG_RD_XZ=y
 # CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
 # CONFIG_INITRAMFS_COMPRESSION_NONE is not set
 CONFIG_INITRAMFS_COMPRESSION_XZ=y
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
 CONFIG_HAVE_UID16=y
-# CONFIG_UID16 is not set
 CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+CONFIG_EXPERT=y
+# CONFIG_UID16 is not set
 CONFIG_KALLSYMS=y
 # CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
 CONFIG_BUG=y
 # CONFIG_PCSPKR_PLATFORM is not set
-CONFIG_HAVE_PCSPKR_PLATFORM=y
 # CONFIG_BASE_FULL is not set
 # CONFIG_FUTEX is not set
 # CONFIG_EPOLL is not set
@@ -142,6 +149,7 @@ CONFIG_HAVE_PCSPKR_PLATFORM=y
 # CONFIG_EVENTFD is not set
 # CONFIG_SHMEM is not set
 # CONFIG_AIO is not set
+CONFIG_PCI_QUIRKS=y
 # CONFIG_EMBEDDED is not set
 CONFIG_HAVE_PERF_EVENTS=y
 
@@ -151,7 +159,6 @@ CONFIG_HAVE_PERF_EVENTS=y
 CONFIG_PERF_EVENTS=y
 # CONFIG_DEBUG_PERF_USE_VMALLOC is not set
 # CONFIG_VM_EVENT_COUNTERS is not set
-CONFIG_PCI_QUIRKS=y
 CONFIG_COMPAT_BRK=y
 # CONFIG_SLAB is not set
 # CONFIG_SLUB is not set
@@ -188,6 +195,7 @@ 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
@@ -214,19 +222,18 @@ CONFIG_ZONE_DMA=y
 # CONFIG_SMP is not set
 # CONFIG_X86_MPPARSE is not set
 # CONFIG_X86_EXTENDED_PLATFORM is not set
-# CONFIG_X86_GOLDFISH is not set
 # CONFIG_X86_INTEL_LPSS is not set
 CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
 # CONFIG_X86_32_IRIS is not set
 # CONFIG_SCHED_OMIT_FRAME_POINTER is not set
-CONFIG_PARAVIRT_GUEST=y
-# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
+CONFIG_HYPERVISOR_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_DEBUG is not set
 # CONFIG_XEN_PRIVILEGED_GUEST is not set
 CONFIG_KVM_GUEST=y
 # CONFIG_LGUEST_GUEST is not set
-CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
 CONFIG_PARAVIRT_CLOCK=y
-# CONFIG_PARAVIRT_DEBUG is not set
 CONFIG_NO_BOOTMEM=y
 CONFIG_MEMTEST=y
 # CONFIG_M486 is not set
@@ -292,6 +299,8 @@ CONFIG_X86_THERMAL_VECTOR=y
 # CONFIG_I8K is not set
 # CONFIG_X86_REBOOTFIXUPS is not set
 # CONFIG_MICROCODE is not set
+# CONFIG_MICROCODE_INTEL_EARLY is not set
+# CONFIG_MICROCODE_AMD_EARLY is not set
 # CONFIG_X86_MSR is not set
 # CONFIG_X86_CPUID is not set
 # CONFIG_NOHIGHMEM is not set
@@ -333,6 +342,7 @@ CONFIG_MEMORY_FAILURE=y
 # CONFIG_CROSS_MEMORY_ATTACH is not set
 CONFIG_NEED_PER_CPU_KM=y
 # CONFIG_CLEANCACHE is not set
+# CONFIG_ZBUD is not set
 CONFIG_HIGHPTE=y
 # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
 CONFIG_X86_RESERVE_LOW=64
@@ -421,6 +431,10 @@ CONFIG_PCI_DOMAINS=y
 # CONFIG_PCI_PASID is not set
 # CONFIG_PCI_IOAPIC is not set
 CONFIG_PCI_LABEL=y
+
+#
+# PCI host controller drivers
+#
 CONFIG_ISA_DMA_API=y
 # CONFIG_ISA is not set
 # CONFIG_SCx200 is not set
@@ -437,6 +451,7 @@ CONFIG_AMD_NB=y
 #
 CONFIG_BINFMT_ELF=y
 CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_BINFMT_SCRIPT is not set
 CONFIG_HAVE_AOUT=y
 # CONFIG_BINFMT_MISC is not set
 # CONFIG_COREDUMP is not set
@@ -480,9 +495,9 @@ CONFIG_PNPACPI=y
 # Misc devices
 #
 # CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_DUMMY_IRQ is not set
 # CONFIG_IBM_ASM is not set
 # CONFIG_PHANTOM is not set
-# CONFIG_INTEL_MID_PTI is not set
 # CONFIG_SGI_IOC4 is not set
 # CONFIG_TIFM_CORE is not set
 # CONFIG_ATMEL_SSC is not set
@@ -490,6 +505,7 @@ CONFIG_PNPACPI=y
 # CONFIG_HP_ILO is not set
 # CONFIG_VMWARE_BALLOON is not set
 # CONFIG_PCH_PHUB is not set
+# CONFIG_SRAM is not set
 # CONFIG_C2PORT is not set
 
 #
@@ -505,6 +521,7 @@ CONFIG_PNPACPI=y
 #
 # Altera FPGA firmware download module
 #
+# CONFIG_VMWARE_VMCI is not set
 CONFIG_HAVE_IDE=y
 
 #
@@ -604,12 +621,11 @@ CONFIG_SERIAL_CORE=y
 # CONFIG_SERIAL_PCH_UART is not set
 # CONFIG_SERIAL_ARC is not set
 # CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
 # CONFIG_TTY_PRINTK is not set
 # CONFIG_IPMI_HANDLER is not set
 # CONFIG_HW_RANDOM is not set
 # CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
 # CONFIG_SONYPI is not set
@@ -659,6 +675,11 @@ CONFIG_THERMAL_GOV_STEP_WISE=y
 # CONFIG_THERMAL_GOV_USER_SPACE is not set
 # CONFIG_THERMAL_EMULATION is not set
 # CONFIG_INTEL_POWERCLAMP is not set
+# CONFIG_X86_PKG_TEMP_THERMAL is not set
+
+#
+# Texas Instruments thermal drivers
+#
 # CONFIG_WATCHDOG is not set
 CONFIG_SSB_POSSIBLE=y
 
@@ -677,17 +698,20 @@ CONFIG_BCMA_POSSIBLE=y
 # Multifunction device drivers
 #
 # CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_RTSX_PCI is not set
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_ABX500_CORE is not set
 # CONFIG_MFD_CS5535 is not set
-# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_CROS_EC is not set
+# CONFIG_HTC_PASIC3 is not set
 # CONFIG_LPC_ICH is not set
-# CONFIG_MFD_RDC321X is not set
+# CONFIG_LPC_SCH is not set
 # CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RTSX_PCI is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_SYSCON is not set
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_TMIO is not set
 # CONFIG_MFD_VX855 is not set
 # CONFIG_REGULATOR is not set
 # CONFIG_MEDIA_SUPPORT is not set
@@ -717,9 +741,6 @@ CONFIG_DUMMY_CONSOLE=y
 # HID support
 #
 # CONFIG_HID is not set
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_XHCI=y
 # CONFIG_USB_SUPPORT is not set
 # CONFIG_UWB is not set
 # CONFIG_MMC is not set
@@ -748,10 +769,12 @@ CONFIG_EDAC_I82860=y
 CONFIG_EDAC_I5000=y
 CONFIG_EDAC_I5100=y
 # CONFIG_EDAC_I7300 is not set
+CONFIG_RTC_LIB=y
 # CONFIG_RTC_CLASS is not set
 # CONFIG_DMADEVICES is not set
 # CONFIG_AUXDISPLAY is not set
 # CONFIG_UIO is not set
+# CONFIG_VIRT_DRIVERS is not set
 
 #
 # Virtio drivers
@@ -784,7 +807,6 @@ CONFIG_CLKBLD_I8253=y
 #
 # Rpmsg drivers
 #
-# CONFIG_VIRT_DRIVERS is not set
 # CONFIG_PM_DEVFREQ is not set
 # CONFIG_EXTCON is not set
 CONFIG_MEMORY=y
@@ -792,6 +814,8 @@ CONFIG_MEMORY=y
 # CONFIG_VME_BUS is not set
 # CONFIG_PWM is not set
 # CONFIG_IPACK_BUS is not set
+# CONFIG_RESET_CONTROLLER is not set
+# CONFIG_FMC is not set
 
 #
 # Firmware Drivers
@@ -893,59 +917,84 @@ CONFIG_NLS_DEFAULT="iso8859-1"
 # Kernel hacking
 #
 CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+
+#
+# printk and dmesg options
+#
 # CONFIG_PRINTK_TIME is not set
 CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+# CONFIG_BOOT_PRINTK_DELAY is not set
+
+#
+# Compile-time checks and compiler options
+#
+# CONFIG_DEBUG_INFO is not set
 CONFIG_ENABLE_WARN_DEPRECATED=y
 CONFIG_ENABLE_MUST_CHECK=y
 CONFIG_FRAME_WARN=2048
-# CONFIG_MAGIC_SYSRQ is not set
 CONFIG_STRIP_ASM_SYMS=y
 # CONFIG_READABLE_ASM is not set
 # CONFIG_UNUSED_SYMBOLS is not set
 # CONFIG_DEBUG_FS is not set
 # CONFIG_HEADERS_CHECK is not set
 # CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_MAGIC_SYSRQ is not set
 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 is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_HIGHMEM is not set
+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=y
 CONFIG_HARDLOCKUP_DETECTOR=y
 CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
 CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
-CONFIG_PANIC_ON_OOPS=y
-CONFIG_PANIC_ON_OOPS_VALUE=1
 CONFIG_DETECT_HUNG_TASK=y
 CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
 CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
 CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1
-# CONFIG_DEBUG_OBJECTS is not set
-CONFIG_HAVE_DEBUG_KMEMLEAK=y
-# CONFIG_DEBUG_KMEMLEAK is not set
+CONFIG_PANIC_ON_OOPS=y
+CONFIG_PANIC_ON_OOPS_VALUE=1
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
 # CONFIG_DEBUG_SPINLOCK is not set
 # CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
 # CONFIG_DEBUG_LOCK_ALLOC is not set
 # CONFIG_PROVE_LOCKING is not set
 # CONFIG_LOCK_STAT is not set
 # CONFIG_DEBUG_ATOMIC_SLEEP is not set
 # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
 # CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_HIGHMEM is not set
 # CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_VIRTUAL is not set
 # CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
 # CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
 # CONFIG_DEBUG_SG is not set
 # CONFIG_DEBUG_NOTIFIERS is not set
 # CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-# CONFIG_FRAME_POINTER is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
 
 #
 # RCU Debugging
@@ -953,11 +1002,10 @@ CONFIG_ARCH_WANT_FRAME_POINTERS=y
 # CONFIG_SPARSE_RCU_POINTER is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 # CONFIG_RCU_TRACE is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
 # CONFIG_NOTIFIER_ERROR_INJECTION is not set
 # CONFIG_FAULT_INJECTION is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y
 CONFIG_USER_STACKTRACE_SUPPORT=y
 CONFIG_HAVE_FUNCTION_TRACER=y
 CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
@@ -970,21 +1018,27 @@ CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
 CONFIG_TRACING_SUPPORT=y
 # CONFIG_FTRACE is not set
+
+#
+# Runtime Testing
+#
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
 # CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
 # CONFIG_SAMPLES is not set
 CONFIG_HAVE_ARCH_KGDB=y
 # CONFIG_KGDB is not set
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-# CONFIG_TEST_KSTRTOX is not set
 CONFIG_STRICT_DEVMEM=y
 # CONFIG_X86_VERBOSE_BOOTUP is not set
 CONFIG_EARLY_PRINTK=y
 # CONFIG_EARLY_PRINTK_DBGP is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
 # CONFIG_X86_PTDUMP is not set
 CONFIG_DOUBLEFAULT=y
+# CONFIG_DEBUG_TLBFLUSH is not set
 # CONFIG_IOMMU_STRESS is not set
 CONFIG_HAVE_MMIOTRACE_SUPPORT=y
 CONFIG_IO_DELAY_TYPE_0X80=0
@@ -998,8 +1052,8 @@ CONFIG_IO_DELAY_0X80=y
 CONFIG_DEFAULT_IO_DELAY_TYPE=0
 # CONFIG_CPA_DEBUG is not set
 CONFIG_OPTIMIZE_INLINING=y
-CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y
 # CONFIG_DEBUG_NMI_SELFTEST is not set
+# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
 
 #
 # Security options

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 208 - 98
src/root/config/linux-3.11.2-hardened.config


+ 116 - 80
src/root/patches/kernel/overlayfs.v17.patch → src/root/patches/kernel/overlayfs.v19.patch

@@ -1,19 +1,19 @@
 diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
-index 0706d32..4331290 100644
+index fe7afe2..853a1fe 100644
 --- a/Documentation/filesystems/Locking
 +++ b/Documentation/filesystems/Locking
-@@ -66,6 +66,7 @@ prototypes:
- 	int (*atomic_open)(struct inode *, struct dentry *,
+@@ -65,6 +65,7 @@ prototypes:
  				struct file *, unsigned open_flag,
  				umode_t create_mode, int *opened);
+ 	int (*tmpfile) (struct inode *, struct dentry *, umode_t);
 +	int (*dentry_open)(struct dentry *, struct file *, const struct cred *);
  
  locking rules:
  	all may block
-@@ -93,6 +94,7 @@ removexattr:	yes
- fiemap:		no
+@@ -93,6 +94,7 @@ fiemap:		no
  update_time:	no
  atomic_open:	yes
+ tmpfile:	no
 +dentry_open:	no
  
  	Additionally, ->rmdir(), ->unlink() and ->rename() have ->i_mutex on
@@ -224,11 +224,11 @@ index 0000000..00dbab0
 +the behavior of the overlay is undefined, though it will not result in
 +a crash or deadlock.
 diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
-index bc4b06b..f64a4d1 100644
+index f93a882..f596be7 100644
 --- a/Documentation/filesystems/vfs.txt
 +++ b/Documentation/filesystems/vfs.txt
-@@ -362,6 +362,7 @@ struct inode_operations {
- 	int (*atomic_open)(struct inode *, struct dentry *,
+@@ -364,6 +364,7 @@ struct inode_operations {
+ } ____cacheline_aligned;
  				struct file *, unsigned open_flag,
  				umode_t create_mode, int *opened);
 +	int (*dentry_open)(struct dentry *, struct file *, const struct cred *);
@@ -249,10 +249,10 @@ index bc4b06b..f64a4d1 100644
    invalidatepage: If a page has PagePrivate set, then invalidatepage
          will be called when part or all of the page is to be removed
 diff --git a/MAINTAINERS b/MAINTAINERS
-index 9561658..9ea89b8 100644
+index bf61e04..4cd82d9 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -5872,6 +5872,13 @@ F:	drivers/scsi/osd/
+@@ -6122,6 +6122,13 @@ F:	drivers/scsi/osd/
  F:	include/scsi/osd_*
  F:	fs/exofs/
  
@@ -267,7 +267,7 @@ index 9561658..9ea89b8 100644
  M:	Christian Lamparter <chunkeey@googlemail.com>
  L:	linux-wireless@vger.kernel.org
 diff --git a/fs/Kconfig b/fs/Kconfig
-index 780725a..9e2ccd5 100644
+index c229f82..60291d5 100644
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
 @@ -67,6 +67,7 @@ source "fs/quota/Kconfig"
@@ -279,10 +279,10 @@ index 780725a..9e2ccd5 100644
  config GENERIC_ACL
  	bool
 diff --git a/fs/Makefile b/fs/Makefile
-index 9d53192..479a720 100644
+index 4fe6df3..9506dd7 100644
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -107,6 +107,7 @@ obj-$(CONFIG_QNX6FS_FS)		+= qnx6/
+@@ -105,6 +105,7 @@ obj-$(CONFIG_QNX6FS_FS)		+= qnx6/
  obj-$(CONFIG_AUTOFS4_FS)	+= autofs4/
  obj-$(CONFIG_ADFS_FS)		+= adfs/
  obj-$(CONFIG_FUSE_FS)		+= fuse/
@@ -291,10 +291,10 @@ index 9d53192..479a720 100644
  obj-$(CONFIG_SUN_OPENPROMFS)	+= openpromfs/
  obj-$(CONFIG_OMFS_FS)		+= omfs/
 diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c
-index e924cf4..8b0957e 100644
+index eb1c597..87dcf25 100644
 --- a/fs/ecryptfs/main.c
 +++ b/fs/ecryptfs/main.c
-@@ -567,6 +567,13 @@ static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags
+@@ -566,6 +566,13 @@ static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags
  	s->s_maxbytes = path.dentry->d_sb->s_maxbytes;
  	s->s_blocksize = path.dentry->d_sb->s_blocksize;
  	s->s_magic = ECRYPTFS_SUPER_MAGIC;
@@ -309,7 +309,7 @@ index e924cf4..8b0957e 100644
  	inode = ecryptfs_get_inode(path.dentry->d_inode, s);
  	rc = PTR_ERR(inode);
 diff --git a/fs/internal.h b/fs/internal.h
-index 507141f..89481ac 100644
+index 7c5f01c..6092481 100644
 --- a/fs/internal.h
 +++ b/fs/internal.h
 @@ -42,11 +42,6 @@ static inline int __sync_blockdev(struct block_device *bdev, int wait)
@@ -324,8 +324,21 @@ index 507141f..89481ac 100644
   * namespace.c
   */
  extern int copy_mount_options(const void __user *, unsigned long *);
+@@ -134,12 +129,6 @@ extern ssize_t __kernel_write(struct file *, const char *, size_t, loff_t *);
+ extern int rw_verify_area(int, struct file *, const loff_t *, size_t);
+ 
+ /*
+- * splice.c
+- */
+-extern long do_splice_direct(struct file *in, loff_t *ppos, struct file *out,
+-		loff_t *opos, size_t len, unsigned int flags);
+-
+-/*
+  * pipe.c
+  */
+ extern const struct file_operations pipefifo_fops;
 diff --git a/fs/namei.c b/fs/namei.c
-index 57ae9c8..e1cffbd 100644
+index 8b61d10..9fc067a 100644
 --- a/fs/namei.c
 +++ b/fs/namei.c
 @@ -402,6 +402,7 @@ int __inode_permission(struct inode *inode, int mask)
@@ -336,7 +349,7 @@ index 57ae9c8..e1cffbd 100644
  
  /**
   * sb_permission - Check superblock-level permissions
-@@ -2867,9 +2868,12 @@ finish_open_created:
+@@ -2848,9 +2849,12 @@ finish_open_created:
  	error = may_open(&nd->path, acc_mode, open_flag);
  	if (error)
  		goto out;
@@ -353,13 +366,22 @@ index 57ae9c8..e1cffbd 100644
  			goto stale_open;
  		goto out;
 diff --git a/fs/namespace.c b/fs/namespace.c
-index 50ca17d..9791b4e 100644
+index 7b1ca9b..455e6ea 100644
 --- a/fs/namespace.c
 +++ b/fs/namespace.c
-@@ -1399,6 +1399,24 @@ void drop_collected_mounts(struct vfsmount *mnt)
- 	release_mounts(&umount_list);
+@@ -1442,6 +1442,33 @@ void drop_collected_mounts(struct vfsmount *mnt)
+ 	namespace_unlock();
  }
  
++/**
++ * clone_private_mount - create a private clone of a path
++ *
++ * This creates a new vfsmount, which will be the clone of @path.  The new will
++ * not be attached anywhere in the namespace and will be private (i.e. changes
++ * to the originating mount won't be propagated into this).
++ *
++ * Release with mntput().
++ */
 +struct vfsmount *clone_private_mount(struct path *path)
 +{
 +	struct mount *old_mnt = real_mount(path->mnt);
@@ -371,8 +393,8 @@ index 50ca17d..9791b4e 100644
 +	down_read(&namespace_sem);
 +	new_mnt = clone_mnt(old_mnt, path->dentry, CL_PRIVATE);
 +	up_read(&namespace_sem);
-+	if (!new_mnt)
-+		return ERR_PTR(-ENOMEM);
++	if (IS_ERR(new_mnt))
++		return ERR_CAST(new_mnt);
 +
 +	return &new_mnt->mnt;
 +}
@@ -382,10 +404,10 @@ index 50ca17d..9791b4e 100644
  		   struct vfsmount *root)
  {
 diff --git a/fs/open.c b/fs/open.c
-index 6835446..b9d9f9e 100644
+index d53e298..fbbfd19 100644
 --- a/fs/open.c
 +++ b/fs/open.c
-@@ -828,8 +828,7 @@ struct file *dentry_open(const struct path *path, int flags,
+@@ -800,8 +800,7 @@ struct file *dentry_open(const struct path *path, int flags,
  	f = get_empty_filp();
  	if (!IS_ERR(f)) {
  		f->f_flags = flags;
@@ -395,7 +417,7 @@ index 6835446..b9d9f9e 100644
  		if (!error) {
  			/* from now on we need fput() to dispose of f */
  			error = open_check_o_direct(f);
-@@ -846,6 +845,26 @@ struct file *dentry_open(const struct path *path, int flags,
+@@ -818,6 +817,26 @@ struct file *dentry_open(const struct path *path, int flags,
  }
  EXPORT_SYMBOL(dentry_open);
  
@@ -453,10 +475,10 @@ index 0000000..8f91889
 +overlayfs-objs := super.o inode.o dir.o readdir.o copy_up.o
 diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c
 new file mode 100644
-index 0000000..eef85e0
+index 0000000..b171e1f
 --- /dev/null
 +++ b/fs/overlayfs/copy_up.c
-@@ -0,0 +1,385 @@
+@@ -0,0 +1,388 @@
 +/*
 + *
 + * Copyright (C) 2011 Novell Inc.
@@ -532,6 +554,8 @@ index 0000000..eef85e0
 +{
 +	struct file *old_file;
 +	struct file *new_file;
++	loff_t old_pos = 0;
++	loff_t new_pos = 0;
 +	int error = 0;
 +
 +	if (len == 0)
@@ -549,7 +573,6 @@ index 0000000..eef85e0
 +
 +	/* FIXME: copy up sparse files efficiently */
 +	while (len) {
-+		loff_t offset = new_file->f_pos;
 +		size_t this_len = OVL_COPY_UP_CHUNK_SIZE;
 +		long bytes;
 +
@@ -561,12 +584,14 @@ index 0000000..eef85e0
 +			break;
 +		}
 +
-+		bytes = do_splice_direct(old_file, &offset, new_file, this_len,
-+				 SPLICE_F_MOVE);
++		bytes = do_splice_direct(old_file, &old_pos,
++					 new_file, &new_pos,
++					 this_len, SPLICE_F_MOVE);
 +		if (bytes <= 0) {
 +			error = bytes;
 +			break;
 +		}
++		WARN_ON(old_pos != new_pos);
 +
 +		len -= bytes;
 +	}
@@ -1909,10 +1934,10 @@ index 0000000..1cba38f
 +int ovl_copy_up_truncate(struct dentry *dentry, loff_t size);
 diff --git a/fs/overlayfs/readdir.c b/fs/overlayfs/readdir.c
 new file mode 100644
-index 0000000..4c18abf
+index 0000000..d1b4403
 --- /dev/null
 +++ b/fs/overlayfs/readdir.c
-@@ -0,0 +1,566 @@
+@@ -0,0 +1,567 @@
 +/*
 + *
 + * Copyright (C) 2011 Novell Inc.
@@ -1943,6 +1968,8 @@ index 0000000..4c18abf
 +};
 +
 +struct ovl_readdir_data {
++	struct dir_context ctx;
++	bool is_merge;
 +	struct rb_root *root;
 +	struct list_head *list;
 +	struct list_head *middle;
@@ -2040,13 +2067,12 @@ index 0000000..4c18abf
 +	return 0;
 +}
 +
-+static int ovl_fill_lower(void *buf, const char *name, int namelen,
-+			    loff_t offset, u64 ino, unsigned int d_type)
++static int ovl_fill_lower(struct ovl_readdir_data *rdd,
++			  const char *name, int namelen,
++			  loff_t offset, u64 ino, unsigned int d_type)
 +{
-+	struct ovl_readdir_data *rdd = buf;
 +	struct ovl_cache_entry *p;
 +
-+	rdd->count++;
 +	p = ovl_cache_entry_find(rdd->root, name, namelen);
 +	if (p) {
 +		list_move_tail(&p->l_node, rdd->middle);
@@ -2072,17 +2098,20 @@ index 0000000..4c18abf
 +	INIT_LIST_HEAD(list);
 +}
 +
-+static int ovl_fill_upper(void *buf, const char *name, int namelen,
++static int ovl_fill_merge(void *buf, const char *name, int namelen,
 +			  loff_t offset, u64 ino, unsigned int d_type)
 +{
 +	struct ovl_readdir_data *rdd = buf;
 +
 +	rdd->count++;
-+	return ovl_cache_entry_add_rb(rdd, name, namelen, ino, d_type);
++	if (!rdd->is_merge)
++		return ovl_cache_entry_add_rb(rdd, name, namelen, ino, d_type);
++	else
++		return ovl_fill_lower(rdd, name, namelen, offset, ino, d_type);
 +}
 +
 +static inline int ovl_dir_read(struct path *realpath,
-+			       struct ovl_readdir_data *rdd, filldir_t filler)
++			       struct ovl_readdir_data *rdd)
 +{
 +	struct file *realfile;
 +	int err;
@@ -2091,10 +2120,11 @@ index 0000000..4c18abf
 +	if (IS_ERR(realfile))
 +		return PTR_ERR(realfile);
 +
++	rdd->ctx.pos = 0;
 +	do {
 +		rdd->count = 0;
 +		rdd->err = 0;
-+		err = vfs_readdir(realfile, filler, rdd);
++		err = iterate_dir(realfile, &rdd->ctx);
 +		if (err >= 0)
 +			err = rdd->err;
 +	} while (!err && rdd->count);
@@ -2164,20 +2194,25 @@ index 0000000..4c18abf
 +
 +static inline int ovl_dir_read_merged(struct path *upperpath,
 +				      struct path *lowerpath,
-+				      struct ovl_readdir_data *rdd)
++				      struct list_head *list)
 +{
 +	int err;
 +	struct rb_root root = RB_ROOT;
 +	struct list_head middle;
++	struct ovl_readdir_data rdd = {
++		.ctx.actor = ovl_fill_merge,
++		.list = list,
++		.root = &root,
++		.is_merge = false,
++	};
 +
-+	rdd->root = &root;
 +	if (upperpath->dentry) {
-+		rdd->dir = upperpath->dentry;
-+		err = ovl_dir_read(upperpath, rdd, ovl_fill_upper);
++		rdd.dir = upperpath->dentry;
++		err = ovl_dir_read(upperpath, &rdd);
 +		if (err)
 +			goto out;
 +
-+		err = ovl_dir_mark_whiteouts(rdd);
++		err = ovl_dir_mark_whiteouts(&rdd);
 +		if (err)
 +			goto out;
 +	}
@@ -2185,13 +2220,12 @@ index 0000000..4c18abf
 +	 * Insert lowerpath entries before upperpath ones, this allows
 +	 * offsets to be reasonably constant
 +	 */
-+	list_add(&middle, rdd->list);
-+	rdd->middle = &middle;
-+	err = ovl_dir_read(lowerpath, rdd, ovl_fill_lower);
++	list_add(&middle, rdd.list);
++	rdd.middle = &middle;
++	rdd.is_merge = true;
++	err = ovl_dir_read(lowerpath, &rdd);
 +	list_del(&middle);
 +out:
-+	rdd->root = NULL;
-+
 +	return err;
 +}
 +
@@ -2209,17 +2243,16 @@ index 0000000..4c18abf
 +	list_move_tail(&od->cursor, l);
 +}
 +
-+static int ovl_readdir(struct file *file, void *buf, filldir_t filler)
++static int ovl_iterate(struct file *file, struct dir_context *ctx)
 +{
 +	struct ovl_dir_file *od = file->private_data;
 +	int res;
 +
-+	if (!file->f_pos)
++	if (!ctx->pos)
 +		ovl_dir_reset(file);
 +
 +	if (od->is_real) {
-+		res = vfs_readdir(od->realfile, filler, buf);
-+		file->f_pos = od->realfile->f_pos;
++		res = iterate_dir(od->realfile, ctx);
 +
 +		return res;
 +	}
@@ -2227,37 +2260,31 @@ index 0000000..4c18abf
 +	if (!od->is_cached) {
 +		struct path lowerpath;
 +		struct path upperpath;
-+		struct ovl_readdir_data rdd = { .list = &od->cache };
 +
 +		ovl_path_lower(file->f_path.dentry, &lowerpath);
 +		ovl_path_upper(file->f_path.dentry, &upperpath);
 +
-+		res = ovl_dir_read_merged(&upperpath, &lowerpath, &rdd);
++		res = ovl_dir_read_merged(&upperpath, &lowerpath, &od->cache);
 +		if (res) {
-+			ovl_cache_free(rdd.list);
++			ovl_cache_free(&od->cache);
 +			return res;
 +		}
 +
 +		od->cache_version = ovl_dentry_version_get(file->f_path.dentry);
 +		od->is_cached = true;
 +
-+		ovl_seek_cursor(od, file->f_pos);
++		ovl_seek_cursor(od, ctx->pos);
 +	}
 +
 +	while (od->cursor.next != &od->cache) {
-+		int over;
-+		loff_t off;
 +		struct ovl_cache_entry *p;
 +
 +		p = list_entry(od->cursor.next, struct ovl_cache_entry, l_node);
-+		off = file->f_pos;
 +		if (!p->is_whiteout) {
-+			over = filler(buf, p->name, p->len, off, p->ino,
-+				      p->type);
-+			if (over)
++			if (!dir_emit(ctx, p->name, p->len, p->ino, p->type))
 +				break;
 +		}
-+		file->f_pos++;
++		ctx->pos++;
 +		list_move(&od->cursor, &p->l_node);
 +	}
 +
@@ -2365,7 +2392,7 @@ index 0000000..4c18abf
 +const struct file_operations ovl_dir_operations = {
 +	.read		= generic_read_dir,
 +	.open		= ovl_dir_open,
-+	.readdir	= ovl_readdir,
++	.iterate	= ovl_iterate,
 +	.llseek		= ovl_dir_llseek,
 +	.fsync		= ovl_dir_fsync,
 +	.release	= ovl_dir_release,
@@ -2377,12 +2404,11 @@ index 0000000..4c18abf
 +	struct path lowerpath;
 +	struct path upperpath;
 +	struct ovl_cache_entry *p;
-+	struct ovl_readdir_data rdd = { .list = list };
 +
 +	ovl_path_upper(dentry, &upperpath);
 +	ovl_path_lower(dentry, &lowerpath);
 +
-+	err = ovl_dir_read_merged(&upperpath, &lowerpath, &rdd);
++	err = ovl_dir_read_merged(&upperpath, &lowerpath, list);
 +	if (err)
 +		return err;
 +
@@ -3171,10 +3197,10 @@ index 0000000..9473e79
 +module_init(ovl_init);
 +module_exit(ovl_exit);
 diff --git a/fs/splice.c b/fs/splice.c
-index 718bd00..0e8f44a 100644
+index 3b7ee65..3459483 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
-@@ -1308,6 +1308,7 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out,
+@@ -1309,6 +1309,7 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out,
  
  	return ret;
  }
@@ -3183,10 +3209,10 @@ index 718bd00..0e8f44a 100644
  static int splice_pipe_to_pipe(struct pipe_inode_info *ipipe,
  			       struct pipe_inode_info *opipe,
 diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 2c28271..3353de6 100644
+index 9818747..1bb28e6 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -244,6 +244,12 @@ struct iattr {
+@@ -245,6 +245,12 @@ struct iattr {
   */
  #include <linux/quota.h>
  
@@ -3199,7 +3225,7 @@ index 2c28271..3353de6 100644
  /** 
   * enum positive_aop_returns - aop return codes with specific semantics
   *
-@@ -1320,6 +1326,11 @@ struct super_block {
+@@ -1328,6 +1334,11 @@ struct super_block {
  
  	/* Being remounted read-only */
  	int s_readonly_remount;
@@ -3211,15 +3237,15 @@ index 2c28271..3353de6 100644
  };
  
  /* superblock cache pruning functions */
-@@ -1573,6 +1584,7 @@ struct inode_operations {
- 	int (*atomic_open)(struct inode *, struct dentry *,
+@@ -1587,6 +1598,7 @@ struct inode_operations {
  			   struct file *, unsigned open_flag,
  			   umode_t create_mode, int *opened);
+ 	int (*tmpfile) (struct inode *, struct dentry *, umode_t);
 +	int (*dentry_open)(struct dentry *, struct file *, const struct cred *);
  } ____cacheline_aligned;
  
  ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
-@@ -2006,6 +2018,7 @@ extern struct file *file_open_name(struct filename *, int, umode_t);
+@@ -2020,6 +2032,7 @@ extern struct file *file_open_name(struct filename *, int, umode_t);
  extern struct file *filp_open(const char *, int, umode_t);
  extern struct file *file_open_root(struct dentry *, struct vfsmount *,
  				   const char *, int);
@@ -3227,7 +3253,7 @@ index 2c28271..3353de6 100644
  extern struct file * dentry_open(const struct path *, int, const struct cred *);
  extern int filp_close(struct file *, fl_owner_t id);
  
-@@ -2211,6 +2224,7 @@ extern sector_t bmap(struct inode *, sector_t);
+@@ -2220,6 +2233,7 @@ extern sector_t bmap(struct inode *, sector_t);
  #endif
  extern int notify_change(struct dentry *, struct iattr *);
  extern int inode_permission(struct inode *, int);
@@ -3235,11 +3261,21 @@ index 2c28271..3353de6 100644
  extern int generic_permission(struct inode *, int);
  
  static inline bool execute_ok(struct inode *inode)
+@@ -2425,6 +2439,9 @@ extern ssize_t generic_file_splice_write(struct pipe_inode_info *,
+ 		struct file *, loff_t *, size_t, unsigned int);
+ extern ssize_t generic_splice_sendpage(struct pipe_inode_info *pipe,
+ 		struct file *out, loff_t *, size_t len, unsigned int flags);
++extern long do_splice_direct(struct file *in, loff_t *ppos, struct file *out,
++		loff_t *opos, size_t len, unsigned int flags);
++
+ 
+ extern void
+ file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping);
 diff --git a/include/linux/mount.h b/include/linux/mount.h
-index d7029f4..344a262 100644
+index 73005f9..435f281 100644
 --- a/include/linux/mount.h
 +++ b/include/linux/mount.h
-@@ -66,6 +66,9 @@ extern void mnt_pin(struct vfsmount *mnt);
+@@ -68,6 +68,9 @@ extern void mnt_pin(struct vfsmount *mnt);
  extern void mnt_unpin(struct vfsmount *mnt);
  extern int __mnt_is_readonly(struct vfsmount *mnt);
  

+ 0 - 78
src/root/patches/kernel/x509-long-form.patch

@@ -1,78 +0,0 @@
---- a/crypto/asymmetric_keys/x509_cert_parser.c
-+++ b/crypto/asymmetric_keys/x509_cert_parser.c
-@@ -373,6 +373,9 @@ int rsa_extract_mpi(void *context, size_t hdrlen,
- 	return 0;
- }
- 
-+/* The keyIdentifier in AuthorityKeyIdentifier SEQUENCE is tag(CONT,PRIM,0) */
-+#define SEQ_TAG_KEYID (ASN1_CONT << 6)
-+
- /*
-  * Process certificate extensions that are used to qualify the certificate.
-  */
-@@ -407,21 +410,57 @@ int x509_process_extension(void *context, size_t hdrlen,
- 	}
- 
- 	if (ctx->last_oid == OID_authorityKeyIdentifier) {
-+		size_t key_len;
-+
- 		/* Get hold of the CA key fingerprint */
- 		if (vlen < 5)
- 			return -EBADMSG;
--		if (v[0] != (ASN1_SEQ | (ASN1_CONS << 5)) ||
--		    v[1] != vlen - 2 ||
--		    v[2] != (ASN1_CONT << 6) ||
--		    v[3] != vlen - 4)
-+
-+		/* Authority Key Identifier must be a Constructed SEQUENCE */
-+		if (v[0] != (ASN1_SEQ | (ASN1_CONS << 5)))
- 			return -EBADMSG;
--		v += 4;
--		vlen -= 4;
- 
--		f = kmalloc(vlen * 2 + 1, GFP_KERNEL);
-+		/* Authority Key Identifier is not indefinite length */
-+		if (unlikely(vlen == ASN1_INDEFINITE_LENGTH))
-+			return -EBADMSG;
-+
-+		if (vlen < ASN1_INDEFINITE_LENGTH) {
-+			/* Short Form length */
-+			if (v[1] != vlen - 2 ||
-+			    v[2] != SEQ_TAG_KEYID ||
-+			    v[3] > vlen - 4)
-+				return -EBADMSG;
-+
-+			key_len = v[3];
-+			v += 4;
-+		} else {
-+			/* Long Form length */
-+			size_t seq_len = 0;
-+			size_t sub = v[1] - ASN1_INDEFINITE_LENGTH;
-+
-+			if (sub > 2)
-+				return -EBADMSG;
-+
-+			/* calculate the length from subsequent octets */
-+			v += 2;
-+			for (i = 0; i < sub; i++) {
-+				seq_len <<= 8;
-+				seq_len |= v[i];
-+			}
-+
-+			if (seq_len != vlen - 2 - sub ||
-+			    v[sub] != SEQ_TAG_KEYID ||
-+			    v[sub + 1] > vlen - 4 - sub)
-+				return -EBADMSG;
-+
-+			key_len = v[sub + 1];
-+			v += (sub + 2);
-+		}
-+
-+		f = kmalloc(key_len * 2 + 1, GFP_KERNEL);
- 		if (!f)
- 			return -ENOMEM;
--		for (i = 0; i < vlen; i++)
-+		for (i = 0; i < key_len; i++)
- 			sprintf(f + i * 2, "%02x", v[i]);
- 		pr_debug("authority   %s\n", f);
- 		ctx->cert->authority = f;

+ 2 - 6
src/root/setup

@@ -111,13 +111,9 @@ if [ "$1" = fresh  -o  ! -e /usr/src/linux-${kversion}/incremental ]; then
     chown -hR bin:bin /usr/src/linux-{main,kexec{,-64}}
 
 
-    # https://git.kernel.org/cgit/linux/kernel/git/mszeredi/vfs.git/diff/?id=overlayfs.v17&id2=f6161aa153581da4a3867a2d1a7caf4be19b6ec9
-    # https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=04b00bdb41d0fd8d9cf3b146e334369cc2b0acdc
-    # (#480548)
+    # https://git.kernel.org/cgit/linux/kernel/git/mszeredi/vfs.git/diff/?id=overlayfs.v19&id2=3b2f64d00c46e1e4e9bd0bb9bb12619adac27a4b
     sinfo "Applying kernel patches"
-    spatch ${HOME}/patches/kernel/overlayfs.v17.patch  -d /usr/src/linux-${kversion} -p1
-    spatch ${HOME}/patches/kernel/x509-long-form.patch -d /usr/src/linux-${kversion} -p1
-    sed -i 's/reset_page_mapcount/page_mapcount_reset/' /usr/src/linux-${kversion}/mm/slob.c
+    spatch ${HOME}/patches/kernel/overlayfs.v19.patch  -d /usr/src/linux-${kversion} -p1
 
 
     # Filter locales before remerging libc

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است