rpms/kernel/devel linux-2.6-hotfixes.patch, NONE, 1.1 patch-2.6.25-rc1.bz2.sign, NONE, 1.1 .cvsignore, 1.760, 1.761 config-debug, 1.7, 1.8 config-generic, 1.66, 1.67 config-nodebug, 1.8, 1.9 config-powerpc-generic, 1.13, 1.14 config-powerpc64, 1.11, 1.12 config-s390x, 1.3, 1.4 config-sparc64-generic, 1.10, 1.11 config-x86-generic, 1.26, 1.27 config-x86_64-generic, 1.23, 1.24 kernel.spec, 1.416, 1.417 linux-2.6-acpi-eeepc-hotkey.patch, 1.1, 1.2 linux-2.6-build-nonintconfig.patch, 1.12, 1.13 linux-2.6-compile-fix-gcc-43.patch, 1.3, 1.4 linux-2.6-crash-driver.patch, 1.10, 1.11 linux-2.6-debug-no-quiet.patch, 1.5, 1.6 linux-2.6-debug-sizeof-structs.patch, 1.5, 1.6 linux-2.6-debug-taint-vm.patch, 1.19, 1.20 linux-2.6-devmem.patch, 1.21, 1.22 linux-2.6-e1000-corrupt-eeprom-checksum.patch, 1.2, 1.3 linux-2.6-execshield.patch, 1.80, 1.81 linux-2.6-ext4-stable-queue.patch, 1.1, 1.2 linux-2.6-gelic-fixups.patch, 1.1, 1.2 linux-2.6-i386-vdso-install-unstripped-copies-on-disk.patch, 1.4, 1.5 linux-2.6-input-kill-stupid-messages.patch, 1.4, 1.5 linux-2.6-lirc.patch, 1.4, 1.5 linux-2.6-silence-noise.patch, 1.11, 1.12 linux-2.6-squashfs.patch, 1.26, 1.27 linux-2.6-utrace-core.patch, 1.13, 1.14 linux-2.6-utrace-tracehook.patch, 1.22, 1.23 linux-2.6-wireless-pending.patch, 1.28, 1.29 nouveau-drm.patch, 1.6, 1.7 sources, 1.720, 1.721 upstream, 1.642, 1.643 linux-2.6-agp-mm.patch, 1.1, NONE linux-2.6-alsa-rc4-mm1.patch, 1.1, NONE linux-2.6-alsa-support-sis7019.patch, 1.1, NONE linux-2.6-dcdbas-autoload.patch, 1.1, NONE linux-2.6-drm-mm.patch, 1.5, NONE linux-2.6-drm-radeon-update.patch, 1.1, NONE linux-2.6-futex-fix-fixups.patch, 1.1, NONE linux-2.6-git-initial-r500-drm.patch, 1.2, NONE linux-2.6-libata-pegasos-fix.patch, 1.1, NONE linux-2.6-netdev-bonding-fix-null-deref.patch, 1.1, NONE linux-2.6-pasemi-for-2.6.25.patch, 1.1, NONE linux-2.6-pasemi-reserve-i2c.patch, 1.1, NONE linux-2.6-powerpc-bootwrapper.patch, 1.1, NONE linux-2.6-powerpc-generic-suspend-001-pmu-no-lock-kernel.patch, 1.1, NONE linux-2.6-powerpc-generic-suspend-002-pmu-remove-dead-code.patch, 1.1, NONE linux-2.6-powerpc-generic-suspend-003-remove-adb-sleep-notifier.patch, 1.1, NONE linux-2.6-powerpc-generic-suspend-004-kill-pmu-sleep-notifier.patch, 1.1, NONE linux-2.6-powerpc-generic-suspend-005-proper-sleep-management.patch, 1.2, NONE linux-2.6-rndis_wlan.patch, 1.1, NONE linux-2.6-unexport-symbols.patch, 1.4, NONE linux-2.6-xfs-optimize-away-realtime-tests.patch, 1.2, NONE linux-2.6-xfs-setfattr-32bit-compat.patch, 1.1, NONE linux-2.6-xfs-xfs_mount-refactor.patch, 1.1, NONE patch-2.6.24.1.bz2.sign, 1.1, NONE

Kyle McMartin (kyle) fedora-extras-commits at redhat.com
Tue Feb 12 06:19:17 UTC 2008


Author: kyle

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6005

Modified Files:
	.cvsignore config-debug config-generic config-nodebug 
	config-powerpc-generic config-powerpc64 config-s390x 
	config-sparc64-generic config-x86-generic 
	config-x86_64-generic kernel.spec 
	linux-2.6-acpi-eeepc-hotkey.patch 
	linux-2.6-build-nonintconfig.patch 
	linux-2.6-compile-fix-gcc-43.patch 
	linux-2.6-crash-driver.patch linux-2.6-debug-no-quiet.patch 
	linux-2.6-debug-sizeof-structs.patch 
	linux-2.6-debug-taint-vm.patch linux-2.6-devmem.patch 
	linux-2.6-e1000-corrupt-eeprom-checksum.patch 
	linux-2.6-execshield.patch linux-2.6-ext4-stable-queue.patch 
	linux-2.6-gelic-fixups.patch 
	linux-2.6-i386-vdso-install-unstripped-copies-on-disk.patch 
	linux-2.6-input-kill-stupid-messages.patch 
	linux-2.6-lirc.patch linux-2.6-silence-noise.patch 
	linux-2.6-squashfs.patch linux-2.6-utrace-core.patch 
	linux-2.6-utrace-tracehook.patch 
	linux-2.6-wireless-pending.patch nouveau-drm.patch sources 
	upstream 
Added Files:
	linux-2.6-hotfixes.patch patch-2.6.25-rc1.bz2.sign 
Removed Files:
	linux-2.6-agp-mm.patch linux-2.6-alsa-rc4-mm1.patch 
	linux-2.6-alsa-support-sis7019.patch 
	linux-2.6-dcdbas-autoload.patch linux-2.6-drm-mm.patch 
	linux-2.6-drm-radeon-update.patch 
	linux-2.6-futex-fix-fixups.patch 
	linux-2.6-git-initial-r500-drm.patch 
	linux-2.6-libata-pegasos-fix.patch 
	linux-2.6-netdev-bonding-fix-null-deref.patch 
	linux-2.6-pasemi-for-2.6.25.patch 
	linux-2.6-pasemi-reserve-i2c.patch 
	linux-2.6-powerpc-bootwrapper.patch 
	linux-2.6-powerpc-generic-suspend-001-pmu-no-lock-kernel.patch 
	linux-2.6-powerpc-generic-suspend-002-pmu-remove-dead-code.patch 
	linux-2.6-powerpc-generic-suspend-003-remove-adb-sleep-notifier.patch 
	linux-2.6-powerpc-generic-suspend-004-kill-pmu-sleep-notifier.patch 
	linux-2.6-powerpc-generic-suspend-005-proper-sleep-management.patch 
	linux-2.6-rndis_wlan.patch linux-2.6-unexport-symbols.patch 
	linux-2.6-xfs-optimize-away-realtime-tests.patch 
	linux-2.6-xfs-setfattr-32bit-compat.patch 
	linux-2.6-xfs-xfs_mount-refactor.patch patch-2.6.24.1.bz2.sign 
Log Message:
* Tue Feb 12 2008 Kyle McMartin <kmcmartin at redhat.com>
- Linux 2.6.25-rc1


linux-2.6-hotfixes.patch:

--- NEW FILE linux-2.6-hotfixes.patch ---
diff --git a/drivers/net/mlx4/alloc.c b/drivers/net/mlx4/alloc.c
index 521dc03..75ef9d0 100644
--- a/drivers/net/mlx4/alloc.c
+++ b/drivers/net/mlx4/alloc.c
@@ -34,6 +34,7 @@
 #include <linux/slab.h>
 #include <linux/bitmap.h>
 #include <linux/dma-mapping.h>
+#include <linux/vmalloc.h>
 
 #include "mlx4.h"
 
diff --git a/drivers/macintosh/mediabay.c b/drivers/macintosh/mediabay.c
index 9367882..635a140 100644
--- a/drivers/macintosh/mediabay.c
+++ b/drivers/macintosh/mediabay.c
@@ -416,9 +416,9 @@ static void poll_media_bay(struct media_bay_info* bay)
 	}
 }
 
-#ifdef CONFIG_MAC_FLOPPY
 int check_media_bay(struct device_node *which_bay, int what)
 {
+#ifdef CONFIG_MAC_FLOPPY
 	int	i;
 
 	for (i=0; i<media_bay_count; i++)
@@ -428,10 +428,10 @@ int check_media_bay(struct device_node *which_bay, int what)
 			media_bays[i].cd_index = -1;
 			return -EINVAL;
 		}
+#endif /* CONFIG_MAC_FLOPPY */
 	return -ENODEV;
 }
 EXPORT_SYMBOL(check_media_bay);
-#endif /* CONFIG_MAC_FLOPPY */
 
 #ifdef CONFIG_BLK_DEV_IDE_PMAC
 int check_media_bay_by_base(unsigned long base, int what)


--- NEW FILE patch-2.6.25-rc1.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info

iD8DBQBHr5iEyGugalF9Dw4RAmM0AJ95lDX6e4/ck+VmJ78h+pjWziFWjQCfSY0K
z8p148oCVxZp/OzG9GJSCUk=
=kdHt
-----END PGP SIGNATURE-----


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/.cvsignore,v
retrieving revision 1.760
retrieving revision 1.761
diff -u -r1.760 -r1.761
--- .cvsignore	8 Feb 2008 20:45:51 -0000	1.760
+++ .cvsignore	12 Feb 2008 06:18:04 -0000	1.761
@@ -4,4 +4,4 @@
 temp-*
 kernel-2.6.24
 linux-2.6.24.tar.bz2
-patch-2.6.24.1.bz2
+patch-2.6.25-rc1.bz2


Index: config-debug
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-debug,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- config-debug	16 Nov 2007 16:35:04 -0000	1.7
+++ config-debug	12 Feb 2008 06:18:04 -0000	1.8
@@ -28,3 +28,5 @@
 # CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
 
 CONFIG_DEBUG_SG=y
+
+CONFIG_DEBUG_PAGEALLOC=y


Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- config-generic	11 Feb 2008 00:50:29 -0000	1.66
+++ config-generic	12 Feb 2008 06:18:04 -0000	1.67
@@ -3346,3 +3346,100 @@
 # CONFIG_WRITABLE_DEVMEM is not set
 # CONFIG_WRITABLE_DEVKMEM is not set
 
+# CONFIG_RCU_TRACE is not set
+CONFIG_PM_TRACE_RTC=y
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_XFRM_STATISTICS=y
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NET_CLS_FLOW=m
+# CONFIG_CAN is not set
+#CONFIG_CAN_RAW
+#CONFIG_CAN_BCM
+#CONFIG_CAN_VCAN
+#CONFIG_CAN_DEBUG_DEVICES
+CONFIG_PATA_NINJA32=m
+CONFIG_FIXED_PHY=y
+CONFIG_R6040=m
+CONFIG_IGB=m
+CONFIG_BNX2X=m
+CONFIG_NOZOMI=m
+CONFIG_PCF8575=m
+# CONFIG_TPS65010 is not set
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_PVRUSB2_ONAIR_CREATOR=y
+CONFIG_VIDEO_PVRUSB2_ONAIR_USB2=y
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_SI470X=m
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_TUA6100=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_HIFIER=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_DFS_UPCALL=y
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+CONFIG_LATENCYTOP=y
+# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_LZO=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_REALTEK_PHY=m
+# CONFIG_VIRTIO_PCI is not set
+# CONFIG_VIRTIO_BALLOON is not set
+CONFIG_RESOURCE_COUNTERS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_ACPI_WMI=m
+CONFIG_ACPI_CUSTOM_DSDT_INITRD=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+# CONFIG_INTEL_MENLOW is not set
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_INPUT_APANEL=m
+CONFIG_IPWIRELESS=m
+CONFIG_SENSORS_ADS7828=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_INFINIBAND_NES=m
+# CONFIG_INFINIBAND_NES_DEBUG is not set
+CONFIG_RTC_DRV_DS1511=m
+# CONFIG_SLUB_STATS is not set
+CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
+# CONFIG_SECURITY_SMACK is not set
+CONFIG_CGROUP_MEM_CONT=y
+CONFIG_ACER_WMI=m
+CONFIG_TC1100_WMI=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_I8K=m
+CONFIG_EDAC_I3000=m
+
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+
+CONFIG_MEMSTICK=m
+CONFIG_MEMSTICK_DEBUG=y
+
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+CONFIG_MEMSTICK_TIFM_MS=m


Index: config-nodebug
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-nodebug,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- config-nodebug	16 Nov 2007 16:35:04 -0000	1.8
+++ config-nodebug	12 Feb 2008 06:18:04 -0000	1.9
@@ -27,3 +27,5 @@
 # CONFIG_ACPI_DEBUG is not set
 
 CONFIG_DEBUG_SG=y
+
+CONFIG_DEBUG_PAGEALLOC=y


Index: config-powerpc-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-powerpc-generic,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- config-powerpc-generic	21 Jan 2008 23:42:51 -0000	1.13
+++ config-powerpc-generic	12 Feb 2008 06:18:04 -0000	1.14
@@ -205,3 +205,16 @@
 CONFIG_AXON_RAM=m
 CONFIG_OPROFILE_CELL=y
 
+# CONFIG_PPC_MPC52xx is not set
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_IDEPCI_PCIBUS_ORDER is not set
+CONFIG_PATA_PLATFORM=m
+CONFIG_PATA_OF_PLATFORM=m
+CONFIG_USB_EHCI_HCD_PPC_OF=y
+
+# CONFIG_MPC5121_ADS is not set
+CONFIG_MTD_OF_PARTS=m
+# CONFIG_MTD_NAND_FSL_ELBC is not set
+CONFIG_THERMAL=y
+
+# CONFIG_MEMORY_HOTREMOVE is not set


Index: config-powerpc64
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-powerpc64,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- config-powerpc64	21 Jan 2008 23:42:51 -0000	1.11
+++ config-powerpc64	12 Feb 2008 06:18:04 -0000	1.12
@@ -29,6 +29,7 @@
 CONFIG_PS3_DISK=m
 CONFIG_PS3_ROM=m
 CONFIG_PS3_FLASH=m
+CONFIG_PS3_LPM=y
 CONFIG_SND_PS3=m
 CONFIG_SND_PS3_DEFAULT_START_DELAY=1000
 CONFIG_GELIC_NET=m
@@ -149,3 +150,7 @@
 CONFIG_ELECTRA_CF=m
 
 CONFIG_SPARSEMEM_VMEMMAP=y
+
+CONFIG_SPU_TRACE=m
+CONFIG_MTD_NAND_PASEMI=m
+CONFIG_EDAC_CELL=m


Index: config-s390x
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-s390x,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- config-s390x	21 Jan 2008 23:42:51 -0000	1.3
+++ config-s390x	12 Feb 2008 06:18:04 -0000	1.4
@@ -196,3 +196,5 @@
 
 CONFIG_S390_VMUR=m
 
+# CONFIG_THERMAL is not set
+# CONFIG_DEBUG_PAGEALLOC is not set


Index: config-sparc64-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-sparc64-generic,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- config-sparc64-generic	21 Jan 2008 23:42:51 -0000	1.10
+++ config-sparc64-generic	12 Feb 2008 06:18:04 -0000	1.11
@@ -150,3 +150,5 @@
 # CONFIG_STACK_DEBUG is not set
 
 CONFIG_SPARSEMEM_VMEMMAP=y
+
+# CONFIG_THERMAL is not set


Index: config-x86-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-x86-generic,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- config-x86-generic	5 Feb 2008 19:10:17 -0000	1.26
+++ config-x86-generic	12 Feb 2008 06:18:04 -0000	1.27
@@ -359,3 +359,6 @@
 CONFIG_INTEL_IOATDMA=m
 
 CONFIG_SENSORS_I5K_AMB=m
+
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set


Index: config-x86_64-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-x86_64-generic,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- config-x86_64-generic	5 Feb 2008 19:10:17 -0000	1.23
+++ config-x86_64-generic	12 Feb 2008 06:18:04 -0000	1.24
@@ -245,3 +245,10 @@
 # CONFIG_X86_MCE is not set
 
 CONFIG_SPARSEMEM_VMEMMAP=y
+
+# CONFIG_PARAVIRT_GUEST is not set
+# CONFIG_COMPAT_VDSO is not set
+CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_CPA_DEBUG is not set
+CONFIG_CRYPTO_SALSA20_X86_64=m


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.416
retrieving revision 1.417
diff -u -r1.416 -r1.417
--- kernel.spec	11 Feb 2008 22:04:42 -0000	1.416
+++ kernel.spec	12 Feb 2008 06:18:04 -0000	1.417
@@ -3,7 +3,7 @@
 # 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
 # be 0.
-%define released_kernel 1
+%define released_kernel 0
 
 # Versions of various parts
 
@@ -31,7 +31,7 @@
 ## If this is a released kernel ##
 %if 0%{?released_kernel}
 # Do we have a 2.6.21.y update to apply?
-%define stable_update 1
+%define stable_update 0
 # Set rpm version accordingly
 %if 0%{?stable_update}
 %define stablerev .%{stable_update}
@@ -43,7 +43,7 @@
 # The next upstream release sublevel (base_sublevel+1)
 %define upstream_sublevel %(expr %{base_sublevel} + 1)
 # The rc snapshot level
-%define rcrev 0
+%define rcrev 1
 # The git snapshot level
 %define gitrev 0
 # Set rpm version accordingly
@@ -558,8 +558,7 @@
 
 %if !%{nopatches}
 
-# revert upstream changes we get from elsewhere
-Patch09: linux-2.6-upstream-reverts.patch
+Patch10: linux-2.6-hotfixes.patch
 
 Patch21: linux-2.6-utrace-tracehook.patch
 Patch22: linux-2.6-utrace-tracehook-ia64.patch
@@ -581,24 +580,12 @@
 
 Patch41: linux-2.6-sysrq-c.patch
 Patch42: linux-2.6-x86-tune-generic.patch
-Patch43: linux-2.6-futex-fix-fixups.patch
 Patch75: linux-2.6-x86-debug-boot.patch
 
-Patch85: linux-2.6-alsa-rc4-mm1.patch
-Patch86: linux-2.6-alsa-support-sis7019.patch
-
-Patch120: linux-2.6-powerpc-bootwrapper.patch
-Patch121: linux-2.6-pasemi-for-2.6.25.patch
-Patch122: linux-2.6-pasemi-reserve-i2c.patch
 Patch123: linux-2.6-ppc-rtc.patch
 Patch124: linux-2.6-gelic-fixups.patch
 Patch125: linux-2.6-gelic-wireless-v2.patch
 Patch126: linux-2.6-gelic-wireless-fix.patch
-Patch130: linux-2.6-powerpc-generic-suspend-001-pmu-no-lock-kernel.patch
-Patch131: linux-2.6-powerpc-generic-suspend-002-pmu-remove-dead-code.patch
-Patch132: linux-2.6-powerpc-generic-suspend-003-remove-adb-sleep-notifier.patch
-Patch133: linux-2.6-powerpc-generic-suspend-004-kill-pmu-sleep-notifier.patch
-Patch134: linux-2.6-powerpc-generic-suspend-005-proper-sleep-management.patch
 Patch140: linux-2.6-ps3-ehci-iso.patch
 Patch141: linux-2.6-ps3-storage-alias.patch
 Patch142: linux-2.6-ps3-legacy-bootloader-hack.patch
@@ -620,46 +607,30 @@
 Patch460: linux-2.6-serial-460800.patch
 Patch510: linux-2.6-silence-noise.patch
 Patch570: linux-2.6-selinux-mprotect-checks.patch
-# Patch571: linux-2.6-selinux-strip-leading-slashes.patch
-Patch590: linux-2.6-unexport-symbols.patch
 Patch610: linux-2.6-defaults-fat-utf8.patch
 Patch660: linux-2.6-libata-ali-atapi-dma.patch
-Patch661: linux-2.6-libata-pegasos-fix.patch
 Patch670: linux-2.6-ata-quirk.patch
 
 Patch680: linux-2.6-wireless.patch
 Patch681: linux-2.6-wireless-pending.patch
 Patch690: linux-2.6-at76.patch
-Patch691: linux-2.6-rndis_wlan.patch
 Patch692: linux-2.6-ath5k-use-soft-wep.patch
 
 Patch820: linux-2.6-compile-fixes.patch
 Patch821: linux-2.6-compile-fix-gcc-43.patch
 Patch1101: linux-2.6-default-mmf_dump_elf_headers.patch
-Patch1102: linux-2.6-i386-vdso-install-unstripped-copies-on-disk.patch
+Patch1201: linux-2.6-i386-vdso-install-unstripped-copies-on-disk.patch
 Patch1400: linux-2.6-smarter-relatime.patch
-Patch1503: linux-2.6-xfs-xfs_mount-refactor.patch
-Patch1504: linux-2.6-xfs-optimize-away-realtime-tests.patch
-Patch1509: linux-2.6-xfs-setfattr-32bit-compat.patch
 Patch1515: linux-2.6-lirc.patch
-Patch1520: linux-2.6-dcdbas-autoload.patch
 
-# drm-mm catchup (modesetting, ...)
-Patch1801: linux-2.6-drm-mm.patch
-Patch1800: linux-2.6-agp-mm.patch
 # nouveau + drm fixes
 Patch1802: nouveau-drm.patch
 Patch1803: linux-2.6-ppc32-ucmpdi2.patch
-Patch1804: linux-2.6-drm-radeon-update.patch
-Patch1805: linux-2.6-git-initial-r500-drm.patch
 
 # Work around E1000 corrupt EEPROM problem.
 Patch2000: linux-2.6-e1000-corrupt-eeprom-checksum.patch
 Patch2001: linux-2.6-netdev-e1000-disable-alpm.patch
 
-# fix null pointer deref in bonding driver
-Patch2010: linux-2.6-netdev-bonding-fix-null-deref.patch
-
 # atl2 network driver
 Patch2020: linux-2.6-netdev-atl2.patch
 
@@ -671,9 +642,6 @@
 Patch2200: linux-2.6-firewire-git-update.patch
 Patch2201: linux-2.6-firewire-git-pending.patch
 
-# epoll lockdep annotation (bz #323411)
-# Patch2205: linux-2.6-epoll-lockdep-annotation.patch
-
 # make USB EHCI driver respect "nousb" parameter
 Patch2300: linux-2.6-usb-ehci-hcd-respect-nousb.patch
 
@@ -1005,36 +973,33 @@
 
 %if !%{nopatches}
 
-ApplyPatch linux-2.6-cve-2008-0600.patch
-
-# Revert -stable pieces we get from elsewhere here
-ApplyPatch linux-2.6-upstream-reverts.patch -R
+ApplyPatch linux-2.6-hotfixes.patch
 
 # Roland's utrace ptrace replacement.
 # Main patch includes i386, x86_64, powerpc.
-ApplyPatch linux-2.6-utrace-tracehook.patch
+#ApplyPatch linux-2.6-utrace-tracehook.patch
 # Additional arch work by other contributors.
-ApplyPatch linux-2.6-utrace-tracehook-ia64.patch
-ApplyPatch linux-2.6-utrace-tracehook-sparc64.patch
-ApplyPatch linux-2.6-utrace-tracehook-s390.patch
-ApplyPatch linux-2.6-utrace-tracehook-um.patch
-ApplyPatch linux-2.6-utrace-tracehook-avr32.patch
+#ApplyPatch linux-2.6-utrace-tracehook-ia64.patch
+#ApplyPatch linux-2.6-utrace-tracehook-sparc64.patch
+#ApplyPatch linux-2.6-utrace-tracehook-s390.patch
+#ApplyPatch linux-2.6-utrace-tracehook-um.patch
+#ApplyPatch linux-2.6-utrace-tracehook-avr32.patch
 # Main patch includes i386, x86_64, powerpc.
-ApplyPatch linux-2.6-utrace-regset.patch
+#ApplyPatch linux-2.6-utrace-regset.patch
 # Additional arch work by other contributors.
-ApplyPatch linux-2.6-utrace-regset-ia64.patch
-ApplyPatch linux-2.6-utrace-regset-sparc64.patch
-ApplyPatch linux-2.6-utrace-regset-s390.patch
-ApplyPatch linux-2.6-utrace-regset-avr32.patch
+#ApplyPatch linux-2.6-utrace-regset-ia64.patch
+#ApplyPatch linux-2.6-utrace-regset-sparc64.patch
+#ApplyPatch linux-2.6-utrace-regset-s390.patch
+#ApplyPatch linux-2.6-utrace-regset-avr32.patch
 # Core patch has no machine dependencies.
-ApplyPatch linux-2.6-utrace-core.patch
+#ApplyPatch linux-2.6-utrace-core.patch
 # Main patch includes i386, x86_64, powerpc.
-ApplyPatch linux-2.6-utrace-ptrace-compat.patch
+#ApplyPatch linux-2.6-utrace-ptrace-compat.patch
 # Additional arch work by other contributors.
-ApplyPatch linux-2.6-utrace-ptrace-compat-ia64.patch
-ApplyPatch linux-2.6-utrace-ptrace-compat-sparc64.patch
-ApplyPatch linux-2.6-utrace-ptrace-compat-s390.patch
-ApplyPatch linux-2.6-utrace-ptrace-compat-avr32.patch
+#ApplyPatch linux-2.6-utrace-ptrace-compat-ia64.patch
+#ApplyPatch linux-2.6-utrace-ptrace-compat-sparc64.patch
+#ApplyPatch linux-2.6-utrace-ptrace-compat-s390.patch
+#ApplyPatch linux-2.6-utrace-ptrace-compat-avr32.patch
 
 # enable sysrq-c on all kernels, not only kexec
 ApplyPatch linux-2.6-sysrq-c.patch
@@ -1043,31 +1008,17 @@
 # x86(-64)
 # Compile 686 kernels tuned for Pentium4.
 ApplyPatch linux-2.6-x86-tune-generic.patch
-# fix futexes (dropped from 2.6.24.1)
-ApplyPatch linux-2.6-futex-fix-fixups.patch
-
 
 #
 # PowerPC
 #
 ###  UPSTREAM PATCHES FROM 2.6.25 (we think):
