Branch for 2.6.38
- Rebase trivial patches. - Switch debug configs back on. - config changes: DEBUG_SET_MODULE_RONX=y B43_PHY_N=y RT2800USB_RT33XX=y | RT2800PCI_RT33XX=y | experimental WL12XX=m RTL8192CE=m CAN_SLCAN=m SCHED_AUTOGROUP=n
This commit is contained in:
parent
482441b552
commit
4f860245a9
4
Makefile
4
Makefile
@ -94,6 +94,8 @@ debug:
|
|||||||
@perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y/' config-nodebug
|
@perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y/' config-nodebug
|
||||||
@perl -pi -e 's/# CONFIG_TEST_LIST_SORT is not set/CONFIG_TEST_LIST_SORT=y/' config-nodebug
|
@perl -pi -e 's/# CONFIG_TEST_LIST_SORT is not set/CONFIG_TEST_LIST_SORT=y/' config-nodebug
|
||||||
|
|
||||||
|
#@perl -pi -e 's/# CONFIG_DEBUG_SET_MODULE_RONX is not set/CONFIG_DEBUG_SET_MODULE_RONX=y/' config-nodebug
|
||||||
|
|
||||||
@# just in case we're going from extremedebug -> debug
|
@# just in case we're going from extremedebug -> debug
|
||||||
@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-nodebug
|
@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-nodebug
|
||||||
|
|
||||||
@ -171,6 +173,8 @@ release:
|
|||||||
@perl -pi -e 's/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y/# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set/' config-nodebug
|
@perl -pi -e 's/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y/# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set/' config-nodebug
|
||||||
@perl -pi -e 's/CONFIG_TEST_LIST_SORT=y/# CONFIG_TEST_LIST_SORT is not set/' config-nodebug
|
@perl -pi -e 's/CONFIG_TEST_LIST_SORT=y/# CONFIG_TEST_LIST_SORT is not set/' config-nodebug
|
||||||
|
|
||||||
|
#@perl -pi -e 's/CONFIG_DEBUG_SET_MODULE_RONX=y/# CONFIG_DEBUG_SET_MODULE_RONX is not set/' config-nodebug
|
||||||
|
|
||||||
@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-debug
|
@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-debug
|
||||||
@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-nodebug
|
@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-nodebug
|
||||||
|
|
||||||
|
@ -129,3 +129,5 @@ CONFIG_SECCOMP=y
|
|||||||
CONFIG_STRICT_DEVMEM=y
|
CONFIG_STRICT_DEVMEM=y
|
||||||
|
|
||||||
# CONFIG_AMBA_PL08X is not set
|
# CONFIG_AMBA_PL08X is not set
|
||||||
|
|
||||||
|
# CONFIG_HVC_DCC is not set
|
||||||
|
@ -97,3 +97,5 @@ CONFIG_KDB_KEYBOARD=y
|
|||||||
|
|
||||||
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
|
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
|
||||||
CONFIG_TEST_LIST_SORT=y
|
CONFIG_TEST_LIST_SORT=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_SET_MODULE_RONX=y
|
||||||
|
@ -1434,11 +1434,12 @@ CONFIG_ATMEL=m
|
|||||||
CONFIG_B43=m
|
CONFIG_B43=m
|
||||||
CONFIG_B43_PCMCIA=y
|
CONFIG_B43_PCMCIA=y
|
||||||
CONFIG_B43_SDIO=y
|
CONFIG_B43_SDIO=y
|
||||||
# CONFIG_B43_DEBUG is not set
|
CONFIG_B43_DEBUG=y
|
||||||
CONFIG_B43_PHY_LP=y
|
CONFIG_B43_PHY_LP=y
|
||||||
|
CONFIG_B43_PHY_N=y
|
||||||
# CONFIG_B43_FORCE_PIO is not set
|
# CONFIG_B43_FORCE_PIO is not set
|
||||||
CONFIG_B43LEGACY=m
|
CONFIG_B43LEGACY=m
|
||||||
# CONFIG_B43LEGACY_DEBUG is not set
|
CONFIG_B43LEGACY_DEBUG=y
|
||||||
CONFIG_B43LEGACY_DMA=y
|
CONFIG_B43LEGACY_DMA=y
|
||||||
CONFIG_B43LEGACY_PIO=y
|
CONFIG_B43LEGACY_PIO=y
|
||||||
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
|
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
|
||||||
@ -1503,12 +1504,12 @@ CONFIG_RT2500PCI=m
|
|||||||
CONFIG_RT61PCI=m
|
CONFIG_RT61PCI=m
|
||||||
CONFIG_RT2500USB=m
|
CONFIG_RT2500USB=m
|
||||||
CONFIG_RT2800USB=m
|
CONFIG_RT2800USB=m
|
||||||
# CONFIG_RT2800USB_RT30XX is not set
|
CONFIG_RT2800USB_RT33XX=y
|
||||||
# CONFIG_RT2800USB_RT35XX is not set
|
CONFIG_RT2800USB_RT35XX=y
|
||||||
# CONFIG_RT2800USB_UNKNOWN is not set
|
CONFIG_RT2800USB_UNKNOWN=y
|
||||||
CONFIG_RT2800PCI=m
|
CONFIG_RT2800PCI=m
|
||||||
# CONFIG_RT2800PCI_RT30XX is not set
|
CONFIG_RT2800PCI_RT33XX=y
|
||||||
# CONFIG_RT2800PCI_RT35XX is not set
|
CONFIG_RT2800PCI_RT35XX=y
|
||||||
CONFIG_RT73USB=m
|
CONFIG_RT73USB=m
|
||||||
CONFIG_RTL8180=m
|
CONFIG_RTL8180=m
|
||||||
CONFIG_RTL8187=m
|
CONFIG_RTL8187=m
|
||||||
@ -1520,7 +1521,13 @@ CONFIG_ZD1211RW=m
|
|||||||
# CONFIG_ZD1211RW_DEBUG is not set
|
# CONFIG_ZD1211RW_DEBUG is not set
|
||||||
CONFIG_AR9170_USB=m
|
CONFIG_AR9170_USB=m
|
||||||
|
|
||||||
CONFIG_WL12XX=y
|
CONFIG_WL12XX_MENU=m
|
||||||
|
CONFIG_WL12XX=m
|
||||||
|
# CONFIG_WL12XX_HT is not set
|
||||||
|
CONFIG_WL12XX_SPI=m
|
||||||
|
CONFIG_WL12XX_SDIO=m
|
||||||
|
# CONFIG_WL12XX_SDIO_TEST is not set
|
||||||
|
|
||||||
CONFIG_WL1251=m
|
CONFIG_WL1251=m
|
||||||
CONFIG_WL1251_SPI=m
|
CONFIG_WL1251_SPI=m
|
||||||
CONFIG_WL1251_SDIO=m
|
CONFIG_WL1251_SDIO=m
|
||||||
@ -1528,6 +1535,8 @@ CONFIG_WL1271=m
|
|||||||
CONFIG_WL1271_SDIO=m
|
CONFIG_WL1271_SDIO=m
|
||||||
CONFIG_WL1271_SPI=m
|
CONFIG_WL1271_SPI=m
|
||||||
|
|
||||||
|
CONFIG_RTL8192CE=m
|
||||||
|
|
||||||
#
|
#
|
||||||
# Token Ring devices
|
# Token Ring devices
|
||||||
#
|
#
|
||||||
@ -1583,7 +1592,8 @@ CONFIG_CAN_ESD_USB2=m
|
|||||||
CONFIG_CAN_KVASER_PCI=m
|
CONFIG_CAN_KVASER_PCI=m
|
||||||
CONFIG_CAN_PLX_PCI=m
|
CONFIG_CAN_PLX_PCI=m
|
||||||
CONFIG_CAN_TSCAN1=m
|
CONFIG_CAN_TSCAN1=m
|
||||||
CONFIG_PCH_CAN=m
|
CONFIG_CAN_SLCAN=m
|
||||||
|
# CONFIG_PCH_CAN is not set
|
||||||
CONFIG_NETROM=m
|
CONFIG_NETROM=m
|
||||||
CONFIG_ROSE=m
|
CONFIG_ROSE=m
|
||||||
CONFIG_MKISS=m
|
CONFIG_MKISS=m
|
||||||
@ -1832,6 +1842,8 @@ CONFIG_INPUT_CM109=m
|
|||||||
CONFIG_INPUT_POLLDEV=m
|
CONFIG_INPUT_POLLDEV=m
|
||||||
CONFIG_INPUT_SPARSEKMAP=m
|
CONFIG_INPUT_SPARSEKMAP=m
|
||||||
# CONFIG_INPUT_ADXL34X is not set
|
# CONFIG_INPUT_ADXL34X is not set
|
||||||
|
CONFIG_INPUT_CMA3000=m
|
||||||
|
CONFIG_INPUT_CMA3000_I2C=m
|
||||||
|
|
||||||
#
|
#
|
||||||
# Input I/O drivers
|
# Input I/O drivers
|
||||||
@ -1941,6 +1953,7 @@ CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
|
|||||||
# CONFIG_TOUCHSCREEN_WM97XX is not set
|
# CONFIG_TOUCHSCREEN_WM97XX is not set
|
||||||
CONFIG_TOUCHSCREEN_W90X900=m
|
CONFIG_TOUCHSCREEN_W90X900=m
|
||||||
# CONFIG_TOUCHSCREEN_BU21013 is not set
|
# CONFIG_TOUCHSCREEN_BU21013 is not set
|
||||||
|
CONFIG_TOUCHSCREEN_ST1232=m
|
||||||
|
|
||||||
CONFIG_INPUT_MISC=y
|
CONFIG_INPUT_MISC=y
|
||||||
CONFIG_INPUT_PCSPKR=m
|
CONFIG_INPUT_PCSPKR=m
|
||||||
@ -2202,6 +2215,7 @@ CONFIG_SENSORS_W83795=m
|
|||||||
# CONFIG_HMC6352 is not set
|
# CONFIG_HMC6352 is not set
|
||||||
# CONFIG_BMP085 is not set
|
# CONFIG_BMP085 is not set
|
||||||
# CONFIG_PCH_PHUB is not set
|
# CONFIG_PCH_PHUB is not set
|
||||||
|
# CONFIG_SERIAL_PCH_UART is not set
|
||||||
|
|
||||||
CONFIG_W1=m
|
CONFIG_W1=m
|
||||||
CONFIG_W1_CON=y
|
CONFIG_W1_CON=y
|
||||||
@ -2418,6 +2432,7 @@ CONFIG_VIDEO_EM28XX_DVB=m
|
|||||||
CONFIG_VIDEO_CX231XX=m
|
CONFIG_VIDEO_CX231XX=m
|
||||||
CONFIG_VIDEO_CX231XX_ALSA=m
|
CONFIG_VIDEO_CX231XX_ALSA=m
|
||||||
CONFIG_VIDEO_CX231XX_DVB=m
|
CONFIG_VIDEO_CX231XX_DVB=m
|
||||||
|
CONFIG_VIDEO_CX231XX_RC=y
|
||||||
CONFIG_VIDEO_HEXIUM_ORION=m
|
CONFIG_VIDEO_HEXIUM_ORION=m
|
||||||
CONFIG_VIDEO_HEXIUM_GEMINI=m
|
CONFIG_VIDEO_HEXIUM_GEMINI=m
|
||||||
CONFIG_VIDEO_IVTV=m
|
CONFIG_VIDEO_IVTV=m
|
||||||
@ -2447,6 +2462,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
|
|||||||
CONFIG_VIDEO_FB_IVTV=m
|
CONFIG_VIDEO_FB_IVTV=m
|
||||||
CONFIG_VIDEO_SAA7164=m
|
CONFIG_VIDEO_SAA7164=m
|
||||||
CONFIG_VIDEO_TLG2300=m
|
CONFIG_VIDEO_TLG2300=m
|
||||||
|
# CONFIG_VIDEO_TIMBERDALE is not set
|
||||||
|
|
||||||
CONFIG_USB_VIDEO_CLASS=m
|
CONFIG_USB_VIDEO_CLASS=m
|
||||||
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
|
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
|
||||||
@ -2457,6 +2473,7 @@ CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
|
|||||||
CONFIG_RADIO_GEMTEK_PCI=m
|
CONFIG_RADIO_GEMTEK_PCI=m
|
||||||
CONFIG_RADIO_MAXIRADIO=m
|
CONFIG_RADIO_MAXIRADIO=m
|
||||||
CONFIG_RADIO_MAESTRO=m
|
CONFIG_RADIO_MAESTRO=m
|
||||||
|
CONFIG_RADIO_WL1273=m
|
||||||
|
|
||||||
CONFIG_MEDIA_ATTACH=y
|
CONFIG_MEDIA_ATTACH=y
|
||||||
CONFIG_MEDIA_TUNER_CUSTOMISE=y
|
CONFIG_MEDIA_TUNER_CUSTOMISE=y
|
||||||
@ -2573,6 +2590,7 @@ CONFIG_DVB_LGS8GL5=m
|
|||||||
CONFIG_DVB_DUMMY_FE=m
|
CONFIG_DVB_DUMMY_FE=m
|
||||||
CONFIG_DVB_FIREDTV=m
|
CONFIG_DVB_FIREDTV=m
|
||||||
CONFIG_DVB_NGENE=m
|
CONFIG_DVB_NGENE=m
|
||||||
|
CONFIG_DVB_MB86A20S=m
|
||||||
|
|
||||||
#
|
#
|
||||||
# Supported SAA7146 based PCI Adapters
|
# Supported SAA7146 based PCI Adapters
|
||||||
@ -2637,6 +2655,8 @@ CONFIG_VIDEO_PVRUSB2=m
|
|||||||
CONFIG_VIDEO_PVRUSB2_SYSFS=y
|
CONFIG_VIDEO_PVRUSB2_SYSFS=y
|
||||||
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
|
# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
|
||||||
|
|
||||||
|
CONFIG_RC_CORE=m
|
||||||
|
CONFIG_RC_LOOPBACK=m
|
||||||
CONFIG_RC_MAP=m
|
CONFIG_RC_MAP=m
|
||||||
CONFIG_IR_NEC_DECODER=m
|
CONFIG_IR_NEC_DECODER=m
|
||||||
CONFIG_IR_RC5_DECODER=m
|
CONFIG_IR_RC5_DECODER=m
|
||||||
@ -3127,6 +3147,7 @@ CONFIG_SOC_CAMERA_RJ54N1=m
|
|||||||
CONFIG_SOC_CAMERA_OV9640=m
|
CONFIG_SOC_CAMERA_OV9640=m
|
||||||
CONFIG_SOC_CAMERA_OV6650=m
|
CONFIG_SOC_CAMERA_OV6650=m
|
||||||
CONFIG_SOC_CAMERA_IMX074=m
|
CONFIG_SOC_CAMERA_IMX074=m
|
||||||
|
CONFIG_SOC_CAMERA_OV2640=m
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB Network adaptors
|
# USB Network adaptors
|
||||||
@ -3148,6 +3169,7 @@ CONFIG_USB_NET_MCS7830=m
|
|||||||
CONFIG_USB_NET_RNDIS_HOST=m
|
CONFIG_USB_NET_RNDIS_HOST=m
|
||||||
CONFIG_USB_NET_CDC_SUBSET=m
|
CONFIG_USB_NET_CDC_SUBSET=m
|
||||||
CONFIG_USB_NET_CDC_EEM=m
|
CONFIG_USB_NET_CDC_EEM=m
|
||||||
|
CONFIG_USB_NET_CDC_NCM=m
|
||||||
CONFIG_USB_NET_ZAURUS=m
|
CONFIG_USB_NET_ZAURUS=m
|
||||||
CONFIG_USB_NET_CX82310_ETH=m
|
CONFIG_USB_NET_CX82310_ETH=m
|
||||||
CONFIG_USB_NET_INT51X1=m
|
CONFIG_USB_NET_INT51X1=m
|
||||||
@ -3801,6 +3823,7 @@ CONFIG_FAIR_GROUP_SCHED=y
|
|||||||
CONFIG_SCHED_OMIT_FRAME_POINTER=y
|
CONFIG_SCHED_OMIT_FRAME_POINTER=y
|
||||||
CONFIG_GROUP_SCHED=y
|
CONFIG_GROUP_SCHED=y
|
||||||
CONFIG_RT_GROUP_SCHED=y
|
CONFIG_RT_GROUP_SCHED=y
|
||||||
|
# CONFIG_SCHED_AUTOGROUP is not set
|
||||||
|
|
||||||
CONFIG_CPUSETS=y
|
CONFIG_CPUSETS=y
|
||||||
CONFIG_PROC_PID_CPUSET=y
|
CONFIG_PROC_PID_CPUSET=y
|
||||||
@ -3842,7 +3865,7 @@ CONFIG_IBMASR=m
|
|||||||
CONFIG_PM_DEBUG=y
|
CONFIG_PM_DEBUG=y
|
||||||
CONFIG_PM_TRACE=y
|
CONFIG_PM_TRACE=y
|
||||||
# CONFIG_PM_VERBOSE is not set
|
# CONFIG_PM_VERBOSE is not set
|
||||||
# CONFIG_PM_TEST_SUSPEND is not set
|
CONFIG_PM_TEST_SUSPEND=y
|
||||||
CONFIG_PM_RUNTIME=y
|
CONFIG_PM_RUNTIME=y
|
||||||
|
|
||||||
## BEGIN ISA Junk.
|
## BEGIN ISA Junk.
|
||||||
@ -4289,7 +4312,7 @@ CONFIG_USB_ATMEL=m
|
|||||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||||
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
|
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
|
||||||
# CONFIG_FUNCTION_GRAPH_TRACER is not set
|
# CONFIG_FUNCTION_GRAPH_TRACER is not set
|
||||||
# CONFIG_BOOT_TRACER is not set
|
CONFIG_BOOT_TRACER=y
|
||||||
CONFIG_EARLY_PRINTK_DBGP=y
|
CONFIG_EARLY_PRINTK_DBGP=y
|
||||||
|
|
||||||
CONFIG_SECURITYFS=y
|
CONFIG_SECURITYFS=y
|
||||||
@ -4322,6 +4345,7 @@ CONFIG_STRIP_ASM_SYMS=y
|
|||||||
|
|
||||||
# CONFIG_RCU_FANOUT_EXACT is not set
|
# CONFIG_RCU_FANOUT_EXACT is not set
|
||||||
CONFIG_RCU_FAST_NO_HZ=y
|
CONFIG_RCU_FAST_NO_HZ=y
|
||||||
|
CONFIG_SRCU_SYNCHRONIZE_DELAY=10
|
||||||
|
|
||||||
CONFIG_KSM=y
|
CONFIG_KSM=y
|
||||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
|
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
|
||||||
@ -4415,14 +4439,18 @@ CONFIG_KPROBE_EVENT=y
|
|||||||
CONFIG_IR_CORE=m
|
CONFIG_IR_CORE=m
|
||||||
CONFIG_IR_ENE=m
|
CONFIG_IR_ENE=m
|
||||||
CONFIG_IR_STREAMZAP=m
|
CONFIG_IR_STREAMZAP=m
|
||||||
|
CONFIG_IR_WINBOND_CIR=m
|
||||||
|
|
||||||
# CONFIG_GPIO_SX150X is not set
|
# CONFIG_GPIO_SX150X is not set
|
||||||
# CONFIG_MFD_STMPE is not set
|
# CONFIG_MFD_STMPE is not set
|
||||||
# CONFIG_MFD_MAX8998 is not set
|
# CONFIG_MFD_MAX8998 is not set
|
||||||
# CONFIG_MFD_TPS6586X is not set
|
# CONFIG_MFD_TPS6586X is not set
|
||||||
|
# CONFIG_MFD_TC3589X is not set
|
||||||
|
|
||||||
CONFIG_SPARSE_RCU_POINTER=y
|
CONFIG_SPARSE_RCU_POINTER=y
|
||||||
|
|
||||||
# CONFIG_PM_OPP is not set
|
# CONFIG_PM_OPP is not set
|
||||||
|
|
||||||
CONFIG_BKL=y
|
CONFIG_BKL=y
|
||||||
|
|
||||||
|
CONFIG_EVENT_POWER_TRACING_DEPRECATED=y
|
||||||
|
104
config-nodebug
104
config-nodebug
@ -2,98 +2,100 @@ CONFIG_SND_VERBOSE_PRINTK=y
|
|||||||
CONFIG_SND_DEBUG=y
|
CONFIG_SND_DEBUG=y
|
||||||
CONFIG_SND_PCM_XRUN_DEBUG=y
|
CONFIG_SND_PCM_XRUN_DEBUG=y
|
||||||
|
|
||||||
# CONFIG_DEBUG_MUTEXES is not set
|
CONFIG_DEBUG_MUTEXES=y
|
||||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
CONFIG_DEBUG_RT_MUTEXES=y
|
||||||
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
CONFIG_DEBUG_LOCK_ALLOC=y
|
||||||
# CONFIG_PROVE_LOCKING is not set
|
CONFIG_PROVE_LOCKING=y
|
||||||
# CONFIG_DEBUG_VM is not set
|
CONFIG_DEBUG_VM=y
|
||||||
# CONFIG_DEBUG_SPINLOCK is not set
|
CONFIG_DEBUG_SPINLOCK=y
|
||||||
# CONFIG_PROVE_RCU is not set
|
CONFIG_PROVE_RCU=y
|
||||||
# CONFIG_PROVE_RCU_REPEATEDLY is not set
|
# CONFIG_PROVE_RCU_REPEATEDLY is not set
|
||||||
# CONFIG_DEBUG_PER_CPU_MAPS is not set
|
CONFIG_DEBUG_PER_CPU_MAPS=y
|
||||||
CONFIG_CPUMASK_OFFSTACK=y
|
CONFIG_CPUMASK_OFFSTACK=y
|
||||||
|
|
||||||
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
|
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
|
||||||
|
|
||||||
# CONFIG_FAULT_INJECTION is not set
|
CONFIG_FAULT_INJECTION=y
|
||||||
# CONFIG_FAILSLAB is not set
|
CONFIG_FAILSLAB=y
|
||||||
# CONFIG_FAIL_PAGE_ALLOC is not set
|
CONFIG_FAIL_PAGE_ALLOC=y
|
||||||
# CONFIG_FAIL_MAKE_REQUEST is not set
|
CONFIG_FAIL_MAKE_REQUEST=y
|
||||||
# CONFIG_FAULT_INJECTION_DEBUG_FS is not set
|
CONFIG_FAULT_INJECTION_DEBUG_FS=y
|
||||||
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
|
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
|
||||||
# CONFIG_FAIL_IO_TIMEOUT is not set
|
CONFIG_FAIL_IO_TIMEOUT=y
|
||||||
|
|
||||||
# CONFIG_SLUB_DEBUG_ON is not set
|
CONFIG_SLUB_DEBUG_ON=y
|
||||||
|
|
||||||
# CONFIG_LOCK_STAT is not set
|
CONFIG_LOCK_STAT=y
|
||||||
|
|
||||||
# CONFIG_DEBUG_STACK_USAGE is not set
|
CONFIG_DEBUG_STACK_USAGE=y
|
||||||
|
|
||||||
# CONFIG_ACPI_DEBUG is not set
|
CONFIG_ACPI_DEBUG=y
|
||||||
# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
|
# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
|
||||||
|
|
||||||
# CONFIG_DEBUG_SG is not set
|
CONFIG_DEBUG_SG=y
|
||||||
|
|
||||||
# CONFIG_DEBUG_PAGEALLOC is not set
|
# CONFIG_DEBUG_PAGEALLOC is not set
|
||||||
|
|
||||||
# CONFIG_DEBUG_WRITECOUNT is not set
|
CONFIG_DEBUG_WRITECOUNT=y
|
||||||
# CONFIG_DEBUG_OBJECTS is not set
|
CONFIG_DEBUG_OBJECTS=y
|
||||||
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
|
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
|
||||||
# CONFIG_DEBUG_OBJECTS_FREE is not set
|
CONFIG_DEBUG_OBJECTS_FREE=y
|
||||||
# CONFIG_DEBUG_OBJECTS_TIMERS is not set
|
CONFIG_DEBUG_OBJECTS_TIMERS=y
|
||||||
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
||||||
|
|
||||||
# CONFIG_X86_PTDUMP is not set
|
CONFIG_X86_PTDUMP=y
|
||||||
|
|
||||||
# CONFIG_CAN_DEBUG_DEVICES is not set
|
CONFIG_CAN_DEBUG_DEVICES=y
|
||||||
|
|
||||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
|
|
||||||
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
|
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||||
|
|
||||||
# CONFIG_DEBUG_NOTIFIERS is not set
|
CONFIG_DEBUG_NOTIFIERS=y
|
||||||
|
|
||||||
# CONFIG_DMA_API_DEBUG is not set
|
CONFIG_DMA_API_DEBUG=y
|
||||||
|
|
||||||
# CONFIG_MMIOTRACE is not set
|
CONFIG_MMIOTRACE=y
|
||||||
|
|
||||||
# CONFIG_DEBUG_CREDENTIALS is not set
|
CONFIG_DEBUG_CREDENTIALS=y
|
||||||
|
|
||||||
# off in both production debug and nodebug builds,
|
# off in both production debug and nodebug builds,
|
||||||
# on in rawhide nodebug builds
|
# on in rawhide nodebug builds
|
||||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
|
||||||
|
|
||||||
# CONFIG_EXT4_DEBUG is not set
|
CONFIG_EXT4_DEBUG=y
|
||||||
|
|
||||||
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
|
CONFIG_DEBUG_PERF_USE_VMALLOC=y
|
||||||
|
|
||||||
# CONFIG_JBD2_DEBUG is not set
|
CONFIG_JBD2_DEBUG=y
|
||||||
|
|
||||||
# CONFIG_DEBUG_CFQ_IOSCHED is not set
|
CONFIG_DEBUG_CFQ_IOSCHED=y
|
||||||
|
|
||||||
# CONFIG_DRBD_FAULT_INJECTION is not set
|
CONFIG_DRBD_FAULT_INJECTION=y
|
||||||
|
|
||||||
# CONFIG_ATH_DEBUG is not set
|
CONFIG_ATH_DEBUG=y
|
||||||
# CONFIG_CARL9170_DEBUGFS is not set
|
CONFIG_CARL9170_DEBUGFS=y
|
||||||
# CONFIG_IWLWIFI_DEVICE_TRACING is not set
|
CONFIG_IWLWIFI_DEVICE_TRACING=y
|
||||||
|
|
||||||
# CONFIG_DEBUG_OBJECTS_WORK is not set
|
CONFIG_DEBUG_OBJECTS_WORK=y
|
||||||
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
|
CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y
|
||||||
|
|
||||||
# CONFIG_DMADEVICES_DEBUG is not set
|
CONFIG_DMADEVICES_DEBUG=y
|
||||||
# CONFIG_DMADEVICES_VDEBUG is not set
|
CONFIG_DMADEVICES_VDEBUG=y
|
||||||
|
|
||||||
CONFIG_PM_ADVANCED_DEBUG=y
|
CONFIG_PM_ADVANCED_DEBUG=y
|
||||||
|
|
||||||
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
|
CONFIG_CEPH_LIB_PRETTYDEBUG=y
|
||||||
# CONFIG_QUOTA_DEBUG is not set
|
CONFIG_QUOTA_DEBUG=y
|
||||||
|
|
||||||
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
|
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
|
||||||
|
|
||||||
CONFIG_PCI_DEFAULT_USE_CRS=y
|
CONFIG_PCI_DEFAULT_USE_CRS=y
|
||||||
|
|
||||||
CONFIG_KGDB_KDB=y
|
CONFIG_KGDB_KDB=y
|
||||||
CONFIG_KDB_KEYBOARD=y
|
CONFIG_KDB_KEYBOARD=y
|
||||||
|
|
||||||
# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
|
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
|
||||||
# CONFIG_TEST_LIST_SORT is not set
|
CONFIG_TEST_LIST_SORT=y
|
||||||
|
|
||||||
|
CONFIG_DEBUG_SET_MODULE_RONX=y
|
||||||
|
@ -526,3 +526,5 @@ CONFIG_PCH_GBE=m
|
|||||||
CONFIG_PCH_PHUB=m
|
CONFIG_PCH_PHUB=m
|
||||||
|
|
||||||
CONFIG_JUMP_LABEL=y
|
CONFIG_JUMP_LABEL=y
|
||||||
|
|
||||||
|
CONFIG_X86_32_IRIS=m
|
||||||
|
@ -13,9 +13,10 @@ CONFIG_X86_CPUID=y
|
|||||||
CONFIG_MTRR=y
|
CONFIG_MTRR=y
|
||||||
CONFIG_NUMA=y
|
CONFIG_NUMA=y
|
||||||
CONFIG_K8_NUMA=y
|
CONFIG_K8_NUMA=y
|
||||||
|
CONFIG_AMD_NUMA=y
|
||||||
CONFIG_X86_64_ACPI_NUMA=y
|
CONFIG_X86_64_ACPI_NUMA=y
|
||||||
# CONFIG_NUMA_EMU is not set
|
# CONFIG_NUMA_EMU is not set
|
||||||
CONFIG_NR_CPUS=256
|
CONFIG_NR_CPUS=512
|
||||||
CONFIG_X86_POWERNOW_K8=m
|
CONFIG_X86_POWERNOW_K8=m
|
||||||
CONFIG_X86_P4_CLOCKMOD=m
|
CONFIG_X86_P4_CLOCKMOD=m
|
||||||
CONFIG_IA32_EMULATION=y
|
CONFIG_IA32_EMULATION=y
|
||||||
|
@ -39,14 +39,15 @@ V1->V2:
|
|||||||
1 files changed, 3 insertions(+), 0 deletions(-)
|
1 files changed, 3 insertions(+), 0 deletions(-)
|
||||||
|
|
||||||
diff --git a/fs/dcache.c b/fs/dcache.c
|
diff --git a/fs/dcache.c b/fs/dcache.c
|
||||||
index 23702a9..119d489 100644
|
index 5699d4c..85388fc 100644
|
||||||
--- a/fs/dcache.c
|
--- a/fs/dcache.c
|
||||||
+++ b/fs/dcache.c
|
+++ b/fs/dcache.c
|
||||||
@@ -1201,9 +1201,12 @@ struct dentry *d_obtain_alias(struct inode *inode)
|
@@ -1577,9 +1577,13 @@ struct dentry *d_obtain_alias(struct inode *inode)
|
||||||
spin_unlock(&tmp->d_lock);
|
spin_unlock(&tmp->d_lock);
|
||||||
|
spin_unlock(&inode->i_lock);
|
||||||
|
|
||||||
spin_unlock(&dcache_lock);
|
|
||||||
+ security_d_instantiate(tmp, inode);
|
+ security_d_instantiate(tmp, inode);
|
||||||
|
+
|
||||||
return tmp;
|
return tmp;
|
||||||
|
|
||||||
out_iput:
|
out_iput:
|
||||||
@ -55,8 +56,6 @@ index 23702a9..119d489 100644
|
|||||||
iput(inode);
|
iput(inode);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
--
|
|
||||||
1.6.6.1
|
|
||||||
|
|
||||||
--
|
--
|
||||||
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
|
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
|
||||||
|
37
kernel.spec
37
kernel.spec
@ -6,7 +6,7 @@ Summary: The Linux kernel
|
|||||||
# For a stable, released kernel, released_kernel should be 1. For rawhide
|
# For a stable, released kernel, released_kernel should be 1. For rawhide
|
||||||
# and/or a kernel built from an rc or git snapshot, released_kernel should
|
# and/or a kernel built from an rc or git snapshot, released_kernel should
|
||||||
# be 0.
|
# be 0.
|
||||||
%global released_kernel 1
|
%global released_kernel 0
|
||||||
|
|
||||||
# Save original buildid for later if it's defined
|
# Save original buildid for later if it's defined
|
||||||
%if 0%{?buildid:1}
|
%if 0%{?buildid:1}
|
||||||
@ -51,7 +51,7 @@ Summary: The Linux kernel
|
|||||||
# For non-released -rc kernels, this will be prepended with "0.", so
|
# For non-released -rc kernels, this will be prepended with "0.", so
|
||||||
# for example a 3 here will become 0.3
|
# for example a 3 here will become 0.3
|
||||||
#
|
#
|
||||||
%global baserelease 2
|
%global baserelease 1
|
||||||
%global fedora_build %{baserelease}
|
%global fedora_build %{baserelease}
|
||||||
|
|
||||||
# base_sublevel is the kernel version we're starting with and patching
|
# base_sublevel is the kernel version we're starting with and patching
|
||||||
@ -84,7 +84,7 @@ Summary: The Linux kernel
|
|||||||
# The rc snapshot level
|
# The rc snapshot level
|
||||||
%define rcrev 0
|
%define rcrev 0
|
||||||
# The git snapshot level
|
# The git snapshot level
|
||||||
%define gitrev 0
|
%define gitrev 4
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%define rpmversion 2.6.%{upstream_sublevel}
|
%define rpmversion 2.6.%{upstream_sublevel}
|
||||||
%endif
|
%endif
|
||||||
@ -128,7 +128,7 @@ Summary: The Linux kernel
|
|||||||
%define doc_build_fail true
|
%define doc_build_fail true
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%define rawhide_skip_docs 0
|
%define rawhide_skip_docs 1
|
||||||
%if 0%{?rawhide_skip_docs}
|
%if 0%{?rawhide_skip_docs}
|
||||||
%define with_doc 0
|
%define with_doc 0
|
||||||
%define doc_build_fail true
|
%define doc_build_fail true
|
||||||
@ -149,7 +149,7 @@ Summary: The Linux kernel
|
|||||||
# Set debugbuildsenabled to 1 for production (build separate debug kernels)
|
# Set debugbuildsenabled to 1 for production (build separate debug kernels)
|
||||||
# and 0 for rawhide (all kernels are debug kernels).
|
# and 0 for rawhide (all kernels are debug kernels).
|
||||||
# See also 'make debug' and 'make release'.
|
# See also 'make debug' and 'make release'.
|
||||||
%define debugbuildsenabled 1
|
%define debugbuildsenabled 0
|
||||||
|
|
||||||
# Want to build a vanilla kernel build without any non-upstream patches?
|
# Want to build a vanilla kernel build without any non-upstream patches?
|
||||||
%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
|
%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
|
||||||
@ -610,7 +610,7 @@ Patch160: linux-2.6-32bit-mmap-exec-randomization.patch
|
|||||||
Patch161: linux-2.6-i386-nx-emulation.patch
|
Patch161: linux-2.6-i386-nx-emulation.patch
|
||||||
|
|
||||||
Patch200: linux-2.6-debug-sizeof-structs.patch
|
Patch200: linux-2.6-debug-sizeof-structs.patch
|
||||||
Patch201: linux-2.6-debug-nmi-timeout.patch
|
#Patch201: linux-2.6-debug-nmi-timeout.patch
|
||||||
Patch202: linux-2.6-debug-taint-vm.patch
|
Patch202: linux-2.6-debug-taint-vm.patch
|
||||||
Patch203: linux-2.6-debug-vm-would-have-oomkilled.patch
|
Patch203: linux-2.6-debug-vm-would-have-oomkilled.patch
|
||||||
Patch204: linux-2.6-debug-always-inline-kzalloc.patch
|
Patch204: linux-2.6-debug-always-inline-kzalloc.patch
|
||||||
@ -685,7 +685,7 @@ Patch2910: linux-2.6-v4l-dvb-add-lgdt3304-support.patch
|
|||||||
Patch2912: linux-2.6-v4l-dvb-ir-core-update.patch
|
Patch2912: linux-2.6-v4l-dvb-ir-core-update.patch
|
||||||
|
|
||||||
#Patch2916: lirc-staging-2.6.36-fixes.patch
|
#Patch2916: lirc-staging-2.6.36-fixes.patch
|
||||||
Patch2917: hdpvr-ir-enable.patch
|
#Patch2917: hdpvr-ir-enable.patch
|
||||||
|
|
||||||
Patch2918: flexcop-fix-xlate_proc_name-warning.patch
|
Patch2918: flexcop-fix-xlate_proc_name-warning.patch
|
||||||
|
|
||||||
@ -726,8 +726,6 @@ Patch12411: mm-vmstat-use-a-single-setter-function-and-callback-for-adjusting-pe
|
|||||||
|
|
||||||
Patch12421: fs-call-security_d_instantiate-in-d_obtain_alias.patch
|
Patch12421: fs-call-security_d_instantiate-in-d_obtain_alias.patch
|
||||||
|
|
||||||
Patch12422: net-AF_PACKET-vmalloc.patch
|
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
|
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
|
||||||
@ -1199,7 +1197,7 @@ ApplyPatch acpi-update-battery-information-on-notification-0x81.patch
|
|||||||
|
|
||||||
# Various low-impact patches to aid debugging.
|
# Various low-impact patches to aid debugging.
|
||||||
ApplyPatch linux-2.6-debug-sizeof-structs.patch
|
ApplyPatch linux-2.6-debug-sizeof-structs.patch
|
||||||
ApplyPatch linux-2.6-debug-nmi-timeout.patch
|
#ApplyPatch linux-2.6-debug-nmi-timeout.patch
|
||||||
ApplyPatch linux-2.6-debug-taint-vm.patch
|
ApplyPatch linux-2.6-debug-taint-vm.patch
|
||||||
ApplyPatch linux-2.6-debug-vm-would-have-oomkilled.patch
|
ApplyPatch linux-2.6-debug-vm-would-have-oomkilled.patch
|
||||||
ApplyPatch linux-2.6-debug-always-inline-kzalloc.patch
|
ApplyPatch linux-2.6-debug-always-inline-kzalloc.patch
|
||||||
@ -1302,7 +1300,7 @@ ApplyOptionalPatch linux-2.6-v4l-dvb-experimental.patch
|
|||||||
# http://www.lirc.org/
|
# http://www.lirc.org/
|
||||||
#ApplyOptionalPatch lirc-staging-2.6.36-fixes.patch
|
#ApplyOptionalPatch lirc-staging-2.6.36-fixes.patch
|
||||||
# enable IR receiver on Hauppauge HD PVR (v4l-dvb merge pending)
|
# enable IR receiver on Hauppauge HD PVR (v4l-dvb merge pending)
|
||||||
ApplyPatch hdpvr-ir-enable.patch
|
#ApplyPatch hdpvr-ir-enable.patch
|
||||||
|
|
||||||
# rhbz#664852
|
# rhbz#664852
|
||||||
ApplyPatch flexcop-fix-xlate_proc_name-warning.patch
|
ApplyPatch flexcop-fix-xlate_proc_name-warning.patch
|
||||||
@ -1343,9 +1341,6 @@ ApplyPatch mm-vmstat-use-a-single-setter-function-and-callback-for-adjusting-per
|
|||||||
# rhbz#662344,600690
|
# rhbz#662344,600690
|
||||||
ApplyPatch fs-call-security_d_instantiate-in-d_obtain_alias.patch
|
ApplyPatch fs-call-security_d_instantiate-in-d_obtain_alias.patch
|
||||||
|
|
||||||
# rhbz#637619
|
|
||||||
ApplyPatch net-AF_PACKET-vmalloc.patch
|
|
||||||
|
|
||||||
# END OF PATCH APPLICATIONS
|
# END OF PATCH APPLICATIONS
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
@ -1959,6 +1954,20 @@ fi
|
|||||||
# || ||
|
# || ||
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jan 10 2011 Kyle McMartin <kmcmartin@redhat.com> 2.6.38-0.rc0.git4.1
|
||||||
|
- Branch for 2.6.38
|
||||||
|
- Rebase trivial patches.
|
||||||
|
- Switch debug configs back on.
|
||||||
|
- config changes:
|
||||||
|
DEBUG_SET_MODULE_RONX=y
|
||||||
|
B43_PHY_N=y
|
||||||
|
RT2800USB_RT33XX=y |
|
||||||
|
RT2800PCI_RT33XX=y | experimental
|
||||||
|
WL12XX=m
|
||||||
|
RTL8192CE=m
|
||||||
|
CAN_SLCAN=m
|
||||||
|
SCHED_AUTOGROUP=n
|
||||||
|
|
||||||
* Fri Jan 07 2011 Kyle McMartin <kmcmartin@redhat.com> 2.6.37-2
|
* Fri Jan 07 2011 Kyle McMartin <kmcmartin@redhat.com> 2.6.37-2
|
||||||
- drm_i915-check-eDP-encoder-correctly-when-setting-modes.patch reported to
|
- drm_i915-check-eDP-encoder-correctly-when-setting-modes.patch reported to
|
||||||
fix HP/Sony eDP issues by adamw and airlied.
|
fix HP/Sony eDP issues by adamw and airlied.
|
||||||
|
@ -389,7 +389,7 @@
|
|||||||
+ else
|
+ else
|
||||||
+
|
+
|
||||||
printk(KERN_NOTICE "Notice: NX (Execute Disable) protection "
|
printk(KERN_NOTICE "Notice: NX (Execute Disable) protection "
|
||||||
"missing in CPU or disabled in BIOS!\n");
|
"missing in CPU!\n");
|
||||||
} else {
|
} else {
|
||||||
--- a/arch/x86/mm/tlb.c
|
--- a/arch/x86/mm/tlb.c
|
||||||
+++ b/arch/x86/mm/tlb.c
|
+++ b/arch/x86/mm/tlb.c
|
||||||
|
@ -31,7 +31,7 @@ index 170f71e..4f3e632 100644
|
|||||||
static int i8042_controller_check(void)
|
static int i8042_controller_check(void)
|
||||||
{
|
{
|
||||||
- if (i8042_flush() == I8042_BUFFER_SIZE) {
|
- if (i8042_flush() == I8042_BUFFER_SIZE) {
|
||||||
- printk(KERN_ERR "i8042.c: No controller found.\n");
|
- pr_err("No controller found\n");
|
||||||
+ if (i8042_flush() == I8042_BUFFER_SIZE)
|
+ if (i8042_flush() == I8042_BUFFER_SIZE)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
- }
|
- }
|
||||||
|
@ -1,254 +0,0 @@
|
|||||||
Author: Neil Horman <nhorman@tuxdriver.com>
|
|
||||||
Date: Fri Dec 17 13:35:36 2010 -0500
|
|
||||||
|
|
||||||
Enhance AF_PACKET to support using non-contiguous memory when allocating ring
|
|
||||||
buffer space. This is a combined backport of the following commits from
|
|
||||||
net-next-2.6:
|
|
||||||
0e3125c755445664f00ad036e4fc2cd32fd52877
|
|
||||||
bbce5a59e4e0e6e1dbc85492caaf310ff6611309
|
|
||||||
0af55bb58f8fa7865004ac48d16affe125ac1b7f
|
|
||||||
920b8d913bd3d963d5c88bca160a272b71e0c95a
|
|
||||||
|
|
||||||
diff -up linux-2.6.34.x86_64/net/packet/af_packet.c.orig linux-2.6.34.x86_64/net/packet/af_packet.c
|
|
||||||
--- linux-2.6.34.x86_64/net/packet/af_packet.c.orig 2010-12-17 12:16:58.000000000 -0500
|
|
||||||
+++ linux-2.6.34.x86_64/net/packet/af_packet.c 2010-12-17 12:30:14.000000000 -0500
|
|
||||||
@@ -61,6 +61,7 @@
|
|
||||||
#include <linux/kernel.h>
|
|
||||||
#include <linux/kmod.h>
|
|
||||||
#include <linux/slab.h>
|
|
||||||
+#include <linux/vmalloc.h>
|
|
||||||
#include <net/net_namespace.h>
|
|
||||||
#include <net/ip.h>
|
|
||||||
#include <net/protocol.h>
|
|
||||||
@@ -161,8 +162,14 @@ struct packet_mreq_max {
|
|
||||||
static int packet_set_ring(struct sock *sk, struct tpacket_req *req,
|
|
||||||
int closing, int tx_ring);
|
|
||||||
|
|
||||||
+#define PGV_FROM_VMALLOC 1
|
|
||||||
+struct pgv {
|
|
||||||
+ char *buffer;
|
|
||||||
+ unsigned char flags;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
struct packet_ring_buffer {
|
|
||||||
- char **pg_vec;
|
|
||||||
+ struct pgv *pg_vec;
|
|
||||||
unsigned int head;
|
|
||||||
unsigned int frames_per_block;
|
|
||||||
unsigned int frame_size;
|
|
||||||
@@ -214,6 +221,13 @@ struct packet_skb_cb {
|
|
||||||
|
|
||||||
#define PACKET_SKB_CB(__skb) ((struct packet_skb_cb *)((__skb)->cb))
|
|
||||||
|
|
||||||
+static inline struct page *pgv_to_page(void *addr)
|
|
||||||
+{
|
|
||||||
+ if (is_vmalloc_addr(addr))
|
|
||||||
+ return vmalloc_to_page(addr);
|
|
||||||
+ return virt_to_page(addr);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void __packet_set_status(struct packet_sock *po, void *frame, int status)
|
|
||||||
{
|
|
||||||
union {
|
|
||||||
@@ -226,11 +240,11 @@ static void __packet_set_status(struct p
|
|
||||||
switch (po->tp_version) {
|
|
||||||
case TPACKET_V1:
|
|
||||||
h.h1->tp_status = status;
|
|
||||||
- flush_dcache_page(virt_to_page(&h.h1->tp_status));
|
|
||||||
+ flush_dcache_page(pgv_to_page(&h.h1->tp_status));
|
|
||||||
break;
|
|
||||||
case TPACKET_V2:
|
|
||||||
h.h2->tp_status = status;
|
|
||||||
- flush_dcache_page(virt_to_page(&h.h2->tp_status));
|
|
||||||
+ flush_dcache_page(pgv_to_page(&h.h2->tp_status));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
pr_err("TPACKET version not supported\n");
|
|
||||||
@@ -253,10 +267,10 @@ static int __packet_get_status(struct pa
|
|
||||||
h.raw = frame;
|
|
||||||
switch (po->tp_version) {
|
|
||||||
case TPACKET_V1:
|
|
||||||
- flush_dcache_page(virt_to_page(&h.h1->tp_status));
|
|
||||||
+ flush_dcache_page(pgv_to_page(&h.h1->tp_status));
|
|
||||||
return h.h1->tp_status;
|
|
||||||
case TPACKET_V2:
|
|
||||||
- flush_dcache_page(virt_to_page(&h.h2->tp_status));
|
|
||||||
+ flush_dcache_page(pgv_to_page(&h.h2->tp_status));
|
|
||||||
return h.h2->tp_status;
|
|
||||||
default:
|
|
||||||
pr_err("TPACKET version not supported\n");
|
|
||||||
@@ -280,7 +294,8 @@ static void *packet_lookup_frame(struct
|
|
||||||
pg_vec_pos = position / rb->frames_per_block;
|
|
||||||
frame_offset = position % rb->frames_per_block;
|
|
||||||
|
|
||||||
- h.raw = rb->pg_vec[pg_vec_pos] + (frame_offset * rb->frame_size);
|
|
||||||
+ h.raw = rb->pg_vec[pg_vec_pos].buffer +
|
|
||||||
+ (frame_offset * rb->frame_size);
|
|
||||||
|
|
||||||
if (status != __packet_get_status(po, h.raw))
|
|
||||||
return NULL;
|
|
||||||
@@ -771,15 +786,11 @@ static int tpacket_rcv(struct sk_buff *s
|
|
||||||
__packet_set_status(po, h.raw, status);
|
|
||||||
smp_mb();
|
|
||||||
{
|
|
||||||
- struct page *p_start, *p_end;
|
|
||||||
- u8 *h_end = h.raw + macoff + snaplen - 1;
|
|
||||||
+ u8 *start, *end;
|
|
||||||
|
|
||||||
- p_start = virt_to_page(h.raw);
|
|
||||||
- p_end = virt_to_page(h_end);
|
|
||||||
- while (p_start <= p_end) {
|
|
||||||
- flush_dcache_page(p_start);
|
|
||||||
- p_start++;
|
|
||||||
- }
|
|
||||||
+ end = (u8 *)PAGE_ALIGN((unsigned long)h.raw + macoff + snaplen);
|
|
||||||
+ for (start = h.raw; start < end; start += PAGE_SIZE)
|
|
||||||
+ flush_dcache_page(pgv_to_page(start));
|
|
||||||
}
|
|
||||||
|
|
||||||
sk->sk_data_ready(sk, 0);
|
|
||||||
@@ -886,7 +897,6 @@ static int tpacket_fill_skb(struct packe
|
|
||||||
}
|
|
||||||
|
|
||||||
err = -EFAULT;
|
|
||||||
- page = virt_to_page(data);
|
|
||||||
offset = offset_in_page(data);
|
|
||||||
len_max = PAGE_SIZE - offset;
|
|
||||||
len = ((to_write > len_max) ? len_max : to_write);
|
|
||||||
@@ -905,11 +915,11 @@ static int tpacket_fill_skb(struct packe
|
|
||||||
return -EFAULT;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ page = pgv_to_page(data);
|
|
||||||
+ data += len;
|
|
||||||
flush_dcache_page(page);
|
|
||||||
get_page(page);
|
|
||||||
- skb_fill_page_desc(skb,
|
|
||||||
- nr_frags,
|
|
||||||
- page++, offset, len);
|
|
||||||
+ skb_fill_page_desc(skb, nr_frags, page, offset, len);
|
|
||||||
to_write -= len;
|
|
||||||
offset = 0;
|
|
||||||
len_max = PAGE_SIZE;
|
|
||||||
@@ -2230,37 +2240,76 @@ static const struct vm_operations_struct
|
|
||||||
.close = packet_mm_close,
|
|
||||||
};
|
|
||||||
|
|
||||||
-static void free_pg_vec(char **pg_vec, unsigned int order, unsigned int len)
|
|
||||||
+static void free_pg_vec(struct pgv *pg_vec, unsigned int order,
|
|
||||||
+ unsigned int len)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < len; i++) {
|
|
||||||
- if (likely(pg_vec[i]))
|
|
||||||
- free_pages((unsigned long) pg_vec[i], order);
|
|
||||||
+ if (likely(pg_vec[i].buffer)) {
|
|
||||||
+ if (pg_vec[i].flags & PGV_FROM_VMALLOC)
|
|
||||||
+ vfree(pg_vec[i].buffer);
|
|
||||||
+ else
|
|
||||||
+ free_pages((unsigned long)pg_vec[i].buffer,
|
|
||||||
+ order);
|
|
||||||
+ pg_vec[i].buffer = NULL;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
kfree(pg_vec);
|
|
||||||
}
|
|
||||||
|
|
||||||
-static inline char *alloc_one_pg_vec_page(unsigned long order)
|
|
||||||
+static inline char *alloc_one_pg_vec_page(unsigned long order,
|
|
||||||
+ unsigned char *flags)
|
|
||||||
{
|
|
||||||
- gfp_t gfp_flags = GFP_KERNEL | __GFP_COMP | __GFP_ZERO | __GFP_NOWARN;
|
|
||||||
+ char *buffer = NULL;
|
|
||||||
+ gfp_t gfp_flags = GFP_KERNEL | __GFP_COMP |
|
|
||||||
+ __GFP_ZERO | __GFP_NOWARN | __GFP_NORETRY;
|
|
||||||
+
|
|
||||||
+ buffer = (char *) __get_free_pages(gfp_flags, order);
|
|
||||||
|
|
||||||
- return (char *) __get_free_pages(gfp_flags, order);
|
|
||||||
+ if (buffer)
|
|
||||||
+ return buffer;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * __get_free_pages failed, fall back to vmalloc
|
|
||||||
+ */
|
|
||||||
+ *flags |= PGV_FROM_VMALLOC;
|
|
||||||
+ buffer = vmalloc((1 << order) * PAGE_SIZE);
|
|
||||||
+
|
|
||||||
+ if (buffer) {
|
|
||||||
+ memset(buffer, 0, (1 << order) * PAGE_SIZE);
|
|
||||||
+ return buffer;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * vmalloc failed, lets dig into swap here
|
|
||||||
+ */
|
|
||||||
+ *flags = 0;
|
|
||||||
+ gfp_flags &= ~__GFP_NORETRY;
|
|
||||||
+ buffer = (char *)__get_free_pages(gfp_flags, order);
|
|
||||||
+ if (buffer)
|
|
||||||
+ return buffer;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * complete and utter failure
|
|
||||||
+ */
|
|
||||||
+ return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
-static char **alloc_pg_vec(struct tpacket_req *req, int order)
|
|
||||||
+static struct pgv *alloc_pg_vec(struct tpacket_req *req, int order)
|
|
||||||
{
|
|
||||||
unsigned int block_nr = req->tp_block_nr;
|
|
||||||
- char **pg_vec;
|
|
||||||
+ struct pgv *pg_vec;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
- pg_vec = kzalloc(block_nr * sizeof(char *), GFP_KERNEL);
|
|
||||||
+ pg_vec = kcalloc(block_nr, sizeof(struct pgv), GFP_KERNEL);
|
|
||||||
if (unlikely(!pg_vec))
|
|
||||||
goto out;
|
|
||||||
|
|
||||||
for (i = 0; i < block_nr; i++) {
|
|
||||||
- pg_vec[i] = alloc_one_pg_vec_page(order);
|
|
||||||
- if (unlikely(!pg_vec[i]))
|
|
||||||
+ pg_vec[i].buffer = alloc_one_pg_vec_page(order,
|
|
||||||
+ &pg_vec[i].flags);
|
|
||||||
+ if (unlikely(!pg_vec[i].buffer))
|
|
||||||
goto out_free_pgvec;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -2276,7 +2325,7 @@ out_free_pgvec:
|
|
||||||
static int packet_set_ring(struct sock *sk, struct tpacket_req *req,
|
|
||||||
int closing, int tx_ring)
|
|
||||||
{
|
|
||||||
- char **pg_vec = NULL;
|
|
||||||
+ struct pgv *pg_vec = NULL;
|
|
||||||
struct packet_sock *po = pkt_sk(sk);
|
|
||||||
int was_running, order = 0;
|
|
||||||
struct packet_ring_buffer *rb;
|
|
||||||
@@ -2438,15 +2487,22 @@ static int packet_mmap(struct file *file
|
|
||||||
continue;
|
|
||||||
|
|
||||||
for (i = 0; i < rb->pg_vec_len; i++) {
|
|
||||||
- struct page *page = virt_to_page(rb->pg_vec[i]);
|
|
||||||
+ struct page *page;
|
|
||||||
+ void *kaddr = rb->pg_vec[i].buffer;
|
|
||||||
int pg_num;
|
|
||||||
|
|
||||||
for (pg_num = 0; pg_num < rb->pg_vec_pages;
|
|
||||||
- pg_num++, page++) {
|
|
||||||
+ pg_num++) {
|
|
||||||
+ if (rb->pg_vec[i].flags & PGV_FROM_VMALLOC)
|
|
||||||
+ page = vmalloc_to_page(kaddr);
|
|
||||||
+ else
|
|
||||||
+ page = virt_to_page(kaddr);
|
|
||||||
+
|
|
||||||
err = vm_insert_page(vma, start, page);
|
|
||||||
if (unlikely(err))
|
|
||||||
goto out;
|
|
||||||
start += PAGE_SIZE;
|
|
||||||
+ kaddr += PAGE_SIZE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user