Summary: The Linux kernel (the core of the Linux operating system) # What parts do we want to build? We must build at least one kernel. # These are the kernels that are built IF the architecture allows it. %define buildup 1 %define buildsmp 1 %define buildsource 0 %define buildhugemem 1 %define builddoc 0 %define kabi 1 #added to allow build with unpackaged or missing docs (CentOS-4) %define _unpackaged_files_terminate_build 0 %define _missing_doc_files_terminate_build 0 %define FC2 0 %define FC3 0 # Versions of various parts # # Polite request for people who spin their own kernel rpms: # please modify the "release" field in a way that identifies # that the kernel isn't the stock distribution kernel, for example by # adding some text to the end of the version number. # %define sublevel 9 %define kversion 2.6.%{sublevel} %define rpmversion 2.6.%{sublevel} #Modified to keep the release sring the same as upstream (CentOS-4) #%define rhbsys %([ -r /etc/beehive-root -o -n "%{?__beehive_build}" ] && echo || echo .`whoami`) #%define release %(R="$Revision: 5.0.5 $"; RR="${R##: }"; echo ${RR%%?}).EL%{rhbsys} %define release %(R="$Revision: 5.0.5a $"; RR="${R##: }"; echo ${RR%%?}).EL %define signmodules 0 %define make_target bzImage %if %{kabi} # kABI_major needs to change whenever we make changes that would break # existing modules. kABI_minor needs to be bumped whenever we add exports # (but otherwise maintain the ABI). When kABI_major gets bumped, reset # kABI_minor to 0. %define kabi_major 4.0 %define kabi_minor 0 %endif %define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE} # groups of related archs # Added i586 kernel support (CentOS-4) #%define all_x86 i686 %define all_x86 i586 i686 # Override generic defaults with per-arch defaults %ifarch noarch %define builddoc 1 # Modified to build the kernel-sourcecode packages (CentOS-4) #%define buildsource 0 %define buildsource 1 %define buildup 0 %define buildsmp 0 %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}*.config %endif %ifnarch i686 %define buildhugemem 0 %endif # Second, per-architecture exclusions (ifarch) %ifarch %{all_x86} %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-i?86*.config %define image_install_path boot %define signmodules 1 %endif %ifarch athlon %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-athlon*.config %define image_install_path boot %define signmodules 1 %endif %ifarch x86_64 %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-x86_64*.config %define image_install_path boot %define signmodules 1 %endif %ifarch ppc64 %define buildsmp 0 %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-ppc64*.config %define image_install_path boot %define signmodules 1 %define make_target bzImage zImage.stub %endif %ifarch ppc64iseries %define buildsmp 0 %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-ppc64*.config %define image_install_path boot %define signmodules 1 %define make_target bzImage %endif %ifarch s390 %define buildsmp 0 %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-s390*.config %define image_install_path boot %endif %ifarch s390x %define buildsmp 0 %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-s390x.config %define image_install_path boot %endif %ifarch sparc %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-sparc.config %define buildsmp 0 %endif %ifarch sparc64 %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-sparc64*.config %endif %ifarch ppc %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-ppc*.config %define buildsmp 0 %define image_install_path boot %endif %ifarch ia64 %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-ia64.config %define buildsmp 0 %define image_install_path boot/efi/EFI/redhat %define signmodules 1 %endif # # Three sets of minimum package version requirements in the form of Conflicts: # to versions below the minimum # # # First the general kernel 2.6 required versions as per # Documentation/Changes # %define kernel_dot_org_conflicts ppp <= 2.3.15, pcmcia-cs <= 3.1.20, isdn4k-utils <= 3.0, mount < 2.10r-5, nfs-utils < 1.0.3, e2fsprogs < 1.29, util-linux < 2.10, jfsutils < 1.0.14, reiserfsprogs < 3.6.3, xfsprogs < 2.1.0, procps < 2.0.9, oprofile < 0.5.3 # # Then a series of requirements that are distribution specific, either # because we add patches for something, or the older versions have # problems with the newer kernel or lack certain things that make # integration in the distro harder than needed. # %define package_conflicts cipe < 1.4.5, tux < 2.1.0, kudzu <= 0.92, initscripts < 7.23, dev < 3.2-7, iptables < 1.2.5-3, bcm5820 < 1.81, nvidia-rh72 <= 1.0 # # Several packages had bugs in them that became obvious when the NPTL # threading code got integrated. # %define nptl_conflicts SysVinit < 2.84-13, pam < 0.75-48, vixie-cron < 3.0.1-73, privoxy < 3.0.0-8, spamassassin < 2.44-4.8.x, cups < 1.1.17-13 # # Packages that need to be installed before the kernel is, because the %post # scripts use them. # %define kernel_prereq fileutils, module-init-tools, initscripts >= 5.83, mkinitrd >= 4.1.15 # # don't use RPM's internal dependency generator, instead # just use our magic one that finds the versions of kernel modules for # provides and don't do any requires # (we used to just turn off AutoReqProv on all packages) # %define _use_internal_dependency_generator 0 %define __find_provides /usr/lib/rpm/redhat/find-kmod-provides.sh %define __find_requires %{nil} Name: kernel Group: System Environment/Kernel License: GPLv2 Version: %{rpmversion} Release: %{release} ExclusiveArch: noarch %{all_x86} athlon x86_64 ppc64 ppc64iseries sparc sparc64 s390 s390x ia64 ExclusiveOS: Linux Provides: kernel = %{version} Provides: kernel-drm = 4.3.0 Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release} %if %{kabi} Provides: kABI(%{kabi_major}.%{_target_cpu}) = %{kabi_minor} %endif Prereq: %{kernel_prereq} Conflicts: %{kernel_dot_org_conflicts} Conflicts: %{package_conflicts} Conflicts: %{nptl_conflicts} # We can't let RPM do the dependencies automatic because it'll then pick up # a correct but undesirable perl dependency from the module headers which # isn't required for the kernel proper to function # # List the packages used during the kernel build # BuildPreReq: module-init-tools, patch >= 2.5.4, bash >= 2.03, sh-utils, tar BuildPreReq: bzip2, findutils, gzip, m4, perl, make >= 3.78, gnupg, kernel-utils BuildRequires: gcc >= 2.96-98, binutils >= 2.12, redhat-rpm-config >= 8.0.32.1 BuildConflicts: rhbuildsys(DiskFree) < 500Mb Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2 Source10: COPYING.modules Source11: genkey #Added sources for the i586 Kernel (CentOS-4) Source20: kernel-%{kversion}-i586.config Source21: kernel-%{kversion}-i586-smp.config Source22: kernel-%{kversion}-i686.config Source23: kernel-%{kversion}-i686-smp.config Source24: kernel-%{kversion}-i686-hugemem.config Source25: kernel-%{kversion}-athlon.config Source26: kernel-%{kversion}-athlon-smp.config Source27: kernel-%{kversion}-x86_64.config Source28: kernel-%{kversion}-x86_64-smp.config Source29: kernel-%{kversion}-ppc64.config Source30: kernel-%{kversion}-ppc64iseries.config Source31: kernel-%{kversion}-s390.config Source32: kernel-%{kversion}-s390x.config #Source33: kernel-%{kversion}-sparc.config #Source34: kernel-%{kversion}-sparc64.config #Source35: kernel-%{kversion}-sparc64-smp.config Source36: kernel-%{kversion}-ppc.config Source37: kernel-%{kversion}-ia64.config # # Patches 0 through 100 are meant for core subsystem upgrades # Patch3: patch-2.6.9-ac11.bz2 Patch4: linux-2.6.9-selected-ac-bits.patch # # Patches 10 to 100 are upstream patches we want to back out # Patch10: linux-2.6.9-ac-backouts.patch Patch11: linux-2.6.7-iobitmap.patch Patch12: linux-2.6.9-iobitmap.patch # Patches 100 through 500 are meant for architecture patches # 200 - 300 x86(-64) Patch200: linux-2.6.5-x86-nostack.patch Patch201: linux-2.6.9-x86_64-copy_user_generic-exception.patch Patch202: linux-2.6.9-x86-share-cachedescriptors.patch Patch203: linux-2.6.9-x86_64-configure-oops-stackdump.patch Patch204: linux-2.6.9-x86_64-phys_proc_id-only-when-initialised.patch Patch205: linux-2.6.9-x86_64-missing-compat-ioctls.patch Patch206: linux-2.6.9-x86-show_trace-irq-context.patch Patch207: linux-2.6.9-x86_64-lost-edge-triggered-irqs.patch Patch208: linux-2.6.9-x86_64-mga-dri.patch Patch209: linux-2.6.9-x86_64-ni_syscall-overrun.patch Patch210: linux-2.6.9-x86_64-flexmmap.patch Patch211: linux-2.6.9-x86_64-task_size-32bit.patch Patch212: linux-2.6.9-x86-sysenter-ebp.patch # 300 - 330 ppc(64) Patch300: linux-2.6.2-ppc64-build.patch Patch301: linux-2.6.8-ppc64-netboot.patch Patch302: linux-2.6.9-ppc64-singlestep.patch Patch303: linux-2.6.9-ppc64-hvsi-udbg.patch Patch304: linux-2.6.9-ppc64-hvsi-reset.patch Patch305: linux-2.6.9-ppc64-pci-hostbridge-hotplug.patch Patch306: linux-2.6.9-ppc64-vscsi.patch Patch307: linux-2.6.9-ppc64-signal-backtrace.patch Patch308: linux-2.6.9-ppc64-hvsi-hangup.patch Patch309: linux-2.6.9-ppc64-cpu-hotplug-map-cpu-node.patch Patch310: linux-2.6.9-ppc64-cpu-hotplug-sched-domains.patch Patch311: linux-2.6.9-ppc64-cpu-hotplug-notifier.patch Patch312: linux-2.6.9-ppc64-cpu-hotplug-reinit-scheddomains.patch Patch313: linux-2.6.9-ppc64-cpu-hotplug-destroy_sched_domains.patch Patch314: linux-2.6.9-ppc64-cpu-hotplug-use-notifier.patch Patch315: linux-2.6.9-ppc64-sigsuspend-regstomping.patch Patch316: linux-2.6.9-ppc64-icom-driver.patch Patch317: linux-2.6.9-ppc64-ibmvscsi-race-fix.patch Patch318: linux-2.6.9-ppc64-ensure-irqs-not-hard-disabled.patch Patch319: linux-2.6.9-ppc64-purr.patch Patch320: linux-2.6.9-ppc64-eeh-reset-state2.patch Patch321: linux-2.6.9-ppc64-tce-table-space.patch Patch322: linux-2.6.9-ppc64-viocd.patch Patch323: linux-2.6.9-ppc64-lparcfg-paca-align.patch Patch324: linux-2.6.9-ppc64-ibmveth-getlink.patch Patch325: linux-2.6.9-ppc64-rpaclose.patch Patch326: linux-2.6.9-ppc64-alloc-consistent-order.patch # 330 - 350 ia64 Patch330: linux-2.6.3-ia64-build.patch Patch331: linux-2.6.9-ia64-sn2-update.patch Patch332: linux-2.6.9-ia64-pci-sn2-fix.patch Patch333: linux-2.6.9-ia64-mmtimer-sn2-fix.patch Patch334: linux-2.6.9-ia64-qla1280-sn2-fix.patch Patch335: linux-2.6.9-ia64-sgiioc4-sn2-fix.patch Patch336: linux-2.6.9-ia64-sn-console-sn2-fix.patch Patch337: linux-2.6.9-ia64-snsc-sn2-fix.patch Patch338: linux-2.6.9-ia64-cyclone-timer-fix.patch Patch339: linux-2.6.9-ia64-irq-routing-maxcpus.patch Patch340: linux-2.6.9-ia64-sba_iommu-size.patch Patch341: linux-2.6.9-ia64-tr_info-hang.patch # 350 - 400 s390(x) Patch350: linux-2.6.1-s390-compile.patch Patch351: linux-2.6.9-s390-autoraid.patch Patch352: linux-2.6.9-s390-qeth-fake_ll-fix.patch Patch353: linux-2.6.9-s390-zfcp_port-fix.patch Patch354: linux-2.6.9-s390-zfcp-stackframe.patch Patch355: linux-2.6.9-s390-dasd-param-parse.patch Patch356: linux-2.6.9-s390-dasd-fixed-buffer.patch Patch357: linux-2.6.9-s390-core_dump-fix.patch Patch358: linux-2.6.9-s390-lcs_startup-fix.patch Patch359: linux-2.6.9-s390-qeth_addr-fix.patch Patch360: linux-2.6.9-s390-qeth_hipersocket-fix.patch # 400 - sparc(64) Patch400: linux-2.6.3-sparc-addbzimage.patch # # Patches 500 through 1000 are reserved for bugfixes to the core system # and patches related to how RPMs are build # Patch500: linux-2.4.0-nonintconfig.patch Patch511: linux-2.6.0-exec-shield.patch Patch512: linux-2.6.8-print-fatal-signals.patch Patch513: linux-2.6.8-execshield-vaspace.patch Patch520: linux-2.6.8-4g4g-backout.patch Patch521: linux-2.6.0-4g4g.patch Patch522: linux-2.6.9-4g4g-noncachable.patch Patch523: linux-2.6.9-4g4g-hugemem-warning.patch Patch530: linux-2.6.0-must_check.patch Patch540: linux-2.6.2-tux.patch # Module signing infrastructure. Patch600: linux-2.6.7-modsign-core.patch Patch601: linux-2.6.7-modsign-crypto.patch Patch602: linux-2.6.7-modsign-ksign.patch Patch603: linux-2.6.7-modsign-mpilib.patch Patch604: linux-2.6.7-modsign-script.patch Patch605: linux-2.6.7-modsign-include.patch Patch606: linux-2.6.9-sha1.patch # # Patches 1000 to 5000 are reserved for bugfixes to drivers and filesystems # Patch1000: linux-2.4.0-test11-vidfail.patch Patch1020: linux-2.6.4-stackusage.patch # Ext2/Ext3 bits. Patch1030: linux-2.6.5-ext3-reservations.patch Patch1031: linux-2.6.8-ext3-reservations-update.patch Patch1032: linux-2.6.9-ext3-cleanup-abort.patch Patch1033: linux-2.6.5-ext3-online-resize.patch Patch1034: linux-2.6.9-ext3-handle-bitmapdel.patch Patch1035: linux-2.6.9-ext3-handle-double-revoke.patch Patch1036: linux-2.6.9-ext2-mbcache.patch Patch1037: linux-2.6.9-ext3-mbcache.patch Patch1050: linux-2.6.7-devmem.patch Patch1051: linux-2.6.0-devmem.patch Patch1060: linux-2.6.3-crash-driver.patch Patch1070: linux-2.6.0-sleepon.patch Patch1080: linux-2.6.7-voluntary-preemption.patch Patch1081: linux-2.6.7-early-schedule.patch Patch1090: linux-2.6.9-kexec.patch # SATA bits. Patch1100: linux-2.6.9-sata.patch Patch1101: linux-2.6.9-sata-nth-page.patch Patch1102: linux-2.6.9-sata-ahci-update.patch Patch1103: linux-2.6.9-sata-updates.patch Patch1104: linux-2.6.10-sata-updates.patch # SCSI bits. Patch1120: linux-2.6.7-scsi-whitelist.patch Patch1121: linux-2.6.9-scsi-bounce-limit.patch Patch1122: linux-2.6.9-scsi-aic-hostraid.patch Patch1123: linux-2.6.10-scsi-midlayer-updates.patch Patch1124: linux-2.6.9-scsi-aic-oops-nohardware.patch Patch1125: linux-2.6.9-scsi-reset-ULDs.patch Patch1126: linux-2.6.9-scsi-ips-update.patch Patch1127: linux-2.6.9-scsi-NULL-iterate-devices.patch Patch1128: linux-2.6.10-scsi-qla2xxx-update.patch Patch1129: linux-2.6.10-scsi-cciss-clustering-fix.patch Patch1130: linux-2.6.9-scsi-usb-forced-remove-oops.patch Patch1131: linux-2.6.9-scsi-test_unit_ready-cdrom.patch Patch1132: linux-2.6.9-scsi-aic-leakplug.patch Patch1133: linux-2.6.9-scsi-refcount-cmd-allocation.patch Patch1134: linux-2.6.9-scsi-full-status-sg_io.patch Patch1135: linux-2.6.9-scsi-sg_cmd_done-sg_release-race.patch Patch1136: linux-2.6.9-scsi-aac-remove-handle-aif.patch Patch1137: linux-2.6.9-scsi-megaraid-kioc.patch Patch1138: linux-2.6.9-scsi-inverted-refcounting.patch Patch1139: linux-2.6.9-scsi-ioctl-overflow.patch Patch1140: linux-2.6.9-blockfixes.patch Patch1141: linux-2.6.9-block-segment-coalesce.patch Patch1142: linux-2.6.9-cciss-getluninfo-fix.patch Patch1143: linux-2.6.9-sx8-sysfs.patch Patch1144: linux-2.6.9-block-blkdev_get_blocks-EOF.patch Patch1145: linux-2.6.9-block-cciss-ioctl-returncode.patch Patch1146: linux-2.6.9-block-cciss-id-updates.patch Patch1147: linux-2.6.9-block-__getblk_slow-hang.patch Patch1150: linux-2.6.9-md-resync-bugs.patch Patch1151: linux-2.6.9-md-nr_pending.patch # More SCSI bits. Patch1160: linux-2.6.9-scsi-silence-sg_io-warning.patch # NFS bits. Patch1200: linux-2.6.9-NFS-mounthangfix.patch Patch1201: linux-2.6.9-NFSD-non-null-getxattr.patch Patch1202: linux-2.6.9-NFSD-locallock-oopsfix.patch Patch1203: linux-2.6.9-NFSD-putrootfh-return.patch Patch1204: linux-2.6.9-NFSD-portwarning-dottedquads.patch Patch1205: linux-2.6.9-NFS-cthon-rename.patch Patch1207: linux-2.6.8-lockd-racewarn2.patch Patch1208: linux-2.6.9-lockd-NLM-length.patch Patch1209: linux-2.6.9-lockd-block-nosleep.patch Patch1210: linux-2.6.9-lockd-reclaims.patch Patch1211: linux-2.6.9-lockd-svc-reclaims.patch # Core networking fixes. Patch1300: linux-2.6.9-net-ipv6-fix-mtu-calculation.patch Patch1301: linux-2.6.9-net-vlan-change_mtu-success.patch Patch1302: linux-2.6.9-net-SIOCGIFHWADDR-NULL-dev_addr.patch Patch1303: linux-2.6.9-net-compat-missing-security.patch Patch1304: linux-2.6.9-net-xfrm-fixes.patch Patch1305: linux-2.6.9-net-cmsg_signedness.patch Patch1306: linux-2.6.9-net-ftp_conntrack_leak.patch Patch1307: linux-2.6.9-net-ip_options_leak.patch Patch1308: linux-2.6.9-net-procroute-stale-pointer.patch # NIC driver updates Patch1350: linux-2.6.9-net-b44-4g4g.patch Patch1351: linux-2.6.9-net-tr-irqlock-fix.patch Patch1352: linux-2.6.9-net-tulip-waitdmastop.patch Patch1353: linux-2.6.10-net-3c59x-reload-EEPROM.patch Patch1354: linux-2.6.9-net-tg3-fiber-autoneg-bounces.patch Patch1355: linux-2.6.9-net-e100-xmit-timeout-enable-interrupts.patch Patch1356: linux-2.6.9-net-forcedeth-rx-csum.patch Patch1357: linux-2.6.9-net-via-rhine-devinit.patch Patch1358: linux-2.6.9-net-e1000-erratum23.patch Patch1359: linux-2.6.9-net-e1000-post-mature-writeback.patch Patch1360: linux-2.6.9-net-e1000-rx-mini-jumbo-inval.patch Patch1361: linux-2.6.9-net-e1000-64k-align-check-dma.patch # ACPI Horrors. Patch1400: linux-2.6.9-acpi-breakpoint-nop.patch Patch1401: linux-2.6.9-acpi-lequal-less-strict.patch Patch1402: linux-2.6.9-acpi-debug-level.patch Patch1403: linux-2.6.9-acpi-reset-mechanism.patch # Netdump bits. Patch1500: linux-2.6.8-crashdump-common.patch Patch1510: linux-2.6.7-netdump.patch Patch1520: linux-2.6.8-netconsole.patch Patch1530: linux-2.6.9-netpoll-oops.patch # Diskdump goodies. Patch1540: linux-2.6.8-diskdump-3.patch Patch1541: linux-2.6.8-diskdump-scsi-3.patch Patch1542: linux-2.6.8-mptfusion-diskdump.patch Patch1543: linux-2.6.7-aic7xxx-diskdump.patch Patch1544: linux-2.6.8-sym53c8xx-diskdump.patch Patch1545: linux-2.6.8-ipr-diskdump.patch Patch1546: linux-2.6.9-diskdump-dienmi.patch Patch1547: linux-2.6.9-diskdump-export_state.patch Patch1548: linux-2.6.9-diskdump-mdelay.patch Patch1549: linux-2.6.9-diskdump-mem.patch Patch1550: linux-2.6.9-diskdump-system_state.patch Patch1551: linux-2.6.9-diskdump-condition.patch Patch1552: linux-2.6.9-diskdump-gendisk.patch # SELinux bits Patch1600: linux-2.6.9-selinux-netif-fixes.patch Patch1601: linux-2.6.9-selinux-setxattr-daccheck.patch Patch1602: linux-2.6.9-selinux-sidtab-locking-fix.patch Patch1603: linux-2.6.9-selinux-mediate-send_sigurg.patch Patch1604: linux-2.6.9-selinux-setscheduler-deadlock.patch Patch1605: linux-2.6.9-selinux-avc-rcu.patch Patch1606: linux-2.6.9-selinux-xattr-rework-tmpfs-mm.patch Patch1608: linux-2.6.9-selinux-destroy-avtab-node-cache.patch Patch1609: linux-2.6.9-selinux-avc_update_node-spinlock-oops.patch # Misc bits. Patch1700: linux-2.6.9-procfs-getpid-fix.patch Patch1701: linux-2.6.9-procfs-deadtask-dereference.patch Patch1710: linux-2.6.9-edd-config.patch Patch1720: linux-2.6.10-sysfs-update.patch Patch1730: linux-2.6.9-signal-handling-dr7.patch Patch1740: linux-2.6.9-timer-barrier.patch Patch1750: linux-2.6.9-nonpower2sectorsize.patch Patch1760: linux-2.6.9-module_version.patch Patch1780: linux-2.6.9-irqaffinity-disable-E7xxx.patch Patch1781: linux-2.6.9-ASPM-workaround-PCIE.patch Patch1782: linux-2.6.9-hotplug-msi-update.patch Patch1783: linux-2.6.9-80332-IOP-hotplug.patch Patch1784: linux-2.6.9-ExpressCard-hotplug-ICH6M.patch Patch1785: linux-2.6.9-pcix-hotplug-fixes.patch Patch1790: linux-2.6.9-hugetlb_get_unmapped_area-fix.patch Patch1800: linux-2.6.9-statm-combined.patch Patch1810: linux-2.6.9-idefloppy-suppress-noise.patch Patch1820: linux-2.6.9-do_wait-hang-fix.patch Patch1830: linux-2.6.9-pci_mmcfg_write-flush_error.patch Patch1840: linux-2.6.9-via-apic-quirk-devinit.patch Patch1850: linux-2.6.9-autofs-recognise-map-update.patch Patch1860: linux-2.6.9-taint-mce.patch Patch1861: linux-2.6.9-taint-force-rmmod.patch Patch1862: linux-2.6.9-taint-badpage.patch Patch1870: linux-2.6.9-xtime-correctness.patch Patch1880: linux-2.6.9-pagevec-alignment.patch Patch1890: linux-2.6.9-overlapping-vma.patch Patch1900: linux-2.6.9-futex-disable-warning.patch Patch1910: linux-2.6.9-spinlock-debug-panic.patch Patch1920: linux-2.6.9-compat-F_GETLK.patch Patch1930: linux-2.6.9-waitid-bogus-ECHILD.patch Patch1940: linux-2.6.9-usb-edgeport-overflows.patch Patch1950: linux-2.6.9-agp-missing-cacheflushes.patch Patch1951: linux-2.6.9-agp-posting-bugs.patch Patch1960: linux-2.6.9-vc-resizing-overflow.patch Patch1970: linux-2.6.9-kern_exit-enabler.patch Patch1990: linux-2.6.9-random-sysctl-overflow.patch Patch2000: linux-2.6.9-vm-tame-oomkiller.patch Patch2001: linux-2.6.9-vm-dirty_ratio-initialisation-fix.patch Patch2002: linux-2.6.9-vm-pageout-throttling.patch Patch2003: linux-2.6.9-vm-page-writeback.patch Patch2004: linux-2.6.9-vm-sc-congested.patch Patch2005: linux-2.6.9-vm-total-scanned.patch Patch2007: linux-2.6.9-rlimit_memlock-bypass.patch Patch2009: linux-2.6.9-vm-oomkiller-tweak.patch Patch2100: linux-2.6.9-ide-csb6-raid.patch Patch2101: linux-2.6.9-ide-cd-early-EOF.patch Patch2102: linux-2.6.9-ide-cd-panic.patch Patch2999: linux-2.6.3-printopen.patch # # External drivers that are about to get accepted upstream # # Emulex FC driver Patch3000: linux-2.6.9-emulex-lpfc.patch # Speedtouch USB DSL modem driver. Patch3010: linux-2.6.9-speedtouch.patch # Intel Centrino wireless drivers. Patch3020: linux-2.6.9-ipw2100.patch Patch3021: linux-2.6.9-ipw2200.patch Patch3022: linux-2.6.9-ieee80211.patch # Misc bits. Patch4001: linux-2.6.10-ac-selected-bits.patch Patch4013: linux-2.6.9-tmpfs-truncate-BUG.patch # BadRAM Patch4999: linux-2.6.9-5-badram.patch # Security fixes. Patch5000: linux-2.6.9-CAN-2004-1056-drm-insufficient-locking.patch Patch5001: linux-2.6.9-CAN-2004-1137-igmp-flaws.patch Patch5002: linux-2.6.9-CAN-2004-1235-do_brk.patch Patch5003: linux-2.6.9-CAN-2005-0001-expand-stack-race.patch Patch5004: linux-2.6.9-CAN-2005-0135-ia64-ptrace.patch Patch5005: linux-2.6.9-CAN-2005-0176-shmlockperms.patch Patch5006: linux-2.6.9-CAN-2005-0207-NFSD-O_DIRECT.patch Patch5007: linux-2.6.9-CAN-2005-0209-dst-leak.patch Patch5008: linux-2.6.9-CAN-2005-0384-ppp-dos.patch Patch5009: linux-2.6.9-CAN-2005-0400-ext2-infoleak.patch Patch5010: linux-2.6.9-CAN-2005-0449-ip_defrag.patch Patch5011: linux-2.6.9-CAN-2005-0531-size_t.patch Patch5012: linux-2.6.9-CAN-2005-0736-epoll-overflow.patch Patch5013: linux-2.6.9-CAN-2005-0749-elfloader-kfree.patch Patch5014: linux-2.6.9-CAN-2005-0750-bluetooth-rangecheck.patch Patch5015: linux-2.6.9-CAN-2005-0767-drm-radeon-race.patch Patch5016: linux-2.6.9-CAN-2005-0815-isofs.patch Patch5017: linux-2.6.9-CAN-2005-0839-N_MOUSE.patch Patch5018: linux-2.6.10-CAN-2005-0867-sysfs-signedness.patch # # 10000 to 20000 is for stuff that has to come last due to the # amount of drivers they touch. But only these should go here. # Not patches you're too lazy for to put in the proper place. # Patch10000: linux-2.6.0-compile.patch Patch10001: linux-2.6.9-exports.patch # END OF PATCH DEFINITIONS BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root %description The kernel package contains the Linux kernel (vmlinuz), the core of any Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc. %package devel Summary: Development package for building kernel modules to match the kernel. Group: System Environment/Kernel AutoReqProv: no Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release} %description devel This package provides kernel headers and makefiles sufficient to build modules against the kernel package. %package sourcecode Summary: The source code for the Linux kernel. Group: Development/System Prereq: fileutils Requires: make >= 3.78 Requires: gcc >= 3.2 Requires: /usr/bin/strip # for xconfig and gconfig Requires: qt-devel, gtk2-devel readline-devel ncurses-devel Provides: kernel-source Obsoletes: kernel-source <= 2.6.6 %description sourcecode The kernel-sourcecode package contains the source code files for the Linux kernel. The source files can be used to build a custom kernel that is smaller by virtue of only including drivers for your particular hardware, if you are so inclined (and you know what you're doing). The customisation guide in the documentation describes in detail how to do this. This package is neither needed nor usable for building external kernel modules for linking such modules into the default operating system kernels. %package doc Summary: Various documentation bits found in the kernel source. Group: Documentation %if !%{buildsource} Obsoletes: kernel-source <= 2.6.6 Obsoletes: kernel-sourcecode <= 2.6.6 %endif %description doc This package contains documentation files from the kernel source. Various bits of information about the Linux kernel and the device drivers shipped with it are documented in these files. You'll want to install this package if you need a reference to the options that can be passed to Linux kernel modules at load time. %package smp Summary: The Linux kernel compiled for SMP machines. Group: System Environment/Kernel Provides: kernel = %{version} Provides: kernel-drm = 4.3.0 Prereq: %{kernel_prereq} Conflicts: %{kernel_dot_org_conflicts} Conflicts: %{package_conflicts} Conflicts: %{nptl_conflicts} # upto and including kernel 2.4.9 rpms, the 4Gb+ kernel was called kernel-enterprise # now that the smp kernel offers this capability, obsolete the old kernel Obsoletes: kernel-enterprise < 2.4.10 # We can't let RPM do the dependencies automatic because it'll then pick up # a correct but undesirable perl dependency from the module headers which # isn't required for the kernel proper to function Provides: kernel-smp-%{_target_cpu} = %{rpmversion}-%{release} %if %{kabi} Provides: kABI(%{kabi_major}smp.%{_target_cpu}) = %{kabi_minor} %endif %description smp This package includes a SMP version of the Linux kernel. It is required only on machines with two or more CPUs as well as machines with hyperthreading technology. Install the kernel-smp package if your machine uses two or more CPUs. %package smp-devel Summary: Development package for building kernel modules to match the SMP kernel. Group: System Environment/Kernel Provides: kernel-smp-devel-%{_target_cpu} = %{rpmversion}-%{release} AutoReqProv: no %description smp-devel This package provides kernel headers and makefiles sufficient to build modules against the SMP kernel package. %package hugemem Summary: The Linux kernel compiled for machines with 16 Gigabytes of memory or more. Group: System Environment/Kernel Provides: kernel = %{version} Provides: kernel-drm = 4.3.0 Prereq: %{kernel_prereq} Conflicts: %{kernel_dot_org_conflicts} Conflicts: %{package_conflicts} Conflicts: %{nptl_conflicts} Obsoletes: kernel-enterprise < 2.4.10 # We can't let RPM do the dependencies automatic because it'll then pick up # a correct but undesirable perl dependency from the module headers which # isn't required for the kernel proper to function Provides: kernel-hugemem-%{_target_cpu} = %{rpmversion}-%{release} %if %{kabi} Provides: kABI(%{kabi_major}hugemem.%{_target_cpu}) = %{kabi_minor} %endif %description hugemem This package includes an SMP version of the Linux kernel which supports systems with 16 Gigabytes of memory or more. %package hugemem-devel Summary: Development package for building kernel modules to match the hugemem kernel. Group: System Environment/Kernel Provides: kernel-hugemem-devel-%{_target_cpu} = %{rpmversion}-%{release} AutoReqProv: no %description hugemem-devel This package provides kernel headers and makefiles sufficient to build modules against the hugemem kernel package. %prep %setup -q -n %{name}-%{version} -c cd linux-%{kversion} # # Patches 0 through 100 are meant for core subsystem upgrades # # Various fixes from Alan's -ac tree. %patch3 -p1 %patch4 -p1 # # Patches to back out # # -AC bits we don't want. %patch10 -p1 -R # iobitmap increase that breaks booting %patch11 -p1 -R %patch12 -p1 # # Architecture patches # # # x86(-64) # %patch200 -p1 # fix x86_64 copy_user_generic %patch201 -p1 # Share cache descriptors between x86/x86-64 %patch202 -p1 # x86_64: add an option to configure oops stack dump %patch203 -p1 # x86[64]: display phys_proc_id only when it is initialized %patch204 -p1 # x86_64: no TIOCSBRK/TIOCCBRK in ia32 emulation %patch205 -p1 # Fix show_trace() in irq context with CONFIG_4KSTACKS %patch206 -p1 # x86_64: Fix lost edge triggered irqs on UP kernel %patch207 -p1 # x86_64: Reenable MGA DRI %patch208 -p1 # Fix Buffer overrun in arch/x86_64/sys_ia32.c:sys32_ni_syscall() %patch209 -p1 # Flexible mmap patch for x86-64 %patch210 -p1 # Fix wrong TASK_SIZE on x86_64 for 32bit processes %patch211 -p1 # Clear ebp on sysenter return. %patch212 -p1 # # ppc64 # # Patch for Kconfig and Makefile build issues %patch300 -p1 %patch301 -p1 # Fix single stepping on PPC64 %patch302 -p1 # HVSI udbg support %patch303 -p1 # Make HVSI console survive FSP reset %patch304 -p1 # Make PCI hostbridge hotplugging work %patch305 -p1 # Fix IBM VSCSI problems %patch306 -p1 # Store correct backtracking info in ppc64 signal frames %patch307 -p1 # Prevent HVSI from oopsing on hangup %patch308 -p1 # Make ppc64 NUMA map CPU->node before bringing up the CPU %patch309 -p1 # sched domains / cpu hotplug cleanup %patch310 -p1 # Add a CPU_DOWN_PREPARE hotplug CPU notifier %patch311 -p1 # Register a cpu hotplug notifier to reinitialize the scheduler domains hierarchy %patch312 -p1 # Make arch_destroy_sched_domains() conditional %patch313 -p1 # Use CPU_DOWN_FAILED notifier in the sched-domains hotplug code %patch314 -p1 # PPC64 sigsuspend stomping on r4 and r5 %patch315 -p1 # Enable ICOM serial driver %patch316 -p1 # IBM VSCSI driver race fix %patch317 -p1 # Ensure PPC64 interrupts don't end up hard-disabled %patch318 -p1 # Add PURR and version data to /proc/ppc64/lparcfg %patch319 -p1 # Convert to using ibm,read-slot-reset-state2 RTAS call %patch320 -p1 # Fix inability to find space for TCE table on ppc64 %patch321 -p1 # Prevent block device queues from being shared in viocd %patch322 -p1 # Align PACA buffer for ppc64 hypervisor's use %patch323 -p1 # Indicate that the veth link is always up %patch324 -p1 # Quiesce OpenFirmware stdin device at boot. %patch325 -p1 # Make ppc64's pci_alloc_consistent() conform to documentation %patch326 -p1 # # ia64 # # Basic build fixes %patch330 -p1 %patch331 -p1 %patch332 -p1 %patch333 -p1 %patch334 -p1 %patch335 -p1 %patch336 -p1 %patch337 -p1 %patch338 -p1 %patch339 -p1 %patch340 -p1 %patch341 -p1 # # s390 # # Basic build fixes %patch350 -p1 # Auto raidstart for S390 %patch351 -p1 # Fix fake_ll for QETH device (#136175) %patch352 -p1 # Recover after aborted nameserver request. %patch353 -p1 # zfcp: Kernel stack frame for zfcp_cfdc_dev_ioctl() is too big %patch354 -p1 # Fixed buffers for DASD devices. %patch355 -p1 %patch356 -p1 # Fix coredumps on S390 %patch357 -p1 # lcs device will not start anymore after first detection. %patch358 -p1 # Fix possible failure of IP addr registration %patch359 -p1 # Support broadcast on z800/z900 HiperSockets %patch360 -p1 # # sparc/sparc64 # %patch400 -p1 # # Patches 500 through 1000 are reserved for bugfixes to the core system # and patches related to how RPMs are build # # This patch adds a "make nonint_oldconfig" which is non-interactive and # also gives a list of missing options at the end. Useful for automated # builds (as used in the buildsystem). %patch500 -p1 # # The execshield patch series, broken into smaller pieces # # 1) Exec shield core %patch511 -p1 # 2) Option to printk fatal signals, useful for debugging %patch512 -p1 # 3) The Execshield VA rearrangements %patch513 -p1 # # 4G/4G split # %patch520 -p1 -R %patch521 -p1 %patch522 -p1 %patch523 -p1 # # Patch that adds a __must_check attribute for functions for which checking # the return value is mantadory (eg copy_from_user) # %patch530 -p1 # # TUX # %patch540 -p1 # # GPG signed kernel modules # %patch600 -p1 %patch601 -p1 %patch602 -p1 %patch603 -p1 %patch604 -p1 %patch605 -p1 %patch606 -p1 # # Patches 1000 to 5000 are reserved for bugfixes to drivers and filesystems # # add vidfail capability; # without this patch specifying a framebuffer on the kernel prompt would # make the boot stop if there's no supported framebuffer device; this is bad # for the installer cd that wants to automatically fall back to textmode # in that case %patch1000 -p1 # # Fix the extreme stack usage in some kernel functions # %patch1020 -p1 # EXT3 bits. # Ext3 reservations. reduces fragmentation bigtime %patch1030 -p1 %patch1031 -p1 # improves ext3's error logging when we encounter an on-disk corruption. %patch1032 -p1 # ext3 online resize %patch1033 -p1 # improves ext3's ability to deal with corruption on-disk %patch1034 -p1 # Handle double-delete of indirect blocks %patch1035 -p1 # Fix xattr/mbcache race %patch1036 -p1 %patch1037 -p1 # # Make /dev/mem a need-to-know function # %patch1050 -p1 %patch1051 -p1 # # /dev/crash driver for the crashdump analysis tool # %patch1060 -p1 # # Most^WAll users of sleep_on are broken; fix a bunch # %patch1070 -p1 # # Ingo's patch for voluntary preemption # %patch1080 -p1 %patch1081 -p1 # Kexec in preparation for kexec-based dump %patch1090 -p1 # # Sata update # %patch1100 -p1 %patch1101 -p1 %patch1102 -p1 %patch1103 -p1 %patch1104 -p1 # # SCSI Bits. # # Additions to the SCSI whitelist to make card readers work. %patch1120 -p1 # fix SCSI bounce limit %patch1121 -p1 # AIC host raid support. %patch1122 -p1 # SCSI midlayer updates from 2.6.10rc %patch1123 -p1 # Avoid oops when insmod'ing aic79xx on machine without hardware %patch1124 -p1 # scsi: Add reset ioctl capability to ULDs %patch1125 -p1 # scsi: Update ips driver to 2.6.10rc version. %patch1126 -p1 # avoid extra 'put' on devices in __scsi_iterate_device() # http://marc.theaimsgroup.com/?l=linux-scsi&m=109886580930570&w=2 %patch1127 -p1 # Update Qlogic driver to 2.6.10-rc2 %patch1128 -p1 # cciss: fixes for clustering %patch1129 -p1 # Fix USB forced remove oops %patch1130 -p1 # Fix up scsi_test_unit_ready() to work correctly with CD-ROMs %patch1131 -p1 # Plug leaks in error paths in aic driver %patch1132 -p1 # Add refcounting to scsi command allocation %patch1133 -p1 # return full SCSI status byte in SG_IO %patch1134 -p1 # sg: Fix oops of sg_cmd_done and sg_release race %patch1135 -p1 # aacraid: remove aac_handle_aif %patch1136 -p1 # Prevent kernel panic if an application issues an ioctl with an unrecognized subopcode. %patch1137 -p1 # Fix refcounting order in sd/sr, fixing cable pulls on USB storage. %patch1138 -p1 # IOCTL integer overflow and information leak. %patch1139 -p1 # Block / MD layer fixes. # Fix blocklayer races %patch1140 -p1 # fix bad segment coalescing in blk_recalc_rq_segments() %patch1141 -p1 # cciss: Off-by-one error causing oops in CCISS_GETLUNIFO ioctl %patch1142 -p1 # Fix sx8 device naming in sysfs %patch1143 -p1 # blkdev_get_blocks(): handle eof %patch1144 -p1 # Fix CCISS ioctl return code %patch1145 -p1 # CCISS ID updates %patch1146 -p1 # __getblk_slow can loop forever when pages are partially mapped %patch1147 -p1 # md: fix two little bugs in raid10 %patch1150 -p1 # md: make sure md always uses rdev_dec_pending properly %patch1151 -p1 # Drop the 'deprecated SG_IO warning'. %patch1160 -p1 # # Various upstream NFS/NFSD fixes. # %patch1200 -p1 %patch1201 -p1 %patch1202 -p1 %patch1203 -p1 %patch1204 -p1 %patch1205 -p1 %patch1207 -p1 %patch1208 -p1 %patch1209 -p1 %patch1210 -p1 %patch1211 -p1 # Networking fixes. # Fix IPV6 MTU calculation %patch1300 -p1 # vlan_dev: return 0 on vlan_dev_change_mtu success %patch1301 -p1 # Handle SIOCGIFHWADDR NULL dev->dev_addr %patch1302 -p1 # fix missing security_*() check in net/compat.c %patch1303 -p1 # XFRM layer bug fixes %patch1304 -p1 # Fix CMSG validation checks wrt. signedness. %patch1305 -p1 # Fix memory leak in ip_conntrack_ftp %patch1306 -p1 # [IPV4]: Do not leak IP options. %patch1307 -p1 # /proc/net/route stale pointer OOPS fix %patch1308 -p1 # NIC driver fixes. # Fix problems with b44 & 4g/4g %patch1350 -p1 # Use correct spinlock functions in token ring net code %patch1351 -p1 # make tulip_stop_rxtx() wait for DMA to fully stop %patch1352 -p1 # reload EEPROM values at rmmod for needy cards %patch1353 -p1 # [TG3]: Fix fiber hw autoneg bounces %patch1354 -p1 # e100: fix improper enabling of interrupts %patch1355 -p1 # rx checksum support for gige nForce ethernet %patch1356 -p1 # via-rhine: references __init code during resume %patch1357 -p1 # Workaround for the E1000 erratum 23 %patch1358 -p1 # Workaround E1000 post-maturely writing back to TX descriptors %patch1359 -p1 # e100/e1000: return -EINVAL when setting rx-mini or rx-jumbo %patch1360 -p1 # E1000 64k-alignment fix %patch1361 -p1 # ACPI bits # Eliminate spurious ACPI breakpoint msgs %patch1400 -p1 # Make LEqual less strict about operand types matching. %patch1401 -p1 # Fix ACPI debug level %patch1402 -p1 # Implement ACPI reset mechanism. %patch1403 -p1 # # Various crash dumping patches # %patch1500 -p1 %patch1510 -p1 %patch1520 -p1 %patch1530 -p1 %patch1540 -p1 %patch1541 -p1 %patch1542 -p1 %patch1543 -p1 %patch1544 -p1 %patch1545 -p1 %patch1546 -p1 %patch1547 -p1 %patch1548 -p1 %patch1549 -p1 %patch1550 -p1 %patch1551 -p1 %patch1552 -p1 # # Various SELinux fixes from 2.6.10rc # %patch1600 -p1 %patch1601 -p1 %patch1602 -p1 %patch1603 -p1 %patch1604 -p1 %patch1605 -p1 # SELinux xattr for tmpfs (from 2.6.9-mm) %patch1606 -p1 %patch1608 -p1 %patch1609 -p1 # Misc fixes # Fix ps showing wrong ppid. (#132030) %patch1700 -p1 # Make proc_pid_status not dereference dead task structs. %patch1701 -p1 # Make EDD runtime configurable. %patch1710 -p1 # Backport sysfs changes from 2.6.10 (#140372) %patch1720 -p1 # Optimize away the unconditional write to debug registers on signal delivery path %patch1730 -p1 # Add barriers to generic timer code to prevent race %patch1740 -p1 # Fix problems with non-power-of-two sector size discs %patch1750 -p1 # Add missing MODULE_VERSION tags to some modules. %patch1760 -p1 # disable sw irqbalance/irqaffinity for e7520-e7320-e7525 %patch1780 -p1 # ASPM workaround for PCIe %patch1781 -p1 # Hot-plug driver updates due to MSI change %patch1782 -p1 # Workaround for 80332 IOP hot-plug problem %patch1783 -p1 # ExpressCard hot-plug support for ICH6M %patch1784 -p1 # Various PCI-X hotplug fixes %patch1785 -p1 # hugetlb_get_unmapped_area fix %patch1790 -p1 # Various statm accounting fixes %patch1800 -p1 # Suppress ide-floppy 'medium not present' noise %patch1810 -p1 # Fix possible hang in do_wait() %patch1820 -p1 # flush error in pci_mmcfg_write %patch1830 -p1 # Fix boot crash on VIA systems %patch1840 -p1 # autofs4 - allow map update recognition %patch1850 -p1 # Add additional tainting mechanisms. %patch1860 -p1 %patch1861 -p1 %patch1862 -p1 # xtime correctness. %patch1870 -p1 # pagevec alignment %patch1880 -p1 # ia64/x86_64/s390 overlapping vma fix %patch1890 -p1 # Remove Futex Warning %patch1900 -p1 # Make spinlock debugging panic instead of continue. %patch1910 -p1 # Fix compat fcntl F_GETLK{,64} %patch1920 -p1 # fix uninitialized variable in waitid(2) %patch1930 -p1 # Overflows in USB edgeport IO driver. %patch1940 -p1 # Missing Cache flushes in AGPGART code. %patch1950 -p1 # Workaround broken pci posting in AGPGART. %patch1951 -p1 # Bounds checking for vc resize %patch1960 -p1 # kern_exit fix enabler. (don't ask). %patch1970 -p1 # Random poolsize sysctl handler integer overflow. %patch1990 -p1 # # VM related fixes. # # Make the OOM killer less aggressive. %patch2000 -p1 # vm_dirty_ratio initialisation fix. %patch2001 -p1 # VM pageout throttling. %patch2002 -p1 # Lower dirty limit for mappings which can't be cached in highmem %patch2003 -p1 # Don't oomkill when congested %patch2004 -p1 # Increment total_scanned var to throttle kswapd %patch2005 -p1 # RLIMIT_MEMLOCK bypass and unpriveledged user DoS. %patch2007 -p1 # tweak for the oomkiller. %patch2009 -p1 # IDE bits. # Make CSB6 driver support configurations. %patch2100 -p1 # Handle early EOF on CD's. %patch2101 -p1 # Prevent panic with CD error %patch2102 -p1 # # Local hack (off for any shipped kernels) to printk all files opened # the first 180 seconds after boot for debugging userspace startup # speeds # # %patch2999 -p1 # # External drivers that are about to get accepted upstream # # Emulex FC %patch3000 -p1 # Speedtouch %patch3010 -p1 # Intel wireless %patch3020 -p1 %patch3021 -p1 %patch3022 -p1 # Misc bits # Various fixes from 2.6.10-ac %patch4001 -p1 # tmpfs caused truncate BUG() %patch4013 -p1 # Apply BadRAM patch to avoid allocating faulty RAM addresses %patch4999 -p1 # Security issues. %patch5000 -p1 %patch5001 -p1 %patch5002 -p1 %patch5003 -p1 %patch5004 -p1 %patch5005 -p1 %patch5006 -p1 %patch5007 -p1 %patch5008 -p1 %patch5009 -p1 %patch5010 -p1 %patch5011 -p1 %patch5012 -p1 %patch5013 -p1 %patch5014 -p1 %patch5015 -p1 %patch5016 -p1 %patch5017 -p1 %patch5018 -p1 # # final stuff # # # misc small stuff to make things compile or otherwise improve performance # %patch10000 -p1 # Remove a bunch of exports that went away in 2.6.10rc1 %patch10001 -p1 # END OF PATCH APPLICATIONS cp %{SOURCE10} Documentation/ mkdir configs cp -fv %{all_arch_configs} . # now run oldconfig over all the config files for i in *.config do mv $i .config make ARCH=`echo $i | cut -d"-" -f3 | cut -d"." -f1 | sed -e s/i.86/i386/ -e s/athlon/i386/ -e s/s390x/s390/ -e s/ppc64.series/ppc64/ ` nonint_oldconfig > /dev/null cp .config configs/$i done # make sure the kernel has the sublevel we know it has. This looks weird # but for -pre and -rc versions we need it since we only want to use # the higher version when the final kernel is released. perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -prep/" Makefile # get rid of unwanted files resulting from patch fuzz find . -name "*.orig" -exec rm -fv {} \; find . -name "*~" -exec rm -fv {} \; ### ### build ### %build # # Create gpg keys for signing the modules # gpg --homedir . --batch --gen-key %{SOURCE11} #Changed to generate a key named CentOS vice Red Hat, Inc. #gpg --homedir . --export --keyring ./kernel.pub Red > extract.pub gpg --homedir . --export --keyring ./kernel.pub CentOS > extract.pub make linux-%{kversion}/scripts/bin2c linux-%{kversion}/scripts/bin2c ksign_def_public_key __initdata < extract.pub > linux-%{kversion}/crypto/signature/key.h cd linux-%{kversion} BuildKernel() { # Pick the right config file for the kernel we're building if [ -n "$1" ] ; then Config=kernel-%{kversion}-%{_target_cpu}-$1.config DevelDir=/usr/src/kernels/%{KVERREL}-$1-%{_target_cpu} else Config=kernel-%{kversion}-%{_target_cpu}.config DevelDir=/usr/src/kernels/%{KVERREL}-%{_target_cpu} fi KernelVer=%{version}-%{release}$1 echo BUILDING A KERNEL FOR $1 %{_target_cpu}... # make sure EXTRAVERSION says what we want it to say perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}$1/" Makefile # and now to start the build process make -s mrproper cp configs/$Config .config make -s nonint_oldconfig > /dev/null make -s include/linux/version.h make -s %{?_smp_mflags} %{make_target} make -s %{?_smp_mflags} modules || exit 1 make buildcheck # Start installing the results mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/boot mkdir -p $RPM_BUILD_ROOT/%{image_install_path} install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer cp arch/*/boot/bzImage $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer cp arch/*/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || : mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer make -s INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer %if %{kabi} mkdir -p $RPM_BUILD_ROOT/lib/modules/kabi-%{kabi_major}-%{kabi_minor}$1 %endif # And save the headers/makefiles etc for building modules against # # This all looks scary, but the end result is supposed to be: # * all arch relevant include/ files # * all Makefile/Kconfig files # * all script/ files rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source) # first copy everything cp --parents `find -type f -name Makefile -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build # then drop all but the needed Makefiles/Kconfig files rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include cp arch/%{_arch}/kernel/asm-offsets.s $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/kernel || : cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a arch/%{_arch}/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || : cp -a arch/%{_arch}/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || : rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include cd include cp -a acpi config linux math-emu media net pcmcia rxrpc scsi sound video asm asm-generic $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include cp -a `readlink asm` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include # Make sure the Makefile and version.h have a matching timestamp so that # external modules can be built touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/version.h touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/autoconf.h cd .. # # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm # mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/lib/modules/$KernelVer cp vmlinux $RPM_BUILD_ROOT/usr/lib/debug/lib/modules/$KernelVer # gpg sign the modules %if %{signmodules} gcc -o scripts/modsign/mod-extract scripts/modsign/mod-extract.c -Wall KEYFLAGS="--no-default-keyring --homedir .." KEYFLAGS="$KEYFLAGS --secret-keyring ../kernel.sec" KEYFLAGS="$KEYFLAGS --keyring ../kernel.pub" export KEYFLAGS for i in ` find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f` ; do #Sign with the new CentOS key vice the RH Key (generated above) #sh ./scripts/modsign/modsign.sh $i Red sh ./scripts/modsign/modsign.sh $i CentOS mv -f $i.signed $i done unset KEYFLAGS %endif # mark modules executable so that strip-to-file can strip them find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f | xargs chmod u+x # detect missing or incorrect license tags for i in `find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" ` ; do echo -n "$i " ; /sbin/modinfo -l $i >> modinfo ; done cat modinfo | grep -v "^GPL" | grep -v "^Dual BSD/GPL" | grep -v "^Dual MPL/GPL" | grep -v "^GPL and additional rights" | grep -v "^GPL v2" && exit 1 rm -f modinfo # remove files that will be auto generated by depmod at rpm -i time rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.* # Move the devel headers out of the root file system mkdir -p $RPM_BUILD_ROOT/usr/src/kernels mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir ln -sf $DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build } ### # DO it... ### # prepare directories rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/boot %if %{buildup} BuildKernel %endif %if %{buildsmp} BuildKernel smp %endif %if %{buildhugemem} BuildKernel hugemem %endif ### ### install ### %install cd linux-%{kversion} # architectures that don't get kernel-source (i586/i686/athlon) dont need # much of an install because the build phase already copied the needed files %if %{builddoc} mkdir -p $RPM_BUILD_ROOT/usr/share/doc/kernel-doc-%{kversion}/Documentation # sometimes non-world-readable files sneak into the kernel source tree chmod -R a+r * # copy the source over tar cf - Documentation | tar xf - -C $RPM_BUILD_ROOT/usr/share/doc/kernel-doc-%{kversion} %endif %if %{buildsource} mkdir -p $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL} chmod -R a+r * # clean up the source tree so that it is ready for users to build their own # kernel make -s mrproper # copy the source over tar cf - . | tar xf - -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL} # set the EXTRAVERSION to custom, so that people who follow a kernel building howto # don't accidentally overwrite their currently working moduleset and hose # their system perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}custom/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/Makefile # some config options may be appropriate for an rpm kernel build but are less so for custom user builds, # change those to values that are more appropriate as default for people who build their own kernel. perl -p -i -e "s/^CONFIG_DEBUG_INFO.*/# CONFIG_DEBUG_INFO is not set/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/configs/* perl -p -i -e "s/^.*CONFIG_DEBUG_PAGEALLOC.*/# CONFIG_DEBUG_PAGEALLOC is not set/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/configs/* perl -p -i -e "s/^.*CONFIG_DEBUG_SLAB.*/# CONFIG_DEBUG_SLAB is not set/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/configs/* perl -p -i -e "s/^.*CONFIG_DEBUG_SPINLOCK.*/# CONFIG_DEBUG_SPINLOCK is not set/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/configs/* perl -p -i -e "s/^.*CONFIG_DEBUG_HIGHMEM.*/# CONFIG_DEBUG_HIGHMEM is not set/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/configs/* perl -p -i -e "s/^.*CONFIG_MODULE_SIG.*/# CONFIG_MODULE_SIG is not set/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/configs/* install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL} %endif ### ### clean ### %clean rm -rf $RPM_BUILD_ROOT ### ### scripts ### # load the loop module for upgrades...in case the old modules get removed we have # loopback in the kernel so that mkinitrd will work. %pre /sbin/modprobe loop 2> /dev/null > /dev/null || : exit 0 %pre smp /sbin/modprobe loop 2> /dev/null > /dev/null || : exit 0 %pre hugemem /sbin/modprobe loop 2> /dev/null > /dev/null || : exit 0 %post [ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade [ -x /sbin/new-kernel-pkg ] && /sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install %{KVERREL} %post devel if [ -x /usr/sbin/hardlink ] ; then pushd /usr/src/kernels/%{KVERREL}-%{_target_cpu} > /dev/null ; { cd /usr/src/kernels/%{KVERREL}-%{_target_cpu} find . -type f | while read f; do hardlink -c /usr/src/kernels/*/$f $f ; done } popd > /dev/null fi %post smp [ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade [ -x /sbin/new-kernel-pkg ] && /sbin/new-kernel-pkg --package kernel-smp --mkinitrd --depmod --install %{KVERREL}smp %post smp-devel if [ -x /usr/sbin/hardlink ] ; then pushd /usr/src/kernels/%{KVERREL}-smp-%{_target_cpu} > /dev/null ; { cd /usr/src/kernels/%{KVERREL}-smp-%{_target_cpu} find . -type f | while read f; do hardlink -c /usr/src/kernels/*/$f $f ; done } popd > /dev/null fi %post hugemem [ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade [ -x /sbin/new-kernel-pkg ] && /sbin/new-kernel-pkg --package kernel-hugemem --mkinitrd --depmod --install %{KVERREL}hugemem %post hugemem-devel if [ -x /usr/sbin/hardlink ] ; then pushd /usr/src/kernels/%{KVERREL}-hugemem-%{_target_cpu} > /dev/null ; { cd /usr/src/kernels/%{KVERREL}-hugemem-%{_target_cpu} find . -type f | while read f; do hardlink -c /usr/src/kernels/*/$f $f ; done } popd > /dev/null fi %preun /sbin/modprobe loop 2> /dev/null > /dev/null || : [ -x /sbin/new-kernel-pkg ] && /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL} %preun smp /sbin/modprobe loop 2> /dev/null > /dev/null || : [ -x /sbin/new-kernel-pkg ] && /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}smp %preun hugemem /sbin/modprobe loop 2> /dev/null > /dev/null || : [ -x /sbin/new-kernel-pkg ] && /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}hugemem ### ### file lists ### %if %{buildup} %files %defattr(-,root,root) /%{image_install_path}/*-%{KVERREL} /boot/System.map-%{KVERREL} /boot/config-%{KVERREL} %dir /lib/modules/%{KVERREL} /lib/modules/%{KVERREL}/kernel %if %{kabi} %dir /lib/modules/kabi-%{kabi_major}-%{kabi_minor} %endif %files devel %defattr(-,root,root) /lib/modules/%{KVERREL}/build /lib/modules/%{KVERREL}/source %verify(not mtime) /usr/src/kernels/%{KVERREL}-%{_target_cpu} %endif %if %{buildsmp} %files smp %defattr(-,root,root) /%{image_install_path}/*-%{KVERREL}smp /boot/System.map-%{KVERREL}smp /boot/config-%{KVERREL}smp %dir /lib/modules/%{KVERREL}smp /lib/modules/%{KVERREL}smp/kernel %if %{kabi} %dir /lib/modules/kabi-%{kabi_major}-%{kabi_minor}smp %endif %files smp-devel %defattr(-,root,root) /lib/modules/%{KVERREL}smp/build /lib/modules/%{KVERREL}smp/source %verify(not mtime) /usr/src/kernels/%{KVERREL}-smp-%{_target_cpu} %endif %if %{buildhugemem} %files hugemem %defattr(-,root,root) /%{image_install_path}/*-%{KVERREL}hugemem /boot/System.map-%{KVERREL}hugemem /boot/config-%{KVERREL}hugemem %dir /lib/modules/%{KVERREL}hugemem /lib/modules/%{KVERREL}hugemem/kernel %if %{kabi} %dir /lib/modules/kabi-%{kabi_major}-%{kabi_minor}hugemem %endif %files hugemem-devel %defattr(-,root,root) /lib/modules/%{KVERREL}hugemem/build /lib/modules/%{KVERREL}hugemem/source %verify(not mtime) /usr/src/kernels/%{KVERREL}-hugemem-%{_target_cpu} %endif # only some architecture builds need kernel-source and kernel-doc %if %{buildsource} %files sourcecode %defattr(-,root,root) /usr/src/linux-%{KVERREL}/ %endif %if %{builddoc} %files doc %defattr(-,root,root) /usr/share/doc/kernel-doc-%{kversion}/Documentation/* %endif %changelog * Thu May 05 2005 Ryan Duffner - Merged badram patch for i386 archs - Added athlon/athlon-smp build support * Tue Apr 19 2005 Johnny Hughes - merged back the CentOS-4 mods (listed below) - added support for i586 kernel - modified version to build with the same number as RHEL-4 - modfied generated key to say CentOS vice RedHat. * Fri Apr 8 2005 Dave Jones - Fix tmpfs truncate BUG(). - /proc/net/route stale pointer OOPS fix. * Thu Apr 7 2005 Dave Jones - Numerous security issues. Signedness issues in sysfs (CAN-2005-0867) ia64 ptrace stack unwind local DoS (CAN-2005-0135) NFSD O_DIRECT flaw (CAN-2005-0207) IP output route leak. (CAN-2005-0209) PPP Denial of service. (CAN-2005-0384) (#151240) EXT2 information leak. (CAN-2005-0400) Remote oops in ip_defrag() (CAN-2005-0449) Various size_t flaws (CAN-2005-0529, CAN-2005-0530, CAN-2005-0531) return proper error on overflow condition in epoll. (CAN-2005-0736) Incorrect kfree in ELF loader. (CAN-2005-0749) Missing range checks in bluetooth. (CAN-2005-0750) Race in Radeon DRM (CAN-2005-0767) Various missing sanity checks in isofs. (CAN-2005-0815) Only root should be able to set the N_MOUSE line discipline. (CAN-2005-0839) * Mon Feb 7 2005 Dave Jones - Export get_sb_pseudo(). (#139436) - Fix io port security hole on x86-64. (#146244) * Wed Jan 26 2005 Dave Jones - Fix shmctl SHM_LOCK perms. (#144471) - Various fixes from 2.6.10-ac (#146095, #146101) - OOM-killer tweak. * Tue Jan 25 2005 Dave Jones - Drop the deprecated SG_IO warning. (#141390) - Close information leak in sysenter (#146083) - Fix race in expand stack (CAN-2005-0001) (#144412) * Mon Jan 17 2005 Dave Jones - Fix flaws in IGMP code (CAN-2004-1137) (#142670) - Fix several corner cases in the 4g4g patch. (#144131, #144658) - Fix do_brk priveledge escalation. (CAN-2004-1235) (#144136) - Fix insuffient locking in DRM code. (CAN-2004-1056) (#144391) - Fix RLIMIT_MEMLOCK bypass and unpriveledged user DoS. (#144528) - Fix random poolsize sysctl handler integer overflow. (#144532) - Fix SCSI IOCTL integer overflow and information leak. (#144522) * Wed Jan 5 2005 Dave Jones - Fix AGP data corruption on non-4g4g kernels. * Tue Jan 4 2005 Dave Jones - Fix Tux crash if restarted with live connections that are in a particular state. (#140916) - Fix regression introduced by the recent CMSG security fixes. (#143975) - Various vm tuning to prevent possibility of OOM kill. (#141173) - Lower dirty limit for mappings which can't be cached in highmem - Don't oomkill when congested - Increment total_scanned var to throttle kswapd - Prevent panic with CD errors. - Enable SL82C104 IDE driver as built-in on PPC64 (#131033) * Wed Dec 29 2004 Dave Jones - Call module_upgrade in post stage of of kernel rpm installation. - Fix bad diskdump interaction with recent sysfs update. (#142321) - Fix refcounting order in sd/sr, fixing cable pulls on USB storage. * Sun Dec 12 2004 Dave Jones - Prevent kernel panic if an application issues an ioctl with an unrecognized subopcode. - fix false ECHILD result from wait* with zombie group leader. (#142518) * Sat Dec 11 2004 Dave Jones - Work around broken PCI posting in AGPGART. (#138348) - Make sure VC resizing fits in s16. * Fri Dec 10 2004 Dave Jones - Update yesterdays SELinux fix. (#142353) - E1000 64k-alignment fix. (#140047) - Disable tiglusb module. (#142102) - ID updates for cciss driver. - Fix overflows in USB Edgeport-IO driver. (#142258) - Fix wrong TASK_SIZE for 32bit processes on x86-64. (#141737) - Fix ext2/ext3 xattr/mbcache race. (#138951) - Fix bug where __getblk_slow can loop forever when pages are partially mapped. (#140424) - Add missing cache flushes in agpgart code. * Thu Dec 9 2004 Dave Jones - Prevent block device queues from being shared in viocd. (#139018) - Libata updates. (#138405) - aacraid: remove aac_handle_aif (#135527) - fix uninitialized variable in waitid(2). (#142505) - Fix CMSG validation checks wrt. signedness. - Fix memory leak in ip_conntrack_ftp - [IPV4]: Do not leak IP options. (#142251) - ppc64: Align PACA buffer for hypervisor's use. (#141817) - ppc64: Indicate that the veth link is always up. (#135402) - ppc64: Quiesce OpenFirmware stdin device at boot. (#142009) - SELinux: Fix avc_node_update oops. (#142353) - Fix CCISS ioctl return code. - Make ppc64's pci_alloc_consistent() conform to documentation. (#140047) * Wed Dec 8 2004 Dave Jones - Workaround E1000 post-maturely writing back to TX descriptors. (#133261) - Fix the previous E1000 errata workaround. - Several IDE fixes from 2.6.9-ac - vm pageout throttling. (#133858) * Tue Dec 7 2004 Dave Jones - Fix Tux from oopsing. (#140918) - Fix Tux/SELinux incompatability (#140916) - Fix Tux/IPV6 problem. (#140916) - ide: Fix possible oops on boot. - Make spinlock debugging panic instead of printk. - Update Emulex lpfc driver to 8.0.16 - Selected patches from 2.6.9-ac12 - ppc64: Fix inability to find space for TCE table (#138844) - Fix compat fcntl F_GETLK{,64} (#141680) - blkdev_get_blocks(): handle eof * Mon Dec 6 2004 Dave Jones - Bump redhat-rpm-config buildreq version. - Do the Centrino/ACPI changes on x86-64 too. * Fri Dec 3 2004 Dave Jones - Introduce infrastructure for supporting kabi. - Disable Centrino Speedstep driver. - Change ACPI cpufreq driver from modular to built-in. (#138952) * Thu Dec 2 2004 Dave Jones - XFRM layer bug fixes - ppc64: Convert to using ibm,read-slot-reset-state2 RTAS call - ide: Make CSB6 driver support configurations. - ide: Handle early EOF on CDs. - Fix sx8 device naming in sysfs - e100/e1000: return -EINVAL when setting rx-mini or rx-jumbo. (#140793) * Wed Dec 1 2004 Dave Jones - Workaround for the E1000 erratum 23 (#140047) - Remove bogus futex warning. (#138179) - x86_64: Fix lost edge triggered irqs on UP kernel. - x86_64: Reenable DRI for MGA. - Workaround E1000 post-maturely writing back to TX descriptors (#133261) - 3c59x: add EEPROM_RESET for 3c900 Boomerang - Fix buffer overrun in arch/x86_64/sys_ia32.c:sys32_ni_syscall() - ext3: improves ext3's error logging when we encounter an on-disk corruption. - ext3: improves ext3's ability to deal with corruption on-disk - ext3: Handle double-delete of indirect blocks. - Disable SCB2 flash driver for RHEL4. (#141142) * Tue Nov 30 2004 Dave Jones - x86_64: add an option to configure oops stack dump - x86[64]: display phys_proc_id only when it is initialized - x86_64: no TIOCSBRK/TIOCCBRK in ia32 emulation - via-rhine: references __init code during resume - Add barriers to generic timer code to prevent race. (#128242) - ppc64: Add PURR and version data to /proc/ppc64/lparcfg - Prevent xtime value becoming incorrect. - scsi: return full SCSI status byte in SG_IO - Fix show_trace() in irq context with CONFIG_4KSTACKS - Adjust alignment of pagevec structure. - md: make sure md always uses rdev_dec_pending properly. - Make proc_pid_status not dereference dead task structs. - sg: Fix oops of sg_cmd_done and sg_release race (#140648) - fix bad segment coalescing in blk_recalc_rq_segments() - fix missing security_*() check in net/compat.c - ia64/x86_64/s390 overlapping vma fix - Update Emulex lpfc to 8.0.15 * Mon Nov 29 2004 Dave Jones - Add another card reader to whitelist. (#141022) - Fix possible hang in do_wait() (#140042) - Fix ps showing wrong ppid. (#132030) - Print advice to use -hugemem if >=16GB of memory is detected. - Enable ICOM serial driver. (#136150) - Enable acpi hotplug driver for IA64. - SCSI: fix USB forced remove oops. - ia64: add missing sn2 timer mask in time_interpolator code. (#140580) - ia64: Fix hang reading /proc/pal/cpu0/tr_info (#139571) - ia64: bump number of UARTS. (#139100) - Fix ACPI debug level (#141292) - Make EDD runtime configurable, and reenable. - ppc64: IBM VSCSI driver race fix. (#138725) - ppc64: Ensure PPC64 interrupts don't end up hard-disabled. (#139020, #131590) - ppc64: Yet more sigsuspend/singlestep fixing. (#140102, #137931) - x86-64: Implement ACPI based reset mechanism. (#139104) - Backport 2.6.10rc sysfs changes needed for IBM hotplug driver. (#140372) - Update Emulex lpfc driver to v8.0.14 - Optimize away the unconditional write to debug registers on signal delivery path. - Fix up scsi_test_unit_ready() to work correctly with CD-ROMs. - md: fix two little bugs in raid10 - Remove incorrect ELF check from module loading. (#140954) - Plug leaks in error paths of aic driver. - Add refcounting to scsi command allocation. - Taint oopses on machine checks, bad_page()'s calls and forced rmmod's. - Share Intel cache descriptors between x86 & x86-64. - rx checksum support for gige nForce ethernet - vm: vm_dirty_ratio initialisation fix * Mon Nov 22 2004 Dave Jones - Update -ac patch to 2.6.9-ac11 - make tulip_stop_rxtx() wait for DMA to fully stop. (#138240) - ACPI: Make LEqual less strict about operand types matching. - scsi: avoid extra 'put' on devices in __scsi_iterate_device() (#138135) - Fix bugs with SOCK_SEQPACKET AF_UNIX sockets - Reenable token ring drivers. (#119345) - SELinux: Map Unix seqpacket sockets to appropriate security class - SELinux: destroy avtab node cache in policy load error path. - AF_UNIX: Serialize dgram read using semaphore just like stream. - lockd: NLM blocks locks don't sleep - NFS lock recovery fixes - Add more MODULE_VERSION tags (#136403) - Update qlogic driver to 2.6.10rc2 level. - cciss: fixes for clustering - ieee802.11 update. - ipw2100: update to ver 1.0.0 - ipw2200: update to ver 1.0.0 - Enable promisc mode on ipw2100 - 3c59x: reload EEPROM values at rmmod for needy cards - ppc64: Prevent sigsuspend stomping on r4 and r5 - ppc64: Alternative single-step fix. - fix for recursive netdump oops on x86_64 - ia64: Fix IRQ routing fix when booted with maxcpus= (#138236) - ia64: search the iommu for the correct size - Deal with fraglists correctly on ipv4/ipv6 output - Various statm accounting fixes (#139447) * Sat Nov 20 2004 Dave Jones - Reenable VESAfb. (#139982) - Reenable CMM /proc interface for s390 (#137397) * Fri Nov 19 2004 Dave Jones - e100: fix improper enabling of interrupts. (#139706) - autofs4: allow map update recognition - Various TCP fixes from 2.6.10rc - Various netlink fixes from 2.6.10rc - [IPV4]: Do not try to unhash null-netdev nexthops. - ppc64: Make NUMA map CPU->node before bringing up the CPU (#128063) - ppc64: sched domains / cpu hotplug cleanup. (#128063) - ppc64: Add a CPU_DOWN_PREPARE hotplug CPU notifier (#128063) - ppc64: Register a cpu hotplug notifier to reinitialize the scheduler domains hierarchy (#128063) - ppc64: Introduce CPU_DOWN_FAILED notifier (#128063) - ppc64: Make arch_destroy_sched_domains() conditional (#128063) - ppc64: Use CPU_DOWN_FAILED notifier in the sched-domains hotplug code (#128063) - Various updates to the SCSI midlayer from 2.6.10rc. - vlan_dev: return 0 on vlan_dev_change_mtu success. (#139760) - Update Emulex lpfc driver to v8.0.13 - Fix problem with b44 driver and 4g/4g patch. (#118165) - Prevent oops when loading aic79xx on machine without hardware. (#125982) - Use correct spinlock functions in token ring net code. (#135462) - scsi: Add reset ioctl capability to ULDs - scsi: update ips driver to 7.10.18 - Reenable ACPI hotplug driver. (#139976, #140130, #132691) * Wed Nov 17 2004 Dave Jones - Implement an RCU scheme for the SELinux AVC - Improve on the OOM-killer taming patch. - device-mapper: Remove duplicate kfree in dm_register_target error path. - Make SHA1 guard against misaligned accesses - ASPM workaround for PCIe. (#123360) - Hot-plug driver updates due to MSI change (#134290) - Workaround for 80332 IOP hot-plug problem (#139041) - ExpressCard hot-plug support for ICH6M (#131800) - Fix boot crash on VIA systems (noted on x86-64) - PPC64: Store correct backtracking info in ppc64 signal frames - PPC64: Prevent HVSI from oopsing on hangup (#137912) - Fix poor performance b/c of noncacheable mapping in 4g/4g (#130842) - Fix PCI-X hotplug issues (#132852, #134290) - Re-export force_sig() (#139503) - Various fixes for more security issues from latest -ac patch. * Tue Nov 16 2004 Dave Jones - Fix d_find_alias brokenness (#137791) - tg3: Fix fiber hw autoneg bounces (#138738) - diskdump: Fix issue with NMI watchdog. (#138041) - diskdump: Export disk_dump_state. (#138132) - diskdump: Tickle NMI watchdog in diskdump_mdelay() (#138036) - diskdump: Fix mem= for x86-64 (#138139) - diskdump: Fix missing system_state setting. (#138130) - diskdump: Fix diskdump completion message (#138028) - Re-add aic host raid support. - Take a few more export removal patches from 2.6.10rc - SATA: Make AHCI work - SATA: Core updates. - S390: Fix Incorrect registers in core dumps. (#138206) - S390: Fix up lcs device state. (#131167) - S390: Fix possible qeth IP registration failure. - S390: Support broadcast on z800/z900 HiperSockets - S390: Allow FCP port to recover after aborted nameserver request. - Flush error in pci_mmcfg_write (#129338) - hugetlb_get_unmapped_area fix (#135364, #129525) - Fix ia64 cyclone timer on ia64 (#137842, #136684) - Fix ipv6 MTU calculation. (#130397) - ACPI: Don't display messages about ACPI breakpoints. (#135856) - Fix x86_64 copy_user_generic (#135655) - lockd: remove hardcoded maximum NLM cookie length - Fix SCSI bounce limit * Mon Nov 15 2004 Dave Jones - Disable polling mode on hotplug controllers in favour of interrupt driven. (#138737) * Sat Nov 13 2004 Dave Jones - Drop some bogus patches. * Thu Nov 11 2004 Dave Jones - NFS: Fix dentry refcount accounting error - Make sure that modules get signed with the right key. - Remove SG_IO deprecation warning (#136179) - s390: Fix fake_ll for qeth device. (#136175) - s390: User process executing in wrong address-space mode - s390: zfcp: Kernel stack frame for zfcp_cfdc_dev_ioctl() is too big - s390: Use slab allocator for DASD I/O pages. - PPC64: HVSI udbg support - PPC64: Make HVSI console survive FSP reset - PPC64: Make PCI hostbridge hotplugging work - PPC64: Fix IBM VSCSI problems (#138124) * Wed Nov 10 2004 Dave Jones - Fix single-stepping on PPC64 - Integrate kernel-devel changes * Tue Nov 9 2004 Dave Jones - SELinux: netif fixes. - SELinux: add DAC check to setxattr() hook. - SELinux: sidtab locking fix. - SELinux: mediate send_sigurg(). - SELinux: fix setscheduler hook deadlock. - ide-floppy: Supresses error messages resulting from Medium not present * Mon Nov 8 2004 Dave Jones - Various IA64 updates from 2.6.10rc1 - nfsd: make sure getxattr inode op is non-NULL before calling it. * Thu Nov 4 2004 Dave Jones - Handle NULL dev->dev_addr in SIOCGIFHWADDR correctly. (#137648) - Fix NFSD domainname size limit. - nfsd4: nfsd oopsed when encountering a conflict with a local lock - nfsd4: fix putrootfh return - nfsd: Insecure port warning shows decimal IPv4 address - Disable sw irqbalance/irqaffinity for e7520/e7320/e7525 (#136419) - RAID1 failover hang fix (#136485) - Add MODULE_VERSION to ixgb driver. (#136399, #137911) * Tue Nov 2 2004 Dave Jones - Fix exec-shield non-PIE/non-prelinked bug. - ext3 reservations: fix goal hit accounting. - Fix problems with non-power-of-two sector size discs. (#135094) - Fix possible oops in netpoll (#132153) - Add missing MODULE_VERSION tags to various modules. (#136399) - Add USB card reader de jour. (#124048) * Mon Nov 1 2004 Dave Jones - Fix memory leak on x86-64 in mixed 32/64 mode. (#132947) - Yet another USB card reader for the whitelist. (#137722) - Remove a bunch of exports that went away in 2.6.10rc1. * Fri Oct 29 2004 Dave Jones - Stop E820 entries in zero page getting corrupted by EDID info. (#137510) - Fix raid5 oops (#127862) - Remove the possibility of some false OOM kills. (#131251) * Tue Oct 26 2004 Dave Jones - Add Intel wireless drivers for Centrino chipsets. * Mon Oct 25 2004 Dave Jones - Add more USB card readers to SCSI whitelist (#131546, #132923) * Sat Oct 23 2004 Dave Jones - Disable CONFIG_SCHED_SMT for iseries. * Fri Oct 22 2004 Dave Jones - Fix PPC NUMA (#130716). - Fix autoraid for S390 (#123842/#130339) - Selected bits from 2.6.9-ac3 - Fix syncppp/async ppp problems with new hangup - Fix broken parport_pc unload - Stop i8xx_tco making some boxes reboot on load - Fix cpia/module tools deadlock - Security fix for smbfs leak/overrun * Thu Oct 21 2004 Dave Jones - Misc security fixes from 2.6.9-ac2 * Wed Oct 20 2004 Dave Jones - Fix ia64 module loading (#136365) - Enable CONFIG_PACK_STACK for s390. * Tue Oct 19 2004 Dave Jones - Fix NFS badness (#132726) - Enable discontigmem for PPC64 - Disable a bunch of irrelevant options for PPC64 - Drop bogus USB workaround. (#131127) * Mon Oct 18 2004 Dave Jones - Rebase to 2.6.9 - Speedtouch USB DSL modem driver update. - Cleanup some iseries config options. * Fri Oct 15 2004 Dave Jones - 2.6.9-rc4-bk3 - Fix up a bunch of unresolved symbols that crept in recently. - Remove bogus O_NONBLOCK patch which broke lots of userspace. - Fix booting on PPC64 by reserving initrd pages. * Thu Oct 14 2004 Dave Jones - Rebase to 2.6.9-rc4-bk2 - librtas needs to work around the /dev/mem restrictions. - EXT3 reservations use-before-initialised bugfix. - Merge Emulex LightPulse FC driver. - support O_NONBLOCK for read,pread,readv of regular files. - EDD blows up some x86-64's. Disable again. - Resurrect the hugemem kernel for performance comparisons between 3G:1G and 4G:4G address space layouts. All non-hugemem kernels are now 3G userspace layout. * Wed Oct 13 2004 Dave Jones - Make EDD driver modular on x86-64 too. - Various mkinitrd spec changes (Jeremy Katz) - Enable a bunch more PPC64 config options. (Dave Howells) - Enable ACPI cpufreq driver for x86-64 too. * Tue Oct 12 2004 Dave Jones - Rebase to 2.6.9-rc4-bk1 - Tux update. - Update netdump/diskdump patches - PowerPC 64 netboot changes. - Various CONFIG_ option diddling. - Fix up the find_isa_irq_pin() oops on reboot for x86-64 too. * Mon Oct 11 2004 Dave Jones - Rebase to 2.6.9-rc4 - Enable CONFIG_MICROCODE for x86-64 * Fri Oct 8 2004 Dave Jones - Rebase to 2.6.9-rc3-bk8 * Thu Oct 7 2004 Dave Jones - Rebase to 2.6.9-rc3-bk7 - Fix up PPC/PPC64 compilation failures due to new binutils. (David Woodhouse) * Wed Oct 6 2004 Dave Jones - Rebase to 2.6.9-rc3-bk6 - Add xattr support for tmpfs. * Mon Oct 4 2004 Stephen C. Tweedie - Update ext3 online resize to 2.6.9-rc3-mm2 upstream - Reenable ext3 online resize in .spec * Tue Sep 28 2004 Jeremy Katz - add patch from Roland McGrath/James Morris to fix mprotect hook bug (#133505) * Mon Sep 20 2004 Arjan van de Ven - 2.6.9-rc2-bk5 * Thu Sep 16 2004 Arjan van de Ven - fix tux for x86-64 and ppc64 * Tue Sep 14 2004 Arjan van de Ven - 2.6.9-rc2 - add diskdump * Fri Sep 10 2004 Arjan van de Ven - 2.6.9-rc1-bk17 ; make ppc32 build * Tue Sep 07 2004 Arjan van de Ven - 2.6.9-rc1-bk13 * Mon Sep 06 2004 Arjan van de Ven - disable online resize again - hopefully fix Quake3 interaction with execshield - add Alan's borken-bios-IRQ workaround patch * Sat Sep 04 2004 Arjan van de Ven - 2.6.9-rc1-bk11 * Tue Aug 31 2004 Arjan van de Ven - fix execshield buglet with legacy binaries - 2.6.9-rc1-bk7 * Mon Aug 30 2004 Arjan van de Ven - 2.6.9-rc1-bk6 * Sat Aug 28 2004 Arjan van de Ven - 2.6.9-rc1-bk4, now with i915 DRM driver * Fri Aug 27 2004 Arjan van de Ven - 2.6.9-rc1-bk2 * Mon Aug 23 2004 Arjan van de Ven - 2.6.8.1-bk2 * Sat Aug 21 2004 Arjan van de Ven - attempt to fix early-udev bug * Fri Aug 13 2004 Arjan van de Ven - 2.6.8-rc4-bk3 - split execshield up some more * Fri Aug 13 2004 Dave Jones - Update SCSI whitelist again with some more card readers. * Mon Aug 9 2004 Arjan van de Ven - 2.6.8-rc3-bk3 * Wed Aug 4 2004 Arjan van de Ven - Add the flex-mmap bits for s390/s390x (Pete Zaitcev) - Add flex-mmap for x86-64 32 bit emulation - 2.6.8-rc3 * Mon Aug 2 2004 Arjan van de Ven - Add Rik's token trashing control patch * Sun Aug 1 2004 Arjan van de Ven - 2.6.8-rc2-bk11 * Fri Jul 30 2004 Arjan van de Ven - 2.6.8-rc2-bk8 * Wed Jul 28 2004 Arjan van de Ven - 2.6.8-rc2-bk6 - make a start at splitting up the execshield patchkit * Fri Jul 16 2004 Arjan van de Ven - ppc32 embedded updates * Thu Jul 15 2004 Arjan van de Ven - make USB modules again and add Alan's real fix for the SMM-meets-USB bug - 2.6.8-rc1-bk4 * Wed Jul 14 2004 Arjan van de Ven - 2.6.8-rc1-bk3 * Tue Jul 13 2004 Arjan van de Ven - add "enforcemodulesig" boot option to make the kernel load signed modules only * Mon Jul 12 2004 Arjan van de Ven - updated voluntary preempt - 2.6.8-rc1 * Wed Jul 7 2004 Arjan van de Ven - fix boot breakage that was hitting lots of people (Dave Jones) * Tue Jul 6 2004 Arjan van de Ven - add voluntary preemption patch from Ingo - 2.6.7-bk19 * Tue Jun 29 2004 Arjan van de Ven - make a start at gpg signed modules support * Sat Jun 27 2004 Arjan van de Ven - experiment with making the hardlink call in post more efficient - 2.6.7-bk9 * Thu Jun 24 2004 Arjan van de Ven - 2.6.7-bk7 - Add wli's patch to allocate memory bottom up not top down - change some config options in the kernel-sourcecode package that are good for rpm kernel builds but not for custom user builds to more appropriate default values. - reenable kernel-sourcecode again for a few builds * Wed Jun 23 2004 Arjan van de Ven - 2.6.7-bk5 - fix tux unresolved symbols (#126532) * Mon Jun 21 2004 Arjan van de Ven - make kernel-doc and kernel-sourcecode builds independent of eachother - disable kernel-sourcecode builds entirely, we'll be replacing it with documentation on how to use the src.rpm instead for building your own kernel. * Sat Jun 19 2004 Arjan van de Ven - 2.6.7-bk2 * Sun Jun 13 2004 Arjan van de Ven - add patch from DaveM to fix the ppp-keeps-iface-busy bug * Sat Jun 12 2004 Arjan van de Ven - add fix from Andi Kleen/Linus for the fpu-DoS * Thu Jun 10 2004 Arjan van de Ven - disable mlock-uses-rlimit patch, it has a security hole and needs more thought - revert airo driver to the FC2 one since the new one breaks * Tue Jun 8 2004 Dave Jones - Update to 2.6.7rc3 * Fri Jun 4 2004 Arjan van de Ven - fix the mlock-uses-rlimit patch * Wed Jun 2 2004 David Woodhouse - Add ppc64 (Mac G5) * Wed Jun 2 2004 Arjan van de Ven - add a forward port of the mlock-uses-rlimit patch - add NX support for x86 (Intel, Ingo) * Tue Jun 1 2004 Arjan van de Ven - refresh ext3 reservation patch * Sun May 30 2004 Arjan van de Ven - 2.6.7-rc2 - set the ACPI OS name to "Microsoft Windows XP" for better compatibility * Thu May 27 2004 Pete Zaitcev - Fix qeth and zfcp (s390 drivers): align qib by 256, embedded into qdio_irq. * Thu May 27 2004 Dave Jones - Fix the crashes on boot on Asus P4P800 boards. (#121819) * Wed May 26 2004 Dave Jones - Lots more updates to the SCSI whitelist for various USB card readers. (#112778, among others..) * Wed May 26 2004 Arjan van de Ven - back out ehci suspend/resume patch, it breaks - add fix for 3c59x-meets-kudzu bug from Alan * Tue May 25 2004 Arjan van de Ven - try improving suspend/resume by restoring more PCI state - 2.6.7-rc1-bk1 * Mon May 24 2004 Dave Jones - Add yet another multi-card reader to the whitelist (#85851) * Sun May 23 2004 Dave Jones - Add another multi-card reader to the whitelist (#124048) * Wed May 19 2004 Arjan van de Ven - put firewire race fix in (datacorruptor) * Tue May 18 2004 Dave Jones - Fix typo in ibmtr driver preventing compile (#123391) * Mon May 17 2004 Arjan van de Ven - update to 2.6.6-bk3 - made kernel-source and kernel-doc noarch.rpm's since they are not architecture specific. * Sat May 08 2004 Arjan van de Ven - fix non-booting on Transmeta cpus (Peter Anvin) - fix count leak in message queues * Fri May 07 2004 Arjan van de Ven - more ide cache flush work - patch from scsi-bk to fix sd refcounting * Thu May 06 2004 Arjan van de Ven - some more ide cache flush fixes * Wed May 05 2004 Arjan van de Ven - fix bug 122504 - convert b44 to ethtool ops (jgarzik) - make IDE do a cache-flush on shutdown (me/Alan) * Tue May 04 2004 Arjan van de Ven - work around i810/i830 DRM issue * Fri Apr 30 2004 Arjan van de Ven - 2.6.6-rc3-bk1 - make amd64 boot again - fix vm86-vs-4g4g interaction (Ingo) * Thu Apr 22 2004 Arjan van de Ven - 2.6.6-rc2 * Tue Apr 20 2004 Arjan van de Ven - add the ext3 online resize patch * Mon Apr 19 2004 Arjan van de Ven - 2.6.6-rc1-bk3 - add the objrmap vm from the -mm tree; it needs testing * Thu Apr 15 2004 Arjan van de Ven - 2.6.5-bk2 - disable DISCONTIGMEM on ia64 for performance - fix sleep_on use in reiserfs (Chris Mason) * Tue Apr 13 2004 Arjan van de Ven - 2.6.5-mc4 - reenable sg driver for scsi tape changers and such - the sk98lin driver oopses on module unload, preven that * Mon Apr 12 2004 Arjan van de Ven - fix "bad pmd" bug with patch from Ingo * Fri Apr 09 2004 Arjan van de Ven - 2.6.5-mc3 - finish up the -mc2 merge - latest 4g/4g patch from Ingo - latest execshield patch from Ingo - fix a few framebuffer bugs * Thu Apr 08 2004 Arjan van de Ven - first attempt at a 2.6.5-mc2 merge * Thu Apr 08 2004 Dave Jones - Add in missing SiS AGP fix. * Tue Apr 06 2004 Dave Jones - More agpgart fixes. * Fri Apr 02 2004 Arjan van de Ven - fix another 4g/4g-vs-resume bug * Tue Mar 30 2004 Arjan van de Ven - 2.6.5-rc3 - fix PCI posting bug in i830 DRM * Mon Mar 29 2004 Arjan van de Ven - 2.6.5-rc2-bk8 * Mon Mar 29 2004 Dave Jones - Include latest agpgart fixes. * Thu Mar 25 2004 Arjan van de Ven - more DRM fixes - add the fsync patches from akpm * Tue Mar 23 2004 Arjan van de Ven - 2.6.5-rc2-bk3 - fix direct userspace memory access in i830 drm driver * Mon Mar 22 2004 Arjan van de Ven - 2.6.5-rc2-bk2 - some stackbloat reductions from Dave and me * Sat Mar 20 2004 Arjan van de Ven - 2.6.5-rc2 * Tue Mar 16 2004 Dave Jones - 2.6.5-rc1 * Mon Mar 15 2004 Arjan van de Ven - 2.6.4-bk3 - fix oops in toshiba_acpi (Barry K. Nathan) * Sat Mar 13 2004 Arjan van de Ven - 2.6.4-bk2 merge * Thu Mar 11 2004 Arjan van de Ven - renable sonypi driver that was off accidentally - 2.6.4-final - fix the oops on alsa module unloads * Wed Mar 10 2004 Arjan van de Ven - add ppc64/iseries, ppc32 (powermac/ibook) and ia64 architectures - 2.6.4-rc3 * Tue Mar 09 2004 Arjan van de Ven - 2.6.4-rc2-bk5 - fix nfs-vs-selinux issue - fix typo in URL as per #117849 * Mon Mar 08 2004 Arjan van de Ven - fix race in lp.c (#117710) - 2.6.4-rc2-bk3 - attempt to fix S3 suspend-to-ram with 4g/4g split * Sat Mar 06 2004 Arjan van de Ven - fix reiserfs - set HZ to 1000 again for some tests * Wed Feb 25 2004 Arjan van de Ven - merge back a bunch of fedora fixes - disable audit * Tue Feb 24 2004 Arjan van de Ven - audit bugfixes - update tux to a working version - 2.6.3-bk5 merge * Fri Feb 20 2004 Arjan van de Ven - re-add and enable the Auditing patch - switch several cpufreq modules to built in since detecting in userspace which to use is unpleasant * Thu Jul 03 2003 Arjan van de Ven - 2.6 start