-# Export bootwrapper for userspace to use
-ApplyPatch linux-2.6-powerpc-bootwrapper.patch
-# PA Semi updates
-ApplyPatch linux-2.6-pasemi-for-2.6.25.patch
-ApplyPatch linux-2.6-pasemi-reserve-i2c.patch
 # RTC class driver for ppc_md rtc functions
 ApplyPatch linux-2.6-ppc-rtc.patch
 # PlayStation wireless support
 ApplyPatch linux-2.6-gelic-fixups.patch
 ApplyPatch linux-2.6-gelic-wireless-v2.patch
 ApplyPatch linux-2.6-gelic-wireless-fix.patch
-# Suspend through /sys/power/state
-ApplyPatch linux-2.6-powerpc-generic-suspend-001-pmu-no-lock-kernel.patch
-ApplyPatch linux-2.6-powerpc-generic-suspend-002-pmu-remove-dead-code.patch
-ApplyPatch linux-2.6-powerpc-generic-suspend-003-remove-adb-sleep-notifier.patch
-ApplyPatch linux-2.6-powerpc-generic-suspend-004-kill-pmu-sleep-notifier.patch
-ApplyPatch linux-2.6-powerpc-generic-suspend-005-proper-sleep-management.patch
 ### NOT (YET) UPSTREAM:
 # The EHCI ISO patch isn't yet upstream but is needed to fix reboot
 ApplyPatch linux-2.6-ps3-ehci-iso.patch
@@ -1125,10 +1076,6 @@
 
 # ALSA
 #
-# upstream ALSA
-#ApplyPatch linux-2.6-alsa-rc4-mm1.patch
-# SiS 7019 support
-ApplyPatch linux-2.6-alsa-support-sis7019.patch
 
 # Filesystem patches.
 # Squashfs
@@ -1149,29 +1096,22 @@
 # Fix the SELinux mprotect checks on executable mappings
 ApplyPatch linux-2.6-selinux-mprotect-checks.patch
 
-# Remove kernel-internal functionality that nothing external should use.
-ApplyPatch linux-2.6-unexport-symbols.patch
-
-
 # Changes to upstream defaults.
 # Use UTF-8 by default on VFAT.
 ApplyPatch linux-2.6-defaults-fat-utf8.patch
 
 # Disable ATAPI DMA on ALI chipsets.
 ApplyPatch linux-2.6-libata-ali-atapi-dma.patch
-# fix pegasos *again* (#430802)
-ApplyPatch linux-2.6-libata-pegasos-fix.patch
 # ia64 ata quirk
 ApplyPatch linux-2.6-ata-quirk.patch
 
 # wireless patches headed for 2.6.25
-ApplyPatch linux-2.6-wireless.patch
+#ApplyPatch linux-2.6-wireless.patch
 # wireless patches headed for 2.6.26
 ApplyPatch linux-2.6-wireless-pending.patch
 
 # Add misc wireless bits from upstream wireless tree
 ApplyPatch linux-2.6-at76.patch
-ApplyPatch linux-2.6-rndis_wlan.patch
 
 # Make ath5k use software WEP
 ApplyPatch linux-2.6-ath5k-use-soft-wep.patch
@@ -1179,11 +1119,6 @@
 # implement smarter atime updates support.
 ApplyPatch linux-2.6-smarter-relatime.patch
 
-# xfs bugfixes & stack reduction.  Upstream; will be in 2.6.25.
-ApplyPatch linux-2.6-xfs-xfs_mount-refactor.patch
-ApplyPatch linux-2.6-xfs-optimize-away-realtime-tests.patch
-ApplyPatch linux-2.6-xfs-setfattr-32bit-compat.patch
-
 #
 # misc small stuff to make things compile
 #
@@ -1198,41 +1133,31 @@
 
 # build id related enhancements
 ApplyPatch linux-2.6-default-mmf_dump_elf_headers.patch
+
 ApplyPatch linux-2.6-i386-vdso-install-unstripped-copies-on-disk.patch
 
 # http://www.lirc.org/
 ApplyPatch linux-2.6-lirc.patch
 
-# DMI autoloading for dcdbas driver
-ApplyPatch linux-2.6-dcdbas-autoload.patch
-
 ApplyPatch linux-2.6-e1000-corrupt-eeprom-checksum.patch
 ApplyPatch linux-2.6-netdev-e1000-disable-alpm.patch
-ApplyPatch linux-2.6-netdev-bonding-fix-null-deref.patch
-# atl2 driver for eeepc (and others)
 ApplyPatch linux-2.6-netdev-atl2.patch
 
-# drm-mm catchup (modesetting, ...)
-ApplyPatch linux-2.6-agp-mm.patch
-ApplyPatch linux-2.6-drm-mm.patch
 # Nouveau DRM + drm fixes
 ApplyPatch nouveau-drm.patch
 ApplyPatch linux-2.6-ppc32-ucmpdi2.patch
-ApplyPatch linux-2.6-drm-radeon-update.patch
-ApplyPatch linux-2.6-git-initial-r500-drm.patch
 
 # ext4dev from Linus' upstream git tree, slated for 2.6.25
-ApplyPatch linux-2.6-ext4-linus-git.patch
+#ApplyPatch linux-2.6-ext4-linus-git.patch
 # ext4dev stable patch queue, slated for 2.6.25
 ApplyPatch linux-2.6-ext4-stable-queue.patch
 
-
 # linux1394 git patches
-ApplyPatch linux-2.6-firewire-git-update.patch
+#ApplyPatch linux-2.6-firewire-git-update.patch
 C=$(wc -l $RPM_SOURCE_DIR/linux-2.6-firewire-git-pending.patch | awk '{print $1}')
-if [ "$C" -gt 10 ]; then
-ApplyPatch linux-2.6-firewire-git-pending.patch
-fi
+#if [ "$C" -gt 10 ]; then
+#ApplyPatch linux-2.6-firewire-git-pending.patch
+#fi
 
 # usb video
 ApplyPatch linux-2.6-uvcvideo.patch
@@ -1779,6 +1704,7 @@
 %endif\
 /lib/modules/%{KVERREL}%{?2}/modules.block\
 /lib/modules/%{KVERREL}%{?2}/modules.networking\
+/lib/modules/%{KVERREL}%{?2}/modules.order\
 %ghost /boot/initrd-%{KVERREL}%{?2}.img\
 %{?-e:%{-e*}}\
 %{expand:%%files %{?2:%{2}-}devel}\
@@ -1815,6 +1741,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
 
 %changelog
+* Tue Feb 12 2008 Kyle McMartin <kmcmartin at redhat.com>
+- Linux 2.6.25-rc1
+
 * Mon Feb 11 2008 Roland McGrath <roland at redhat.com>
 - Fix debuginfo sorting regexp.
 - Strip ELF vmlinux used as /boot image.

linux-2.6-acpi-eeepc-hotkey.patch:

Index: linux-2.6-acpi-eeepc-hotkey.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-acpi-eeepc-hotkey.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-acpi-eeepc-hotkey.patch	5 Feb 2008 19:10:17 -0000	1.1
+++ linux-2.6-acpi-eeepc-hotkey.patch	12 Feb 2008 06:18:04 -0000	1.2
@@ -12,8 +12,8 @@
 --- a/drivers/misc/Kconfig
 +++ b/drivers/misc/Kconfig
 @@ -251,4 +251,14 @@ config ATMEL_SSC
- 
- 	  If unsure, say N.
+ 	  driver (SCSI/ATA) which supports enclosures
+ 	  or a SCSI enclosure device (SES) to use these services.
  
 +config EEEPC
 +        tristate "Eee PC Hotkey Driver (EXPERIMENTAL)"
@@ -31,9 +31,9 @@
 --- a/drivers/misc/Makefile
 +++ b/drivers/misc/Makefile
 @@ -17,3 +17,4 @@ obj-$(CONFIG_SONY_LAPTOP)	+= sony-laptop.o
- obj-$(CONFIG_THINKPAD_ACPI)	+= thinkpad_acpi.o
- obj-$(CONFIG_FUJITSU_LAPTOP)	+= fujitsu-laptop.o
  obj-$(CONFIG_EEPROM_93CX6)	+= eeprom_93cx6.o
+ obj-$(CONFIG_INTEL_MENLOW)	+= intel_menlow.o
+ obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
 +obj-$(CONFIG_EEEPC)		+= eeepc.o
 diff --git a/drivers/misc/eeepc.c b/drivers/misc/eeepc.c
 new file mode 100644

linux-2.6-build-nonintconfig.patch:

Index: linux-2.6-build-nonintconfig.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-build-nonintconfig.patch,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- linux-2.6-build-nonintconfig.patch	30 Oct 2007 01:57:49 -0000	1.12
+++ linux-2.6-build-nonintconfig.patch	12 Feb 2008 06:18:04 -0000	1.13
@@ -1,6 +1,8 @@
---- linux-2.6.23.noarch/scripts/kconfig/Makefile~	2007-10-29 19:20:10.000000000 -0400
-+++ linux-2.6.23.noarch/scripts/kconfig/Makefile	2007-10-29 19:20:24.000000000 -0400
-@@ -29,6 +29,11 @@ oldconfig: $(obj)/conf
+diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
+index 32e8c5a..8020453 100644
+--- a/scripts/kconfig/Makefile
++++ b/scripts/kconfig/Makefile
+@@ -24,6 +24,11 @@ oldconfig: $(obj)/conf
  silentoldconfig: $(obj)/conf
  	$< -s $(Kconfig)
  
@@ -9,12 +11,14 @@
 +loose_nonint_oldconfig: $(obj)/conf
 +	$< -B $(Kconfig)
 +
- # Create new linux.po file
+ # Create new linux.pot file
  # Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
  # The symlink is used to repair a deficiency in arch/um
