forked from rpms/kernel
		
	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