---- linux-2.6.17/scripts/kconfig/conf.c.nonintconfig
-+++ linux-2.6.17/scripts/kconfig/conf.c
-@@ -21,6 +21,8 @@ enum {
+diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
+index fda6313..ed33b66 100644
+--- a/scripts/kconfig/conf.c
++++ b/scripts/kconfig/conf.c
+@@ -22,6 +22,8 @@ enum {
  	ask_all,
  	ask_new,
  	ask_silent,
@@ -23,7 +27,7 @@
  	set_default,
  	set_yes,
  	set_mod,
-@@ -37,6 +39,8 @@ static struct menu *rootEntry;
+@@ -38,6 +40,8 @@ static struct menu *rootEntry;
  
  static char nohelp_text[] = N_("Sorry, no help available for this option yet.\n");
  
@@ -32,7 +36,7 @@
  static const char *get_help(struct menu *menu)
  {
  	if (menu_has_help(menu))
-@@ -103,6 +107,16 @@ static void conf_askvalue(struct symbol 
+@@ -112,6 +116,16 @@ static int conf_askvalue(struct symbol *sym, const char *def)
  		fflush(stdout);
  		fgets(line, 128, stdin);
  		return 1;
@@ -49,7 +53,7 @@
  	case set_default:
  		printf("%s\n", def);
  		return 1;
-@@ -346,6 +358,11 @@ static int conf_choice(struct menu *menu
+@@ -351,6 +365,11 @@ static int conf_choice(struct menu *menu)
  			printf("?");
  		printf("]: ");
  		switch (input_mode) {
@@ -61,7 +65,7 @@
  		case ask_new:
  		case ask_silent:
  			if (!is_new) {
-@@ -482,6 +499,10 @@ static void check_conf(struct menu *menu
+@@ -486,6 +505,10 @@ static void check_conf(struct menu *menu)
  			if (!conf_cnt++)
  				printf(_("*\n* Restart config...\n*\n"));
  			rootEntry = menu_get_parent_menu(menu);
@@ -72,7 +76,13 @@
  			conf(rootEntry);
  		}
  	}
-@@ -501,6 +522,12 @@ int main(int ac, char **av)
+@@ -504,11 +527,17 @@ int main(int ac, char **av)
+ 	bindtextdomain(PACKAGE, LOCALEDIR);
+ 	textdomain(PACKAGE);
+ 
+-	while ((opt = getopt(ac, av, "osdD:nmyrh")) != -1) {
++	while ((opt = getopt(ac, av, "osbBdD:nmyrh")) != -1) {
+ 		switch (opt) {
  		case 'o':
  			input_mode = ask_new;
  			break;
@@ -85,7 +95,7 @@
  		case 's':
  			input_mode = ask_silent;
  			valid_stdin = isatty(0) && isatty(1) && isatty(2);
-@@ -566,6 +593,8 @@ int main(int ac, char **av)
+@@ -573,6 +602,8 @@ int main(int ac, char **av)
  		}
  	case ask_all:
  	case ask_new:
@@ -94,7 +104,7 @@
  		conf_read(NULL);
  		break;
  	case set_no:
-@@ -612,7 +641,8 @@ int main(int ac, char **av)
+@@ -619,7 +650,8 @@ int main(int ac, char **av)
  	do {
  		conf_cnt = 0;
  		check_conf(&rootmenu);
@@ -104,7 +114,7 @@
  	if (conf_write(NULL)) {
  		fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n"));
  		return 1;
-@@ -623,5 +653,5 @@ skip_check:
+@@ -630,5 +662,5 @@ skip_check:
  		return 1;
  	}
  

linux-2.6-compile-fix-gcc-43.patch:

Index: linux-2.6-compile-fix-gcc-43.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-compile-fix-gcc-43.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- linux-2.6-compile-fix-gcc-43.patch	4 Feb 2008 23:27:59 -0000	1.3
+++ linux-2.6-compile-fix-gcc-43.patch	12 Feb 2008 06:18:04 -0000	1.4
@@ -9,6 +9,33 @@
  {
  	ns += a->tv_nsec;
  	while(unlikely(ns >= NSEC_PER_SEC)) {
+--- a/include/linux/module.h
++++ b/include/linux/module.h
+@@ -30,6 +30,15 @@
+ 
+ #define MODULE_NAME_LEN (64 - sizeof(unsigned long))
+ 
++/* On some platforms relocations to global data cannot go into read-only
++ * sections, so 'const' makes no sense and even causes compile failures
++ * with some compilers. */
++#if defined(CONFIG_ALPHA) || defined(CONFIG_IA64) || defined(CONFIG_PPC64)
++#define __ksym_const
++#else
++#define __ksym_const const
++#endif
++
+ struct kernel_symbol
+ {
+ 	unsigned long value;
+@@ -192,7 +201,7 @@ void *__symbol_get_gpl(const char *symbol);
+ 	static const char __kstrtab_##sym[]			\
+ 	__attribute__((section("__ksymtab_strings")))		\
+ 	= MODULE_SYMBOL_PREFIX #sym;                    	\
+-	static const struct kernel_symbol __ksymtab_##sym	\
++	static __ksym_const struct kernel_symbol __ksymtab_##sym	\
+ 	__used							\
+ 	__attribute__((section("__ksymtab" sec), unused))	\
+ 	= { (unsigned long)&sym, __kstrtab_##sym }
 --- a/include/linux/moduleparam.h
 +++ b/include/linux/moduleparam.h
 @@ -62,6 +62,15 @@ struct kparam_array
@@ -33,33 +60,6 @@
  	static const char __param_str_##name[] = prefix #name;		\
 -	static struct kernel_param const __param_##name			\
 +	static struct kernel_param __moduleparam_const __param_##name	\
- 	__attribute_used__						\
+ 	__used								\
      __attribute__ ((unused,__section__ ("__param"),aligned(sizeof(void *)))) \
  	= { __param_str_##name, perm, set, get, { arg } }
---- linux-2.6.24.noarch.orig/include/linux/module.h
-+++ linux-2.6.24.noarch/include/linux/module.h
-@@ -30,6 +30,15 @@
- 
- #define MODULE_NAME_LEN (64 - sizeof(unsigned long))
- 
-+/* On some platforms relocations to global data cannot go into read-only
-+   sections, so 'const' makes no sense and even causes compile failures
-+   with some compilers. */
-+#if defined(CONFIG_ALPHA) || defined(CONFIG_IA64) || defined(CONFIG_PPC64)
-+#define __ksym_const
-+#else
-+#define __ksym_const const
-+#endif
-+
- struct kernel_symbol
- {
- 	unsigned long value;
-@@ -192,7 +201,7 @@ void *__symbol_get_gpl(const char *symbo
- 	static const char __kstrtab_##sym[]			\
- 	__attribute__((section("__ksymtab_strings")))		\
- 	= MODULE_SYMBOL_PREFIX #sym;                    	\
--	static const struct kernel_symbol __ksymtab_##sym	\
-+	static __ksym_const struct kernel_symbol __ksymtab_##sym	\
- 	__attribute_used__					\
- 	__attribute__((section("__ksymtab" sec), unused))	\
- 	= { (unsigned long)&sym, __kstrtab_##sym }

linux-2.6-crash-driver.patch:

Index: linux-2.6-crash-driver.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-crash-driver.patch,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- linux-2.6-crash-driver.patch	31 Oct 2007 21:30:48 -0000	1.10
+++ linux-2.6-crash-driver.patch	12 Feb 2008 06:18:04 -0000	1.11
@@ -1,15 +1,3 @@
-diff -urNp --exclude-from=/home/davej/.exclude linux-1050/arch/i386/mm/init.c linux-1060/arch/i386/mm/init.c
---- linux-1050/arch/x86/mm/init_32.c
-+++ linux-1060/arch/x86/mm/init_32.c
-@@ -248,6 +248,8 @@ int devmem_is_allowed(unsigned long page
-    return 0;
- }
- 
-+EXPORT_SYMBOL_GPL(page_is_ram);
-+
- #ifdef CONFIG_HIGHMEM
- pte_t *kmap_pte;
- pgprot_t kmap_prot;
 diff -urNp --exclude-from=/home/davej/.exclude linux-1050/arch/ia64/kernel/ia64_ksyms.c linux-1060/arch/ia64/kernel/ia64_ksyms.c
 --- linux-1050/arch/ia64/kernel/ia64_ksyms.c
 +++ linux-1060/arch/ia64/kernel/ia64_ksyms.c
@@ -23,24 +11,6 @@
  #ifdef ASM_SUPPORTED
  # ifdef CONFIG_SMP
  #  if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 3)
-diff -urNp --exclude-from=/home/davej/.exclude linux-1050/arch/x86_64/mm/init.c linux-1060/arch/x86_64/mm/init.c
---- linux-1050/arch/x86/mm/init_64.c
-+++ linux-1060/arch/x86/mm/init_64.c
-@@ -6,5 +6,6 @@
-  */
- 
-+#include <linux/module.h>
- #include <linux/signal.h>
- #include <linux/sched.h>
- #include <linux/kernel.h>
-@@ -452,6 +452,7 @@ static inline int page_is_ram (unsigned 
- 	}
- 	return 0;
- }
-+EXPORT_SYMBOL_GPL(page_is_ram);
- 
- /*
-  * Memory hotplug specific functions
 diff -urNp --exclude-from=/home/davej/.exclude linux-1050/drivers/char/crash.c linux-1060/drivers/char/crash.c
 --- linux-1050/drivers/char/crash.c
 +++ linux-1060/drivers/char/crash.c
@@ -369,3 +339,15 @@
 +#endif /* __KERNEL__ */
 +
 +#endif /* _ASM_IA64_CRASH_H */
+diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
+index c004d94..13417a2 100644
+--- a/arch/x86/mm/ioremap.c
++++ b/arch/x86/mm/ioremap.c
+@@ -65,6 +65,7 @@ int page_is_ram(unsigned long pagenr)
+ 	}
+ 	return 0;
+ }
++EXPORT_SYMBOL_GPL(page_is_ram);
+ 
+ /*
+  * Fix up the linear direct mapping of the kernel to avoid cache attribute

linux-2.6-debug-no-quiet.patch:

Index: linux-2.6-debug-no-quiet.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-debug-no-quiet.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- linux-2.6-debug-no-quiet.patch	28 May 2007 06:33:16 -0000	1.5
+++ linux-2.6-debug-no-quiet.patch	12 Feb 2008 06:18:04 -0000	1.6
@@ -1,21 +1,24 @@
 diff --git a/init/main.c b/init/main.c
-index a92989e..f4dee52 100644
+index 8b19820..c27d2a0 100644
 --- a/init/main.c
 +++ b/init/main.c
-@@ -236,7 +236,11 @@ static int __init quiet_kernel(char *str)
+@@ -244,8 +244,12 @@ static int __init debug_kernel(char *str)
+ 
+ static int __init quiet_kernel(char *str)
  {
- 	if (*str)
- 		return 0;
 +#ifdef CONFIG_DEBUG_IGNORE_QUIET
 +	console_loglevel = 10;
 +#else
  	console_loglevel = 4;
+ 	return 0;
 +#endif
- 	return 1;
  }
  
---- linux-2.6.21.noarch/lib/Kconfig.debug~	2007-05-28 02:18:07.000000000 -0400
-+++ linux-2.6.21.noarch/lib/Kconfig.debug	2007-05-28 02:18:43.000000000 -0400
+ early_param("debug", debug_kernel);
+diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
+index a370fe8..aee5495 100644
+--- a/lib/Kconfig.debug
++++ b/lib/Kconfig.debug
 @@ -1,3 +1,8 @@
 +config DEBUG_IGNORE_QUIET
 +	bool "Ignore 'quiet' boot argument"

linux-2.6-debug-sizeof-structs.patch:

Index: linux-2.6-debug-sizeof-structs.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-debug-sizeof-structs.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- linux-2.6-debug-sizeof-structs.patch	14 Feb 2007 18:26:48 -0000	1.5
+++ linux-2.6-debug-sizeof-structs.patch	12 Feb 2008 06:18:04 -0000	1.6
@@ -2,7 +2,7 @@
 +++ linux-2.6/init/main.c	2006-07-11 02:49:01.000000000 -0400
 @@ -350,6 +350,10 @@ static void __init setup_per_cpu_areas(v
  }
- #endif /* !__GENERIC_PER_CPU */
+ #endif /* CONFIG_HAVE_SETUP_PER_CPU_AREA */
  
 +#include <linux/ext3_fs_i.h>
 +#include <linux/skbuff.h>
@@ -16,7 +16,7 @@
 @@ -403,6 +403,15 @@ static void __init smp_init(void)
  	/* Any cleanup work */
  	printk(KERN_INFO "Brought up %ld CPUs\n", (long)num_online_cpus());
- 	smp_cpus_done(max_cpus);
+ 	smp_cpus_done(setup_max_cpus);
 +
 +	printk(KERN_DEBUG "sizeof(vma)=%u bytes\n", (unsigned int) sizeof(struct vm_area_struct));
 +	printk(KERN_DEBUG "sizeof(page)=%u bytes\n", (unsigned int) sizeof(struct page));

linux-2.6-debug-taint-vm.patch:

Index: linux-2.6-debug-taint-vm.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-debug-taint-vm.patch,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- linux-2.6-debug-taint-vm.patch	14 Dec 2007 04:13:06 -0000	1.19
+++ linux-2.6-debug-taint-vm.patch	12 Feb 2008 06:18:04 -0000	1.20
@@ -1,63 +1,3 @@
-diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h
-index d56fedb..e35833a 100644
---- a/include/asm-generic/bug.h
-+++ b/include/asm-generic/bug.h
-@@ -3,6 +3,10 @@
- 
- #include <linux/compiler.h>
- 
-+#ifndef __ASSEMBLY__
-+extern const char *print_tainted(void);
-+#endif
-+
- #ifdef CONFIG_BUG
- 
- #ifdef CONFIG_GENERIC_BUG
-@@ -22,7 +26,8 @@ struct bug_entry {
- 
- #ifndef HAVE_ARCH_BUG
- #define BUG() do { \
--	printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \
-+	printk(KERN_ERR "BUG: failure at %s:%d/%s()! (%s)\n",	\
-+		__FILE__, __LINE__, __FUNCTION__, print_tainted()); \
- 	panic("BUG!"); \
- } while (0)
- #endif
-@@ -32,13 +37,13 @@ struct bug_entry {
- #endif
- 
- #ifndef HAVE_ARCH_WARN_ON
-+#ifndef __ASSEMBLY__
-+void out_of_line_warnon(char *file, unsigned int line, const char *func);
-+#endif
- #define WARN_ON(condition) ({						\
- 	int __ret_warn_on = !!(condition);				\
--	if (unlikely(__ret_warn_on)) {					\
--		printk("WARNING: at %s:%d %s()\n", __FILE__,		\
--			__LINE__, __FUNCTION__);			\
--		dump_stack();						\
--	}								\
-+	if (unlikely(__ret_warn_on))					\
-+		out_of_line_warnon(__FILE__, __LINE__, __FUNCTION__);	\
- 	unlikely(__ret_warn_on);					\
- })
- #endif
-diff --git a/init/main.c b/init/main.c
-index 80b04b6..b1fad76 100644
---- a/init/main.c
-+++ b/init/main.c
-@@ -855,3 +855,11 @@ static int __init kernel_init(void * unused)
- 	init_post();
- 	return 0;
- }
-+
-+void out_of_line_warnon(char *file, unsigned int line, const char *func)
-+{
-+	printk(KERN_ERR "WARNING: at %s:%d %s() (%s)\n",
-+		file, line, func, print_tainted());
-+	dump_stack();
-+}
-+EXPORT_SYMBOL(out_of_line_warnon);
 diff --git a/kernel/panic.c b/kernel/panic.c
 index 6f6e03e..198fc58 100644
 --- a/kernel/panic.c
@@ -128,3 +68,18 @@
  	printk(KERN_ERR "----------------------------------------"
  			"-------------------------------------\n\n");
  }
+diff --git a/kernel/panic.c b/kernel/panic.c
+index d9e90cf..570b1f6 100644
+--- a/kernel/panic.c
++++ b/kernel/panic.c
+@@ -306,8 +306,8 @@ void warn_on_slowpath(const char *file, int line)
+ 	sprint_symbol(function, caller);
+ 
+ 	printk(KERN_WARNING "------------[ cut here ]------------\n");
+-	printk(KERN_WARNING "WARNING: at %s:%d %s()\n", file,
+-		line, function);
++	printk(KERN_WARNING "WARNING: at %s:%d %s() (%s)\n", file,
++		line, function, print_tainted());
+ 	print_modules();
+ 	dump_stack();
+ 	print_oops_end_marker();

linux-2.6-devmem.patch:

Index: linux-2.6-devmem.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-devmem.patch,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- linux-2.6-devmem.patch	15 Nov 2007 19:22:02 -0000	1.21
+++ linux-2.6-devmem.patch	12 Feb 2008 06:18:04 -0000	1.22
@@ -1,46 +1,8 @@
-
-Restrict the abilities of /dev/mem and /dev/kmem
-Make them read-only, and also restrict which areas of
-memory can be read.
-
-Original by Arjan van de Ven
-Signed-off-by: Dave Jones <davej at redhat.com>
-
-Index: linux-2.6/arch/i386/mm/init.c
-===================================================================
---- linux-2.6.orig/arch/x86/mm/init_32.c
-+++ linux-2.6/arch/x86/mm/init_32.c
-@@ -233,6 +233,25 @@ int page_is_ram(unsigned long pagenr)
- 	return 0;
- }
- 
-+/*
-+ * devmem_is_allowed() checks to see if /dev/mem access to a certain address is
-+ * valid. The argument is a physical page number.
-+ *
-+ *
-+ * On x86, access has to be given to the first megabyte of ram because that area
-+ * contains bios code and data regions used by X and dosemu and similar apps.
-+ * Access has to be given to non-kernel-ram areas as well, these contain the PCI
-+ * mmio resources as well as potential bios/acpi data regions.
-+ */
-+int devmem_is_allowed(unsigned long pagenr)
-+{
-+	if (pagenr <= 256)
-+		return 1;
-+	if (!page_is_ram(pagenr))
-+		return 1;
-+	return 0;
-+}
-+
- #ifdef CONFIG_HIGHMEM
- pte_t *kmap_pte;
- pgprot_t kmap_prot;
-Index: linux-2.6/arch/ia64/mm/init.c
-===================================================================
---- linux-2.6.orig/arch/ia64/mm/init.c
-+++ linux-2.6/arch/ia64/mm/init.c
-@@ -263,6 +263,12 @@ free_initrd_mem (unsigned long start, un
+diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
+index 25aef62..ec4700c 100644
+--- a/arch/ia64/mm/init.c
++++ b/arch/ia64/mm/init.c
+@@ -227,6 +227,12 @@ free_initrd_mem (unsigned long start, unsigned long end)
  	}
  }
  
@@ -53,19 +15,19 @@
  /*
   * This installs a clean page in the kernel's page table.
   */
-Index: linux-2.6/arch/powerpc/mm/mem.c
-===================================================================
---- linux-2.6.orig/arch/powerpc/mm/mem.c
-+++ linux-2.6/arch/powerpc/mm/mem.c
-@@ -45,6 +45,7 @@
- #include <asm/prom.h>
+diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
+index 93a5c53..27d9f33 100644
+--- a/arch/powerpc/mm/mem.c
++++ b/arch/powerpc/mm/mem.c
+@@ -44,6 +44,7 @@
+ #include <asm/tlb.h>
  #include <asm/lmb.h>
  #include <asm/sections.h>
 +#include <asm/rtas.h>
  #include <asm/vdso.h>
  
  #include "mmu_decl.h"
-@@ -343,6 +344,19 @@ void __init mem_init(void)
+@@ -329,6 +330,19 @@ void __init mem_init(void)
  	max_mapnr = max_pfn;
  	totalram_pages += free_all_bootmem();
  #endif
@@ -85,9 +47,11 @@
  	for_each_online_pgdat(pgdat) {
  		for (i = 0; i < pgdat->node_spanned_pages; i++) {
  			if (!pfn_valid(pgdat->node_start_pfn + i))
---- linux-2.6.21.noarch/arch/s390/mm/init.c~	2007-05-27 23:04:09.000000000 -0400
-+++ linux-2.6.21.noarch/arch/s390/mm/init.c	2007-05-27 23:04:20.000000000 -0400
-@@ -156,6 +156,11 @@ void __init paging_init(void)
+diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c
+index 983ec6e..e727fd0 100644
+--- a/arch/s390/mm/init.c
++++ b/arch/s390/mm/init.c
+@@ -137,6 +137,11 @@ void __init paging_init(void)
  	free_area_init_nodes(max_zone_pfns);
  }
  
@@ -99,42 +63,64 @@
  void __init mem_init(void)
  {
  	unsigned long codesize, reservedpages, datasize, initsize;
-Index: linux-2.6/arch/x86_64/mm/init.c
-===================================================================
---- linux-2.6.orig/arch/x86/mm/init_64.c
-+++ linux-2.6/arch/x86/mm/init_64.c
-@@ -452,6 +452,28 @@ void __init clear_kernel_mapping(unsigne
- 	__flush_tlb_all();
- } 
+diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
+index d1d8c34..2de224b 100644
+--- a/arch/x86/kernel/setup_32.c
++++ b/arch/x86/kernel/setup_32.c
+@@ -465,12 +465,16 @@ static inline unsigned long long get_total_mem(void)
+ }
  
-+static int page_is_ram(unsigned long pagenr)
-+{
-+	int i;
+ #ifdef CONFIG_KEXEC
++extern int allow_kcore_access;
 +
-+	for (i = 0; i < e820.nr_map; i++) {
-+		unsigned long addr, end;
+ static void __init reserve_crashkernel(void)
+ {
+ 	unsigned long long total_mem;
+ 	unsigned long long crash_size, crash_base;
+ 	int ret;
+ 
++	allow_kcore_access = 1;	/*enable ability to read /proc/kcore*/
 +
-+		if (e820.map[i].type != E820_RAM)	/* not usable memory */
-+			continue;
-+		/*
-+		 * !!!FIXME!!! Some BIOSen report areas as RAM that
-+		 * are not. Notably the 640->1Mb area. We need a sanity
-+		 * check here.
-+		 */
-+		addr = (e820.map[i].addr+PAGE_SIZE-1) >> PAGE_SHIFT;
-+		end = (e820.map[i].addr+e820.map[i].size) >> PAGE_SHIFT;
-+		if  ((pagenr >= addr) && (pagenr < end))
-+			return 1;
-+	}
+ 	total_mem = get_total_mem();
+ 
+ 	ret = parse_crashkernel(boot_command_line, total_mem,
+diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
+index d1bc040..50d4b66 100644
+--- a/arch/x86/mm/init_32.c
++++ b/arch/x86/mm/init_32.c
+@@ -217,6 +217,25 @@ static inline int page_kills_ppro(unsigned long pagenr)
+ 	return 0;
+ }
+ 
++/*
++ * devmem_is_allowed() checks to see if /dev/mem access to a certain address is
++ * valid. The argument is a physical page number.
++ *
++ *
++ * On x86, access has to be given to the first megabyte of ram because that area
++ * contains bios code and data regions used by X and dosemu and similar apps.
++ * Access has to be given to non-kernel-ram areas as well, these contain the PCI
++ * mmio resources as well as potential bios/acpi data regions.
++ */
++int devmem_is_allowed(unsigned long pagenr)
++{
++	if (pagenr <= 256)
++		return 1;
++	if (!page_is_ram(pagenr))
++		return 1;
 +	return 0;
 +}
 +
- /*
-  * Memory hotplug specific functions
-  */
-@@ -534,6 +556,26 @@ int __add_pages(struct zone *z, unsigned
- }
- #endif
+ #ifdef CONFIG_HIGHMEM
+ pte_t *kmap_pte;
+ pgprot_t kmap_prot;
+diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
+index 5fe880f..a270b48 100644
+--- a/arch/x86/mm/init_64.c
++++ b/arch/x86/mm/init_64.c
+@@ -479,6 +479,25 @@ EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
+ static struct kcore_list kcore_mem, kcore_vmalloc, kcore_kernel,
+ 			 kcore_modules, kcore_vsyscall;
  
 +/*
 + * devmem_is_allowed() checks to see if /dev/mem access to a certain address is
@@ -155,27 +141,156 @@
 +	return 0;
 +}
 +
+ void __init mem_init(void)
+ {
+ 	long codesize, reservedpages, datasize, initsize;
+diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
+index f01ac9a..54a2f8c 100644
+--- a/drivers/char/Kconfig
++++ b/drivers/char/Kconfig
+@@ -1047,6 +1047,20 @@ config DEVPORT
+ 	depends on ISA || PCI
+ 	default y
+ 
++config WRITABLE_DEVMEM
++	bool "Allow writing to /dev/mem"
++	help
++	  Very little software actually requires a writable /dev/mem
++	  Disabling this feature will close off a potential attack
++	  vector for kernel rootkits.
++
++config WRITABLE_DEVKMEM
++	bool "Allow writing to /dev/kmem"
++	help
++	  Very little software actually requires a writable /dev/kmem
++	  Disabling this feature will close off a potential attack
++	  vector for kernel rootkits.
++
+ source "drivers/s390/char/Kconfig"
+ 
+ endmenu
+diff --git a/drivers/char/mem.c b/drivers/char/mem.c
+index 20070b7..9393369 100644
+--- a/drivers/char/mem.c
++++ b/drivers/char/mem.c
+@@ -108,6 +108,23 @@ static inline int valid_mmap_phys_addr_range(unsigned long pfn, size_t size)
+ }
+ #endif
+ 
++static inline int range_is_allowed(unsigned long from, unsigned long to)
++{
++	unsigned long cursor;
++
++	cursor = from >> PAGE_SHIFT;
++	while ((cursor << PAGE_SHIFT) < to) {
++		if (!devmem_is_allowed(cursor)) {
++			printk(KERN_INFO "Program %s tried to read /dev/mem "
++				"between %lx->%lx.\n",
++				current->comm, from, to);
++			return 0;
++		}
++		cursor++;
++	}
++	return 1;
++}
++
+ /*
+  * This funcion reads the *physical* memory. The f_pos points directly to the 
+  * memory location. 
+@@ -157,6 +174,9 @@ static ssize_t read_mem(struct file * file, char __user * buf,
+ 		 */
+ 		ptr = xlate_dev_mem_ptr(p);
+ 
++		//FIXME: Add write-once sysctl
++		//if (!range_is_allowed(p, p+count))
++		//	return -EPERM;
+ 		if (copy_to_user(buf, ptr, sz))
+ 			return -EFAULT;
+ 		buf += sz;
+@@ -169,6 +189,7 @@ static ssize_t read_mem(struct file * file, char __user * buf,
+ 	return read;
+ }
+ 
++#ifdef CONFIG_WRITABLE_DEVMEM
+ static ssize_t write_mem(struct file * file, const char __user * buf, 
+ 			 size_t count, loff_t *ppos)
+ {
+@@ -214,6 +235,8 @@ static ssize_t write_mem(struct file * file, const char __user * buf,
+ 		 */
+ 		ptr = xlate_dev_mem_ptr(p);
+ 
++		if (!range_is_allowed(ptr, ptr+sz))
++			return -EPERM;
+ 		copied = copy_from_user(ptr, buf, sz);
+ 		if (copied) {
+ 			written += sz - copied;
+@@ -230,6 +253,9 @@ static ssize_t write_mem(struct file * file, const char __user * buf,
+ 	*ppos += written;
+ 	return written;
+ }
++#else
++#define write_mem 0
++#endif
+ 
+ #ifndef __HAVE_PHYS_MEM_ACCESS_PROT
+ static pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
+@@ -363,6 +389,9 @@ static ssize_t read_kmem(struct file *file, char __user *buf,
+ 	ssize_t low_count, read, sz;
+ 	char * kbuf; /* k-addr because vread() takes vmlist_lock rwlock */
+ 
++	//FIXME: Add write-once sysctl
++	//return -EPERM;
 +
- static struct kcore_list kcore_mem, kcore_vmalloc, kcore_kernel, kcore_modules,
- 			 kcore_vsyscall;
+ 	read = 0;
+ 	if (p < (unsigned long) high_memory) {
+ 		low_count = count;
+@@ -439,6 +468,7 @@ static ssize_t read_kmem(struct file *file, char __user *buf,
+ }
  
-Index: linux-2.6/fs/proc/kcore.c
-===================================================================
---- linux-2.6.orig/fs/proc/kcore.c
-+++ linux-2.6/fs/proc/kcore.c
-@@ -25,7 +25,7 @@
  
++#ifdef CONFIG_WRITABLE_DEVKMEM
+ static inline ssize_t
+ do_write_kmem(void *p, unsigned long realp, const char __user * buf,
+ 	      size_t count, loff_t *ppos)
+@@ -557,6 +587,9 @@ static ssize_t write_kmem(struct file * file, const char __user * buf,
+  	*ppos = p;
+  	return virtr + wrote;
+ }
++#else
++#define write_kmem 0
++#endif
+ 
+ #ifdef CONFIG_DEVPORT
+ static ssize_t read_port(struct file * file, char __user * buf,
+@@ -873,7 +906,6 @@ static const struct {
+ 	const struct file_operations	*fops;
+ } devlist[] = { /* list of minor devices */
+ 	{1, "mem",     S_IRUSR | S_IWUSR | S_IRGRP, &mem_fops},
+-	{2, "kmem",    S_IRUSR | S_IWUSR | S_IRGRP, &kmem_fops},
+ 	{3, "null",    S_IRUGO | S_IWUGO,           &null_fops},
+ #ifdef CONFIG_DEVPORT
+ 	{4, "port",    S_IRUSR | S_IWUSR | S_IRGRP, &port_fops},
+diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c
+index 7dd26e1..6908684 100644
+--- a/fs/proc/kcore.c
++++ b/fs/proc/kcore.c
+@@ -23,10 +23,10 @@
+ #include <asm/io.h>
+ 
+ #define CORE_STR "CORE"
+-
++unsigned int allow_kcore_access;
  static int open_kcore(struct inode * inode, struct file * filp)
  {
 -	return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
-+	return -EPERM;
++	return (capable(CAP_SYS_RAWIO) && allow_kcore_access) ? 0 : -EPERM;
  }
  
  static ssize_t read_kcore(struct file *, char __user *, size_t, loff_t *);
-Index: linux-2.6/include/asm-alpha/page.h
-===================================================================
---- linux-2.6.orig/include/asm-alpha/page.h
-+++ linux-2.6/include/asm-alpha/page.h
+diff --git a/include/asm-alpha/page.h b/include/asm-alpha/page.h
+index 05f09f9..4a6278d 100644
+--- a/include/asm-alpha/page.h
++++ b/include/asm-alpha/page.h
 @@ -93,6 +93,8 @@ typedef unsigned long pgprot_t;
  #define VM_DATA_DEFAULT_FLAGS		(VM_READ | VM_WRITE | VM_EXEC | \
  					 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
@@ -185,124 +300,111 @@
  #include <asm-generic/memory_model.h>
  #include <asm-generic/page.h>
  
-Index: linux-2.6/include/asm-arm/page.h
-===================================================================
---- linux-2.6.orig/include/asm-arm/page.h
-+++ linux-2.6/include/asm-arm/page.h
-@@ -192,6 +192,8 @@ typedef unsigned long pgprot_t;
+diff --git a/include/asm-arm/page.h b/include/asm-arm/page.h
+index 31ff12f..a323361 100644
+--- a/include/asm-arm/page.h
++++ b/include/asm-arm/page.h
+@@ -189,4 +189,6 @@ typedef unsigned long pgprot_t;
  
  #include <asm-generic/page.h>
  
 +#define devmem_is_allowed(x) 1
 +
- #endif /* __KERNEL__ */
- 
  #endif
-Index: linux-2.6/include/asm-cris/page.h
-===================================================================
---- linux-2.6.orig/include/asm-cris/page.h
-+++ linux-2.6/include/asm-cris/page.h
-@@ -76,6 +76,8 @@ typedef struct { unsigned long pgprot; }
+diff --git a/include/asm-cris/page.h b/include/asm-cris/page.h
+index 3b0156c..5470f04 100644
+--- a/include/asm-cris/page.h
++++ b/include/asm-cris/page.h
+@@ -72,5 +72,7 @@ typedef struct { unsigned long pgprot; } pgprot_t;
  #include <asm-generic/memory_model.h>
  #include <asm-generic/page.h>
  
 +#define devmem_is_allowed(x) 1
 +
- #endif /* __KERNEL__ */
- 
  #endif /* _CRIS_PAGE_H */
-Index: linux-2.6/include/asm-h8300/page.h
-===================================================================
---- linux-2.6.orig/include/asm-h8300/page.h
-+++ linux-2.6/include/asm-h8300/page.h
-@@ -78,6 +78,8 @@ extern unsigned long memory_end;
+ 
+diff --git a/include/asm-h8300/page.h b/include/asm-h8300/page.h
+index a834924..3f6df5f 100644
+--- a/include/asm-h8300/page.h
++++ b/include/asm-h8300/page.h
+@@ -77,4 +77,6 @@ extern unsigned long memory_end;
  #include <asm-generic/memory_model.h>
  #include <asm-generic/page.h>
  
 +#define devmem_is_allowed(x) 1
 +
- #endif /* __KERNEL__ */
- 
  #endif /* _H8300_PAGE_H */
-Index: linux-2.6/include/asm-i386/page.h
-===================================================================
---- linux-2.6.orig/include/asm-x86/page_32.h
-+++ linux-2.6/include/asm-x86/page_32.h
-@@ -108,6 +108,8 @@ extern int sysctl_legacy_va_layout;
- 
- extern int page_is_ram(unsigned long pagenr);
- 
-+extern int devmem_is_allowed(unsigned long pagenr);
-+
- #endif /* __ASSEMBLY__ */
- 
- #ifdef __ASSEMBLY__
-Index: linux-2.6/include/asm-ia64/page.h
-===================================================================
---- linux-2.6.orig/include/asm-ia64/page.h
-+++ linux-2.6/include/asm-ia64/page.h
-@@ -227,5 +227,6 @@ get_order (unsigned long size)
+diff --git a/include/asm-ia64/page.h b/include/asm-ia64/page.h
+index 8a8aa3f..97c0ce7 100644
+--- a/include/asm-ia64/page.h
++++ b/include/asm-ia64/page.h
+@@ -225,4 +225,6 @@ get_order (unsigned long size)
  					 (((current->personality & READ_IMPLIES_EXEC) != 0)	\
  					  ? VM_EXEC : 0))
  
 +#define devmem_is_allowed(x) 1
- # endif /* __KERNEL__ */
++
  #endif /* _ASM_IA64_PAGE_H */
-Index: linux-2.6/include/asm-m68k/page.h
-===================================================================
---- linux-2.6.orig/include/asm-m68k/page.h
-+++ linux-2.6/include/asm-m68k/page.h
-@@ -177,6 +177,8 @@ static inline void *__va(unsigned long x
+diff --git a/include/asm-m68k/page.h b/include/asm-m68k/page.h
+index 3f29e2a..3b02899 100644
+--- a/include/asm-m68k/page.h
++++ b/include/asm-m68k/page.h
+@@ -227,4 +227,6 @@ static inline __attribute_const__ int __virt_to_node_shift(void)
  
  #include <asm-generic/page.h>
  
 +#define devmem_is_allowed(x) 1
 +
- #endif /* __KERNEL__ */
- 
  #endif /* _M68K_PAGE_H */
-Index: linux-2.6/include/asm-m68knommu/page.h
-===================================================================
---- linux-2.6.orig/include/asm-m68knommu/page.h
-+++ linux-2.6/include/asm-m68knommu/page.h
-@@ -77,6 +77,8 @@ extern unsigned long memory_end;
+diff --git a/include/asm-m68knommu/page.h b/include/asm-m68knommu/page.h
+index 6af480c..b92da3c 100644
+--- a/include/asm-m68knommu/page.h
++++ b/include/asm-m68knommu/page.h
+@@ -76,4 +76,6 @@ extern unsigned long memory_end;
  
  #include <asm-generic/page.h>
  
 +#define devmem_is_allowed(x) 1
 +
- #endif /* __KERNEL__ */
- 
  #endif /* _M68KNOMMU_PAGE_H */
-Index: linux-2.6/include/asm-mips/page.h
-===================================================================
---- linux-2.6.orig/include/asm-mips/page.h
-+++ linux-2.6/include/asm-mips/page.h
-@@ -178,4 +178,6 @@ typedef struct { unsigned long pgprot; }
- 
- #endif /* defined (__KERNEL__) */
+diff --git a/include/asm-mips/page.h b/include/asm-mips/page.h
+index 635aa44..f3b43fb 100644
+--- a/include/asm-mips/page.h
++++ b/include/asm-mips/page.h
+@@ -187,4 +187,6 @@ typedef struct { unsigned long pgprot; } pgprot_t;
+ #include <asm-generic/memory_model.h>
+ #include <asm-generic/page.h>
  
 +#define devmem_is_allowed(x) 1
 +
  #endif /* _ASM_PAGE_H */
-Index: linux-2.6/include/asm-parisc/page.h
-===================================================================
---- linux-2.6.orig/include/asm-parisc/page.h
-+++ linux-2.6/include/asm-parisc/page.h
-@@ -169,6 +169,8 @@ extern int npmem_ranges;
+diff --git a/include/asm-parisc/page.h b/include/asm-parisc/page.h
+index b08d915..7826e3d 100644
+--- a/include/asm-parisc/page.h
++++ b/include/asm-parisc/page.h
+@@ -173,4 +173,6 @@ extern int npmem_ranges;
  #include <asm-generic/memory_model.h>
  #include <asm-generic/page.h>
  
 +#define devmem_is_allowed(x) 1
 +
- #endif /* __KERNEL__ */
- 
  #endif /* _PARISC_PAGE_H */
-Index: linux-2.6/include/asm-ppc/page.h
-===================================================================
---- linux-2.6.orig/include/asm-ppc/page.h
-+++ linux-2.6/include/asm-ppc/page.h
-@@ -173,6 +173,8 @@ extern __inline__ int get_order(unsigned
+diff --git a/include/asm-powerpc/page.h b/include/asm-powerpc/page.h
+index 61e3725..7327b1c 100644
+--- a/include/asm-powerpc/page.h
++++ b/include/asm-powerpc/page.h
+@@ -193,4 +193,6 @@ struct vm_area_struct;
+ #include <asm-generic/memory_model.h>
+ #endif /* __ASSEMBLY__ */
+ 
++#define devmem_is_allowed(x) 1
++
+ #endif /* _ASM_POWERPC_PAGE_H */
+diff --git a/include/asm-ppc/page.h b/include/asm-ppc/page.h
+index ad4c5a1..cd10d2d 100644
+--- a/include/asm-ppc/page.h
++++ b/include/asm-ppc/page.h
+@@ -133,6 +133,8 @@ extern __inline__ int get_order(unsigned long size)
  /* We do define AT_SYSINFO_EHDR but don't use the gate mechanism */
  #define __HAVE_ARCH_GATE_AREA		1
  
@@ -311,72 +413,44 @@
  #include <asm-generic/memory_model.h>
  #endif /* __KERNEL__ */
  #endif /* _PPC_PAGE_H */
-Index: linux-2.6/include/asm-powerpc/page.h
-===================================================================
---- linux-2.6.orig/include/asm-powerpc/page.h
-+++ linux-2.6/include/asm-powerpc/page.h
-@@ -191,6 +191,8 @@ extern const char *arch_vma_name(struct 
- #include <asm-generic/memory_model.h>
- #endif /* __ASSEMBLY__ */
- 
-+#define devmem_is_allowed(x) 1
-+
- #endif /* __KERNEL__ */
- 
- #endif /* _ASM_POWERPC_PAGE_H */
-Index: linux-2.6/include/asm-s390/page.h
-===================================================================
---- linux-2.6.orig/include/asm-s390/page.h
-+++ linux-2.6/include/asm-s390/page.h
-@@ -148,6 +148,8 @@ page_get_storage_key(unsigned long addr)
+diff --git a/include/asm-s390/page.h b/include/asm-s390/page.h
+index a55f9d9..68ec282 100644
+--- a/include/asm-s390/page.h
++++ b/include/asm-s390/page.h
+@@ -171,4 +171,6 @@ static inline int pfn_valid(unsigned long pfn)
  #include <asm-generic/memory_model.h>
  #include <asm-generic/page.h>
  
 +#define devmem_is_allowed(x) 1
 +
- #endif /* __KERNEL__ */
- 
  #endif /* _S390_PAGE_H */
---- linux-2.6.22.noarch/include/asm-sh/page.h~	2007-07-20 14:22:49.000000000 -0400
-+++ linux-2.6.22.noarch/include/asm-sh/page.h	2007-07-20 14:22:54.000000000 -0400
-@@ -158,5 +158,7 @@ typedef struct { unsigned long pgd; } pg
- #define ARCH_KMALLOC_MINALIGN	4
- #define ARCH_SLAB_MINALIGN	4
+diff --git a/include/asm-sh/page.h b/include/asm-sh/page.h
+index e0fe029..ace1608 100644
+--- a/include/asm-sh/page.h
++++ b/include/asm-sh/page.h
+@@ -176,4 +176,6 @@ typedef struct { unsigned long pgd; } pgd_t;
+ #define ARCH_SLAB_MINALIGN	8
+ #endif
  
 +#define devmem_is_allowed(x) 1
 +
- #endif /* __KERNEL__ */
  #endif /* __ASM_SH_PAGE_H */
-Index: linux-2.6/include/asm-sh64/page.h
-===================================================================
---- linux-2.6.orig/include/asm-sh64/page.h
-+++ linux-2.6/include/asm-sh64/page.h
-@@ -115,5 +115,7 @@ typedef struct { unsigned long pgprot; }
+diff --git a/include/asm-sparc/page.h b/include/asm-sparc/page.h
+index cbc48c0..eaeb356 100644
+--- a/include/asm-sparc/page.h
++++ b/include/asm-sparc/page.h
+@@ -161,4 +161,6 @@ extern unsigned long pfn_base;
  #include <asm-generic/memory_model.h>
  #include <asm-generic/page.h>
  
 +#define devmem_is_allowed(x) 1
 +
- #endif /* __KERNEL__ */
- #endif /* __ASM_SH64_PAGE_H */
-Index: linux-2.6/include/asm-sparc/page.h
-===================================================================
---- linux-2.6.orig/include/asm-sparc/page.h
-+++ linux-2.6/include/asm-sparc/page.h
-@@ -163,6 +163,8 @@ extern unsigned long pfn_base;
- #include <asm-generic/memory_model.h>
- #include <asm-generic/page.h>
- 
-+#define devmem_is_allowed(x) 1
-+
- #endif /* __KERNEL__ */
- 
  #endif /* _SPARC_PAGE_H */
-Index: linux-2.6/include/asm-sparc64/page.h
-===================================================================
---- linux-2.6.orig/include/asm-sparc64/page.h
-+++ linux-2.6/include/asm-sparc64/page.h
-@@ -141,6 +141,8 @@ typedef unsigned long pgprot_t;
+diff --git a/include/asm-sparc64/page.h b/include/asm-sparc64/page.h
+index cdf950e..5bd81d2 100644
+--- a/include/asm-sparc64/page.h
++++ b/include/asm-sparc64/page.h
+@@ -139,6 +139,8 @@ typedef unsigned long pgprot_t;
  #define VM_DATA_DEFAULT_FLAGS	(VM_READ | VM_WRITE | VM_EXEC | \
  				 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
  
@@ -384,10 +458,12 @@
 +
  #include <asm-generic/page.h>
  
- #endif /* __KERNEL__ */
---- linux-2.6.21.noarch/include/asm-um/page.h~	2007-05-27 23:05:22.000000000 -0400
-+++ linux-2.6.21.noarch/include/asm-um/page.h	2007-05-27 23:05:34.000000000 -0400
-@@ -114,6 +114,8 @@ extern unsigned long uml_physmem;
+ #endif /* _SPARC64_PAGE_H */
+diff --git a/include/asm-um/page.h b/include/asm-um/page.h
+index fe2374d..6d4fb09 100644
+--- a/include/asm-um/page.h
++++ b/include/asm-um/page.h
+@@ -115,6 +115,8 @@ extern unsigned long uml_physmem;
  extern struct page *arch_validate(struct page *page, gfp_t mask, int order);
  #define HAVE_ARCH_VALIDATE
  
@@ -396,187 +472,26 @@
  #include <asm-generic/memory_model.h>
  #include <asm-generic/page.h>
  
-Index: linux-2.6/include/asm-v850/page.h
-===================================================================
---- linux-2.6.orig/include/asm-v850/page.h
-+++ linux-2.6/include/asm-v850/page.h
-@@ -126,6 +126,8 @@ typedef unsigned long pgprot_t;
+diff --git a/include/asm-v850/page.h b/include/asm-v850/page.h
+index 661d8cd..3c0ac0c 100644
+--- a/include/asm-v850/page.h
++++ b/include/asm-v850/page.h
+@@ -124,4 +124,6 @@ typedef unsigned long pgprot_t;
  #include <asm-generic/memory_model.h>
  #include <asm-generic/page.h>
  
 +#define devmem_is_allowed(x) 1
 +
- #endif /* KERNEL */
- 
  #endif /* __V850_PAGE_H__ */
-Index: linux-2.6/include/asm-x86_64/page.h
-===================================================================
---- linux-2.6.orig/include/asm-x86/page_64.h
-+++ linux-2.6/include/asm-x86/page_64.h
-@@ -138,6 +138,10 @@ typedef struct { unsigned long pgprot; }
- #include <asm-generic/memory_model.h>
- #include <asm-generic/page.h>
+diff --git a/include/asm-x86/page.h b/include/asm-x86/page.h
+index 1cb7c51..e480ff0 100644
+--- a/include/asm-x86/page.h
++++ b/include/asm-x86/page.h
+@@ -49,6 +49,7 @@
+ #ifndef __ASSEMBLY__
  
-+#ifndef __ASSEMBLY__
+ extern int page_is_ram(unsigned long pagenr);
 +extern int devmem_is_allowed(unsigned long pagenr);
-+#endif
-+
- #endif /* __KERNEL__ */
- 
- #endif /* _X86_64_PAGE_H */
---- linux-2.6.20.noarch/fs/proc/kcore.c.orig	2007-06-04 15:44:29.000000000 -0400
-+++ linux-2.6.20.noarch/fs/proc/kcore.c	2007-06-04 15:48:57.000000000 -0400
-@@ -23,10 +23,10 @@
- #include <asm/io.h>
- 
- #define CORE_STR "CORE"
--
-+unsigned int allow_kcore_access;
- static int open_kcore(struct inode * inode, struct file * filp)
- {
--	return -EPERM;
-+	return (capable(CAP_SYS_RAWIO) && allow_kcore_access) ? 0 : -EPERM;
- }
  
- static ssize_t read_kcore(struct file *, char __user *, size_t, loff_t *);
---- linux-2.6.23.noarch/arch/x86/kernel/setup_32.c~	2007-10-22 01:29:17.000000000 -0400
-+++ linux-2.6.23.noarch/arch/x86/kernel/setup_32.c	2007-10-22 01:29:41.000000000 -0400
-@@ -391,12 +391,16 @@ static inline unsigned long long get_tot
- }
+ struct page;
  
- #ifdef CONFIG_KEXEC
-+extern int allow_kcore_access;
-+
- static void __init reserve_crashkernel(void)
- {
- 	unsigned long long total_mem;
- 	unsigned long long crash_size, crash_base;
- 	int ret;
- 
-+	allow_kcore_access = 1;	/*enable ability to read /proc/kcore*/
-+
- 	total_mem = get_total_mem();
- 
- 	ret = parse_crashkernel(boot_command_line, total_mem,
---- linux-2.6.23.noarch/drivers/char/Kconfig~	2007-11-15 14:10:18.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/Kconfig	2007-11-15 14:10:40.000000000 -0500
-@@ -1062,6 +1062,20 @@ config DEVPORT
- 	depends on ISA || PCI
- 	default y
- 
-+config WRITABLE_DEVMEM
-+	bool "Allow writing to /dev/mem"
-+	help
-+	  Very little software actually requires a writable /dev/mem
-+	  Disabling this feature will close off a potential attack
-+	  vector for kernel rootkits.
-+
-+config WRITABLE_DEVKMEM
-+	bool "Allow writing to /dev/kmem"
-+	help
-+	  Very little software actually requires a writable /dev/kmem
-+	  Disabling this feature will close off a potential attack
-+	  vector for kernel rootkits.
-+
- source "drivers/s390/char/Kconfig"
- 
- endmenu
---- vanilla/drivers/char/mem.c	2007-11-15 14:15:27.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/mem.c	2007-11-15 14:13:54.000000000 -0500
-@@ -108,6 +108,23 @@ static inline int valid_mmap_phys_addr_r
- }
- #endif
- 
-+static inline int range_is_allowed(unsigned long from, unsigned long to)
-+{
-+	unsigned long cursor;
-+
-+	cursor = from >> PAGE_SHIFT;
-+	while ((cursor << PAGE_SHIFT) < to) {
-+		if (!devmem_is_allowed(cursor)) {
-+			printk(KERN_INFO "Program %s tried to read /dev/mem "
-+				"between %lx->%lx.\n",
-+				current->comm, from, to);
-+			return 0;
-+		}
-+		cursor++;
-+	}
-+	return 1;
-+}
-+
- /*
-  * This funcion reads the *physical* memory. The f_pos points directly to the 
-  * memory location. 
-@@ -157,6 +174,9 @@ static ssize_t read_mem(struct file * fi
- 		 */
- 		ptr = xlate_dev_mem_ptr(p);
- 
-+		//FIXME: Add write-once sysctl
-+		//if (!range_is_allowed(p, p+count))
-+		//	return -EPERM;
- 		if (copy_to_user(buf, ptr, sz))
- 			return -EFAULT;
- 		buf += sz;
-@@ -169,6 +189,7 @@ static ssize_t read_mem(struct file * fi
- 	return read;
- }
- 
-+#ifdef CONFIG_WRITABLE_DEVMEM
- static ssize_t write_mem(struct file * file, const char __user * buf, 
- 			 size_t count, loff_t *ppos)
- {
-@@ -214,6 +235,8 @@ static ssize_t write_mem(struct file * f
- 		 */
- 		ptr = xlate_dev_mem_ptr(p);
- 
-+		if (!range_is_allowed(ptr, ptr+sz))
-+			return -EPERM;
- 		copied = copy_from_user(ptr, buf, sz);
- 		if (copied) {
- 			written += sz - copied;
-@@ -230,6 +253,9 @@ static ssize_t write_mem(struct file * f
- 	*ppos += written;
- 	return written;
- }
-+#else
-+#define write_mem 0
-+#endif
- 
- #ifndef __HAVE_PHYS_MEM_ACCESS_PROT
- static pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
-@@ -363,6 +389,9 @@ static ssize_t read_kmem(struct file *fi
- 	ssize_t low_count, read, sz;
- 	char * kbuf; /* k-addr because vread() takes vmlist_lock rwlock */
- 
-+	//FIXME: Add write-once sysctl
-+	//return -EPERM;
-+
- 	read = 0;
- 	if (p < (unsigned long) high_memory) {
- 		low_count = count;
-@@ -439,6 +468,7 @@ static ssize_t read_kmem(struct file *fi
- }
- 
- 
-+#ifdef CONFIG_WRITABLE_DEVKMEM
- static inline ssize_t
- do_write_kmem(void *p, unsigned long realp, const char __user * buf,
- 	      size_t count, loff_t *ppos)
-@@ -557,6 +587,9 @@ static ssize_t write_kmem(struct file * 
-  	*ppos = p;
-  	return virtr + wrote;
- }
-+#else
-+#define write_kmem 0
-+#endif
- 
- #ifdef CONFIG_DEVPORT
- static ssize_t read_port(struct file * file, char __user * buf,
-@@ -873,7 +906,6 @@ static const struct {
- 	const struct file_operations	*fops;
- } devlist[] = { /* list of minor devices */
- 	{1, "mem",     S_IRUSR | S_IWUSR | S_IRGRP, &mem_fops},
--	{2, "kmem",    S_IRUSR | S_IWUSR | S_IRGRP, &kmem_fops},
- 	{3, "null",    S_IRUGO | S_IWUGO,           &null_fops},
- #ifdef CONFIG_DEVPORT
- 	{4, "port",    S_IRUSR | S_IWUSR | S_IRGRP, &port_fops},

linux-2.6-e1000-corrupt-eeprom-checksum.patch:

Index: linux-2.6-e1000-corrupt-eeprom-checksum.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-e1000-corrupt-eeprom-checksum.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- linux-2.6-e1000-corrupt-eeprom-checksum.patch	12 Dec 2007 20:42:37 -0000	1.2
+++ linux-2.6-e1000-corrupt-eeprom-checksum.patch	12 Feb 2008 06:18:04 -0000	1.3
@@ -1,34 +1,25 @@
-diff -up linux-2.6.23.noarch/drivers/net/e1000/e1000_main.c.jx vanilla/drivers/net/e1000/e1000_main.c
---- linux-2.6.23.noarch/drivers/net/e1000/e1000_main.c.jx	2007-10-09 16:31:38.000000000 -0400
-+++ linux-2.6.23.noarch/drivers/net/e1000/e1000_main.c	2007-10-22 16:33:01.000000000 -0400
-@@ -255,6 +255,10 @@ static int debug = NETIF_MSG_DRV | NETIF
+diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
+index 7c5b05a..603150b 100644
+--- a/drivers/net/e1000/e1000_main.c
++++ b/drivers/net/e1000/e1000_main.c
+@@ -258,6 +258,10 @@ static int debug = NETIF_MSG_DRV | NETIF_MSG_PROBE;
  module_param(debug, int, 0);
  MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
  
 +static int eeprom_bad_csum_allow = 0;
 +module_param(eeprom_bad_csum_allow, int, 0);
-+MODULE_PARM_DESC(eeprom_bad_csum_allow, "Allow bad eeprom checksums");
++MODULE_PARM_DESC(eeprom_bas_csum_allow, "Allow bad eeprom checksums");
 +
  /**
   * e1000_init_module - Driver Registration Routine
   *
-@@ -1012,7 +1016,8 @@ e1000_probe(struct pci_dev *pdev,
- 
- 	if (e1000_validate_eeprom_checksum(&adapter->hw) < 0) {
- 		DPRINTK(PROBE, ERR, "The EEPROM Checksum Is Not Valid\n");
--		goto err_eeprom;
+@@ -1081,7 +1085,8 @@ e1000_probe(struct pci_dev *pdev,
+ 		 * interface after manually setting a hw addr using
+ 		 * `ip set address`
+ 		 */
+-		memset(adapter->hw.mac_addr, 0, netdev->addr_len);
 +		if (!eeprom_bad_csum_allow)
-+			goto err_eeprom;
- 	}
- 
- 	/* copy the MAC address out of the EEPROM */
-@@ -1024,7 +1029,8 @@ e1000_probe(struct pci_dev *pdev,
- 
- 	if (!is_valid_ether_addr(netdev->perm_addr)) {
- 		DPRINTK(PROBE, ERR, "Invalid MAC Address\n");
--		goto err_eeprom;
-+		if (!eeprom_bad_csum_allow)
-+			goto err_eeprom;
- 	}
- 
- 	e1000_get_bus_info(&adapter->hw);
++			memset(adapter->hw.mac_addr, 0, netdev->addr_len);
+ 	} else {
+ 		/* copy the MAC address out of the EEPROM */
+ 		if (e1000_read_mac_addr(&adapter->hw))

linux-2.6-execshield.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.80 -r 1.81 linux-2.6-execshield.patch
Index: linux-2.6-execshield.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-execshield.patch,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- linux-2.6-execshield.patch	30 Jan 2008 02:14:50 -0000	1.80
+++ linux-2.6-execshield.patch	12 Feb 2008 06:18:04 -0000	1.81
@@ -1,10 +1,10 @@
-Index: linux-2.6/arch/i386/kernel/cpu/common.c
-===================================================================
---- linux-2.6.orig/arch/x86/kernel/cpu/common.c
-+++ linux-2.6/arch/x86/kernel/cpu/common.c
-@@ -437,6 +437,13 @@ void __cpuinit identify_cpu(struct cpuin
- 	if (disable_pse)
- 		clear_bit(X86_FEATURE_PSE, c->x86_capability);
+diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
+index f86a3c4..4c5f70d 100644
+--- a/arch/x86/kernel/cpu/common.c
++++ b/arch/x86/kernel/cpu/common.c
+@@ -478,6 +478,13 @@ void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
+ 	 * we do "generic changes."
+ 	 */
  
 +	if (exec_shield != 0) {
 +#ifdef CONFIG_X86_PAE
@@ -16,9 +16,11 @@
  	/* If the model name is still unset, do table lookup. */
  	if ( !c->x86_model_id[0] ) {
  		char *p;
---- linux-2.6.21.noarch/arch/x86/kernel/process_32.c~	2007-05-27 22:27:45.000000000 -0400
-+++ linux-2.6.21.noarch/arch/x86/kernel/process_32.c	2007-05-27 22:28:22.000000000 -0400
-@@ -649,7 +649,8 @@ struct task_struct fastcall * __switch_t
+diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
+index a7d50a5..83f7b4e 100644
+--- a/arch/x86/kernel/process_32.c
++++ b/arch/x86/kernel/process_32.c
+@@ -677,7 +677,8 @@ struct task_struct * __switch_to(struct task_struct *prev_p, struct task_struct
  	/* never put a printk in __switch_to... printk() calls wake_up*() indirectly */
  
  	__unlazy_fpu(prev_p);
@@ -28,11 +30,11 @@
  
  	/* we're going to use this soon, after a few expensive things */
  	if (next_p->fpu_counter > 5)
-@@ -907,3 +909,60 @@ unsigned long arch_align_stack(unsigned 
- 		sp -= get_random_int() % 8192;
+@@ -842,8 +843,58 @@ unsigned long arch_align_stack(unsigned long sp)
  	return sp & ~0xf;
  }
-+
+ 
+-unsigned long arch_randomize_brk(struct mm_struct *mm)
 +void arch_add_exec_range(struct mm_struct *mm, unsigned long limit)
 +{
 +	if (limit > mm->context.exec_limit) {
@@ -47,7 +49,9 @@
 +}
 +
 +void arch_remove_exec_range(struct mm_struct *mm, unsigned long old_end)
-+{
+ {
+-	unsigned long range_end = mm->brk + 0x02000000;
+-	return randomize_range(mm->brk, range_end, 0) ? : mm->brk;
 +	struct vm_area_struct *vma;
 +	unsigned long limit = PAGE_SIZE;
 +
@@ -87,10 +91,62 @@
 +	new_brk = randomize_range(range_start, range_end, 0);
 +	if (new_brk)
 +		current->mm->brk = new_brk;
-+}
-+
---- linux-2.6.22.noarch/arch/x86/kernel/smp_32.c~	2007-07-20 13:48:03.000000000 -0400
-+++ linux-2.6.22.noarch/arch/x86/kernel/smp_32.c	2007-07-20 13:48:08.000000000 -0400
+ }
+diff --git a/arch/x86/kernel/setup64.c b/arch/x86/kernel/setup64.c
+index 309366f..8a940dc 100644
+--- a/arch/x86/kernel/setup64.c
++++ b/arch/x86/kernel/setup64.c
+@@ -45,46 +45,6 @@ EXPORT_SYMBOL_GPL(__supported_pte_mask);
+ 
+ static int do_not_nx __cpuinitdata = 0;
+ 
+-/* noexec=on|off
+-Control non executable mappings for 64bit processes.
+-
+-on	Enable(default)
+-off	Disable
+-*/ 
+-static int __init nonx_setup(char *str)
+-{
+-	if (!str)
+-		return -EINVAL;
+-	if (!strncmp(str, "on", 2)) {
+-                __supported_pte_mask |= _PAGE_NX; 
+- 		do_not_nx = 0; 
+-	} else if (!strncmp(str, "off", 3)) {
+-		do_not_nx = 1;
+-		__supported_pte_mask &= ~_PAGE_NX;
+-        }
+-	return 0;
+-} 
+-early_param("noexec", nonx_setup);
+-
+-int force_personality32 = 0; 
+-
+-/* noexec32=on|off
+-Control non executable heap for 32bit processes.
+-To control the stack too use noexec=off
+-
+-on	PROT_READ does not imply PROT_EXEC for 32bit processes
+-off	PROT_READ implies PROT_EXEC (default)
+-*/
+-static int __init nonx32_setup(char *str)
+-{
+-	if (!strcmp(str, "on"))
+-		force_personality32 &= ~READ_IMPLIES_EXEC;
+-	else if (!strcmp(str, "off"))
+-		force_personality32 |= READ_IMPLIES_EXEC;
+-	return 1;
+-}
+-__setup("noexec32=", nonx32_setup);
+-
+ /*
+  * Copy data used in early init routines from the initial arrays to the
+  * per cpu data areas.  These arrays then become expendable and the
+diff --git a/arch/x86/kernel/smp_32.c b/arch/x86/kernel/smp_32.c
+index dc0cde9..cca75b4 100644
+--- a/arch/x86/kernel/smp_32.c
++++ b/arch/x86/kernel/smp_32.c
 @@ -22,6 +22,7 @@
  
  #include <asm/mtrr.h>
@@ -99,7 +155,7 @@
  #include <asm/mmu_context.h>
  #include <mach_apic.h>
  
-@@ -325,6 +326,8 @@ fastcall void smp_invalidate_interrupt(s
+@@ -316,6 +317,8 @@ void smp_invalidate_interrupt(struct pt_regs *regs)
  	unsigned long cpu;
  
  	cpu = get_cpu();
@@ -108,389 +164,134 @@
  
  	if (!cpu_isset(cpu, flush_cpumask))
  		goto out;
---- linux-2.6.22.noarch/arch/x86/kernel/sysenter_32.c~	2007-07-31 14:20:04.000000000 -0400
-+++ linux-2.6.22.noarch/arch/x86/kernel/sysenter_32.c	2007-07-31 14:20:11.000000000 -0400
-@@ -16,6 +16,7 @@
- #include <linux/string.h>
- #include <linux/elf.h>
- #include <linux/mm.h>
-+#include <linux/mman.h>
- #include <linux/err.h>
- #include <linux/module.h>
- 
-@@ -284,7 +284,7 @@ int arch_setup_additional_pages(struct l
- 	if (compat)
- 		addr = VDSO_HIGH_BASE;
- 	else {
--		addr = get_unmapped_area(NULL, 0, PAGE_SIZE, 0, 0);
-+		addr = get_unmapped_area_prot(NULL, 0, PAGE_SIZE, 0, 0, 1);
- 		if (IS_ERR_VALUE(addr)) {
- 			ret = addr;
- 			goto up_fail;
---- linux-2.6.22.noarch/kernel/sysctl.c~	2007-07-20 13:48:52.000000000 -0400
-+++ linux-2.6.22.noarch/kernel/sysctl.c	2007-07-20 13:49:22.000000000 -0400
-@@ -80,6 +80,26 @@ extern int maps_protect;
- extern int sysctl_stat_interval;
- extern int audit_argv_kb;
- 
-+int exec_shield = (1<<0);
-+/* exec_shield is a bitmask:
-+ * 0: off; vdso at STACK_TOP, 1 page below TASK_SIZE
-+ * (1<<0) 1: on [also on if !=0]
-+ * (1<<1) 2: force noexecstack regardless of PT_GNU_STACK
-+ * The old settings
-+ * (1<<2) 4: vdso just below .text of main (unless too low)
-+ * (1<<3) 8: vdso just below .text of PT_INTERP (unless too low)
-+ * are ignored because the vdso is placed completely randomly
-+ */
+diff --git a/arch/x86/kernel/traps_32.c b/arch/x86/kernel/traps_32.c
+index b22c01e..7e196e4 100644
+--- a/arch/x86/kernel/traps_32.c
++++ b/arch/x86/kernel/traps_32.c
+@@ -592,7 +592,91 @@ DO_ERROR(10, SIGSEGV, "invalid TSS", invalid_TSS)
+ DO_ERROR(11, SIGBUS,  "segment not present", segment_not_present)
+ DO_ERROR(12, SIGBUS,  "stack segment", stack_segment)
+ DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN, 0, 0)
+-DO_ERROR_INFO(32, SIGSEGV, "iret exception", iret_error, ILL_BADSTK, 0, 1)
 +
-+static int __init setup_exec_shield(char *str)
++/*
++ * lazy-check for CS validity on exec-shield binaries:
++ *
++ * the original non-exec stack patch was written by
++ * Solar Designer <solar at openwall.com>. Thanks!
++ */
++static int
[...1895 lines suppressed...]
--#define BAD_ADDR(x) ((unsigned long)(x) >= TASK_SIZE)
-+#define BAD_ADDR(x) IS_ERR_VALUE(x)
- 
- static int set_brk(unsigned long start, unsigned long end)
- {
-@@ -295,33 +295,70 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec,
- #ifndef elf_map
- 
- static unsigned long elf_map(struct file *filep, unsigned long addr,
--		struct elf_phdr *eppnt, int prot, int type)
-+		struct elf_phdr *eppnt, int prot, int type,
-+		unsigned long total_size)
- {
- 	unsigned long map_addr;
--	unsigned long pageoffset = ELF_PAGEOFFSET(eppnt->p_vaddr);
-+	unsigned long size = eppnt->p_filesz + ELF_PAGEOFFSET(eppnt->p_vaddr);
-+	unsigned long off = eppnt->p_offset - ELF_PAGEOFFSET(eppnt->p_vaddr);
-+	addr = ELF_PAGESTART(addr);
-+	size = ELF_PAGEALIGN(size);
- 
--	down_write(&current->mm->mmap_sem);
- 	/* mmap() will return -EINVAL if given a zero size, but a
- 	 * segment with zero filesize is perfectly valid */
--	if (eppnt->p_filesz + pageoffset)
--		map_addr = do_mmap(filep, ELF_PAGESTART(addr),
--				   eppnt->p_filesz + pageoffset, prot, type,
--				   eppnt->p_offset - pageoffset);
--	else
--		map_addr = ELF_PAGESTART(addr);
-+	if (!size)
-+		return addr;
-+
-+	down_write(&current->mm->mmap_sem);
-+	/*
-+	* total_size is the size of the ELF (interpreter) image.
-+	* The _first_ mmap needs to know the full size, otherwise
-+	* randomization might put this image into an overlapping
-+	* position with the ELF binary image. (since size < total_size)
-+	* So we first map the 'big' image - and unmap the remainder at
-+	* the end. (which unmap is needed for ELF images with holes.)
-+	*/
-+	if (total_size) {
-+		total_size = ELF_PAGEALIGN(total_size);
-+		map_addr = do_mmap(filep, addr, total_size, prot, type, off);
-+		if (!BAD_ADDR(map_addr))
-+			do_munmap(current->mm, map_addr+size, total_size-size);
-+	} else
-+		map_addr = do_mmap(filep, addr, size, prot, type, off);
-+
- 	up_write(&current->mm->mmap_sem);
- 	return(map_addr);
- }
- 
- #endif /* !elf_map */
- 
-+static unsigned long total_mapping_size(struct elf_phdr *cmds, int nr)
-+{
-+	int i, first_idx = -1, last_idx = -1;
-+
-+	for (i = 0; i < nr; i++) {
-+		if (cmds[i].p_type == PT_LOAD) {
-+			last_idx = i;
-+			if (first_idx == -1)
-+				first_idx = i;
-+		}
-+	}
-+	if (first_idx == -1)
-+		return 0;
-+
-+	return cmds[last_idx].p_vaddr + cmds[last_idx].p_memsz -
-+				ELF_PAGESTART(cmds[first_idx].p_vaddr);
-+}
-+
-+
- /* This is much more generalized than the library routine read function,
-    so we keep this separate.  Technically the library read function
-    is only provided so that we can read a.out libraries that have
-    an ELF header */
- 
- static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
--		struct file *interpreter, unsigned long *interp_load_addr)
-+		struct file *interpreter, unsigned long *interp_map_addr,
-+		unsigned long no_base)
- {
- 	struct elf_phdr *elf_phdata;
- 	struct elf_phdr *eppnt;
-@@ -329,6 +366,7 @@ static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
- 	int load_addr_set = 0;
- 	unsigned long last_bss = 0, elf_bss = 0;
- 	unsigned long error = ~0UL;
-+	unsigned long total_size;
- 	int retval, i, size;
- 
- 	/* First of all, some simple consistency checks */
-@@ -367,6 +405,12 @@ static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
- 		goto out_close;
- 	}
- 
-+	total_size = total_mapping_size(elf_phdata, interp_elf_ex->e_phnum);
-+	if (!total_size) {
-+		error = -EINVAL;
-+		goto out_close;
-+	}
-+
- 	eppnt = elf_phdata;
- 	for (i = 0; i < interp_elf_ex->e_phnum; i++, eppnt++) {
- 		if (eppnt->p_type == PT_LOAD) {
-@@ -384,9 +428,14 @@ static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
- 			vaddr = eppnt->p_vaddr;
- 			if (interp_elf_ex->e_type == ET_EXEC || load_addr_set)
- 				elf_type |= MAP_FIXED;
-+			else if (no_base && interp_elf_ex->e_type == ET_DYN)
-+				load_addr = -vaddr;
- 
- 			map_addr = elf_map(interpreter, load_addr + vaddr,
--					   eppnt, elf_prot, elf_type);
-+					   eppnt, elf_prot, elf_type, total_size);
-+			total_size = 0;
-+			if (!*interp_map_addr)
-+				*interp_map_addr = map_addr;
- 			error = map_addr;
- 			if (BAD_ADDR(map_addr))
- 				goto out_close;
-@@ -452,8 +501,7 @@ static unsigned long load_elf_interp(struct elfhdr *interp_elf_ex,
- 			goto out_close;
- 	}
- 
--	*interp_load_addr = load_addr;
--	error = ((unsigned long)interp_elf_ex->e_entry) + load_addr;
-+	error = load_addr;
- 
- out_close:
- 	kfree(elf_phdata);
-@@ -550,7 +598,8 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
- 	int elf_exec_fileno;
- 	int retval, i;
- 	unsigned int size;
--	unsigned long elf_entry, interp_load_addr = 0;
-+	unsigned long elf_entry;
-+	unsigned long interp_load_addr = 0;
- 	unsigned long start_code, end_code, start_data, end_data;
- 	unsigned long reloc_func_desc = 0;
- 	char passed_fileno[6];
-@@ -814,9 +863,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
- 	current->mm->start_stack = bprm->p;
- 
- 	/* Now we do a little grungy work by mmaping the ELF image into
--	   the correct location in memory.  At this point, we assume that
--	   the image should be loaded at fixed address, not at a variable
--	   address. */
-+	   the correct location in memory. */
- 	for(i = 0, elf_ppnt = elf_phdata;
- 	    i < loc->elf_ex.e_phnum; i++, elf_ppnt++) {
- 		int elf_prot = 0, elf_flags;
-@@ -870,11 +917,15 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
- 			 * default mmap base, as well as whatever program they
- 			 * might try to exec.  This is because the brk will
- 			 * follow the loader, and is not movable.  */
-+#ifdef CONFIG_X86
-+			load_bias = 0;
-+#else
- 			load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr);
-+#endif
- 		}
- 
- 		error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt,
--				elf_prot, elf_flags);
-+				elf_prot, elf_flags, 0);
- 		if (BAD_ADDR(error)) {
- 			send_sig(SIGKILL, current, 0);
- 			retval = IS_ERR((void *)error) ?
-@@ -950,13 +1001,25 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
- 	}
- 
- 	if (elf_interpreter) {
--		if (interpreter_type == INTERPRETER_AOUT)
-+		if (interpreter_type == INTERPRETER_AOUT) {
- 			elf_entry = load_aout_interp(&loc->interp_ex,
- 						     interpreter);
--		else
-+		} else {
-+			unsigned long uninitialized_var(interp_map_addr);
-+
- 			elf_entry = load_elf_interp(&loc->interp_elf_ex,
- 						    interpreter,
--						    &interp_load_addr);
-+						    &interp_map_addr,
-+						    load_bias);
-+			if (!BAD_ADDR(elf_entry)) {
-+				/*
-+				 * load_elf_interp() returns relocation
-+				 * adjustment
-+				 */
-+				interp_load_addr = elf_entry;
-+				elf_entry += loc->interp_elf_ex.e_entry;
-+			}
-+		}
- 		if (BAD_ADDR(elf_entry)) {
- 			force_sig(SIGSEGV, current);
- 			retval = IS_ERR((void *)elf_entry) ?

linux-2.6-ext4-stable-queue.patch:

Index: linux-2.6-ext4-stable-queue.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-ext4-stable-queue.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-ext4-stable-queue.patch	5 Feb 2008 02:58:57 -0000	1.1
+++ linux-2.6-ext4-stable-queue.patch	12 Feb 2008 06:18:04 -0000	1.2
@@ -1,273 +1,172 @@
-Patches from ext4 stable patch queue not yet in git.
-As of 04 Feb 2008:
+mballoc.c is a whole lot of static functions, which gcc seems to
+really like to inline.
 
-jbd2_journal_chksum_null_pointer_fix.patch
-jbd2_fix_ref_count_on_bh.patch
-jbd2_use_incompat_macro_to_check_JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT.patch
-ext4_do_not_set_EXTENTS_FL_for_fast_symlinks.patch
-test-filesys-flag.patch
-allow_in-inode_eas_on_ext4_root_inode
-
-===================================
-
-JBD2: Fix null pointer deference in jbd2 journal checksum code
-From: Mingming Cao <cmm at u.ibm.com>
-The buffer head pointer passed to journal_wait_on_commit_record()
-could be NULL if the previous journal_submit_commit_record() failed
-or journal has already aborted.
+With the changes below, on x86, I can at least get from:
 
-We need to check the error returns from journal_submit_commit_record()
-and avoid calling journal_wait_on_commit_record() in the failure case.
+432 ext4_mb_new_blocks
+240 ext4_mb_free_blocks
+208 ext4_mb_discard_group_preallocations
+188 ext4_mb_seq_groups_show
+164 ext4_mb_init_cache
+152 ext4_mb_release_inode_pa
+136 ext4_mb_seq_history_show
+...
+
+to
+
+220 ext4_mb_free_blocks
+188 ext4_mb_seq_groups_show
+176 ext4_mb_regular_allocator
+164 ext4_mb_init_cache
+156 ext4_mb_new_blocks
+152 ext4_mb_release_inode_pa
+136 ext4_mb_seq_history_show
+124 ext4_mb_release_group_pa
+...
+
+which still has some big functions in there, but not 432 bytes!
+
+I wonder if a zone would make sense for struct ext4_allocation_context,
+it's 108 bytes by itself.
+
+I haven't honestly done any investigation of any performance
+impact of the noinlines; FWIW xfs just took control of inlining,
+and marked almost every non-trivial function as noinline, (although
+the xfs situation was a little more dire) and I don't think they had
+any noticeable performance impact.
 
-Signed-off-by: Mingming Cao <cmm at us.ibm.com>
----
- fs/jbd2/commit.c |    3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-Index: linux-2.6.24/fs/jbd2/commit.c
-===================================================================
---- linux-2.6.24.orig/fs/jbd2/commit.c	2008-02-04 11:02:42.000000000 -0800
-+++ linux-2.6.24/fs/jbd2/commit.c	2008-02-04 11:18:43.000000000 -0800
-@@ -865,7 +865,8 @@ wait_for_iobuf:
- 		if (err)
- 			__jbd2_journal_abort_hard(journal);
- 	}
--	err = journal_wait_on_commit_record(cbh);
-+	if (!err && !is_journal_aborted(journal))
-+		err = journal_wait_on_commit_record(cbh);
- 
- 	if (err)
- 		jbd2_journal_abort(journal, err);
-
-JBD2: Fix reference counting on buffer head.
-From: "Aneesh Kumar K.V" <aneesh.kumar at linux.vnet.ibm.com>
-
-With journal checksum patch we added asyn commit of journal commit headers.
-During the conversion we missed to take a reference on buffer head. Before
-the change sync_dirty_buffer did the get_bh(). The associative put_bh is
-done by journal_wait_on_commit_record()
-
-Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
-Signed-off-by: Mingming Cao <cmm at us.ibm.com>
----
- fs/jbd2/commit.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: linux-2.6.24/fs/jbd2/commit.c
-===================================================================
---- linux-2.6.24.orig/fs/jbd2/commit.c	2008-02-04 11:02:43.000000000 -0800
-+++ linux-2.6.24/fs/jbd2/commit.c	2008-02-04 11:18:39.000000000 -0800
-@@ -136,7 +136,7 @@ static int journal_submit_commit_record(
- 
- 	JBUFFER_TRACE(descriptor, "submit commit block");
- 	lock_buffer(bh);
--
-+	get_bh(bh);
- 	set_buffer_dirty(bh);
- 	set_buffer_uptodate(bh);
- 	bh->b_end_io = journal_end_buffer_io_sync;
-
-JBD2: Use the incompat macro for testing the incompat feature.
-From: "Aneesh Kumar K.V" <aneesh.kumar at linux.vnet.ibm.com>
-
-JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT need to be checked with JBD2_HAS_INCOMPAT_FEATURE
+Signed-off-by: Eric Sandeen <sandeen at redhat.com>
 
-Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
-Signed-off-by: Mingming Cao <cmm at us.ibm.com>
 ---
- fs/jbd2/commit.c   |    2 +-
- fs/jbd2/recovery.c |    2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
 
-Index: linux-2.6.24/fs/jbd2/commit.c
+Index: linux-2.6.24-rc6-mm1/fs/ext4/mballoc.c
 ===================================================================
---- linux-2.6.24.orig/fs/jbd2/commit.c	2008-02-04 11:10:50.000000000 -0800
-+++ linux-2.6.24/fs/jbd2/commit.c	2008-02-04 11:12:35.000000000 -0800
-@@ -142,7 +142,7 @@ static int journal_submit_commit_record(
- 	bh->b_end_io = journal_end_buffer_io_sync;
- 
- 	if (journal->j_flags & JBD2_BARRIER &&
--		!JBD2_HAS_COMPAT_FEATURE(journal,
-+		!JBD2_HAS_INCOMPAT_FEATURE(journal,
- 					 JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT)) {
- 		set_buffer_ordered(bh);
- 		barrier_done = 1;
-Index: linux-2.6.24/fs/jbd2/recovery.c
-===================================================================
---- linux-2.6.24.orig/fs/jbd2/recovery.c	2008-02-04 10:59:16.000000000 -0800
-+++ linux-2.6.24/fs/jbd2/recovery.c	2008-02-04 11:18:25.000000000 -0800
-@@ -641,7 +641,7 @@ static int do_one_pass(journal_t *journa
- 				if (chksum_err) {
- 					info->end_transaction = next_commit_ID;
- 
--					if (!JBD2_HAS_COMPAT_FEATURE(journal,
-+					if (!JBD2_HAS_INCOMPAT_FEATURE(journal,
- 					   JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT)){
- 						printk(KERN_ERR
- 						       "JBD: Transaction %u "
-
-ext4: Don't set EXTENTS_FL flag for fast symlinks
-From: Valerie Clement <valerie.clement at bull.net>
-
-Don't set EXTENTS_FL flag for fast symlinks
-
-From: Valerie Clement <valerie.clement at bull.net>
-
-For fast symbolic links, the file content is stored in the i_block[]
-array, which is not compatible with the new file extents format.
-e2fsck reports error on such files because EXTENTS_FL is set.
-Don't set the EXTENTS_FL flag when creating fast symlinks.
-
-In the case of file migration, skip fast symbolic links.
-
-Signed-off-by: Valerie Clement <valerie.clement at bull.net>
-Signed-off-by: Mingming Cao <cmm at us.ibm.com>
-
----
-
- fs/ext4/migrate.c |    6 ++++++
- fs/ext4/namei.c   |    1 +
- 2 files changed, 7 insertions(+)
-
-Index: linux-2.6.24/fs/ext4/migrate.c
-===================================================================
---- linux-2.6.24.orig/fs/ext4/migrate.c	2008-02-04 10:59:16.000000000 -0800
-+++ linux-2.6.24/fs/ext4/migrate.c	2008-02-04 11:14:47.000000000 -0800
-@@ -414,6 +414,12 @@ int ext4_ext_migrate(struct inode *inode
- 	if ((EXT4_I(inode)->i_flags & EXT4_EXTENTS_FL))
- 		return -EINVAL;
- 
-+	if (S_ISLNK(inode->i_mode) && inode->i_blocks == 0)
-+		/*
-+		 * don't migrate fast symlink
-+		 */
-+		return retval;
-+
- 	down_write(&EXT4_I(inode)->i_data_sem);
- 	handle = ext4_journal_start(inode,
- 					EXT4_DATA_TRANS_BLOCKS(inode->i_sb) +
-Index: linux-2.6.24/fs/ext4/namei.c
-===================================================================
---- linux-2.6.24.orig/fs/ext4/namei.c	2008-02-04 10:59:16.000000000 -0800
-+++ linux-2.6.24/fs/ext4/namei.c	2008-02-04 11:14:47.000000000 -0800
-@@ -2234,6 +2234,7 @@ retry:
- 		inode->i_op = &ext4_fast_symlink_inode_operations;
- 		memcpy((char*)&EXT4_I(inode)->i_data,symname,l);
- 		inode->i_size = l-1;
-+		EXT4_I(inode)->i_flags &= ~EXT4_EXTENTS_FL;
- 	}
- 	EXT4_I(inode)->i_disksize = inode->i_size;
- 	err = ext4_add_nondir(handle, dentry, inode);
-
-ext4: Add new "development flag" to the ext4 filesystem
-From: Theodore Tso <tytso at MIT.EDU>
-This flag is simply a generic "this is a
-crash/burn test filesystem" marker.  If it is set, then filesystem
-code which is "in development" will be allowed to mount the
-filesystem.  Filesystem code which is not considered ready for
-prime-time will check for this flag, and if it is not set, it will
-refuse to touch the filesystem.
-
-As we start rolling ext4 out to distro's like Fedora, et. al, this
-makes it less likely that a user might accidentally start using ext4
-on a production filesystem; a bad thing, since that will essentially
-make it be unfsckable until e2fsprogs catches up.
-
-Signed-off-by: Theodore Tso <tytso at MIT.EDU>
-Signed-off-by: Mingming Cao<cmm at us.ibm.com>
-
-diff --git a/fs/ext4/super.c b/fs/ext4/super.c
-index 055a0cd..8a405ae 100644
---- a/fs/ext4/super.c
-+++ b/fs/ext4/super.c
-@@ -1926,6 +1926,17 @@ static int ext4_fill_super (struct super_block *sb, void *data, int silent)
- 		printk(KERN_WARNING
- 		       "EXT4-fs warning: feature flags set on rev 0 fs, "
- 		       "running e2fsck is recommended\n");
-+
-+	/*
-+	 * Since ext4 is still considered development code, we require
-+	 * that the TEST_FILESYS flag in s->flags be set.
-+	 */
-+	if (!(le32_to_cpu(es->s_flags) & EXT2_FLAGS_TEST_FILESYS)) {
-+		printk(KERN_WARNING "EXT4-fs: %s: not marked "
-+		       "OK to use with test code.\n", sb->s_id);
-+		goto failed_mount;
-+	}
-+
- 	/*
- 	 * Check feature flags regardless of the revision level, since we
- 	 * previously didn't change the revision level when setting the flags,
-diff --git a/include/linux/ext4_fs.h b/include/linux/ext4_fs.h
-index 1852313..285fa6c 100644
---- a/include/linux/ext4_fs.h
-+++ b/include/linux/ext4_fs.h
-@@ -490,6 +490,13 @@ do {									       \
- #define	EXT4_ORPHAN_FS			0x0004	/* Orphans being recovered */
- 
+--- linux-2.6.24-rc6-mm1.orig/fs/ext4/mballoc.c
++++ linux-2.6.24-rc6-mm1/fs/ext4/mballoc.c
+@@ -1146,7 +1146,7 @@ out:
+ 	return err;
+ }
+ 
+-static int ext4_mb_load_buddy(struct super_block *sb, ext4_group_t group,
++static noinline int ext4_mb_load_buddy(struct super_block *sb, ext4_group_t group,
+ 		struct ext4_buddy *e4b)
+ {
+ 	struct ext4_sb_info *sbi = EXT4_SB(sb);
+@@ -1937,7 +1937,7 @@ static int ext4_mb_good_group(struct ext
+ 	return 0;
+ }
+ 
+-static int ext4_mb_regular_allocator(struct ext4_allocation_context *ac)
++static noinline int ext4_mb_regular_allocator(struct ext4_allocation_context *ac)
+ {
+ 	ext4_group_t group;
+ 	ext4_group_t i;
+@@ -2444,7 +2444,7 @@ static void ext4_mb_history_init(struct 
+ 	/* if we can't allocate history, then we simple won't use it */
+ }
+ 
+-static void ext4_mb_store_history(struct ext4_allocation_context *ac)
++static noinline void ext4_mb_store_history(struct ext4_allocation_context *ac)
+ {
+ 	struct ext4_sb_info *sbi = EXT4_SB(ac->ac_sb);
+ 	struct ext4_mb_history h;
+@@ -2780,7 +2780,7 @@ int ext4_mb_release(struct super_block *
+ 	return 0;
+ }
+ 
+-static void ext4_mb_free_committed_blocks(struct super_block *sb)
++static noinline void ext4_mb_free_committed_blocks(struct super_block *sb)
+ {
+ 	struct ext4_sb_info *sbi = EXT4_SB(sb);
+ 	int err;
+@@ -3001,7 +3001,7 @@ void exit_ext4_mballoc(void)
+  * Check quota and mark choosed space (ac->ac_b_ex) non-free in bitmaps
+  * Returns 0 if success or error code
+  */
+-static int ext4_mb_mark_diskspace_used(struct ext4_allocation_context *ac,
++static noinline int ext4_mb_mark_diskspace_used(struct ext4_allocation_context *ac,
+ 				handle_t *handle)
+ {
+ 	struct buffer_head *bitmap_bh = NULL;
+@@ -3118,7 +3118,7 @@ static void ext4_mb_normalize_group_requ
+  * Normalization means making request better in terms of
+  * size and alignment
+  */
+-static void ext4_mb_normalize_request(struct ext4_allocation_context *ac,
++static noinline void ext4_mb_normalize_request(struct ext4_allocation_context *ac,
+ 				struct ext4_allocation_request *ar)
+ {
+ 	int bsbits, max;
+@@ -3384,7 +3384,7 @@ static void ext4_mb_use_group_pa(struct 
  /*
-+ * Misc. filesystem flags
-+ */
-+#define EXT2_FLAGS_SIGNED_HASH		0x0001  /* Signed dirhash in use */
-+#define EXT2_FLAGS_UNSIGNED_HASH	0x0002  /* Unsigned dirhash in use */
-+#define EXT2_FLAGS_TEST_FILESYS		0x0004	/* OK for use on development code */
-+
-+/*
-  * Mount flags
+  * search goal blocks in preallocated space
   */
- #define EXT4_MOUNT_CHECK		0x00001	/* Do mount-time checks */
- 
-allow in-inode EAs on ext4 root inode
-
-From: Eric Sandeen <sandeen at redhat.com>
-
-The ext3 root inode was treated specially with respect
-to in-inode extended attributes, for reasons detailed
-in the removed comment below.  The first mkfs-created
-inodes would not get extra_i_size or the EXT3_STATE_XATTR
-flag set in ext3_read_inode, which disallowed reading or
-setting in-inode EAs on the root.
-
-However, in ext4, ext4_mark_inode_dirty calls
-ext4_expand_extra_isize for all inodes; once this is done
-EAs may be placed in the root ext4 inode body.
-
-But for reasons above, it won't be found after a reboot.
-
-testcase:
-
-setfattr -n user.name -v value mntpt/
-setfattr -n user.name2 -v value2 mntpt/
-umount mntpt/; remount mntpt/
-getfattr -d mntpt/
-
-name2/value2 has gone missing; debugfs shows it in the
-inode body, but it is not found there by getattr.
-
-The following fixes it up; newer mkfs appears to properly
-zero the inodes, so this workaround isn't needed for ext4.
-
-Signed-off-by: Eric Sandeen <sandeen at redhat.com>
-Signed-off-by: Theodore Ts'o <tytso at mit.edu>
-
-diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
-index e7e10df..4fed498 100644
---- a/fs/ext4/inode.c
-+++ b/fs/ext4/inode.c
-@@ -2908,13 +2908,7 @@ void ext4_read_inode(struct inode * inode)
- 		ei->i_data[block] = raw_inode->i_block[block];
- 	INIT_LIST_HEAD(&ei->i_orphan);
- 
--	if (inode->i_ino >= EXT4_FIRST_INO(inode->i_sb) + 1 &&
--	    EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE) {
--		/*
--		 * When mke2fs creates big inodes it does not zero out
--		 * the unused bytes above EXT4_GOOD_OLD_INODE_SIZE,
--		 * so ignore those first few inodes.
--		 */
-+	if (EXT4_INODE_SIZE(inode->i_sb) > EXT4_GOOD_OLD_INODE_SIZE) {
- 		ei->i_extra_isize = le16_to_cpu(raw_inode->i_extra_isize);
- 		if (EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize >
- 		    EXT4_INODE_SIZE(inode->i_sb)) {
-
+-static int ext4_mb_use_preallocated(struct ext4_allocation_context *ac)
++static noinline int ext4_mb_use_preallocated(struct ext4_allocation_context *ac)
+ {
+ 	struct ext4_inode_info *ei = EXT4_I(ac->ac_inode);
+ 	struct ext4_locality_group *lg;
+@@ -3551,7 +3551,7 @@ static void ext4_mb_put_pa(struct ext4_a
+ /*
+  * creates new preallocated space for given inode
+  */
+-static int ext4_mb_new_inode_pa(struct ext4_allocation_context *ac)
++static noinline int ext4_mb_new_inode_pa(struct ext4_allocation_context *ac)
+ {
+ 	struct super_block *sb = ac->ac_sb;
+ 	struct ext4_prealloc_space *pa;
+@@ -3638,7 +3638,7 @@ static int ext4_mb_new_inode_pa(struct e
+ /*
+  * creates new preallocated space for locality group inodes belongs to
+  */
+-static int ext4_mb_new_group_pa(struct ext4_allocation_context *ac)
++static noinline int ext4_mb_new_group_pa(struct ext4_allocation_context *ac)
+ {
+ 	struct super_block *sb = ac->ac_sb;
+ 	struct ext4_locality_group *lg;
+@@ -3711,7 +3711,7 @@ static int ext4_mb_new_preallocation(str
+  * the caller MUST hold group/inode locks.
+  * TODO: optimize the case when there are no in-core structures yet
+  */
+-static int ext4_mb_release_inode_pa(struct ext4_buddy *e4b,
++static noinline int ext4_mb_release_inode_pa(struct ext4_buddy *e4b,
+ 				struct buffer_head *bitmap_bh,
+ 				struct ext4_prealloc_space *pa)
+ {
+@@ -3779,7 +3779,7 @@ static int ext4_mb_release_inode_pa(stru
+ 	return err;
+ }
+ 
+-static int ext4_mb_release_group_pa(struct ext4_buddy *e4b,
++static noinline int ext4_mb_release_group_pa(struct ext4_buddy *e4b,
+ 				struct ext4_prealloc_space *pa)
+ {
+ 	struct ext4_allocation_context *ac;
+@@ -3821,7 +3821,7 @@ static int ext4_mb_release_group_pa(stru
+  * - how many do we discard
+  *   1) how many requested
+  */
+-static int ext4_mb_discard_group_preallocations(struct super_block *sb,
++static noinline int ext4_mb_discard_group_preallocations(struct super_block *sb,
+ 					ext4_group_t group, int needed)
+ {
+ 	struct ext4_group_info *grp = ext4_get_group_info(sb, group);
+@@ -4143,7 +4143,7 @@ static void ext4_mb_group_or_file(struct
+ 	mutex_lock(&ac->ac_lg->lg_mutex);
+ }
+ 
+-static int ext4_mb_initialize_context(struct ext4_allocation_context *ac,
++static noinline int ext4_mb_initialize_context(struct ext4_allocation_context *ac,
+ 				struct ext4_allocation_request *ar)
+ {
+ 	struct super_block *sb = ar->inode->i_sb;
+@@ -4374,7 +4374,7 @@ static void ext4_mb_poll_new_transaction
+ 	ext4_mb_free_committed_blocks(sb);
+ }
+ 
+-static int ext4_mb_free_metadata(handle_t *handle, struct ext4_buddy *e4b,
++static noinline int ext4_mb_free_metadata(handle_t *handle, struct ext4_buddy *e4b,
+ 			  ext4_group_t group, ext4_grpblk_t block, int count)
+ {
+ 	struct ext4_group_info *db = e4b->bd_info;
 

linux-2.6-gelic-fixups.patch:

Index: linux-2.6-gelic-fixups.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-gelic-fixups.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-gelic-fixups.patch	14 Dec 2007 06:49:10 -0000	1.1
+++ linux-2.6-gelic-fixups.patch	12 Feb 2008 06:18:04 -0000	1.2
@@ -16,11 +16,11 @@
 -{
 -	return &card->dev->core;
 -}
--static inline unsigned int bus_id(struct gelic_net_card *card)
+-static inline u64 bus_id(struct gelic_net_card *card)
 -{
 -	return card->dev->bus_id;
 -}
--static inline unsigned int dev_id(struct gelic_net_card *card)
+-static inline u64 dev_id(struct gelic_net_card *card)
 -{
 -	return card->dev->dev_id;
 -}

linux-2.6-i386-vdso-install-unstripped-copies-on-disk.patch:

Index: linux-2.6-i386-vdso-install-unstripped-copies-on-disk.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-i386-vdso-install-unstripped-copies-on-disk.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- linux-2.6-i386-vdso-install-unstripped-copies-on-disk.patch	14 Dec 2007 22:09:24 -0000	1.4
+++ linux-2.6-i386-vdso-install-unstripped-copies-on-disk.patch	12 Feb 2008 06:18:04 -0000	1.5
@@ -1,85 +1,16 @@
-From: Roland McGrath <roland at redhat.com>
-
-This keeps an unstripped copy of the vDSO images built before they are
-stripped and embedded in the kernel.  The unstripped copies get installed in
-$(MODLIB)/vdso/ by "make install".  These files can be useful when they
-contain source-level debugging information.
-
-Signed-off-by: Roland McGrath <roland at redhat.com>
-Cc: Sam Ravnborg <sam at ravnborg.org>
-Cc: Andi Kleen <ak at suse.de>
-Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
----
-
- arch/x86/Makefile        |    1 +
- arch/x86/kernel/Makefile_32 |   27 ++++++++++++++++++++++-----
- 2 files changed, 23 insertions(+), 5 deletions(-)
-
-diff -puN arch/x86/Makefile_32~i386-vdso-install-unstripped-copies-on-disk arch/x86/Makefile_32
---- a/arch/x86/Makefile_32~i386-vdso-install-unstripped-copies-on-disk
-+++ a/arch/x86/Makefile_32
-@@ -152,9 +152,12 @@ zdisk bzdisk: vmlinux
- fdimage fdimage144 fdimage288 isoimage: vmlinux
- 	$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@
+diff --git a/arch/x86/vdso/Makefile b/arch/x86/vdso/Makefile
+index d28dda5..dcbca17 100644
+--- a/arch/x86/vdso/Makefile
++++ b/arch/x86/vdso/Makefile
+@@ -7,8 +7,9 @@ VDSO32-$(CONFIG_X86_32)		:= y
+ VDSO32-$(CONFIG_COMPAT)		:= y
+ 
+ vdso-install-$(VDSO64-y)	+= vdso.so
+-vdso-install-$(VDSO32-y)	+= $(vdso32-y:=.so)
+-
++vdso-install-$(VDSO32-y)	+= vdso32-sysenter.so $(vdso32-y:=.so)
++vdso-install-$(CONFIG_X86_32)	+= vdso32-int80.so
++vdso-install-$(CONFIG_COMPAT)	+= vdso32-syscall.so
  
--install:
-+install: vdso_install
- 	$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
- 
-+vdso_install:
-+	$(Q)$(MAKE) $(build)=arch/x86/kernel vdso_install
-+
- archclean:
- 	$(Q)rm -rf $(objtree)/arch/i386/boot
- 	$(Q)$(MAKE) $(clean)=arch/x86/boot
-
-diff -puN arch/x86/kernel/Makefile_32~i386-vdso-install-unstripped-copies-on-disk arch/x86/kernel/Makefile_32
---- a/arch/x86/kernel/Makefile_32~i386-vdso-install-unstripped-copies-on-disk
-+++ a/arch/x86/kernel/Makefile_32
-@@ -54,6 +54,8 @@ obj-$(CONFIG_SCx200)		+= scx200_32.o
- # Note: kbuild does not track this dependency due to usage of .incbin
- $(obj)/vsyscall_32.o: $(obj)/vsyscall-int80_32.so $(obj)/vsyscall-sysenter_32.so
- targets += $(foreach F,int80 sysenter,vsyscall-$F_32.o vsyscall-$F_32.so)
-+targets += $(foreach F,$(patsubst %,vsyscall-%_32,int80 sysenter),\
-+		     $F.o $F.so $F.so.dbg)
- targets += vsyscall-note_32.o vsyscall_32.lds
- 
- # The DSO images are built using a special linker script.
-@@ -63,16 +65,32 @@ quiet_cmd_syscall = SYSCALL $@
- 
- export CPPFLAGS_vsyscall_32.lds += -P -C -Ui386
- 
--vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1 \
-+vsyscall-flags = -shared -Wl,-soname=linux-gate.so.1 \
- 		 $(call ld-option, -Wl$(comma)--hash-style=sysv)
--SYSCFLAGS_vsyscall-sysenter_32.so	= $(vsyscall-flags)
--SYSCFLAGS_vsyscall-int80_32.so	= $(vsyscall-flags)
-+SYSCFLAGS_vsyscall-sysenter_32.so.dbg	= $(vsyscall-flags)
-+SYSCFLAGS_vsyscall-int80_32.so.dbg	= $(vsyscall-flags)
- 
--$(obj)/vsyscall-int80_32.so $(obj)/vsyscall-sysenter_32.so: \
--$(obj)/vsyscall-%.so: $(src)/vsyscall_32.lds \
-+$(obj)/vsyscall-int80_32.so.dbg $(obj)/vsyscall-sysenter_32.so.dbg: \
-+$(obj)/vsyscall-%.so.dbg: $(src)/vsyscall_32.lds \
- 		      $(obj)/vsyscall-%.o $(obj)/vsyscall-note_32.o FORCE
- 	$(call if_changed,syscall)
- 
-+$(obj)/%.so: OBJCOPYFLAGS := -S
-+$(obj)/%.so: $(obj)/%.so.dbg FORCE
-+	$(call if_changed,objcopy)
-+
-+vdsos := vdso-int80.so vdso-sysenter.so
-+
-+quiet_cmd_vdso_install = INSTALL $@
-+      cmd_vdso_install = cp $(@:vdso-%.so=$(obj)/vsyscall-%_32.so.dbg) \
-+			    $(MODLIB)/vdso/$@
-+
-+$(vdsos):
-+	@mkdir -p $(MODLIB)/vdso
-+	$(call cmd,vdso_install)
-+
-+vdso_install: $(vdsos)
-+
- # We also create a special relocatable object that should mirror the symbol
- # table and layout of the linked DSO.  With ld -R we can then refer to
- # these symbols in the kernel code rather than hand-coded addresses.
+ # files to link into the vdso
+ vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o vvar.o

linux-2.6-input-kill-stupid-messages.patch:

Index: linux-2.6-input-kill-stupid-messages.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-input-kill-stupid-messages.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- linux-2.6-input-kill-stupid-messages.patch	6 Jul 2007 14:55:01 -0000	1.4
+++ linux-2.6-input-kill-stupid-messages.patch	12 Feb 2008 06:18:04 -0000	1.5
@@ -13,5 +13,5 @@
  				       data == ATKBD_RET_ACK ? "ACK" : "NAK", serio->phys);
 +#endif
  			goto out;
- 		case ATKBD_RET_HANGEUL:
- 		case ATKBD_RET_HANJA:
+ 		case ATKBD_RET_ERR:
+ 			atkbd->err_count++;

linux-2.6-lirc.patch:

Index: linux-2.6-lirc.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-lirc.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- linux-2.6-lirc.patch	10 Jan 2008 16:54:51 -0000	1.4
+++ linux-2.6-lirc.patch	12 Feb 2008 06:18:04 -0000	1.5
@@ -1,43 +1,8 @@
-Linux Infrared Remote Control drivers (http://lirc.org/)
-
-Signed-off-by: Jarod Wilson <jwilson at redhat.com>
-
- drivers/input/Kconfig                 |    2 +
- drivers/input/Makefile                |    1 +
- drivers/input/lirc/Kconfig            |  127 +++
- drivers/input/lirc/Makefile           |   24 +
- drivers/input/lirc/commandir.c        | 1009 +++++++++++++++++++++++
- drivers/input/lirc/commandir.h        |   41 +
- drivers/input/lirc/kcompat.h          |  150 ++++
- drivers/input/lirc/lirc.h             |  101 +++
- drivers/input/lirc/lirc_atiusb.c      | 1326 ++++++++++++++++++++++++++++++
- drivers/input/lirc/lirc_bt829.c       |  393 +++++++++
- drivers/input/lirc/lirc_cmdir.c       |  605 ++++++++++++++
- drivers/input/lirc/lirc_cmdir.h       |   27 +
- drivers/input/lirc/lirc_dev.c         |  827 +++++++++++++++++++
- drivers/input/lirc/lirc_dev.h         |  264 ++++++
- drivers/input/lirc/lirc_i2c.c         |  671 +++++++++++++++
- drivers/input/lirc/lirc_igorplugusb.c |  624 ++++++++++++++
- drivers/input/lirc/lirc_imon.c        | 1165 +++++++++++++++++++++++++++
- drivers/input/lirc/lirc_it87.c        | 1012 +++++++++++++++++++++++
- drivers/input/lirc/lirc_it87.h        |  116 +++
- drivers/input/lirc/lirc_mceusb.c      |  890 ++++++++++++++++++++
- drivers/input/lirc/lirc_mceusb2.c     | 1042 ++++++++++++++++++++++++
- drivers/input/lirc/lirc_parallel.c    |  745 +++++++++++++++++
- drivers/input/lirc/lirc_parallel.h    |   26 +
- drivers/input/lirc/lirc_pvr150.c      | 1431 +++++++++++++++++++++++++++++++++
- drivers/input/lirc/lirc_sasem.c       |  971 ++++++++++++++++++++++
- drivers/input/lirc/lirc_serial.c      | 1348 +++++++++++++++++++++++++++++++
- drivers/input/lirc/lirc_sir.c         | 1323 ++++++++++++++++++++++++++++++
- drivers/input/lirc/lirc_streamzap.c   |  810 +++++++++++++++++++
- drivers/input/lirc/lirc_ttusbir.c     |  393 +++++++++
- 29 files changed, 17464 insertions(+), 0 deletions(-)
-
 diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig
-index 63512d9..de4b170 100644
+index 9dea14d..d84ac4a 100644
 --- a/drivers/input/Kconfig
 +++ b/drivers/input/Kconfig
-@@ -161,5 +161,7 @@ source "drivers/input/gameport/Kconfig"
+@@ -173,5 +173,7 @@ source "drivers/input/gameport/Kconfig"
  
  endmenu
  
@@ -46,14 +11,16 @@
  endmenu
  
 diff --git a/drivers/input/Makefile b/drivers/input/Makefile
-index 99af903..78b0420 100644
+index 2ae87b1..24bdec1 100644
 --- a/drivers/input/Makefile
 +++ b/drivers/input/Makefile
-@@ -22,3 +22,4 @@ obj-$(CONFIG_INPUT_TABLET)	+= tablet/
+@@ -21,5 +21,6 @@ obj-$(CONFIG_INPUT_JOYSTICK)	+= joystick/
+ obj-$(CONFIG_INPUT_TABLET)	+= tablet/
  obj-$(CONFIG_INPUT_TOUCHSCREEN)	+= touchscreen/
  obj-$(CONFIG_INPUT_MISC)	+= misc/
++obj-$(CONFIG_INPUT_LIRC)	+= lirc/
  
-+obj-$(CONFIG_INPUT_LIRC)       += lirc/
+ obj-$(CONFIG_INPUT_APMPOWER)	+= apm-power.o
 diff --git a/drivers/input/lirc/Kconfig b/drivers/input/lirc/Kconfig
 new file mode 100644
 index 0000000..138e58a

linux-2.6-silence-noise.patch:

Index: linux-2.6-silence-noise.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-silence-noise.patch,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- linux-2.6-silence-noise.patch	30 Nov 2007 14:55:05 -0000	1.11
+++ linux-2.6-silence-noise.patch	12 Feb 2008 06:18:04 -0000	1.12
@@ -88,9 +88,9 @@
  	mutex_lock(&dpm_list_mtx);
  	list_add_tail(&dev->power.entry, &dpm_active);
 @@ -51,9 +48,6 @@ int device_pm_add(struct device *dev)
- 
- void device_pm_remove(struct device *dev)
- {
+ 			down(&dev->sem);
+ 		}
+ 	}
 -	pr_debug("PM: Removing info for %s:%s\n",
 -		 dev->bus ? dev->bus->name : "No Bus",
 -		 kobject_name(&dev->kobj));

linux-2.6-squashfs.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.26 -r 1.27 linux-2.6-squashfs.patch
Index: linux-2.6-squashfs.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-squashfs.patch,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- linux-2.6-squashfs.patch	13 Dec 2007 21:52:38 -0000	1.26
+++ linux-2.6-squashfs.patch	12 Feb 2008 06:18:04 -0000	1.27
@@ -1,4234 +0,0 @@
-diff -x .gitignore -Nurp linux-2.6.24/fs/Kconfig linux-2.6.24-squashfs3.3/fs/Kconfig
---- linux-2.6.24/fs/Kconfig	2007-10-25 17:41:45.000000000 +0100
-+++ linux-2.6.24-squashfs3.3/fs/Kconfig	2007-11-01 05:06:25.000000000 +0000
-@@ -1396,6 +1396,56 @@ config CRAMFS
- 
- 	  If unsure, say N.
- 
-+config SQUASHFS
-+	tristate "SquashFS 3.3 - Squashed file system support"
-+	select ZLIB_INFLATE
-+	help
-+	  Saying Y here includes support for SquashFS 3.3 (a Compressed
-+	  Read-Only File System).  Squashfs is a highly compressed read-only
-+	  filesystem for Linux.  It uses zlib compression to compress both
-+	  files, inodes and directories.  Inodes in the system are very small
-+	  and all blocks are packed to minimise data overhead. Block sizes
-+	  greater than 4K are supported up to a maximum of 1 Mbytes (default
-+	  block size 128K).  SquashFS 3.3 supports 64 bit filesystems and files
-+	  (larger than 4GB), full uid/gid information, hard links and timestamps.  
-+
-+	  Squashfs is intended for general read-only filesystem use, for
-+	  archival use (i.e. in cases where a .tar.gz file may be used), and in
-+	  embedded systems where low overhead is needed.  Further information
-+	  and filesystem tools are available from http://squashfs.sourceforge.net.
-+
-+	  If you want to compile this as a module ( = code which can be
-+	  inserted in and removed from the running kernel whenever you want),
-+	  say M here and read <file:Documentation/modules.txt>.  The module
-+	  will be called squashfs.  Note that the root file system (the one
-+	  containing the directory /) cannot be compiled as a module.
-+
-+	  If unsure, say N.
-+
-+config SQUASHFS_EMBEDDED
-+
-+	bool "Additional option for memory-constrained systems" 
-+	depends on SQUASHFS
-+	default n
-+	help
-+	  Saying Y here allows you to specify cache size.
-+
-+	  If unsure, say N.
-+
-+config SQUASHFS_FRAGMENT_CACHE_SIZE
-+	int "Number of fragments cached" if SQUASHFS_EMBEDDED
-+	depends on SQUASHFS
-+	default "3"
-+	help
-+	  By default SquashFS caches the last 3 fragments read from
-+	  the filesystem.  Increasing this amount may mean SquashFS
-+	  has to re-read fragments less often from disk, at the expense
-+	  of extra system memory.  Decreasing this amount will mean
-+	  SquashFS uses less memory at the expense of extra reads from disk.
-+
-+	  Note there must be at least one cached fragment.  Anything
-+	  much more than three will probably not make much difference.
-+
- config VXFS_FS
- 	tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
- 	depends on BLOCK
-diff -x .gitignore -Nurp linux-2.6.24/fs/Makefile linux-2.6.24-squashfs3.3/fs/Makefile
---- linux-2.6.24/fs/Makefile	2007-10-25 17:41:45.000000000 +0100
-+++ linux-2.6.24-squashfs3.3/fs/Makefile	2007-11-01 05:08:09.000000000 +0000
-@@ -72,6 +72,7 @@ obj-$(CONFIG_JBD)		+= jbd/
- obj-$(CONFIG_JBD2)		+= jbd2/
- obj-$(CONFIG_EXT2_FS)		+= ext2/
- obj-$(CONFIG_CRAMFS)		+= cramfs/
-+obj-$(CONFIG_SQUASHFS)		+= squashfs/
- obj-y				+= ramfs/
- obj-$(CONFIG_HUGETLBFS)		+= hugetlbfs/
- obj-$(CONFIG_CODA_FS)		+= coda/
-diff -x .gitignore -Nurp linux-2.6.24/fs/squashfs/inode.c linux-2.6.24-squashfs3.3/fs/squashfs/inode.c
---- linux-2.6.24/fs/squashfs/inode.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24-squashfs3.3/fs/squashfs/inode.c	2007-11-01 05:05:00.000000000 +0000
-@@ -0,0 +1,2192 @@
-+/*
-+ * Squashfs - a compressed read only filesystem for Linux
-+ *
-+ * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007
-+ * Phillip Lougher <phillip at lougher.demon.co.uk>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2,
-+ * or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ *
-+ * inode.c
-+ */
-+
-+#include <linux/squashfs_fs.h>
-+#include <linux/module.h>
-+#include <linux/zlib.h>
-+#include <linux/fs.h>
-+#include <linux/squashfs_fs_sb.h>
-+#include <linux/squashfs_fs_i.h>
-+#include <linux/buffer_head.h>
-+#include <linux/vfs.h>
-+#include <linux/vmalloc.h>
-+#include <linux/smp_lock.h>
-+#include <linux/exportfs.h>
-+
-+#include "squashfs.h"
-+
-+int squashfs_cached_blks;
-+
-+static void vfs_read_inode(struct inode *i);
-+static struct dentry *squashfs_get_parent(struct dentry *child);
-+static int squashfs_read_inode(struct inode *i, squashfs_inode_t inode);
-+static int squashfs_statfs(struct dentry *, struct kstatfs *);
-+static int squashfs_symlink_readpage(struct file *file, struct page *page);
-+static long long read_blocklist(struct inode *inode, int index,
-+				int readahead_blks, char *block_list,
-+				unsigned short **block_p, unsigned int *bsize);
-+static int squashfs_readpage(struct file *file, struct page *page);
-+static int squashfs_readdir(struct file *, void *, filldir_t);
-+static struct dentry *squashfs_lookup(struct inode *, struct dentry *,
-+				struct nameidata *);
-+static int squashfs_remount(struct super_block *s, int *flags, char *data);
-+static void squashfs_put_super(struct super_block *);
-+static int squashfs_get_sb(struct file_system_type *,int, const char *, void *,
-+				struct vfsmount *);
-+static struct inode *squashfs_alloc_inode(struct super_block *sb);
-+static void squashfs_destroy_inode(struct inode *inode);
-+static int init_inodecache(void);
-+static void destroy_inodecache(void);
-+
-+static struct file_system_type squashfs_fs_type = {
-+	.owner = THIS_MODULE,
-+	.name = "squashfs",
-+	.get_sb = squashfs_get_sb,
-+	.kill_sb = kill_block_super,
-+	.fs_flags = FS_REQUIRES_DEV
-+};
-+
-+static const unsigned char squashfs_filetype_table[] = {
-+	DT_UNKNOWN, DT_DIR, DT_REG, DT_LNK, DT_BLK, DT_CHR, DT_FIFO, DT_SOCK
-+};
-+
-+static struct super_operations squashfs_super_ops = {
-+	.alloc_inode = squashfs_alloc_inode,
-+	.destroy_inode = squashfs_destroy_inode,
-+	.statfs = squashfs_statfs,
-+	.put_super = squashfs_put_super,
-+	.remount_fs = squashfs_remount
-+};
-+
-+static struct super_operations squashfs_export_super_ops = {
-+	.alloc_inode = squashfs_alloc_inode,
-+	.destroy_inode = squashfs_destroy_inode,
-+	.statfs = squashfs_statfs,
-+	.put_super = squashfs_put_super,
-+	.read_inode = vfs_read_inode
-+};
-+
-+static struct export_operations squashfs_export_ops = {
-+	.get_parent = squashfs_get_parent
-+};
-+
-+SQSH_EXTERN const struct address_space_operations squashfs_symlink_aops = {
-+	.readpage = squashfs_symlink_readpage
-+};
-+
-+SQSH_EXTERN const struct address_space_operations squashfs_aops = {
-+	.readpage = squashfs_readpage
-+};
-+
-+static const struct file_operations squashfs_dir_ops = {
-+	.read = generic_read_dir,
-+	.readdir = squashfs_readdir
-+};
-+
-+SQSH_EXTERN struct inode_operations squashfs_dir_inode_ops = {
-+	.lookup = squashfs_lookup
-+};
-+
-+
-+static struct buffer_head *get_block_length(struct super_block *s,
-+				int *cur_index, int *offset, int *c_byte)
-+{
-+	struct squashfs_sb_info *msblk = s->s_fs_info;
-+	unsigned short temp;
-+	struct buffer_head *bh;
[...3843 lines suppressed...]
-+		tbits, 64 - tbits - b_pos)
-+#endif
-+
-+#define _SQUASHFS_SWAP(value, p, pos, tbits, SHIFT) {\
-+	b_pos = pos % 8;\
-+	val = 0;\
-+	s = (unsigned char *)p + (pos / 8);\
-+	d = ((unsigned char *) &val) + 7;\
-+	for(bits = 0; bits < (tbits + b_pos); bits += 8) \
-+		*d-- = *s++;\
-+	value = (val >> (SHIFT))/* & ((1 << tbits) - 1)*/;\
-+}
-+
-+#define SQUASHFS_MEMSET(s, d, n)	memset(s, 0, n);
-+
-+#endif
-+#endif
-diff -x .gitignore -Nurp linux-2.6.24/include/linux/squashfs_fs_i.h linux-2.6.24-squashfs3.3/include/linux/squashfs_fs_i.h
---- linux-2.6.24/include/linux/squashfs_fs_i.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24-squashfs3.3/include/linux/squashfs_fs_i.h	2007-08-19 04:24:08.000000000 +0100
-@@ -0,0 +1,45 @@
-+#ifndef SQUASHFS_FS_I
-+#define SQUASHFS_FS_I
-+/*
-+ * Squashfs
-+ *
-+ * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007
-+ * Phillip Lougher <phillip at lougher.demon.co.uk>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2,
-+ * or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ *
-+ * squashfs_fs_i.h
-+ */
-+
-+struct squashfs_inode_info {
-+	long long	start_block;
-+	unsigned int	offset;
-+	union {
-+		struct {
-+			long long	fragment_start_block;
-+			unsigned int	fragment_size;
-+			unsigned int	fragment_offset;
-+			long long	block_list_start;
-+		} s1;
-+		struct {
-+			long long	directory_index_start;
-+			unsigned int	directory_index_offset;
-+			unsigned int	directory_index_count;
-+			unsigned int	parent_inode;
-+		} s2;
-+	} u;
-+	struct inode	vfs_inode;
-+};
-+#endif
-diff -x .gitignore -Nurp linux-2.6.24/include/linux/squashfs_fs_sb.h linux-2.6.24-squashfs3.3/include/linux/squashfs_fs_sb.h
---- linux-2.6.24/include/linux/squashfs_fs_sb.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24-squashfs3.3/include/linux/squashfs_fs_sb.h	2007-08-19 04:24:26.000000000 +0100
-@@ -0,0 +1,76 @@
-+#ifndef SQUASHFS_FS_SB
-+#define SQUASHFS_FS_SB
-+/*
-+ * Squashfs
-+ *
-+ * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007
-+ * Phillip Lougher <phillip at lougher.demon.co.uk>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2,
-+ * or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ *
-+ * squashfs_fs_sb.h
-+ */
-+
-+#include <linux/squashfs_fs.h>
-+
-+struct squashfs_cache {
-+	long long	block;
-+	int		length;
-+	long long	next_index;
-+	char		*data;
-+};
-+
-+struct squashfs_fragment_cache {
-+	long long	block;
-+	int		length;
-+	unsigned int	locked;
-+	char		*data;
-+};
-+
-+struct squashfs_sb_info {
-+	struct squashfs_super_block	sblk;
-+	int			devblksize;
-+	int			devblksize_log2;
-+	int			swap;
-+	struct squashfs_cache	*block_cache;
-+	struct squashfs_fragment_cache	*fragment;
-+	int			next_cache;
-+	int			next_fragment;
-+	int			next_meta_index;
-+	unsigned int		*uid;
-+	unsigned int		*guid;
-+	long long		*fragment_index;
-+	unsigned int		*fragment_index_2;
-+	char			*read_page;
-+	struct mutex		read_data_mutex;
-+	struct mutex		read_page_mutex;
-+	struct mutex		block_cache_mutex;
-+	struct mutex		fragment_mutex;
-+	struct mutex		meta_index_mutex;
-+	wait_queue_head_t	waitq;
-+	wait_queue_head_t	fragment_wait_queue;
-+	struct meta_index	*meta_index;
-+	z_stream		stream;
-+	long long		*inode_lookup_table;
-+	int			unused_cache_blks;
-+	int			unused_frag_blks;
-+	int			(*read_inode)(struct inode *i,  squashfs_inode_t \
-+				inode);
-+	long long		(*read_blocklist)(struct inode *inode, int \
-+				index, int readahead_blks, char *block_list, \
-+				unsigned short **block_p, unsigned int *bsize);
-+	int			(*read_fragment_index_table)(struct super_block *s);
-+};
-+#endif
-diff -x .gitignore -Nurp linux-2.6.24/init/do_mounts_rd.c linux-2.6.24-squashfs3.3/init/do_mounts_rd.c
---- linux-2.6.24/init/do_mounts_rd.c	2007-10-25 17:41:49.000000000 +0100
-+++ linux-2.6.24-squashfs3.3/init/do_mounts_rd.c	2007-11-01 05:06:25.000000000 +0000
-@@ -5,6 +5,7 @@
- #include <linux/ext2_fs.h>
- #include <linux/romfs_fs.h>
- #include <linux/cramfs_fs.h>
-+#include <linux/squashfs_fs.h>
- #include <linux/initrd.h>
- #include <linux/string.h>
- 
-@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
-  * numbers could not be found.
-  *
-  * We currently check for the following magic numbers:
-+ *      squashfs
-  * 	minix
-  * 	ext2
-  *	romfs
-@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
- 	struct ext2_super_block *ext2sb;
- 	struct romfs_super_block *romfsb;
- 	struct cramfs_super *cramfsb;
-+	struct squashfs_super_block *squashfsb;
- 	int nblocks = -1;
- 	unsigned char *buf;
- 
-@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
- 	ext2sb = (struct ext2_super_block *) buf;
- 	romfsb = (struct romfs_super_block *) buf;
- 	cramfsb = (struct cramfs_super *) buf;
-+	squashfsb = (struct squashfs_super_block *) buf;
- 	memset(buf, 0xe5, size);
- 
- 	/*
-@@ -101,6 +105,18 @@ identify_ramdisk_image(int fd, int start
- 		goto done;
- 	}
- 
-+	/* squashfs is at block zero too */
-+	if (squashfsb->s_magic == SQUASHFS_MAGIC) {
-+		printk(KERN_NOTICE
-+		       "RAMDISK: squashfs filesystem found at block %d\n",
-+		       start_block);
-+		if (squashfsb->s_major < 3)
-+			nblocks = (squashfsb->bytes_used_2+BLOCK_SIZE-1)>>BLOCK_SIZE_BITS;
-+		else
-+			nblocks = (squashfsb->bytes_used+BLOCK_SIZE-1)>>BLOCK_SIZE_BITS;
-+		goto done;
-+	}
-+
- 	/*
- 	 * Read block 1 to test for minix and ext2 superblock
- 	 */

linux-2.6-utrace-core.patch:

Index: linux-2.6-utrace-core.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-utrace-core.patch,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- linux-2.6-utrace-core.patch	7 Jan 2008 01:17:07 -0000	1.13
+++ linux-2.6-utrace-core.patch	12 Feb 2008 06:18:04 -0000	1.14
@@ -20,15 +20,15 @@
 ---
 
  kernel/Makefile                   |    1 
- kernel/utrace.c                   | 2359 +++++++++++++++++++++++++++++++++++++
+ kernel/utrace.c                   | 2383 +++++++++++++++++++++++++++++++++++++
  Documentation/utrace.txt          |  579 +++++++++
  Documentation/DocBook/Makefile    |    2 
  Documentation/DocBook/utrace.tmpl |   23 
  include/linux/tracehook.h         |   85 +
- include/linux/utrace.h            |  544 +++++++++
+ include/linux/utrace.h            |  544 ++++++++
  include/linux/sched.h             |    5 
  init/Kconfig                      |   18 
- 9 files changed, 3598 insertions(+), 18 deletions(-)
+ 9 files changed, 3622 insertions(+), 18 deletions(-)
  create kernel/utrace.c
  create Documentation/utrace.txt
  create Documentation/DocBook/utrace.tmpl
@@ -46,11 +46,11 @@
  # According to Alan Modra <alan at linuxcare.com.au>, the -fno-omit-frame-pointer is
 --- linux-2.6/kernel/utrace.c
 +++ linux-2.6/kernel/utrace.c
-@@ -0,0 +1,2359 @@
+@@ -0,0 +1,2383 @@
 +/*
 + * utrace infrastructure interface for debugging user processes
 + *
-+ * Copyright (C) 2006, 2007 Red Hat, Inc.  All rights reserved.
++ * Copyright (C) 2006, 2007, 2008 Red Hat, Inc.  All rights reserved.
 + *
 + * This copyrighted material is made available to anyone wishing to use,
 + * modify, copy, or redistribute it subject to the terms and conditions
@@ -1434,6 +1434,7 @@
 +	 */
 +	if (action & UTRACE_ACTION_QUIESCE) {
 +		int killed;
++		int stop;
 +
 +		if (signal != NULL) {
 +			BUG_ON(utrace->u.live.signal != NULL);
@@ -1450,7 +1451,8 @@
 +		 * Never stop when there is a SIGKILL bringing us down.
 +		 */
 +		killed = sigkill_pending(tsk);
-+		if (!killed && (tsk->utrace_flags & UTRACE_ACTION_QUIESCE)) {
++		stop = !killed && (tsk->utrace_flags & UTRACE_ACTION_QUIESCE);
++		if (likely(stop)) {
 +			set_current_state(TASK_TRACED);
 +			/*
 +			 * If there is a group stop in progress,
@@ -1472,10 +1474,32 @@
 +			 */
 +			BUG_ON(tsk->utrace != utrace);
 +			BUG_ON(utrace->u.live.signal != signal);
++
++			if (likely(stop)) {
++				/*
++				 * Synchronize with any utrace_detach
++				 * that might be in progress.  We were
++				 * just now quiescent in TASK_TRACED,
++				 * and it expected us to stay there.
++				 * But SIGKILL might have broken that.
++				 * Taking this lock here serializes its
++				 * work so that if it had the lock and
++				 * thought we were still in TASK_TRACED,
++				 * we block until it has finished
++				 * looking at utrace.  A utrace_detach
++				 * that gets the lock after we release
++				 * it here will not think we are
++				 * quiescent at all, since we are in
++				 * TASK_RUNNING state now.
++				 */
++				spin_lock(&utrace->lock);
++				spin_unlock(&utrace->lock);
++			}
++
 +			utrace->u.live.signal = NULL;
 +		}
 +
-+		if (killed)	/* Game over, man!  */
++		if (unlikely(killed)) /* Game over, man!  */
 +			return 1;
 +
 +		/*

linux-2.6-utrace-tracehook.patch:

Index: linux-2.6-utrace-tracehook.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-utrace-tracehook.patch,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- linux-2.6-utrace-tracehook.patch	16 Jan 2008 17:35:23 -0000	1.22
+++ linux-2.6-utrace-tracehook.patch	12 Feb 2008 06:18:04 -0000	1.23
@@ -82,6 +82,7 @@
  arch/ia64/kernel/asm-offsets.c      |    2 
  arch/ia64/kernel/fsys.S             |   16 +
  kernel/exit.c                       |  238 +++++---------------
+ kernel/power/process.c              |   11 +
  kernel/sched.c                      |    2 
  kernel/ptrace.c                     |  307 +-------------------------
  kernel/timer.c                      |    6 -
@@ -101,7 +102,7 @@
  include/asm-x86/signal.h            |    4 
  drivers/connector/cn_proc.c         |    4 
  mm/nommu.c                          |    4 
- 68 files changed, 861 insertions(+), 1146 deletions(-)
+ 69 files changed, 869 insertions(+), 1149 deletions(-)
  create include/linux/tracehook.h
  create include/asm-powerpc/tracehook.h
  create include/asm-x86/tracehook.h
@@ -1270,7 +1271,7 @@
  }
 --- linux-2.6/arch/x86/kernel/traps_64.c
 +++ linux-2.6/arch/x86/kernel/traps_64.c
-@@ -885,14 +885,6 @@ asmlinkage void __kprobes do_debug(struc
+@@ -886,14 +886,6 @@ asmlinkage void __kprobes do_debug(struc
  		 */
                  if (!user_mode(regs))
                         goto clear_TF_reenable;
@@ -2144,6 +2145,33 @@
  		else {
  			/*
  			 * For a WNOHANG return, clear out all the fields
+--- linux-2.6/kernel/power/process.c
++++ linux-2.6/kernel/power/process.c
+@@ -13,6 +13,7 @@
+ #include <linux/module.h>
+ #include <linux/syscalls.h>
+ #include <linux/freezer.h>
++#include <linux/tracehook.h>
+ 
+ /* 
+  * Timeout for stopping processes
+@@ -182,9 +183,13 @@ static int try_to_freeze_tasks(int freez
+ 			if (frozen(p) || !freezeable(p))
+ 				continue;
+ 
+-			if (p->state == TASK_TRACED && frozen(p->parent)) {
+-				cancel_freezing(p);
+-				continue;
++			if (p->state == TASK_TRACED) {
++				struct task_struct *tracer;
++				tracer = tracehook_tracer_task(p);
++				if (tracer && frozen(tracer)) {
++					cancel_freezing(p);
++					continue;
++				}
+ 			}
+ 
+ 			if (!freeze_task(p, freeze_user_space))
 --- linux-2.6/kernel/sched.c
 +++ linux-2.6/kernel/sched.c
 @@ -4918,7 +4918,7 @@ static void show_task(struct task_struct

linux-2.6-wireless-pending.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.28 -r 1.29 linux-2.6-wireless-pending.patch
Index: linux-2.6-wireless-pending.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-wireless-pending.patch,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- linux-2.6-wireless-pending.patch	6 Feb 2008 15:58:27 -0000	1.28
+++ linux-2.6-wireless-pending.patch	12 Feb 2008 06:18:04 -0000	1.29
@@ -1,3297 +1,578 @@
-commit 1649f279a01d5623c5ab048dea69654c13b87dd9
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date:   Sun Feb 3 15:55:21 2008 +0100
-
-    rt2x00: Fix queue index handling
-    
-    When Q_INDEX is increased, the queue->length should be increased,
-    only when Q_INDEX_DONE is increased should queue_length be descreased.
-    
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 49dc7bf4c18be97f49e5d84804e2a210294f2ebc
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date:   Sun Feb 3 15:54:57 2008 +0100
-
-    rt2x00: Move beacon and atim queue defines into rt2x00
-    
-    As Johannes Berg indicated the BEACON and AFTER_BEACON
-    queue indeces in mac80211 should be removed because they
-    are too hardware specific. This patch adds the queue index
-    defines into rt2x00queue.h and removes the dependency of
-    the defines inside mac80211.h.
-    
-    Also move rt2x00pci_beacon_update() into rt2400pci and
-    rt2500pci individually since it is no longer a generic
-    function since rt61 and rt2800 no longer use that.
-    
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 00bb22220f6e648a50faa755e7c6673d6c98f283
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date:   Sun Feb 3 15:52:21 2008 +0100
-
-    rt2x00: Initialize QID from queue->qid
-    
-    The QID_MGMT is assigned to the beacon and atim queue
-    during initialization. This means we don't need a seperate
-    check in write_tx_desc()..
-    
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit ac70a432ade9dc1943a5fc6887477942ef2c297f
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date:   Sun Feb 3 15:51:47 2008 +0100
-
-    rt2x00: Remove TX_MGMT queue usage
-    
-    rt73usb doesn't have a 5th queue, correctly initialize hw->queues
-    rt61pci had a 5th queue but was removed recently, correctly initialize
-    hw->queues and remove the last remnants.
-    
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 5a6bd1bd947056843e39693322586c11b88301ef
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date:   Sun Feb 3 15:49:59 2008 +0100
-
-    rt2x00: Add per-interface structure
-    
-    Rework the interface handling. Delete the interface structure
-    and replace it with a per-interface structure. This changes the
-    way rt2x00 handles the active interface drastically.
-    
-    Copy ieee80211_bss_conf to the this rt2x00_intf structure during
-    the bss_info_changed() callback function. This will allow us to
-    reference it later, and removes the requirement for the device flag
-    SHORT_PREAMBLE flag which is interface specific.
-    
-    Drivers receive the option to give the maximum number of virtual
-    interfaces the device can handle. Virtual interface support:
-    rt2400pci: 1 sta or 1 ap, * monitor interfaces
-    rt2500pci: 1 sta or 1 ap, * monitor interfaces
-    rt2500usb: 1 sta or 1 ap, * monitor interfaces
-    rt61pci: 1 sta or 4 ap, * monitor interfaces
-    rt73usb: 1 sta or 4 ap, * monitor interfaces
-    
-    At the moment none of the drivers support AP and STA interfaces
-    simultaneously, this is a hardware limitation so future support
-    will be very unlikely.
-    
-    Each interface structure receives its dedicated beacon entry,
-    with this we can easily work with beaconing while multiple master
-    mode interfaces are currently active.
-    
-    The configuration handlers for the MAC, BSSID and type are
-    often called together since they all belong to the interface
-    configuration. Merge the 3 configuration calls and cleanup
-    the API between rt2x00lib and the drivers. While we are cleaning
-    up the interface configuration anyway, we might as well clean up
-    the configuration handler as well.
-    
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 45df21472750a43c3430aced2976dd664e2f9db9
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date:   Sun Feb 3 15:48:38 2008 +0100
-
-    rt2x00: Driver requiring firmware should select crc algo
-    
-    The driver should select what CRC algorithm is required
-    when performing a checksum on the firmware.
-    
-    rt61pci & rt73usb require crc-itu-t
-    rt2800pci & rt2800usb require crc-ccitt
-    
-    Legacy 2800pci/usb driver uses crc-itu-t + bit order reversion,
-    but that is just inefficient especially since the end result is
-    the same as a different algorithm which is also available as library. ;)
-    
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit a9ccef5ab4a89d5d8ff1a34273345b778ed3ce0e
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date:   Sun Feb 3 15:48:03 2008 +0100
-
-    rt2x00: Enable master and adhoc mode again
-    
-    This will enable the creation of master mode and adhoc
-    interfaces again. This does not mean the issues surrounding
-    beaconing have been resolved, but this will make testing
-    easier and perhaps we can discover which cards are actually
-    working and which ones not.
-    
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 044eab1f0336a45c54b4968c5d1e2897bb138269
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date:   Sun Feb 3 15:47:30 2008 +0100
-
-    rt2x00: Fix tx parameter initialization
-    
-    Check if the aifs, cw_min and cw_max are above 0
-    when determining if the default should be used.
-    Tor aifs a negative number is used to determine
-    if the default should be used or not.
-    
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit b39069b5bb4ed12838a80b33f6b04e376744deac
-Author: Ivo van Doorn <ivdoorn at gmail.com>
-Date:   Sun Feb 3 15:47:02 2008 +0100
-
-    rt2x00: Add new USB ID to rt2500usb
-    
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 0ea32c0eed26d17d7a4c8da6b2b30b64cade906a
-Author: Adam Baker <linux at baker-net.org.uk>
-Date:   Sun Feb 3 15:46:24 2008 +0100
-
-    rt2x00: don't write past the end when writing short descriptors on rt61
-    
-    The space allocated in the skb for a descriptor is only 24 bytes when
-    setting up beacons in rt61 so make sure we don't write to the descriptor
-    words beyond that and corrupt the beacon packet.
-    
-    Signed-off-by: Adam Baker <linux at baker-net.org.uk>
-    Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
-    Signed-off-by: John W. Linville <linville at tuxdriver.com>
-
-commit 412f0889afb95408fb53a4b754c6a69e609dc2c5
-Author: John W. Linville <linville at tuxdriver.com>
-Date:   Tue Feb 5 16:42:23 2008 -0500
-
-    rt2x00: Queue handling overhaul
-    
-    This introduces a big queue handling overhaul, this also
-    renames "ring" to "queues".
-    
-    Move queue handling into rt2x00queue.c and the matching header,
-    use Kerneldoc to improve rt2x00 library documentation.
-    
-    Access to the queues is now protected under a spinlock, this
-    to prevent race conditions which could corrupt the indexing
-    system of the queue.
-    
-    Each queue entry allocates x bytes for driver/device specific data,
-    this cleans up the queue structure significantly and improves
-    code readability.
-    
-    rt2500usb no longer needs 2 entries in the beacon queue to correctly
-    send out the guardian byte. This is now handled in the entry specific
[...19530 lines suppressed...]
+ 			continue;
  
- 	/*
- 	 * Write entire beacon with descriptor to register,
- 	 * and kick the beacon generator.
- 	 */
-+	beacon_base = HW_BEACON_OFFSET(intf->beacon->entry_idx);
- 	timeout = REGISTER_TIMEOUT * (skb->len / sizeof(u32));
- 	rt2x00usb_vendor_request(rt2x00dev, USB_MULTI_WRITE,
--				 USB_VENDOR_REQUEST_OUT,
--				 HW_BEACON_BASE0, 0x0000,
-+				 USB_VENDOR_REQUEST_OUT, beacon_base, 0,
- 				 skb->data, skb->len, timeout);
--	rt73usb_kick_tx_queue(rt2x00dev, IEEE80211_TX_QUEUE_BEACON);
-+	rt73usb_kick_tx_queue(rt2x00dev, control->queue);
+ 		/* there is space - try and get a frame */
+@@ -360,6 +394,10 @@ static int wme_qdiscop_init(struct Qdisc *qd, struct nlattr *opt)
+ 		}
+ 	}
  
- 	return 0;
++	/* reserve all legacy QoS queues */
++	for (i = 0; i < min(IEEE80211_TX_QUEUE_DATA4, queues); i++)
++		set_bit(i, &q->qdisc_pool);
++
+ 	return err;
  }
-@@ -2046,19 +2084,41 @@ static const struct rt2x00lib_ops rt73us
- 	.get_tx_data_len	= rt73usb_get_tx_data_len,
- 	.kick_tx_queue		= rt73usb_kick_tx_queue,
- 	.fill_rxdone		= rt73usb_fill_rxdone,
--	.config_mac_addr	= rt73usb_config_mac_addr,
--	.config_bssid		= rt73usb_config_bssid,
--	.config_type		= rt73usb_config_type,
-+	.config_intf		= rt73usb_config_intf,
- 	.config_preamble	= rt73usb_config_preamble,
- 	.config			= rt73usb_config,
- };
  
-+static const struct data_queue_desc rt73usb_queue_rx = {
-+	.entry_num		= RX_ENTRIES,
-+	.data_size		= DATA_FRAME_SIZE,
-+	.desc_size		= RXD_DESC_SIZE,
-+	.priv_size		= sizeof(struct queue_entry_priv_usb_rx),
-+};
+@@ -605,3 +643,80 @@ void ieee80211_wme_unregister(void)
+ {
+ 	unregister_qdisc(&wme_qdisc_ops);
+ }
 +
-+static const struct data_queue_desc rt73usb_queue_tx = {
-+	.entry_num		= TX_ENTRIES,
-+	.data_size		= DATA_FRAME_SIZE,
-+	.desc_size		= TXD_DESC_SIZE,
-+	.priv_size		= sizeof(struct queue_entry_priv_usb_tx),
-+};
++int ieee80211_ht_agg_queue_add(struct ieee80211_local *local,
++			struct sta_info *sta, u16 tid)
++{
++	int i;
++	struct ieee80211_sched_data *q =
++			qdisc_priv(local->mdev->qdisc_sleeping);
++	DECLARE_MAC_BUF(mac);
 +
-+static const struct data_queue_desc rt73usb_queue_bcn = {
-+	.entry_num		= 4 * BEACON_ENTRIES,
-+	.data_size		= MGMT_FRAME_SIZE,
-+	.desc_size		= TXINFO_SIZE,
-+	.priv_size		= sizeof(struct queue_entry_priv_usb_tx),
-+};
++	/* prepare the filter and save it for the SW queue
++	 * matching the recieved HW queue */
 +
- static const struct rt2x00_ops rt73usb_ops = {
- 	.name		= KBUILD_MODNAME,
--	.rxd_size	= RXD_DESC_SIZE,
--	.txd_size	= TXD_DESC_SIZE,
-+	.max_sta_intf	= 1,
-+	.max_ap_intf	= 4,
- 	.eeprom_size	= EEPROM_SIZE,
- 	.rf_size	= RF_SIZE,
-+	.rx		= &rt73usb_queue_rx,
-+	.tx		= &rt73usb_queue_tx,
-+	.bcn		= &rt73usb_queue_bcn,
- 	.lib		= &rt73usb_rt2x00_ops,
- 	.hw		= &rt73usb_mac80211_ops,
- #ifdef CONFIG_RT2X00_LIB_DEBUGFS
++	/* try to get a Qdisc from the pool */
++	for (i = IEEE80211_TX_QUEUE_BEACON; i < local->hw.queues; i++)
++		if (!test_and_set_bit(i, &q->qdisc_pool)) {
++			ieee80211_stop_queue(local_to_hw(local), i);
++			sta->tid_to_tx_q[tid] = i;
++
++			/* IF there are already pending packets
++			 * on this tid first we need to drain them
++			 * on the previous queue
++			 * since HT is strict in order */
++#ifdef CONFIG_MAC80211_HT_DEBUG
++			if (net_ratelimit())
++				printk(KERN_DEBUG "allocated aggregation queue"
++					" %d tid %d addr %s pool=0x%lX\n",
++					i, tid, print_mac(mac, sta->addr),
++					q->qdisc_pool);
++#endif /* CONFIG_MAC80211_HT_DEBUG */
++			return 0;
++		}
++
++	return -EAGAIN;
++}
++
++/**
++ * the caller needs to hold local->mdev->queue_lock
++ */
++void ieee80211_ht_agg_queue_remove(struct ieee80211_local *local,
++				   struct sta_info *sta, u16 tid,
++				   u8 requeue)
++{
++	struct ieee80211_sched_data *q =
++		qdisc_priv(local->mdev->qdisc_sleeping);
++	int agg_queue = sta->tid_to_tx_q[tid];
++
++	/* return the qdisc to the pool */
++	clear_bit(agg_queue, &q->qdisc_pool);
++	sta->tid_to_tx_q[tid] = local->hw.queues;
++
++	if (requeue)
++		ieee80211_requeue(local, agg_queue);
++	else
++		q->queues[agg_queue]->ops->reset(q->queues[agg_queue]);
++}
++
++void ieee80211_requeue(struct ieee80211_local *local, int queue)
++{
++	struct Qdisc *root_qd = local->mdev->qdisc_sleeping;
++	struct ieee80211_sched_data *q = qdisc_priv(root_qd);
++	struct Qdisc *qdisc = q->queues[queue];
++	struct sk_buff *skb = NULL;
++	u32 len = qdisc->q.qlen;
++
++	if (!qdisc || !qdisc->dequeue)
++		return;
++
++	printk(KERN_DEBUG "requeue: qlen = %d\n", qdisc->q.qlen);
++	for (len = qdisc->q.qlen; len > 0; len--) {
++		skb = qdisc->dequeue(qdisc);
++		root_qd->q.qlen--;
++		/* packet will be classified again and */
++		/* skb->packet_data->queue will be overridden if needed */
++		if (skb)
++			wme_qdiscop_enqueue(skb, root_qd);
++	}
++}
+diff --git a/net/mac80211/wme.h b/net/mac80211/wme.h
+index 76c713a..fcc6b05 100644
+--- a/net/mac80211/wme.h
++++ b/net/mac80211/wme.h
+@@ -24,6 +24,8 @@
+ 
+ #define QOS_CONTROL_TAG1D_MASK 0x07
+ 
++extern const int ieee802_1d_to_ac[8];
++
+ static inline int WLAN_FC_IS_QOS_DATA(u16 fc)
+ {
+ 	return (fc & 0x8C) == 0x88;
+@@ -32,7 +34,12 @@ static inline int WLAN_FC_IS_QOS_DATA(u16 fc)
+ #ifdef CONFIG_NET_SCHED
+ void ieee80211_install_qdisc(struct net_device *dev);
+ int ieee80211_qdisc_installed(struct net_device *dev);
+-
++int ieee80211_ht_agg_queue_add(struct ieee80211_local *local,
++			       struct sta_info *sta, u16 tid);
++void ieee80211_ht_agg_queue_remove(struct ieee80211_local *local,
++				   struct sta_info *sta, u16 tid,
++				   u8 requeue);
++void ieee80211_requeue(struct ieee80211_local *local, int queue);
+ int ieee80211_wme_register(void);
+ void ieee80211_wme_unregister(void);
+ #else
+@@ -43,7 +50,19 @@ static inline int ieee80211_qdisc_installed(struct net_device *dev)
+ {
+ 	return 0;
+ }
+-
++static inline int ieee80211_ht_agg_queue_add(struct ieee80211_local *local,
++					     struct sta_info *sta, u16 tid)
++{
++	return -EAGAIN;
++}
++static inline void ieee80211_ht_agg_queue_remove(struct ieee80211_local *local,
++						 struct sta_info *sta, u16 tid,
++						 u8 requeue)
++{
++}
++static inline void ieee80211_requeue(struct ieee80211_local *local, int queue)
++{
++}
+ static inline int ieee80211_wme_register(void)
+ {
+ 	return 0;

nouveau-drm.patch:

Index: nouveau-drm.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/nouveau-drm.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- nouveau-drm.patch	27 Nov 2007 05:32:06 -0000	1.6
+++ nouveau-drm.patch	12 Feb 2008 06:18:05 -0000	1.7
@@ -1,13 +1,82 @@
-From f4e9f548d49b0bc9fbbfbee635f96e79a2f472ae Mon Sep 17 00:00:00 2001
-From: Dave Airlie <airlied at voynix.(none)>
-Date: Thu, 6 Sep 2007 00:10:19 +1000
-Subject: [PATCH] drm: add nouveau latest code
-
----
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/drm_bufs.c linux-2.6.23.noarch/drivers/char/drm/drm_bufs.c
---- linux-2.6.23.noarch.old/drivers/char/drm/drm_bufs.c	2007-11-26 21:18:35.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/drm_bufs.c	2007-11-26 21:16:13.000000000 -0500
-@@ -49,8 +49,8 @@ unsigned long drm_get_resource_len(struc
+diff --git a/drivers/char/drm/Kconfig b/drivers/char/drm/Kconfig
+index 610d6fd..6b98529 100644
+--- a/drivers/char/drm/Kconfig
++++ b/drivers/char/drm/Kconfig
+@@ -105,3 +105,10 @@ config DRM_SAVAGE
+ 	help
+ 	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
+ 	  chipset. If M is selected the module will be called savage.
++
++config DRM_NOUVEAU
++	tristate "Nvidia video cards"
++	depends on DRM
++	help
++	  Choose this for nvidia open source 3d driver
++
+diff --git a/drivers/char/drm/Makefile b/drivers/char/drm/Makefile
+index 1283ded..7b372eb 100644
+--- a/drivers/char/drm/Makefile
++++ b/drivers/char/drm/Makefile
+@@ -14,6 +14,16 @@ mga-objs    := mga_drv.o mga_dma.o mga_state.o mga_warp.o mga_irq.o
+ i810-objs   := i810_drv.o i810_dma.o
+ i830-objs   := i830_drv.o i830_dma.o i830_irq.o
+ i915-objs   := i915_drv.o i915_dma.o i915_irq.o i915_mem.o
++nouveau-objs := nouveau_drv.o nouveau_state.o nouveau_fifo.o nouveau_mem.o \
++		nouveau_object.o nouveau_irq.o nouveau_notifier.o \
++		nouveau_sgdma.o nouveau_dma.o \
++		nv04_timer.o \
++		nv04_mc.o nv40_mc.o nv50_mc.o \
++		nv04_fb.o nv10_fb.o nv40_fb.o \
++		nv04_fifo.o nv10_fifo.o nv40_fifo.o nv50_fifo.o \
++		nv04_graph.o nv10_graph.o nv20_graph.o nv30_graph.o \
++		nv40_graph.o nv50_graph.o \
++		nv04_instmem.o nv50_instmem.o
+ radeon-objs := radeon_drv.o radeon_cp.o radeon_state.o radeon_mem.o radeon_irq.o r300_cmdbuf.o
+ sis-objs    := sis_drv.o sis_mm.o
+ savage-objs := savage_drv.o savage_bci.o savage_state.o
+@@ -25,6 +35,7 @@ radeon-objs += radeon_ioc32.o
+ mga-objs    += mga_ioc32.o
+ r128-objs   += r128_ioc32.o
+ i915-objs   += i915_ioc32.o
++nouveau-objs   += nouveau_ioc32.o
+ endif
+ 
+ obj-$(CONFIG_DRM)	+= drm.o
+@@ -35,6 +46,7 @@ obj-$(CONFIG_DRM_MGA)	+= mga.o
+ obj-$(CONFIG_DRM_I810)	+= i810.o
+ obj-$(CONFIG_DRM_I830)	+= i830.o
+ obj-$(CONFIG_DRM_I915)  += i915.o
++obj-$(CONFIG_DRM_NOUVEAU)   += nouveau.o
+ obj-$(CONFIG_DRM_SIS)   += sis.o
+ obj-$(CONFIG_DRM_SAVAGE)+= savage.o
+ obj-$(CONFIG_DRM_VIA)	+=via.o
+diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h
+index 19d3be5..31c733d 100644
+--- a/drivers/char/drm/drmP.h
++++ b/drivers/char/drm/drmP.h
+@@ -970,7 +970,8 @@ extern unsigned long drm_get_resource_start(struct drm_device *dev,
+ 					    unsigned int resource);
+ extern unsigned long drm_get_resource_len(struct drm_device *dev,
+ 					  unsigned int resource);
+-
++struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
++					   drm_local_map_t *map);
+ 				/* DMA support (drm_dma.h) */
+ extern int drm_dma_setup(struct drm_device *dev);
+ extern void drm_dma_takedown(struct drm_device *dev);
+@@ -982,6 +983,7 @@ extern void drm_core_reclaim_buffers(struct drm_device *dev,
+ extern int drm_control(struct drm_device *dev, void *data,
+ 		       struct drm_file *file_priv);
+ extern irqreturn_t drm_irq_handler(DRM_IRQ_ARGS);
++extern int drm_irq_install(struct drm_device * dev);
+ extern int drm_irq_uninstall(struct drm_device *dev);
+ extern void drm_driver_irq_preinstall(struct drm_device *dev);
+ extern void drm_driver_irq_postinstall(struct drm_device *dev);
+diff --git a/drivers/char/drm/drm_bufs.c b/drivers/char/drm/drm_bufs.c
+index bde64b8..9134fae 100644
+--- a/drivers/char/drm/drm_bufs.c
++++ b/drivers/char/drm/drm_bufs.c
+@@ -49,8 +49,8 @@ unsigned long drm_get_resource_len(struct drm_device *dev, unsigned int resource
  
  EXPORT_SYMBOL(drm_get_resource_len);
  
@@ -18,7 +87,7 @@
  {
  	struct drm_map_list *entry;
  	list_for_each_entry(entry, &dev->maplist, head) {
-@@ -63,6 +63,7 @@ static struct drm_map_list *drm_find_mat
+@@ -63,6 +63,7 @@ static struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
  
  	return NULL;
  }
@@ -26,10 +95,11 @@
  
  static int drm_map_handle(struct drm_device *dev, struct drm_hash_item *hash,
  			  unsigned long user_token, int hashed_handle)
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/drm_irq.c linux-2.6.23.noarch/drivers/char/drm/drm_irq.c
---- linux-2.6.23.noarch.old/drivers/char/drm/drm_irq.c	2007-11-26 21:18:35.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/drm_irq.c	2007-11-26 21:16:13.000000000 -0500
-@@ -81,7 +81,7 @@ int drm_irq_by_busid(struct drm_device *
+diff --git a/drivers/char/drm/drm_irq.c b/drivers/char/drm/drm_irq.c
+index 089c015..29206c7 100644
+--- a/drivers/char/drm/drm_irq.c
++++ b/drivers/char/drm/drm_irq.c
+@@ -81,7 +81,7 @@ int drm_irq_by_busid(struct drm_device *dev, void *data,
   * \c drm_driver_irq_preinstall() and \c drm_driver_irq_postinstall() functions
   * before and after the installation.
   */
@@ -38,7 +108,7 @@
  {
  	int ret;
  	unsigned long sh_flags = 0;
-@@ -141,6 +141,7 @@ static int drm_irq_install(struct drm_de
+@@ -141,6 +141,7 @@ static int drm_irq_install(struct drm_device * dev)
  
  	return 0;
  }
@@ -46,12 +116,13 @@
  
  /**
   * Uninstall the IRQ handler.
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/drm_pciids.h linux-2.6.23.noarch/drivers/char/drm/drm_pciids.h
---- linux-2.6.23.noarch.old/drivers/char/drm/drm_pciids.h	2007-11-26 21:18:35.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/drm_pciids.h	2007-11-26 21:24:20.000000000 -0500
-@@ -311,3 +311,265 @@
- 	{0x8086, 0x2a02, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
+diff --git a/drivers/char/drm/drm_pciids.h b/drivers/char/drm/drm_pciids.h
+index f524688..809e19f 100644
+--- a/drivers/char/drm/drm_pciids.h
++++ b/drivers/char/drm/drm_pciids.h
+@@ -408,3 +408,265 @@
  	{0x8086, 0x2a12, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
+ 	{0x8086, 0x2a42, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, \
  	{0, 0, 0}
 +
 +#define nouveau_PCI_IDS \
@@ -315,80 +386,11 @@
 +	{0x12d2, 0x002c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, NV_04}, \
 +	{0x12d2, 0x00a0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, NV_04}, \
 +	{0, 0, 0}
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/drmP.h linux-2.6.23.noarch/drivers/char/drm/drmP.h
---- linux-2.6.23.noarch.old/drivers/char/drm/drmP.h	2007-11-26 21:18:35.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/drmP.h	2007-11-26 21:16:13.000000000 -0500
-@@ -1030,7 +1030,8 @@ extern unsigned long drm_get_resource_st
- 					    unsigned int resource);
- extern unsigned long drm_get_resource_len(struct drm_device *dev,
- 					  unsigned int resource);
--
-+struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
-+					   drm_local_map_t *map);
- 				/* DMA support (drm_dma.h) */
- extern int drm_dma_setup(struct drm_device *dev);
- extern void drm_dma_takedown(struct drm_device *dev);
-@@ -1042,6 +1043,7 @@ extern void drm_core_reclaim_buffers(str
- extern int drm_control(struct drm_device *dev, void *data,
- 		       struct drm_file *file_priv);
- extern irqreturn_t drm_irq_handler(DRM_IRQ_ARGS);
-+extern int drm_irq_install(struct drm_device * dev);
- extern int drm_irq_uninstall(struct drm_device *dev);
- extern void drm_driver_irq_preinstall(struct drm_device *dev);
- extern void drm_driver_irq_postinstall(struct drm_device *dev);
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/Kconfig linux-2.6.23.noarch/drivers/char/drm/Kconfig
---- linux-2.6.23.noarch.old/drivers/char/drm/Kconfig	2007-11-26 21:18:35.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/Kconfig	2007-11-26 21:20:41.000000000 -0500
-@@ -105,3 +105,10 @@ config DRM_SAVAGE
- 	help
- 	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
- 	  chipset. If M is selected the module will be called savage.
-+
-+config DRM_NOUVEAU
-+	tristate "Nvidia video cards"
-+	depends on DRM
-+	help
-+	  Choose this for nvidia open source 3d driver
-+
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/Makefile linux-2.6.23.noarch/drivers/char/drm/Makefile
---- linux-2.6.23.noarch.old/drivers/char/drm/Makefile	2007-11-26 21:18:35.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/Makefile	2007-11-26 21:21:50.000000000 -0500
-@@ -15,6 +15,16 @@ mga-objs    := mga_drv.o mga_dma.o mga_s
- i810-objs   := i810_drv.o i810_dma.o
- i830-objs   := i830_drv.o i830_dma.o i830_irq.o
- i915-objs   := i915_drv.o i915_dma.o i915_irq.o i915_mem.o i915_fence.o i915_buffer.o
-+nouveau-objs := nouveau_drv.o nouveau_state.o nouveau_fifo.o nouveau_mem.o \
-+	nouveau_object.o nouveau_irq.o nouveau_notifier.o \
-+	nouveau_sgdma.o nouveau_dma.o \
-+	nv04_timer.o \
-+	nv04_mc.o nv40_mc.o nv50_mc.o \
-+	nv04_fb.o nv10_fb.o nv40_fb.o \
-+	nv04_fifo.o nv10_fifo.o nv40_fifo.o nv50_fifo.o \
-+	nv04_graph.o nv10_graph.o nv20_graph.o nv30_graph.o \
-+	nv40_graph.o nv50_graph.o \
-+	nv04_instmem.o nv50_instmem.o
- radeon-objs := radeon_drv.o radeon_cp.o radeon_state.o radeon_mem.o radeon_irq.o r300_cmdbuf.o
- sis-objs    := sis_drv.o sis_mm.o
- savage-objs := savage_drv.o savage_bci.o savage_state.o
-@@ -26,6 +36,7 @@ radeon-objs += radeon_ioc32.o
- mga-objs    += mga_ioc32.o
- r128-objs   += r128_ioc32.o
- i915-objs   += i915_ioc32.o
-+nouveau-objs   += nouveau_ioc32.o
- endif
- 
- obj-$(CONFIG_DRM)	+= drm.o
-@@ -36,6 +47,7 @@ obj-$(CONFIG_DRM_MGA)	+= mga.o
- obj-$(CONFIG_DRM_I810)	+= i810.o
- obj-$(CONFIG_DRM_I830)	+= i830.o
- obj-$(CONFIG_DRM_I915)  += i915.o
-+obj-$(CONFIG_DRM_NOUVEAU)   += nouveau.o
- obj-$(CONFIG_DRM_SIS)   += sis.o
- obj-$(CONFIG_DRM_SAVAGE)+= savage.o
- obj-$(CONFIG_DRM_VIA)	+=via.o
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_dma.c linux-2.6.23.noarch/drivers/char/drm/nouveau_dma.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_dma.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_dma.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_dma.c b/drivers/char/drm/nouveau_dma.c
+new file mode 100644
+index 0000000..ab502e6
+--- /dev/null
++++ b/drivers/char/drm/nouveau_dma.c
 @@ -0,0 +1,177 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
@@ -567,9 +569,11 @@
 +	return 0;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_dma.h linux-2.6.23.noarch/drivers/char/drm/nouveau_dma.h
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_dma.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_dma.h	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_dma.h b/drivers/char/drm/nouveau_dma.h
+new file mode 100644
+index 0000000..5e51c1c
+--- /dev/null
++++ b/drivers/char/drm/nouveau_dma.h
 @@ -0,0 +1,98 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
@@ -669,9 +673,11 @@
 +
 +#endif
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_drm.h linux-2.6.23.noarch/drivers/char/drm/nouveau_drm.h
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_drm.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_drm.h	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_drm.h b/drivers/char/drm/nouveau_drm.h
+new file mode 100644
+index 0000000..bfc9bd4
+--- /dev/null
++++ b/drivers/char/drm/nouveau_drm.h
 @@ -0,0 +1,166 @@
 +/*
 + * Copyright 2005 Stephane Marchesin.
@@ -839,9 +845,11 @@
 +
 +#endif /* __NOUVEAU_DRM_H__ */
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_drv.c linux-2.6.23.noarch/drivers/char/drm/nouveau_drv.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_drv.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_drv.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_drv.c b/drivers/char/drm/nouveau_drv.c
+new file mode 100644
+index 0000000..387e3d6
+--- /dev/null
++++ b/drivers/char/drm/nouveau_drv.c
 @@ -0,0 +1,96 @@
 +/*
 + * Copyright 2005 Stephane Marchesin.
@@ -939,9 +947,11 @@
 +MODULE_AUTHOR(DRIVER_AUTHOR);
 +MODULE_DESCRIPTION(DRIVER_DESC);
 +MODULE_LICENSE("GPL and additional rights");
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_drv.h linux-2.6.23.noarch/drivers/char/drm/nouveau_drv.h
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_drv.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_drv.h	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_drv.h b/drivers/char/drm/nouveau_drv.h
+new file mode 100644
+index 0000000..2a16d3b
+--- /dev/null
++++ b/drivers/char/drm/nouveau_drv.h
 @@ -0,0 +1,584 @@
 +/*
 + * Copyright 2005 Stephane Marchesin.
@@ -1527,9 +1537,11 @@
 +
 +#endif /* __NOUVEAU_DRV_H__ */
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_fifo.c linux-2.6.23.noarch/drivers/char/drm/nouveau_fifo.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_fifo.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_fifo.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_fifo.c b/drivers/char/drm/nouveau_fifo.c
+new file mode 100644
+index 0000000..1aa724f
+--- /dev/null
++++ b/drivers/char/drm/nouveau_fifo.c
 @@ -0,0 +1,557 @@
 +/* 
 + * Copyright 2005-2006 Stephane Marchesin
@@ -2088,9 +2100,11 @@
 +};
 +
 +int nouveau_max_ioctl = DRM_ARRAY_SIZE(nouveau_ioctls);
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_ioc32.c linux-2.6.23.noarch/drivers/char/drm/nouveau_ioc32.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_ioc32.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_ioc32.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_ioc32.c b/drivers/char/drm/nouveau_ioc32.c
+new file mode 100644
+index 0000000..f55ae7a
+--- /dev/null
++++ b/drivers/char/drm/nouveau_ioc32.c
 @@ -0,0 +1,72 @@
 +/**
 + * \file mga_ioc32.c
@@ -2164,9 +2178,11 @@
 +
 +	return ret;
 +}
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_irq.c linux-2.6.23.noarch/drivers/char/drm/nouveau_irq.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_irq.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_irq.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_irq.c b/drivers/char/drm/nouveau_irq.c
+new file mode 100644
+index 0000000..e64677e
+--- /dev/null
++++ b/drivers/char/drm/nouveau_irq.c
 @@ -0,0 +1,430 @@
 +/*
 + * Copyright (C) 2006 Ben Skeggs.
@@ -2598,9 +2614,11 @@
 +	return IRQ_HANDLED;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_mem.c linux-2.6.23.noarch/drivers/char/drm/nouveau_mem.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_mem.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_mem.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_mem.c b/drivers/char/drm/nouveau_mem.c
+new file mode 100644
+index 0000000..1394df5
+--- /dev/null
++++ b/drivers/char/drm/nouveau_mem.c
 @@ -0,0 +1,616 @@
 +/*
 + * Copyright (C) The Weather Channel, Inc.  2002.  All Rights Reserved.
@@ -3218,9 +3236,11 @@
 +}
 +
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_notifier.c linux-2.6.23.noarch/drivers/char/drm/nouveau_notifier.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_notifier.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_notifier.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_notifier.c b/drivers/char/drm/nouveau_notifier.c
+new file mode 100644
+index 0000000..71b8cbe
+--- /dev/null
++++ b/drivers/char/drm/nouveau_notifier.c
 @@ -0,0 +1,173 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
@@ -3395,9 +3415,11 @@
 +	return 0;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_object.c linux-2.6.23.noarch/drivers/char/drm/nouveau_object.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_object.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_object.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_object.c b/drivers/char/drm/nouveau_object.c
+new file mode 100644
+index 0000000..fbce770
+--- /dev/null
++++ b/drivers/char/drm/nouveau_object.c
 @@ -0,0 +1,1148 @@
 +/*
 + * Copyright (C) 2006 Ben Skeggs.
@@ -4547,9 +4569,11 @@
 +	return 0;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_reg.h linux-2.6.23.noarch/drivers/char/drm/nouveau_reg.h
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_reg.h	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_reg.h	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_reg.h b/drivers/char/drm/nouveau_reg.h
+new file mode 100644
+index 0000000..a1895c3
+--- /dev/null
++++ b/drivers/char/drm/nouveau_reg.h
 @@ -0,0 +1,538 @@
 +
 +
@@ -5089,9 +5113,11 @@
 +#define NV40_RAMFC_UNK_4C                                        0x4C
 +#define NV40_RAMFC_UNK_50                                        0x50
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_sgdma.c linux-2.6.23.noarch/drivers/char/drm/nouveau_sgdma.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_sgdma.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_sgdma.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_sgdma.c b/drivers/char/drm/nouveau_sgdma.c
+new file mode 100644
+index 0000000..3b3d8f9
+--- /dev/null
++++ b/drivers/char/drm/nouveau_sgdma.c
 @@ -0,0 +1,311 @@
 +#include "drmP.h"
 +#include "nouveau_drv.h"
@@ -5404,9 +5430,11 @@
 +	return -EINVAL;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nouveau_state.c linux-2.6.23.noarch/drivers/char/drm/nouveau_state.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nouveau_state.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nouveau_state.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nouveau_state.c b/drivers/char/drm/nouveau_state.c
+new file mode 100644
+index 0000000..7ab7f7d
+--- /dev/null
++++ b/drivers/char/drm/nouveau_state.c
 @@ -0,0 +1,569 @@
 +/* 
 + * Copyright 2005 Stephane Marchesin
@@ -5977,9 +6005,11 @@
 +}
 +
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv04_fb.c linux-2.6.23.noarch/drivers/char/drm/nv04_fb.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv04_fb.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv04_fb.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv04_fb.c b/drivers/char/drm/nv04_fb.c
+new file mode 100644
+index 0000000..534fb50
+--- /dev/null
++++ b/drivers/char/drm/nv04_fb.c
 @@ -0,0 +1,24 @@
 +#include "drmP.h"
 +#include "drm.h"
@@ -6005,9 +6035,11 @@
 +{
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv04_fifo.c linux-2.6.23.noarch/drivers/char/drm/nv04_fifo.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv04_fifo.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv04_fifo.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv04_fifo.c b/drivers/char/drm/nv04_fifo.c
+new file mode 100644
+index 0000000..d750ced
+--- /dev/null
++++ b/drivers/char/drm/nv04_fifo.c
 @@ -0,0 +1,129 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
@@ -6138,9 +6170,11 @@
 +	return 0;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv04_graph.c linux-2.6.23.noarch/drivers/char/drm/nv04_graph.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv04_graph.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv04_graph.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv04_graph.c b/drivers/char/drm/nv04_graph.c
+new file mode 100644
+index 0000000..050f6e8
+--- /dev/null
++++ b/drivers/char/drm/nv04_graph.c
 @@ -0,0 +1,415 @@
 +/* 
 + * Copyright 2007 Stephane Marchesin
@@ -6557,9 +6591,11 @@
 +{
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv04_instmem.c linux-2.6.23.noarch/drivers/char/drm/nv04_instmem.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv04_instmem.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv04_instmem.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv04_instmem.c b/drivers/char/drm/nv04_instmem.c
+new file mode 100644
+index 0000000..fed6ff7
+--- /dev/null
++++ b/drivers/char/drm/nv04_instmem.c
 @@ -0,0 +1,160 @@
 +#include "drmP.h"
 +#include "drm.h"
@@ -6721,9 +6757,11 @@
 +	return 0;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv04_mc.c linux-2.6.23.noarch/drivers/char/drm/nv04_mc.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv04_mc.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv04_mc.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv04_mc.c b/drivers/char/drm/nv04_mc.c
+new file mode 100644
+index 0000000..eee0c50
+--- /dev/null
++++ b/drivers/char/drm/nv04_mc.c
 @@ -0,0 +1,23 @@
 +#include "drmP.h"
 +#include "drm.h"
@@ -6748,9 +6786,11 @@
 +{
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv04_timer.c linux-2.6.23.noarch/drivers/char/drm/nv04_timer.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv04_timer.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv04_timer.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv04_timer.c b/drivers/char/drm/nv04_timer.c
+new file mode 100644
+index 0000000..08a27f4
+--- /dev/null
++++ b/drivers/char/drm/nv04_timer.c
 @@ -0,0 +1,45 @@
 +#include "drmP.h"
 +#include "drm.h"
@@ -6797,9 +6837,11 @@
 +{
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv10_fb.c linux-2.6.23.noarch/drivers/char/drm/nv10_fb.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv10_fb.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv10_fb.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv10_fb.c b/drivers/char/drm/nv10_fb.c
+new file mode 100644
+index 0000000..7fff5b3
+--- /dev/null
++++ b/drivers/char/drm/nv10_fb.c
 @@ -0,0 +1,26 @@
 +#include "drmP.h"
 +#include "drm.h"
@@ -6827,9 +6869,11 @@
 +{
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv10_fifo.c linux-2.6.23.noarch/drivers/char/drm/nv10_fifo.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv10_fifo.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv10_fifo.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv10_fifo.c b/drivers/char/drm/nv10_fifo.c
+new file mode 100644
+index 0000000..c86725d
+--- /dev/null
++++ b/drivers/char/drm/nv10_fifo.c
 @@ -0,0 +1,160 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
@@ -6991,9 +7035,11 @@
 +	return 0;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv10_graph.c linux-2.6.23.noarch/drivers/char/drm/nv10_graph.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv10_graph.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv10_graph.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv10_graph.c b/drivers/char/drm/nv10_graph.c
+new file mode 100644
+index 0000000..e470ff0
+--- /dev/null
++++ b/drivers/char/drm/nv10_graph.c
 @@ -0,0 +1,777 @@
 +/* 
 + * Copyright 2007 Matthieu CASTET <castet.matthieu at free.fr>
@@ -7772,9 +7818,11 @@
 +{
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv20_graph.c linux-2.6.23.noarch/drivers/char/drm/nv20_graph.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv20_graph.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv20_graph.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv20_graph.c b/drivers/char/drm/nv20_graph.c
+new file mode 100644
+index 0000000..c163daf
+--- /dev/null
++++ b/drivers/char/drm/nv20_graph.c
 @@ -0,0 +1,249 @@
 +/* 
 + * Copyright 2007 Matthieu CASTET <castet.matthieu at free.fr>
@@ -8025,9 +8073,11 @@
 +	nouveau_gpuobj_ref_del(dev, &dev_priv->ctx_table);
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv30_graph.c linux-2.6.23.noarch/drivers/char/drm/nv30_graph.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv30_graph.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv30_graph.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv30_graph.c b/drivers/char/drm/nv30_graph.c
+new file mode 100644
+index 0000000..ca43bb9
+--- /dev/null
++++ b/drivers/char/drm/nv30_graph.c
 @@ -0,0 +1,2911 @@
 +/*
 + * Based on nv40_graph.c
@@ -10940,9 +10990,11 @@
 +	nouveau_gpuobj_ref_del(dev, &dev_priv->ctx_table);
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv40_fb.c linux-2.6.23.noarch/drivers/char/drm/nv40_fb.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv40_fb.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv40_fb.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv40_fb.c b/drivers/char/drm/nv40_fb.c
+new file mode 100644
+index 0000000..2cbb40e
+--- /dev/null
++++ b/drivers/char/drm/nv40_fb.c
 @@ -0,0 +1,56 @@
 +#include "drmP.h"
 +#include "drm.h"
@@ -11000,9 +11052,11 @@
 +{
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv40_fifo.c linux-2.6.23.noarch/drivers/char/drm/nv40_fifo.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv40_fifo.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv40_fifo.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv40_fifo.c b/drivers/char/drm/nv40_fifo.c
+new file mode 100644
+index 0000000..ce3f8fd
+--- /dev/null
++++ b/drivers/char/drm/nv40_fifo.c
 @@ -0,0 +1,208 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
@@ -11212,9 +11266,11 @@
 +	return 0;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv40_graph.c linux-2.6.23.noarch/drivers/char/drm/nv40_graph.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv40_graph.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv40_graph.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv40_graph.c b/drivers/char/drm/nv40_graph.c
+new file mode 100644
+index 0000000..26237c7
+--- /dev/null
++++ b/drivers/char/drm/nv40_graph.c
 @@ -0,0 +1,1906 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
@@ -13122,9 +13178,11 @@
 +{
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv40_mc.c linux-2.6.23.noarch/drivers/char/drm/nv40_mc.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv40_mc.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv40_mc.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv40_mc.c b/drivers/char/drm/nv40_mc.c
+new file mode 100644
+index 0000000..c7db902
+--- /dev/null
++++ b/drivers/char/drm/nv40_mc.c
 @@ -0,0 +1,39 @@
 +#include "drmP.h"
 +#include "drm.h"
@@ -13165,9 +13223,11 @@
 +{
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv50_fifo.c linux-2.6.23.noarch/drivers/char/drm/nv50_fifo.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv50_fifo.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv50_fifo.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv50_fifo.c b/drivers/char/drm/nv50_fifo.c
+new file mode 100644
+index 0000000..7859544
+--- /dev/null
++++ b/drivers/char/drm/nv50_fifo.c
 @@ -0,0 +1,327 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
@@ -13496,9 +13556,11 @@
 +	return 0;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv50_graph.c linux-2.6.23.noarch/drivers/char/drm/nv50_graph.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv50_graph.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv50_graph.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv50_graph.c b/drivers/char/drm/nv50_graph.c
+new file mode 100644
+index 0000000..e5bbf65
+--- /dev/null
++++ b/drivers/char/drm/nv50_graph.c
 @@ -0,0 +1,316 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
@@ -13816,9 +13878,11 @@
 +	return nv50_graph_transfer_context(dev, inst, 1);
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv50_instmem.c linux-2.6.23.noarch/drivers/char/drm/nv50_instmem.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv50_instmem.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv50_instmem.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv50_instmem.c b/drivers/char/drm/nv50_instmem.c
+new file mode 100644
+index 0000000..1eeb54d
+--- /dev/null
++++ b/drivers/char/drm/nv50_instmem.c
 @@ -0,0 +1,320 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
@@ -14140,9 +14204,11 @@
 +	return 0;
 +}
 +
-diff -uNrp linux-2.6.23.noarch.old/drivers/char/drm/nv50_mc.c linux-2.6.23.noarch/drivers/char/drm/nv50_mc.c
---- linux-2.6.23.noarch.old/drivers/char/drm/nv50_mc.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.23.noarch/drivers/char/drm/nv50_mc.c	2007-11-26 21:16:13.000000000 -0500
+diff --git a/drivers/char/drm/nv50_mc.c b/drivers/char/drm/nv50_mc.c
+new file mode 100644
+index 0000000..b111826
+--- /dev/null
++++ b/drivers/char/drm/nv50_mc.c
 @@ -0,0 +1,43 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/sources,v
retrieving revision 1.720
retrieving revision 1.721
diff -u -r1.720 -r1.721
--- sources	8 Feb 2008 20:45:51 -0000	1.720
+++ sources	12 Feb 2008 06:18:05 -0000	1.721
@@ -1,2 +1,2 @@
 3f23ad4b69d0a552042d1ed0f4399857  linux-2.6.24.tar.bz2
-86d55d5080217b2e79e0fff227218cd1  patch-2.6.24.1.bz2
+79cfc6ce7b5b6be369502185046acbd2  patch-2.6.25-rc1.bz2


Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/upstream,v
retrieving revision 1.642
retrieving revision 1.643
diff -u -r1.642 -r1.643
--- upstream	8 Feb 2008 20:45:51 -0000	1.642
+++ upstream	12 Feb 2008 06:18:05 -0000	1.643
@@ -1,2 +1,2 @@
 linux-2.6.24.tar.bz2
-patch-2.6.24.1.bz2
+patch-2.6.25-rc1.bz2


--- linux-2.6-agp-mm.patch DELETED ---


--- linux-2.6-alsa-rc4-mm1.patch DELETED ---


--- linux-2.6-alsa-support-sis7019.patch DELETED ---


--- linux-2.6-dcdbas-autoload.patch DELETED ---


--- linux-2.6-drm-mm.patch DELETED ---


--- linux-2.6-drm-radeon-update.patch DELETED ---


--- linux-2.6-futex-fix-fixups.patch DELETED ---


--- linux-2.6-git-initial-r500-drm.patch DELETED ---


--- linux-2.6-libata-pegasos-fix.patch DELETED ---


--- linux-2.6-netdev-bonding-fix-null-deref.patch DELETED ---


--- linux-2.6-pasemi-for-2.6.25.patch DELETED ---


--- linux-2.6-pasemi-reserve-i2c.patch DELETED ---


--- linux-2.6-powerpc-bootwrapper.patch DELETED ---


--- linux-2.6-powerpc-generic-suspend-001-pmu-no-lock-kernel.patch DELETED ---


--- linux-2.6-powerpc-generic-suspend-002-pmu-remove-dead-code.patch DELETED ---


--- linux-2.6-powerpc-generic-suspend-003-remove-adb-sleep-notifier.patch DELETED ---


--- linux-2.6-powerpc-generic-suspend-004-kill-pmu-sleep-notifier.patch DELETED ---


--- linux-2.6-powerpc-generic-suspend-005-proper-sleep-management.patch DELETED ---


--- linux-2.6-rndis_wlan.patch DELETED ---


--- linux-2.6-unexport-symbols.patch DELETED ---


--- linux-2.6-xfs-optimize-away-realtime-tests.patch DELETED ---


--- linux-2.6-xfs-setfattr-32bit-compat.patch DELETED ---


--- linux-2.6-xfs-xfs_mount-refactor.patch DELETED ---


--- patch-2.6.24.1.bz2.sign DELETED ---




More information about the fedora-extras-commits mailing list