Hello community,
here is the log from the commit of package kernel-source
checked in at Tue May 16 14:27:20 CEST 2006.
--------
--- kernel-source/kernel-bigsmp.changes 2006-05-09 14:30:59.000000000 +0200
+++ kernel-source/kernel-bigsmp.changes 2006-05-16 13:03:54.000000000 +0200
@@ -1,0 +2,219 @@
+Tue May 16 11:31:00 CEST 2006 - olh@suse.de
+
+- update patches.drivers/e1000-update
+ new driver version 7.0.33 (167550)
+ disable patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
+ disable patches.suse/e1000-D3-cold-wake.patch
+
+-------------------------------------------------------------------
+Mon May 15 23:49:07 CEST 2006 - tonyj@suse.de
+
+- patches.suse/apparmor: Fixes for the following blocker/security bugs:
+ 158356 - kernel audit part emits newline to syslog
+ 174698 - VUL-0: Apparmor fails to prevent PTRACE_ME on confined parent
+ 165472 - VUL-0: kernel: if in _sd_perm_dentry() error occured while
+ translating dentry - printing dentry->d_inode->i_ino, but dentry
+ can be nagative (sic)
+ 164920 - VUL-0: kernel: sd_get_name doesn't check d_path return (IS_ERR)
+
+-------------------------------------------------------------------
+Mon May 15 17:21:54 CEST 2006 - ak@suse.de
+
+- patches.arch/x86_64-hotadd-fixes: Fix memory hotadd heuristics
+ (160861).
+
+-------------------------------------------------------------------
+Mon May 15 16:10:52 CEST 2006 - rw@suse.de
+
+- patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch:
+ Delete ACPI hook from pci_set_power_state(). (#162320)
+
+-------------------------------------------------------------------
+Mon May 15 15:49:54 CEST 2006 - olh@suse.de
+
+- add patches.arch/ppc-iptables-slabdebug-alignment.patch
+ if CONFIG_NETFILTER is enabled, hide CONFIG_SLAB_DEBUG (155004)
+
+-------------------------------------------------------------------
+Mon May 15 14:59:39 CEST 2006 - bk@suse.de
+
+- disabled yenta-fixup-parent-subordinate-carefully on gregs request
+
+-------------------------------------------------------------------
+Mon May 15 14:40:04 CEST 2006 - rw@suse.de
+
+- patches.arch/ia64-validate-pci_mmap_legacy:
+ Add validation to legacy_mem mmap. (#166316)
+
+-------------------------------------------------------------------
+Mon May 15 11:19:45 CEST 2006 - olh@suse.de
+
+- add patches.fixes/add-slab_is_available-routine-for-boot-code.patch
+ add slab_is_available() routine for boot code (175093 - LTC23814)
+
+-------------------------------------------------------------------
+Mon May 15 11:33:59 CEST 2006 - hare@suse.de
+
+- add patches.arch/s390-03-0{1,2,3,4}-october2005.diff
+ Include latest codedrop from IBM
+- remove patches.arch/s390-console-unblank.patch
+ Delete obsolete patch.
+
+-------------------------------------------------------------------
+Mon May 15 10:57:48 CEST 2006 - olh@suse.de
+
+- merge patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ into patches.arch/ppc-kdump-soft-reset.patch (159713 - LTC22581)
+
+-------------------------------------------------------------------
+Mon May 15 10:27:10 CEST 2006 - okir@suse.de
+
+- Mark dcdbas, dell_rbu externally supported (#153134)
+
+-------------------------------------------------------------------
+Sat May 13 13:20:53 CEST 2006 - olh@suse.de
+
+- update patches.arch/s390-raw-device
+ remove duplicate raw driver entry in menuconfig
+
+-------------------------------------------------------------------
+Fri May 12 20:15:35 CEST 2006 - bk@suse.de
+
+- patches.fixes/yenta-fixup-parent-subordinate-carefully:
+ Cardbus cards hidden, fixup parent subordinate# carefully
+ (bugzilla.novell.com:146438, bugzilla.kernel.org:2944)
+
+-------------------------------------------------------------------
+Fri May 12 18:43:10 CEST 2006 - olh@suse.de
+
+- update patches.drivers/ibmvscsis.patch
+ restory sysfs type property (173880 - LTC23729)
+
+-------------------------------------------------------------------
+Fri May 12 15:22:10 CEST 2006 - hare@suse.de
+
+- add patches.suse/lkcd-crash-with-invalid-DUMPDEV
+ Fix crash with invalid DUMPDEV (#164969)
+- update patches.suse/lkcd.patch
+ lkcd fails to register with mor than one dump device type
+ (#173333)
+
+-------------------------------------------------------------------
+Fri May 12 13:47:32 CEST 2006 - hare@suse.de
+
+- add patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ FC transport will hang if rports are deleted during scan (173662)
+- add patches.fixes/scsi-fix-scan-offline.patch
+ add patches.fixes/scsi-add-2104-DU3-blist.patch
+ Fix crash on offlined devices during scanning (#173266 - LTC23037)
+
+-------------------------------------------------------------------
+Fri May 12 12:18:12 CEST 2006 - olh@suse.de
+
+- add patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ add patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
+ handle kdump via softreset (159713 - LTC22581)
+
+-------------------------------------------------------------------
+Fri May 12 11:13:59 CEST 2006 - olh@suse.de
+
+- update patches.drivers/ibmvscsis.patch
+ remove trailing whitespaces
+ fix a small memory leak when the partition is on low memory
+ fix sleep from invalid context at mm/slab.c:2731 (173880 - LTC23729)
+
+-------------------------------------------------------------------
+Thu May 11 22:25:17 CEST 2006 - agruen@suse.de
+
+- Enable CONFIG_MODVERSIONS for kernel-um.
+- patches.fixes/um-missing-exports.diff: Add the EXPORT_SYMBOLs
+ to arch/um/kernel/ksyms.c instead; arch/um/kernel/skas/* etc.
+ won't export symbols properly.
+
+-------------------------------------------------------------------
+Thu May 11 20:11:15 CEST 2006 - ak@suse.de
+
+- patches.arch/i386-prefer-tsc: i386: Fix UP build.
+
+-------------------------------------------------------------------
+Thu May 11 18:16:45 CEST 2006 - jbohac@suse.cz
+
+- patches.fixes/ipv6-inet6_csk_xmit-leak:
+ fixes a leak in inet6_csk_xmit
+
+-------------------------------------------------------------------
+Thu May 11 15:18:14 CEST 2006 - hare@suse.de
+
+- patches.arch/s390-ccwgroup-remove-device.patch:
+ Allow for individual device removal (#172230 - LTC23575)
+
+-------------------------------------------------------------------
+Thu May 11 14:23:41 CEST 2006 - ak@suse.de
+
+- patches.arch/x86_64-nommu-warning: Don't warn for overflow in
+ nommu case when dma_mask is < 32bit (173326).
+- patches.drivers/fix-b44-checks: Check for bad dma address in
+ b44 1GB DMA workaround (173326).
+
+-------------------------------------------------------------------
+Thu May 11 14:19:57 CEST 2006 - ak@suse.de
+
+- patches.arch/i386-prefer-tsc: i386: Prefer TSC as clock.
+- patches.fixes/acpi-blacklist-xw9300: Force pci=noacpi on HP
+ XW9300 (140340).
+
+-------------------------------------------------------------------
+Thu May 11 11:19:04 CEST 2006 - olh@suse.de
+
+- update patches.suse/ppc-fno-ivopts.patch
+ use $(call cc-option,option) to fix compile with sles9 gcc
+
+-------------------------------------------------------------------
+Thu May 11 11:16:47 CEST 2006 - olh@suse.de
+
+- add patches.fixes/compat_sys_nfsservctl-access_ok.patch
+ fix access_ok handling in compat_sys_nfsservctl (174531 - LTC23513)
+
+-------------------------------------------------------------------
+Thu May 11 03:11:43 CEST 2006 - gregkh@suse.de
+
+- Update to 2.6.16.16:
+ - fs/locks.c: Fix lease_init (CVE-2006-1860)
+
+-------------------------------------------------------------------
+Wed May 10 21:04:28 CEST 2006 - jeffm@suse.de
+
+- patches.fixes/iscsi-parameter-size-oops.diff: [PATCH] iscsi:
+ invalid parameter size should return error, not BUG() (174404).
+
+-------------------------------------------------------------------
+Wed May 10 16:07:51 CEST 2006 - agruen@suse.de
+
+- rpm/module-renames: Forward port from SLES9: add module aliases
+ for important modules that have been renamed/merged (173956).
+- misc/obsolete-module-aliases: New helper script for updating the
+ module alias table in the future.
+- rpm/Makefile.suse: Remove; obsolete since SLES9 SP3.
+
+-------------------------------------------------------------------
+Wed May 10 11:02:29 CEST 2006 - hare@suse.de
+
+- Set default I/O scheduler to 'deadline' for S/390
+ (#168244 - LTC22393)
+
+-------------------------------------------------------------------
+Tue May 9 20:02:30 CEST 2006 - gregkh@suse.de
+
+- Update to 2.6.16.15:
+ - SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+ - SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+ - SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+ - SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
+
+-------------------------------------------------------------------
+Tue May 9 20:17:59 CEST 2006 - agruen@suse.de
+
+- patches.rpmify/symtypes.diff: Convert spaces to <tab> in
+ Makefile so that the %.symtypes rule works again.
+
+-------------------------------------------------------------------
kernel-debug.changes: same change
kernel-default.changes: same change
kernel-dummy.changes: same change
kernel-iseries64.changes: same change
kernel-kdump.changes: same change
kernel-ppc64.changes: same change
kernel-s390.changes: same change
kernel-smp.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-um.changes: same change
kernel-xen.changes: same change
kernel-xenpae.changes: same change
Old:
----
Makefile.suse
New:
----
module-renames
needed_space_in_mb
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-bigsmp.spec ++++++
--- /var/tmp/diff_new_pack.Z8bxac/_old 2006-05-16 14:22:05.000000000 +0200
+++ /var/tmp/diff_new_pack.Z8bxac/_new 2006-05-16 14:22:05.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-bigsmp (Version 2.6.16.14)
+# spec file for package kernel-bigsmp (Version 2.6.16.16)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -20,8 +20,8 @@
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
%endif
-Version: 2.6.16.14
-Release: 6
+Version: 2.6.16.16
+Release: 1
Summary: Kernel with Multiprocessor Support and PAE
License: GPL
Group: System/Kernel
@@ -29,7 +29,7 @@
#Conflicts: kernel
%else
%if !%build_xen
-Provides: kernel = 2.6.16.14-%release
+Provides: kernel = 2.6.16.16-%release
%endif
%endif
Provides: kernel-bigsmp-nongpl
@@ -61,6 +61,7 @@
Source41: built-in-where
Source42: make-symsets
Source43: find-provides
+Source45: module-renames
Source46: find-types
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
@@ -112,13 +113,12 @@
-Source Timestamp: 2006/05/09 12:09:06 UTC
-CVS Tag: HEAD
+Source Timestamp: 2006/05/16 09:32:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
- echo "The kernel-bigsmp-2.6.16.14.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.16.14.src.rpm."
+ echo "The kernel-bigsmp-2.6.16.16.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.16.16.src.rpm."
exit 1
fi
symbols=$(
@@ -431,10 +431,15 @@
find $obj_dir \
-type d -printf '%%%%dir /%%p\n' -o \
-printf '/%%p\n'
+ echo '%%dir /etc/modprobe.d/'
+ echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
echo "%%doc %_docdir/%name"
fi
) > %my_builddir/kernel.files
+# Set up some module aliases
+install -d -m 755 %buildroot/etc/modprobe.d/
+install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
%post -f post.sh
@@ -443,6 +448,129 @@
%files -f kernel.files
%changelog -n kernel-bigsmp
+* Tue May 16 2006 - olh@suse.de
+- update patches.drivers/e1000-update
+ new driver version 7.0.33 (167550)
+ disable patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
+ disable patches.suse/e1000-D3-cold-wake.patch
+* Mon May 15 2006 - tonyj@suse.de
+- patches.suse/apparmor: Fixes for the following blocker/security bugs:
+ 158356 - kernel audit part emits newline to syslog
+ 174698 - VUL-0: Apparmor fails to prevent PTRACE_ME on confined parent
+ 165472 - VUL-0: kernel: if in _sd_perm_dentry() error occured while
+ translating dentry - printing dentry->d_inode->i_ino, but dentry
+ can be nagative (sic)
+ 164920 - VUL-0: kernel: sd_get_name doesn't check d_path return (IS_ERR)
+* Mon May 15 2006 - ak@suse.de
+- patches.arch/x86_64-hotadd-fixes: Fix memory hotadd heuristics
+ (160861).
+* Mon May 15 2006 - rw@suse.de
+- patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch:
+ Delete ACPI hook from pci_set_power_state(). (#162320)
+* Mon May 15 2006 - olh@suse.de
+- add patches.arch/ppc-iptables-slabdebug-alignment.patch
+ if CONFIG_NETFILTER is enabled, hide CONFIG_SLAB_DEBUG (155004)
+* Mon May 15 2006 - bk@suse.de
+- disabled yenta-fixup-parent-subordinate-carefully on gregs request
+* Mon May 15 2006 - rw@suse.de
+- patches.arch/ia64-validate-pci_mmap_legacy:
+ Add validation to legacy_mem mmap. (#166316)
+* Mon May 15 2006 - hare@suse.de
+- add patches.arch/s390-03-0{1,2,3,4}-october2005.diff
+ Include latest codedrop from IBM
+- remove patches.arch/s390-console-unblank.patch
+ Delete obsolete patch.
+* Mon May 15 2006 - olh@suse.de
+- add patches.fixes/add-slab_is_available-routine-for-boot-code.patch
+ add slab_is_available() routine for boot code (175093 - LTC23814)
+* Mon May 15 2006 - olh@suse.de
+- merge patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ into patches.arch/ppc-kdump-soft-reset.patch (159713 - LTC22581)
+* Mon May 15 2006 - okir@suse.de
+- Mark dcdbas, dell_rbu externally supported (#153134)
+* Sat May 13 2006 - olh@suse.de
+- update patches.arch/s390-raw-device
+ remove duplicate raw driver entry in menuconfig
+* Fri May 12 2006 - bk@suse.de
+- patches.fixes/yenta-fixup-parent-subordinate-carefully:
+ Cardbus cards hidden, fixup parent subordinate# carefully
+ (bugzilla.novell.com:146438, bugzilla.kernel.org:2944)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ restory sysfs type property (173880 - LTC23729)
+* Fri May 12 2006 - hare@suse.de
+- add patches.suse/lkcd-crash-with-invalid-DUMPDEV
+ Fix crash with invalid DUMPDEV (#164969)
+- update patches.suse/lkcd.patch
+ lkcd fails to register with mor than one dump device type
+ (#173333)
+* Fri May 12 2006 - hare@suse.de
+- add patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ FC transport will hang if rports are deleted during scan (173662)
+- add patches.fixes/scsi-fix-scan-offline.patch
+ add patches.fixes/scsi-add-2104-DU3-blist.patch
+ Fix crash on offlined devices during scanning (#173266 - LTC23037)
+* Fri May 12 2006 - olh@suse.de
+- add patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ add patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
+ handle kdump via softreset (159713 - LTC22581)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ remove trailing whitespaces
+ fix a small memory leak when the partition is on low memory
+ fix sleep from invalid context at mm/slab.c:2731 (173880 - LTC23729)
+* Thu May 11 2006 - agruen@suse.de
+- Enable CONFIG_MODVERSIONS for kernel-um.
+- patches.fixes/um-missing-exports.diff: Add the EXPORT_SYMBOLs
+ to arch/um/kernel/ksyms.c instead; arch/um/kernel/skas/* etc.
+ won't export symbols properly.
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Fix UP build.
+* Thu May 11 2006 - jbohac@suse.cz
+- patches.fixes/ipv6-inet6_csk_xmit-leak:
+ fixes a leak in inet6_csk_xmit
+* Thu May 11 2006 - hare@suse.de
+- patches.arch/s390-ccwgroup-remove-device.patch:
+ Allow for individual device removal (#172230 - LTC23575)
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/x86_64-nommu-warning: Don't warn for overflow in
+ nommu case when dma_mask is < 32bit (173326).
+- patches.drivers/fix-b44-checks: Check for bad dma address in
+ b44 1GB DMA workaround (173326).
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Prefer TSC as clock.
+- patches.fixes/acpi-blacklist-xw9300: Force pci=noacpi on HP
+ XW9300 (140340).
+* Thu May 11 2006 - olh@suse.de
+- update patches.suse/ppc-fno-ivopts.patch
+ use $(call cc-option,option) to fix compile with sles9 gcc
+* Thu May 11 2006 - olh@suse.de
+- add patches.fixes/compat_sys_nfsservctl-access_ok.patch
+ fix access_ok handling in compat_sys_nfsservctl (174531 - LTC23513)
+* Thu May 11 2006 - gregkh@suse.de
+- Update to 2.6.16.16:
+- fs/locks.c: Fix lease_init (CVE-2006-1860)
+* Wed May 10 2006 - jeffm@suse.de
+- patches.fixes/iscsi-parameter-size-oops.diff: [PATCH] iscsi:
+ invalid parameter size should return error, not BUG() (174404).
+* Wed May 10 2006 - agruen@suse.de
+- rpm/module-renames: Forward port from SLES9: add module aliases
+ for important modules that have been renamed/merged (173956).
+- misc/obsolete-module-aliases: New helper script for updating the
+ module alias table in the future.
+- rpm/Makefile.suse: Remove; obsolete since SLES9 SP3.
+* Wed May 10 2006 - hare@suse.de
+- Set default I/O scheduler to 'deadline' for S/390
+ (#168244 - LTC22393)
+* Tue May 09 2006 - agruen@suse.de
+- patches.rpmify/symtypes.diff: Convert spaces to <tab> in
+ Makefile so that the %%.symtypes rule works again.
+* Tue May 09 2006 - gregkh@suse.de
+- Update to 2.6.16.15:
+- SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+- SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+- SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+- SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
* Tue May 09 2006 - okir@suse.de
- patches.fixes/dm-get-mdptr-fix: [devicemapper] Fix an oops in
dm_get_mdptr (173151).
kernel-debug.spec: same change
kernel-default.spec: same change
++++++ kernel-dummy.spec ++++++
--- /var/tmp/diff_new_pack.Z8bxac/_old 2006-05-16 14:22:06.000000000 +0200
+++ /var/tmp/diff_new_pack.Z8bxac/_new 2006-05-16 14:22:06.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-dummy (Version 2.6.16.14)
+# spec file for package kernel-dummy (Version 2.6.16.16)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -16,8 +16,8 @@
Autoreqprov: off
Summary: Internal dummy package for synchronizing release numbers
Group: System/Kernel
-Version: 2.6.16.14
-Release: 6
+Version: 2.6.16.16
+Release: 1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -27,8 +27,7 @@
--------
Andreas Gruenbacher
-Source Timestamp: 2006/05/09 12:09:06 UTC
-CVS Tag: HEAD
+Source Timestamp: 2006/05/16 09:32:32 UTC
%install
@@ -41,6 +40,129 @@
/etc/dummy
%changelog -n kernel-dummy
+* Tue May 16 2006 - olh@suse.de
+- update patches.drivers/e1000-update
+ new driver version 7.0.33 (167550)
+ disable patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
+ disable patches.suse/e1000-D3-cold-wake.patch
+* Mon May 15 2006 - tonyj@suse.de
+- patches.suse/apparmor: Fixes for the following blocker/security bugs:
+ 158356 - kernel audit part emits newline to syslog
+ 174698 - VUL-0: Apparmor fails to prevent PTRACE_ME on confined parent
+ 165472 - VUL-0: kernel: if in _sd_perm_dentry() error occured while
+ translating dentry - printing dentry->d_inode->i_ino, but dentry
+ can be nagative (sic)
+ 164920 - VUL-0: kernel: sd_get_name doesn't check d_path return (IS_ERR)
+* Mon May 15 2006 - ak@suse.de
+- patches.arch/x86_64-hotadd-fixes: Fix memory hotadd heuristics
+ (160861).
+* Mon May 15 2006 - rw@suse.de
+- patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch:
+ Delete ACPI hook from pci_set_power_state(). (#162320)
+* Mon May 15 2006 - olh@suse.de
+- add patches.arch/ppc-iptables-slabdebug-alignment.patch
+ if CONFIG_NETFILTER is enabled, hide CONFIG_SLAB_DEBUG (155004)
+* Mon May 15 2006 - bk@suse.de
+- disabled yenta-fixup-parent-subordinate-carefully on gregs request
+* Mon May 15 2006 - rw@suse.de
+- patches.arch/ia64-validate-pci_mmap_legacy:
+ Add validation to legacy_mem mmap. (#166316)
+* Mon May 15 2006 - hare@suse.de
+- add patches.arch/s390-03-0{1,2,3,4}-october2005.diff
+ Include latest codedrop from IBM
+- remove patches.arch/s390-console-unblank.patch
+ Delete obsolete patch.
+* Mon May 15 2006 - olh@suse.de
+- add patches.fixes/add-slab_is_available-routine-for-boot-code.patch
+ add slab_is_available() routine for boot code (175093 - LTC23814)
+* Mon May 15 2006 - olh@suse.de
+- merge patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ into patches.arch/ppc-kdump-soft-reset.patch (159713 - LTC22581)
+* Mon May 15 2006 - okir@suse.de
+- Mark dcdbas, dell_rbu externally supported (#153134)
+* Sat May 13 2006 - olh@suse.de
+- update patches.arch/s390-raw-device
+ remove duplicate raw driver entry in menuconfig
+* Fri May 12 2006 - bk@suse.de
+- patches.fixes/yenta-fixup-parent-subordinate-carefully:
+ Cardbus cards hidden, fixup parent subordinate# carefully
+ (bugzilla.novell.com:146438, bugzilla.kernel.org:2944)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ restory sysfs type property (173880 - LTC23729)
+* Fri May 12 2006 - hare@suse.de
+- add patches.suse/lkcd-crash-with-invalid-DUMPDEV
+ Fix crash with invalid DUMPDEV (#164969)
+- update patches.suse/lkcd.patch
+ lkcd fails to register with mor than one dump device type
+ (#173333)
+* Fri May 12 2006 - hare@suse.de
+- add patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ FC transport will hang if rports are deleted during scan (173662)
+- add patches.fixes/scsi-fix-scan-offline.patch
+ add patches.fixes/scsi-add-2104-DU3-blist.patch
+ Fix crash on offlined devices during scanning (#173266 - LTC23037)
+* Fri May 12 2006 - olh@suse.de
+- add patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ add patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
+ handle kdump via softreset (159713 - LTC22581)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ remove trailing whitespaces
+ fix a small memory leak when the partition is on low memory
+ fix sleep from invalid context at mm/slab.c:2731 (173880 - LTC23729)
+* Thu May 11 2006 - agruen@suse.de
+- Enable CONFIG_MODVERSIONS for kernel-um.
+- patches.fixes/um-missing-exports.diff: Add the EXPORT_SYMBOLs
+ to arch/um/kernel/ksyms.c instead; arch/um/kernel/skas/* etc.
+ won't export symbols properly.
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Fix UP build.
+* Thu May 11 2006 - jbohac@suse.cz
+- patches.fixes/ipv6-inet6_csk_xmit-leak:
+ fixes a leak in inet6_csk_xmit
+* Thu May 11 2006 - hare@suse.de
+- patches.arch/s390-ccwgroup-remove-device.patch:
+ Allow for individual device removal (#172230 - LTC23575)
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/x86_64-nommu-warning: Don't warn for overflow in
+ nommu case when dma_mask is < 32bit (173326).
+- patches.drivers/fix-b44-checks: Check for bad dma address in
+ b44 1GB DMA workaround (173326).
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Prefer TSC as clock.
+- patches.fixes/acpi-blacklist-xw9300: Force pci=noacpi on HP
+ XW9300 (140340).
+* Thu May 11 2006 - olh@suse.de
+- update patches.suse/ppc-fno-ivopts.patch
+ use $(call cc-option,option) to fix compile with sles9 gcc
+* Thu May 11 2006 - olh@suse.de
+- add patches.fixes/compat_sys_nfsservctl-access_ok.patch
+ fix access_ok handling in compat_sys_nfsservctl (174531 - LTC23513)
+* Thu May 11 2006 - gregkh@suse.de
+- Update to 2.6.16.16:
+- fs/locks.c: Fix lease_init (CVE-2006-1860)
+* Wed May 10 2006 - jeffm@suse.de
+- patches.fixes/iscsi-parameter-size-oops.diff: [PATCH] iscsi:
+ invalid parameter size should return error, not BUG() (174404).
+* Wed May 10 2006 - agruen@suse.de
+- rpm/module-renames: Forward port from SLES9: add module aliases
+ for important modules that have been renamed/merged (173956).
+- misc/obsolete-module-aliases: New helper script for updating the
+ module alias table in the future.
+- rpm/Makefile.suse: Remove; obsolete since SLES9 SP3.
+* Wed May 10 2006 - hare@suse.de
+- Set default I/O scheduler to 'deadline' for S/390
+ (#168244 - LTC22393)
+* Tue May 09 2006 - agruen@suse.de
+- patches.rpmify/symtypes.diff: Convert spaces to <tab> in
+ Makefile so that the %%.symtypes rule works again.
+* Tue May 09 2006 - gregkh@suse.de
+- Update to 2.6.16.15:
+- SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+- SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+- SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+- SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
* Tue May 09 2006 - okir@suse.de
- patches.fixes/dm-get-mdptr-fix: [devicemapper] Fix an oops in
dm_get_mdptr (173151).
++++++ kernel-iseries64.spec ++++++
--- /var/tmp/diff_new_pack.Z8bxac/_old 2006-05-16 14:22:06.000000000 +0200
+++ /var/tmp/diff_new_pack.Z8bxac/_new 2006-05-16 14:22:06.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-iseries64 (Version 2.6.16.14)
+# spec file for package kernel-iseries64 (Version 2.6.16.16)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -20,8 +20,8 @@
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
%endif
-Version: 2.6.16.14
-Release: 6
+Version: 2.6.16.16
+Release: 1
Summary: 64-Bit Kernel for iSeries
License: GPL
Group: System/Kernel
@@ -29,7 +29,7 @@
#Conflicts: kernel
%else
%if !%build_xen
-Provides: kernel = 2.6.16.14-%release
+Provides: kernel = 2.6.16.16-%release
%endif
%endif
Provides: kernel-iseries64-nongpl
@@ -64,6 +64,7 @@
Source41: built-in-where
Source42: make-symsets
Source43: find-provides
+Source45: module-renames
Source46: find-types
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
@@ -113,13 +114,12 @@
-Source Timestamp: 2006/05/09 12:09:06 UTC
-CVS Tag: HEAD
+Source Timestamp: 2006/05/16 09:32:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
- echo "The kernel-iseries64-2.6.16.14.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.16.14.src.rpm."
+ echo "The kernel-iseries64-2.6.16.16.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.16.16.src.rpm."
exit 1
fi
symbols=$(
@@ -432,10 +432,15 @@
find $obj_dir \
-type d -printf '%%%%dir /%%p\n' -o \
-printf '/%%p\n'
+ echo '%%dir /etc/modprobe.d/'
+ echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
echo "%%doc %_docdir/%name"
fi
) > %my_builddir/kernel.files
+# Set up some module aliases
+install -d -m 755 %buildroot/etc/modprobe.d/
+install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
%post -f post.sh
@@ -444,6 +449,129 @@
%files -f kernel.files
%changelog -n kernel-iseries64
+* Tue May 16 2006 - olh@suse.de
+- update patches.drivers/e1000-update
+ new driver version 7.0.33 (167550)
+ disable patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
+ disable patches.suse/e1000-D3-cold-wake.patch
+* Mon May 15 2006 - tonyj@suse.de
+- patches.suse/apparmor: Fixes for the following blocker/security bugs:
+ 158356 - kernel audit part emits newline to syslog
+ 174698 - VUL-0: Apparmor fails to prevent PTRACE_ME on confined parent
+ 165472 - VUL-0: kernel: if in _sd_perm_dentry() error occured while
+ translating dentry - printing dentry->d_inode->i_ino, but dentry
+ can be nagative (sic)
+ 164920 - VUL-0: kernel: sd_get_name doesn't check d_path return (IS_ERR)
+* Mon May 15 2006 - ak@suse.de
+- patches.arch/x86_64-hotadd-fixes: Fix memory hotadd heuristics
+ (160861).
+* Mon May 15 2006 - rw@suse.de
+- patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch:
+ Delete ACPI hook from pci_set_power_state(). (#162320)
+* Mon May 15 2006 - olh@suse.de
+- add patches.arch/ppc-iptables-slabdebug-alignment.patch
+ if CONFIG_NETFILTER is enabled, hide CONFIG_SLAB_DEBUG (155004)
+* Mon May 15 2006 - bk@suse.de
+- disabled yenta-fixup-parent-subordinate-carefully on gregs request
+* Mon May 15 2006 - rw@suse.de
+- patches.arch/ia64-validate-pci_mmap_legacy:
+ Add validation to legacy_mem mmap. (#166316)
+* Mon May 15 2006 - hare@suse.de
+- add patches.arch/s390-03-0{1,2,3,4}-october2005.diff
+ Include latest codedrop from IBM
+- remove patches.arch/s390-console-unblank.patch
+ Delete obsolete patch.
+* Mon May 15 2006 - olh@suse.de
+- add patches.fixes/add-slab_is_available-routine-for-boot-code.patch
+ add slab_is_available() routine for boot code (175093 - LTC23814)
+* Mon May 15 2006 - olh@suse.de
+- merge patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ into patches.arch/ppc-kdump-soft-reset.patch (159713 - LTC22581)
+* Mon May 15 2006 - okir@suse.de
+- Mark dcdbas, dell_rbu externally supported (#153134)
+* Sat May 13 2006 - olh@suse.de
+- update patches.arch/s390-raw-device
+ remove duplicate raw driver entry in menuconfig
+* Fri May 12 2006 - bk@suse.de
+- patches.fixes/yenta-fixup-parent-subordinate-carefully:
+ Cardbus cards hidden, fixup parent subordinate# carefully
+ (bugzilla.novell.com:146438, bugzilla.kernel.org:2944)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ restory sysfs type property (173880 - LTC23729)
+* Fri May 12 2006 - hare@suse.de
+- add patches.suse/lkcd-crash-with-invalid-DUMPDEV
+ Fix crash with invalid DUMPDEV (#164969)
+- update patches.suse/lkcd.patch
+ lkcd fails to register with mor than one dump device type
+ (#173333)
+* Fri May 12 2006 - hare@suse.de
+- add patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ FC transport will hang if rports are deleted during scan (173662)
+- add patches.fixes/scsi-fix-scan-offline.patch
+ add patches.fixes/scsi-add-2104-DU3-blist.patch
+ Fix crash on offlined devices during scanning (#173266 - LTC23037)
+* Fri May 12 2006 - olh@suse.de
+- add patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ add patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
+ handle kdump via softreset (159713 - LTC22581)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ remove trailing whitespaces
+ fix a small memory leak when the partition is on low memory
+ fix sleep from invalid context at mm/slab.c:2731 (173880 - LTC23729)
+* Thu May 11 2006 - agruen@suse.de
+- Enable CONFIG_MODVERSIONS for kernel-um.
+- patches.fixes/um-missing-exports.diff: Add the EXPORT_SYMBOLs
+ to arch/um/kernel/ksyms.c instead; arch/um/kernel/skas/* etc.
+ won't export symbols properly.
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Fix UP build.
+* Thu May 11 2006 - jbohac@suse.cz
+- patches.fixes/ipv6-inet6_csk_xmit-leak:
+ fixes a leak in inet6_csk_xmit
+* Thu May 11 2006 - hare@suse.de
+- patches.arch/s390-ccwgroup-remove-device.patch:
+ Allow for individual device removal (#172230 - LTC23575)
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/x86_64-nommu-warning: Don't warn for overflow in
+ nommu case when dma_mask is < 32bit (173326).
+- patches.drivers/fix-b44-checks: Check for bad dma address in
+ b44 1GB DMA workaround (173326).
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Prefer TSC as clock.
+- patches.fixes/acpi-blacklist-xw9300: Force pci=noacpi on HP
+ XW9300 (140340).
+* Thu May 11 2006 - olh@suse.de
+- update patches.suse/ppc-fno-ivopts.patch
+ use $(call cc-option,option) to fix compile with sles9 gcc
+* Thu May 11 2006 - olh@suse.de
+- add patches.fixes/compat_sys_nfsservctl-access_ok.patch
+ fix access_ok handling in compat_sys_nfsservctl (174531 - LTC23513)
+* Thu May 11 2006 - gregkh@suse.de
+- Update to 2.6.16.16:
+- fs/locks.c: Fix lease_init (CVE-2006-1860)
+* Wed May 10 2006 - jeffm@suse.de
+- patches.fixes/iscsi-parameter-size-oops.diff: [PATCH] iscsi:
+ invalid parameter size should return error, not BUG() (174404).
+* Wed May 10 2006 - agruen@suse.de
+- rpm/module-renames: Forward port from SLES9: add module aliases
+ for important modules that have been renamed/merged (173956).
+- misc/obsolete-module-aliases: New helper script for updating the
+ module alias table in the future.
+- rpm/Makefile.suse: Remove; obsolete since SLES9 SP3.
+* Wed May 10 2006 - hare@suse.de
+- Set default I/O scheduler to 'deadline' for S/390
+ (#168244 - LTC22393)
+* Tue May 09 2006 - agruen@suse.de
+- patches.rpmify/symtypes.diff: Convert spaces to <tab> in
+ Makefile so that the %%.symtypes rule works again.
+* Tue May 09 2006 - gregkh@suse.de
+- Update to 2.6.16.15:
+- SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+- SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+- SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+- SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
* Tue May 09 2006 - okir@suse.de
- patches.fixes/dm-get-mdptr-fix: [devicemapper] Fix an oops in
dm_get_mdptr (173151).
kernel-kdump.spec: same change
++++++ kernel-ppc64.spec ++++++
--- /var/tmp/diff_new_pack.Z8bxac/_old 2006-05-16 14:22:09.000000000 +0200
+++ /var/tmp/diff_new_pack.Z8bxac/_new 2006-05-16 14:22:09.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-ppc64 (Version 2.6.16.14)
+# spec file for package kernel-ppc64 (Version 2.6.16.16)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -19,8 +19,8 @@
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
%endif
-Version: 2.6.16.14
-Release: 6
+Version: 2.6.16.16
+Release: 1
Summary: Kernel for ppc64 Systems
License: GPL, LGPL
Group: System/Kernel
@@ -28,7 +28,7 @@
#Conflicts: kernel
%else
%if !%build_xen
-Provides: kernel = 2.6.16.14-%release
+Provides: kernel = 2.6.16.16-%release
%endif
%endif
Provides: kernel-ppc64-nongpl
@@ -65,6 +65,7 @@
Source41: built-in-where
Source42: make-symsets
Source43: find-provides
+Source45: module-renames
Source46: find-types
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
@@ -127,13 +128,12 @@
Tom Gall
see /usr/src/linux-pmac-benh/CREDITS for more details.
-Source Timestamp: 2006/05/09 12:09:06 UTC
-CVS Tag: HEAD
+Source Timestamp: 2006/05/16 09:32:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
- echo "The kernel-ppc64-2.6.16.14.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.16.14.src.rpm."
+ echo "The kernel-ppc64-2.6.16.16.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.16.16.src.rpm."
exit 1
fi
symbols=$(
@@ -446,10 +446,15 @@
find $obj_dir \
-type d -printf '%%%%dir /%%p\n' -o \
-printf '/%%p\n'
+ echo '%%dir /etc/modprobe.d/'
+ echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
echo "%%doc %_docdir/%name"
fi
) > %my_builddir/kernel.files
+# Set up some module aliases
+install -d -m 755 %buildroot/etc/modprobe.d/
+install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
%post -f post.sh
@@ -458,6 +463,129 @@
%files -f kernel.files
%changelog -n kernel-ppc64
+* Tue May 16 2006 - olh@suse.de
+- update patches.drivers/e1000-update
+ new driver version 7.0.33 (167550)
+ disable patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
+ disable patches.suse/e1000-D3-cold-wake.patch
+* Mon May 15 2006 - tonyj@suse.de
+- patches.suse/apparmor: Fixes for the following blocker/security bugs:
+ 158356 - kernel audit part emits newline to syslog
+ 174698 - VUL-0: Apparmor fails to prevent PTRACE_ME on confined parent
+ 165472 - VUL-0: kernel: if in _sd_perm_dentry() error occured while
+ translating dentry - printing dentry->d_inode->i_ino, but dentry
+ can be nagative (sic)
+ 164920 - VUL-0: kernel: sd_get_name doesn't check d_path return (IS_ERR)
+* Mon May 15 2006 - ak@suse.de
+- patches.arch/x86_64-hotadd-fixes: Fix memory hotadd heuristics
+ (160861).
+* Mon May 15 2006 - rw@suse.de
+- patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch:
+ Delete ACPI hook from pci_set_power_state(). (#162320)
+* Mon May 15 2006 - olh@suse.de
+- add patches.arch/ppc-iptables-slabdebug-alignment.patch
+ if CONFIG_NETFILTER is enabled, hide CONFIG_SLAB_DEBUG (155004)
+* Mon May 15 2006 - bk@suse.de
+- disabled yenta-fixup-parent-subordinate-carefully on gregs request
+* Mon May 15 2006 - rw@suse.de
+- patches.arch/ia64-validate-pci_mmap_legacy:
+ Add validation to legacy_mem mmap. (#166316)
+* Mon May 15 2006 - hare@suse.de
+- add patches.arch/s390-03-0{1,2,3,4}-october2005.diff
+ Include latest codedrop from IBM
+- remove patches.arch/s390-console-unblank.patch
+ Delete obsolete patch.
+* Mon May 15 2006 - olh@suse.de
+- add patches.fixes/add-slab_is_available-routine-for-boot-code.patch
+ add slab_is_available() routine for boot code (175093 - LTC23814)
+* Mon May 15 2006 - olh@suse.de
+- merge patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ into patches.arch/ppc-kdump-soft-reset.patch (159713 - LTC22581)
+* Mon May 15 2006 - okir@suse.de
+- Mark dcdbas, dell_rbu externally supported (#153134)
+* Sat May 13 2006 - olh@suse.de
+- update patches.arch/s390-raw-device
+ remove duplicate raw driver entry in menuconfig
+* Fri May 12 2006 - bk@suse.de
+- patches.fixes/yenta-fixup-parent-subordinate-carefully:
+ Cardbus cards hidden, fixup parent subordinate# carefully
+ (bugzilla.novell.com:146438, bugzilla.kernel.org:2944)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ restory sysfs type property (173880 - LTC23729)
+* Fri May 12 2006 - hare@suse.de
+- add patches.suse/lkcd-crash-with-invalid-DUMPDEV
+ Fix crash with invalid DUMPDEV (#164969)
+- update patches.suse/lkcd.patch
+ lkcd fails to register with mor than one dump device type
+ (#173333)
+* Fri May 12 2006 - hare@suse.de
+- add patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ FC transport will hang if rports are deleted during scan (173662)
+- add patches.fixes/scsi-fix-scan-offline.patch
+ add patches.fixes/scsi-add-2104-DU3-blist.patch
+ Fix crash on offlined devices during scanning (#173266 - LTC23037)
+* Fri May 12 2006 - olh@suse.de
+- add patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ add patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
+ handle kdump via softreset (159713 - LTC22581)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ remove trailing whitespaces
+ fix a small memory leak when the partition is on low memory
+ fix sleep from invalid context at mm/slab.c:2731 (173880 - LTC23729)
+* Thu May 11 2006 - agruen@suse.de
+- Enable CONFIG_MODVERSIONS for kernel-um.
+- patches.fixes/um-missing-exports.diff: Add the EXPORT_SYMBOLs
+ to arch/um/kernel/ksyms.c instead; arch/um/kernel/skas/* etc.
+ won't export symbols properly.
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Fix UP build.
+* Thu May 11 2006 - jbohac@suse.cz
+- patches.fixes/ipv6-inet6_csk_xmit-leak:
+ fixes a leak in inet6_csk_xmit
+* Thu May 11 2006 - hare@suse.de
+- patches.arch/s390-ccwgroup-remove-device.patch:
+ Allow for individual device removal (#172230 - LTC23575)
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/x86_64-nommu-warning: Don't warn for overflow in
+ nommu case when dma_mask is < 32bit (173326).
+- patches.drivers/fix-b44-checks: Check for bad dma address in
+ b44 1GB DMA workaround (173326).
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Prefer TSC as clock.
+- patches.fixes/acpi-blacklist-xw9300: Force pci=noacpi on HP
+ XW9300 (140340).
+* Thu May 11 2006 - olh@suse.de
+- update patches.suse/ppc-fno-ivopts.patch
+ use $(call cc-option,option) to fix compile with sles9 gcc
+* Thu May 11 2006 - olh@suse.de
+- add patches.fixes/compat_sys_nfsservctl-access_ok.patch
+ fix access_ok handling in compat_sys_nfsservctl (174531 - LTC23513)
+* Thu May 11 2006 - gregkh@suse.de
+- Update to 2.6.16.16:
+- fs/locks.c: Fix lease_init (CVE-2006-1860)
+* Wed May 10 2006 - jeffm@suse.de
+- patches.fixes/iscsi-parameter-size-oops.diff: [PATCH] iscsi:
+ invalid parameter size should return error, not BUG() (174404).
+* Wed May 10 2006 - agruen@suse.de
+- rpm/module-renames: Forward port from SLES9: add module aliases
+ for important modules that have been renamed/merged (173956).
+- misc/obsolete-module-aliases: New helper script for updating the
+ module alias table in the future.
+- rpm/Makefile.suse: Remove; obsolete since SLES9 SP3.
+* Wed May 10 2006 - hare@suse.de
+- Set default I/O scheduler to 'deadline' for S/390
+ (#168244 - LTC22393)
+* Tue May 09 2006 - agruen@suse.de
+- patches.rpmify/symtypes.diff: Convert spaces to <tab> in
+ Makefile so that the %%.symtypes rule works again.
+* Tue May 09 2006 - gregkh@suse.de
+- Update to 2.6.16.15:
+- SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+- SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+- SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+- SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
* Tue May 09 2006 - okir@suse.de
- patches.fixes/dm-get-mdptr-fix: [devicemapper] Fix an oops in
dm_get_mdptr (173151).
++++++ kernel-s390.spec ++++++
--- /var/tmp/diff_new_pack.Z8bxac/_old 2006-05-16 14:22:10.000000000 +0200
+++ /var/tmp/diff_new_pack.Z8bxac/_new 2006-05-16 14:22:10.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-s390 (Version 2.6.16.14)
+# spec file for package kernel-s390 (Version 2.6.16.16)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -20,8 +20,8 @@
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
%endif
-Version: 2.6.16.14
-Release: 6
+Version: 2.6.16.16
+Release: 1
Summary: The Standard Kernel
License: GPL
Group: System/Kernel
@@ -29,7 +29,7 @@
#Conflicts: kernel
%else
%if !%build_xen
-Provides: kernel = 2.6.16.14-%release
+Provides: kernel = 2.6.16.16-%release
%endif
%endif
Provides: kernel-s390-nongpl
@@ -61,6 +61,7 @@
Source41: built-in-where
Source42: make-symsets
Source43: find-provides
+Source45: module-renames
Source46: find-types
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
@@ -110,13 +111,12 @@
-Source Timestamp: 2006/05/09 12:09:06 UTC
-CVS Tag: HEAD
+Source Timestamp: 2006/05/16 09:32:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
- echo "The kernel-s390-2.6.16.14.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.16.14.src.rpm."
+ echo "The kernel-s390-2.6.16.16.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.16.16.src.rpm."
exit 1
fi
symbols=$(
@@ -429,10 +429,15 @@
find $obj_dir \
-type d -printf '%%%%dir /%%p\n' -o \
-printf '/%%p\n'
+ echo '%%dir /etc/modprobe.d/'
+ echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
echo "%%doc %_docdir/%name"
fi
) > %my_builddir/kernel.files
+# Set up some module aliases
+install -d -m 755 %buildroot/etc/modprobe.d/
+install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
%post -f post.sh
@@ -441,6 +446,129 @@
%files -f kernel.files
%changelog -n kernel-s390
+* Tue May 16 2006 - olh@suse.de
+- update patches.drivers/e1000-update
+ new driver version 7.0.33 (167550)
+ disable patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
+ disable patches.suse/e1000-D3-cold-wake.patch
+* Mon May 15 2006 - tonyj@suse.de
+- patches.suse/apparmor: Fixes for the following blocker/security bugs:
+ 158356 - kernel audit part emits newline to syslog
+ 174698 - VUL-0: Apparmor fails to prevent PTRACE_ME on confined parent
+ 165472 - VUL-0: kernel: if in _sd_perm_dentry() error occured while
+ translating dentry - printing dentry->d_inode->i_ino, but dentry
+ can be nagative (sic)
+ 164920 - VUL-0: kernel: sd_get_name doesn't check d_path return (IS_ERR)
+* Mon May 15 2006 - ak@suse.de
+- patches.arch/x86_64-hotadd-fixes: Fix memory hotadd heuristics
+ (160861).
+* Mon May 15 2006 - rw@suse.de
+- patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch:
+ Delete ACPI hook from pci_set_power_state(). (#162320)
+* Mon May 15 2006 - olh@suse.de
+- add patches.arch/ppc-iptables-slabdebug-alignment.patch
+ if CONFIG_NETFILTER is enabled, hide CONFIG_SLAB_DEBUG (155004)
+* Mon May 15 2006 - bk@suse.de
+- disabled yenta-fixup-parent-subordinate-carefully on gregs request
+* Mon May 15 2006 - rw@suse.de
+- patches.arch/ia64-validate-pci_mmap_legacy:
+ Add validation to legacy_mem mmap. (#166316)
+* Mon May 15 2006 - hare@suse.de
+- add patches.arch/s390-03-0{1,2,3,4}-october2005.diff
+ Include latest codedrop from IBM
+- remove patches.arch/s390-console-unblank.patch
+ Delete obsolete patch.
+* Mon May 15 2006 - olh@suse.de
+- add patches.fixes/add-slab_is_available-routine-for-boot-code.patch
+ add slab_is_available() routine for boot code (175093 - LTC23814)
+* Mon May 15 2006 - olh@suse.de
+- merge patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ into patches.arch/ppc-kdump-soft-reset.patch (159713 - LTC22581)
+* Mon May 15 2006 - okir@suse.de
+- Mark dcdbas, dell_rbu externally supported (#153134)
+* Sat May 13 2006 - olh@suse.de
+- update patches.arch/s390-raw-device
+ remove duplicate raw driver entry in menuconfig
+* Fri May 12 2006 - bk@suse.de
+- patches.fixes/yenta-fixup-parent-subordinate-carefully:
+ Cardbus cards hidden, fixup parent subordinate# carefully
+ (bugzilla.novell.com:146438, bugzilla.kernel.org:2944)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ restory sysfs type property (173880 - LTC23729)
+* Fri May 12 2006 - hare@suse.de
+- add patches.suse/lkcd-crash-with-invalid-DUMPDEV
+ Fix crash with invalid DUMPDEV (#164969)
+- update patches.suse/lkcd.patch
+ lkcd fails to register with mor than one dump device type
+ (#173333)
+* Fri May 12 2006 - hare@suse.de
+- add patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ FC transport will hang if rports are deleted during scan (173662)
+- add patches.fixes/scsi-fix-scan-offline.patch
+ add patches.fixes/scsi-add-2104-DU3-blist.patch
+ Fix crash on offlined devices during scanning (#173266 - LTC23037)
+* Fri May 12 2006 - olh@suse.de
+- add patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ add patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
+ handle kdump via softreset (159713 - LTC22581)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ remove trailing whitespaces
+ fix a small memory leak when the partition is on low memory
+ fix sleep from invalid context at mm/slab.c:2731 (173880 - LTC23729)
+* Thu May 11 2006 - agruen@suse.de
+- Enable CONFIG_MODVERSIONS for kernel-um.
+- patches.fixes/um-missing-exports.diff: Add the EXPORT_SYMBOLs
+ to arch/um/kernel/ksyms.c instead; arch/um/kernel/skas/* etc.
+ won't export symbols properly.
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Fix UP build.
+* Thu May 11 2006 - jbohac@suse.cz
+- patches.fixes/ipv6-inet6_csk_xmit-leak:
+ fixes a leak in inet6_csk_xmit
+* Thu May 11 2006 - hare@suse.de
+- patches.arch/s390-ccwgroup-remove-device.patch:
+ Allow for individual device removal (#172230 - LTC23575)
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/x86_64-nommu-warning: Don't warn for overflow in
+ nommu case when dma_mask is < 32bit (173326).
+- patches.drivers/fix-b44-checks: Check for bad dma address in
+ b44 1GB DMA workaround (173326).
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Prefer TSC as clock.
+- patches.fixes/acpi-blacklist-xw9300: Force pci=noacpi on HP
+ XW9300 (140340).
+* Thu May 11 2006 - olh@suse.de
+- update patches.suse/ppc-fno-ivopts.patch
+ use $(call cc-option,option) to fix compile with sles9 gcc
+* Thu May 11 2006 - olh@suse.de
+- add patches.fixes/compat_sys_nfsservctl-access_ok.patch
+ fix access_ok handling in compat_sys_nfsservctl (174531 - LTC23513)
+* Thu May 11 2006 - gregkh@suse.de
+- Update to 2.6.16.16:
+- fs/locks.c: Fix lease_init (CVE-2006-1860)
+* Wed May 10 2006 - jeffm@suse.de
+- patches.fixes/iscsi-parameter-size-oops.diff: [PATCH] iscsi:
+ invalid parameter size should return error, not BUG() (174404).
+* Wed May 10 2006 - agruen@suse.de
+- rpm/module-renames: Forward port from SLES9: add module aliases
+ for important modules that have been renamed/merged (173956).
+- misc/obsolete-module-aliases: New helper script for updating the
+ module alias table in the future.
+- rpm/Makefile.suse: Remove; obsolete since SLES9 SP3.
+* Wed May 10 2006 - hare@suse.de
+- Set default I/O scheduler to 'deadline' for S/390
+ (#168244 - LTC22393)
+* Tue May 09 2006 - agruen@suse.de
+- patches.rpmify/symtypes.diff: Convert spaces to <tab> in
+ Makefile so that the %%.symtypes rule works again.
+* Tue May 09 2006 - gregkh@suse.de
+- Update to 2.6.16.15:
+- SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+- SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+- SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+- SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
* Tue May 09 2006 - okir@suse.de
- patches.fixes/dm-get-mdptr-fix: [devicemapper] Fix an oops in
dm_get_mdptr (173151).
kernel-smp.spec: same change
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.Z8bxac/_old 2006-05-16 14:22:10.000000000 +0200
+++ /var/tmp/diff_new_pack.Z8bxac/_new 2006-05-16 14:22:10.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-source (Version 2.6.16.14)
+# spec file for package kernel-source (Version 2.6.16.16)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -24,8 +24,8 @@
Obsoletes: linux lx-gdt lx-hack lx-suse lx1162_1 lx1162_2 lx1212_1 lx1212_2 lx1213_1 lx1213_2 lx121_1 lx121_2 lx126_1 lx126_2 lx129_1 lx129_2 lx_large kernel_headers lx_suse lx_sus22 lx_sus24
%endif
PreReq: /sbin/insserv /usr/bin/grep /bin/sed /bin/uname /bin/mkdir /bin/cat /bin/ln /bin/rm /etc/rc.status
-Version: 2.6.16.14
-Release: 6
+Version: 2.6.16.16
+Release: 1
Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2
Source1: functions.sh
Source2: source-post.sh
@@ -41,13 +41,13 @@
Source33: check-for-config-changes
Source34: check-supported-list
Source35: install-configs
-Source36: Makefile.suse
Source37: README.SUSE
Source38: kabi-checks
Source40: build-source-timestamp
Source41: built-in-where
Source42: make-symsets
Source43: find-provides
+Source45: module-renames
Source46: find-types
source47: extract-modaliases
Source50: kernel-syms.spec
@@ -77,7 +77,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Prefix: /usr/src
-%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,kabi-checks})
+%(chmod +x %_sourcedir/{arch-symbols,guards,config-subst,check-for-config-changes,kabi-checks,install-configs})
%define preconf 1
%define symbols %(export PATCH_ARCH=%_target_cpu ; cd %_sourcedir ; set -- $(./arch-symbols) $([ -e extra-symbols ] && cat extra-symbols) ; echo $*)
%define tolerate_unknown_new_config_options 0
@@ -93,8 +93,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2006/05/09 12:09:06 UTC
-CVS Tag: HEAD
+Source Timestamp: 2006/05/16 09:32:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
@@ -117,16 +116,16 @@
# Apply the patches needed for this architecture.
%_sourcedir/guards %symbols < %_sourcedir/series.conf \
- > %_builddir/kernel-source-2.6.16.14/kernel-source.patches
-for patch in $(< %_builddir/kernel-source-2.6.16.14/kernel-source.patches); do
- if ! patch -s -E -p1 --no-backup-if-mismatch -i %_builddir/kernel-source-2.6.16.14/$patch; then
+ > %_builddir/kernel-source-2.6.16.16/kernel-source.patches
+for patch in $(< %_builddir/kernel-source-2.6.16.16/kernel-source.patches); do
+ if ! patch -s -E -p1 --no-backup-if-mismatch -i %_builddir/kernel-source-2.6.16.16/$patch; then
echo "*** Patch $patch failed ***"
exit 1
fi
done
-%_sourcedir/install-configs %_sourcedir %_builddir/kernel-source-2.6.16.14 %release
-KERNELRELEASE=2.6.16.14-%release
+%_sourcedir/install-configs %_sourcedir %_builddir/kernel-source-2.6.16.16 %release
+KERNELRELEASE=2.6.16.16-%release
cat > %_builddir/%{name}-%{version}/.rpm-defs < %_builddir/kernel-source-2.6.16.14/kernel-$flavor.patches
- diff -q %_builddir/kernel-source-2.6.16.14/kernel-{source,$flavor}.patches \
+ > %_builddir/kernel-source-2.6.16.16/kernel-$flavor.patches
+ diff -q %_builddir/kernel-source-2.6.16.16/kernel-{source,$flavor}.patches \
|| continue
o=$RPM_BUILD_ROOT/usr/src/linux-$KERNELRELEASE-obj/$arch/$flavor
mkdir -p $o
@@ -210,7 +209,6 @@
[ -e ppc64 ] || ln -s $1 ppc64
%endif
cd $RPM_BUILD_ROOT/usr/src
-cp -p %_sourcedir/Makefile.suse linux-$KERNELRELEASE/
for name in nftlcore.c nftlmount.c inftlcore.c inftlmount.c ftl.c; do
rm linux-$KERNELRELEASE/drivers/mtd/$name
done
@@ -276,6 +274,129 @@
%files -f kernel-source.files
%changelog -n kernel-source
+* Tue May 16 2006 - olh@suse.de
+- update patches.drivers/e1000-update
+ new driver version 7.0.33 (167550)
+ disable patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
+ disable patches.suse/e1000-D3-cold-wake.patch
+* Mon May 15 2006 - tonyj@suse.de
+- patches.suse/apparmor: Fixes for the following blocker/security bugs:
+ 158356 - kernel audit part emits newline to syslog
+ 174698 - VUL-0: Apparmor fails to prevent PTRACE_ME on confined parent
+ 165472 - VUL-0: kernel: if in _sd_perm_dentry() error occured while
+ translating dentry - printing dentry->d_inode->i_ino, but dentry
+ can be nagative (sic)
+ 164920 - VUL-0: kernel: sd_get_name doesn't check d_path return (IS_ERR)
+* Mon May 15 2006 - ak@suse.de
+- patches.arch/x86_64-hotadd-fixes: Fix memory hotadd heuristics
+ (160861).
+* Mon May 15 2006 - rw@suse.de
+- patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch:
+ Delete ACPI hook from pci_set_power_state(). (#162320)
+* Mon May 15 2006 - olh@suse.de
+- add patches.arch/ppc-iptables-slabdebug-alignment.patch
+ if CONFIG_NETFILTER is enabled, hide CONFIG_SLAB_DEBUG (155004)
+* Mon May 15 2006 - bk@suse.de
+- disabled yenta-fixup-parent-subordinate-carefully on gregs request
+* Mon May 15 2006 - rw@suse.de
+- patches.arch/ia64-validate-pci_mmap_legacy:
+ Add validation to legacy_mem mmap. (#166316)
+* Mon May 15 2006 - hare@suse.de
+- add patches.arch/s390-03-0{1,2,3,4}-october2005.diff
+ Include latest codedrop from IBM
+- remove patches.arch/s390-console-unblank.patch
+ Delete obsolete patch.
+* Mon May 15 2006 - olh@suse.de
+- add patches.fixes/add-slab_is_available-routine-for-boot-code.patch
+ add slab_is_available() routine for boot code (175093 - LTC23814)
+* Mon May 15 2006 - olh@suse.de
+- merge patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ into patches.arch/ppc-kdump-soft-reset.patch (159713 - LTC22581)
+* Mon May 15 2006 - okir@suse.de
+- Mark dcdbas, dell_rbu externally supported (#153134)
+* Sat May 13 2006 - olh@suse.de
+- update patches.arch/s390-raw-device
+ remove duplicate raw driver entry in menuconfig
+* Fri May 12 2006 - bk@suse.de
+- patches.fixes/yenta-fixup-parent-subordinate-carefully:
+ Cardbus cards hidden, fixup parent subordinate# carefully
+ (bugzilla.novell.com:146438, bugzilla.kernel.org:2944)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ restory sysfs type property (173880 - LTC23729)
+* Fri May 12 2006 - hare@suse.de
+- add patches.suse/lkcd-crash-with-invalid-DUMPDEV
+ Fix crash with invalid DUMPDEV (#164969)
+- update patches.suse/lkcd.patch
+ lkcd fails to register with mor than one dump device type
+ (#173333)
+* Fri May 12 2006 - hare@suse.de
+- add patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ FC transport will hang if rports are deleted during scan (173662)
+- add patches.fixes/scsi-fix-scan-offline.patch
+ add patches.fixes/scsi-add-2104-DU3-blist.patch
+ Fix crash on offlined devices during scanning (#173266 - LTC23037)
+* Fri May 12 2006 - olh@suse.de
+- add patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ add patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
+ handle kdump via softreset (159713 - LTC22581)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ remove trailing whitespaces
+ fix a small memory leak when the partition is on low memory
+ fix sleep from invalid context at mm/slab.c:2731 (173880 - LTC23729)
+* Thu May 11 2006 - agruen@suse.de
+- Enable CONFIG_MODVERSIONS for kernel-um.
+- patches.fixes/um-missing-exports.diff: Add the EXPORT_SYMBOLs
+ to arch/um/kernel/ksyms.c instead; arch/um/kernel/skas/* etc.
+ won't export symbols properly.
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Fix UP build.
+* Thu May 11 2006 - jbohac@suse.cz
+- patches.fixes/ipv6-inet6_csk_xmit-leak:
+ fixes a leak in inet6_csk_xmit
+* Thu May 11 2006 - hare@suse.de
+- patches.arch/s390-ccwgroup-remove-device.patch:
+ Allow for individual device removal (#172230 - LTC23575)
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/x86_64-nommu-warning: Don't warn for overflow in
+ nommu case when dma_mask is < 32bit (173326).
+- patches.drivers/fix-b44-checks: Check for bad dma address in
+ b44 1GB DMA workaround (173326).
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Prefer TSC as clock.
+- patches.fixes/acpi-blacklist-xw9300: Force pci=noacpi on HP
+ XW9300 (140340).
+* Thu May 11 2006 - olh@suse.de
+- update patches.suse/ppc-fno-ivopts.patch
+ use $(call cc-option,option) to fix compile with sles9 gcc
+* Thu May 11 2006 - olh@suse.de
+- add patches.fixes/compat_sys_nfsservctl-access_ok.patch
+ fix access_ok handling in compat_sys_nfsservctl (174531 - LTC23513)
+* Thu May 11 2006 - gregkh@suse.de
+- Update to 2.6.16.16:
+- fs/locks.c: Fix lease_init (CVE-2006-1860)
+* Wed May 10 2006 - jeffm@suse.de
+- patches.fixes/iscsi-parameter-size-oops.diff: [PATCH] iscsi:
+ invalid parameter size should return error, not BUG() (174404).
+* Wed May 10 2006 - agruen@suse.de
+- rpm/module-renames: Forward port from SLES9: add module aliases
+ for important modules that have been renamed/merged (173956).
+- misc/obsolete-module-aliases: New helper script for updating the
+ module alias table in the future.
+- rpm/Makefile.suse: Remove; obsolete since SLES9 SP3.
+* Wed May 10 2006 - hare@suse.de
+- Set default I/O scheduler to 'deadline' for S/390
+ (#168244 - LTC22393)
+* Tue May 09 2006 - agruen@suse.de
+- patches.rpmify/symtypes.diff: Convert spaces to <tab> in
+ Makefile so that the %%.symtypes rule works again.
+* Tue May 09 2006 - gregkh@suse.de
+- Update to 2.6.16.15:
+- SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+- SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+- SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+- SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
* Tue May 09 2006 - okir@suse.de
- patches.fixes/dm-get-mdptr-fix: [devicemapper] Fix an oops in
dm_get_mdptr (173151).
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.Z8bxac/_old 2006-05-16 14:22:10.000000000 +0200
+++ /var/tmp/diff_new_pack.Z8bxac/_new 2006-05-16 14:22:10.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-syms (Version 2.6.16.14)
+# spec file for package kernel-syms (Version 2.6.16.16)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -48,10 +48,10 @@
Autoreqprov: off
Summary: Kernel Symbol Versions (modversions)
Group: Development/Sources
-Version: 2.6.16.14
-Release: 6
+Version: 2.6.16.16
+Release: 1
Requires: linux
-Requires: kernel-source = 2.6.16.14-%release
+Requires: kernel-source = 2.6.16.16-%release
Source11: arch-symbols
Source12: guards
Source21: config.conf
@@ -84,8 +84,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2006/05/09 12:09:06 UTC
-CVS Tag: HEAD
+Source Timestamp: 2006/05/16 09:32:32 UTC
%install
@@ -128,6 +127,129 @@
/boot/symsets-*-*.tar.gz
%changelog -n kernel-syms
+* Tue May 16 2006 - olh@suse.de
+- update patches.drivers/e1000-update
+ new driver version 7.0.33 (167550)
+ disable patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
+ disable patches.suse/e1000-D3-cold-wake.patch
+* Mon May 15 2006 - tonyj@suse.de
+- patches.suse/apparmor: Fixes for the following blocker/security bugs:
+ 158356 - kernel audit part emits newline to syslog
+ 174698 - VUL-0: Apparmor fails to prevent PTRACE_ME on confined parent
+ 165472 - VUL-0: kernel: if in _sd_perm_dentry() error occured while
+ translating dentry - printing dentry->d_inode->i_ino, but dentry
+ can be nagative (sic)
+ 164920 - VUL-0: kernel: sd_get_name doesn't check d_path return (IS_ERR)
+* Mon May 15 2006 - ak@suse.de
+- patches.arch/x86_64-hotadd-fixes: Fix memory hotadd heuristics
+ (160861).
+* Mon May 15 2006 - rw@suse.de
+- patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch:
+ Delete ACPI hook from pci_set_power_state(). (#162320)
+* Mon May 15 2006 - olh@suse.de
+- add patches.arch/ppc-iptables-slabdebug-alignment.patch
+ if CONFIG_NETFILTER is enabled, hide CONFIG_SLAB_DEBUG (155004)
+* Mon May 15 2006 - bk@suse.de
+- disabled yenta-fixup-parent-subordinate-carefully on gregs request
+* Mon May 15 2006 - rw@suse.de
+- patches.arch/ia64-validate-pci_mmap_legacy:
+ Add validation to legacy_mem mmap. (#166316)
+* Mon May 15 2006 - hare@suse.de
+- add patches.arch/s390-03-0{1,2,3,4}-october2005.diff
+ Include latest codedrop from IBM
+- remove patches.arch/s390-console-unblank.patch
+ Delete obsolete patch.
+* Mon May 15 2006 - olh@suse.de
+- add patches.fixes/add-slab_is_available-routine-for-boot-code.patch
+ add slab_is_available() routine for boot code (175093 - LTC23814)
+* Mon May 15 2006 - olh@suse.de
+- merge patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ into patches.arch/ppc-kdump-soft-reset.patch (159713 - LTC22581)
+* Mon May 15 2006 - okir@suse.de
+- Mark dcdbas, dell_rbu externally supported (#153134)
+* Sat May 13 2006 - olh@suse.de
+- update patches.arch/s390-raw-device
+ remove duplicate raw driver entry in menuconfig
+* Fri May 12 2006 - bk@suse.de
+- patches.fixes/yenta-fixup-parent-subordinate-carefully:
+ Cardbus cards hidden, fixup parent subordinate# carefully
+ (bugzilla.novell.com:146438, bugzilla.kernel.org:2944)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ restory sysfs type property (173880 - LTC23729)
+* Fri May 12 2006 - hare@suse.de
+- add patches.suse/lkcd-crash-with-invalid-DUMPDEV
+ Fix crash with invalid DUMPDEV (#164969)
+- update patches.suse/lkcd.patch
+ lkcd fails to register with mor than one dump device type
+ (#173333)
+* Fri May 12 2006 - hare@suse.de
+- add patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ FC transport will hang if rports are deleted during scan (173662)
+- add patches.fixes/scsi-fix-scan-offline.patch
+ add patches.fixes/scsi-add-2104-DU3-blist.patch
+ Fix crash on offlined devices during scanning (#173266 - LTC23037)
+* Fri May 12 2006 - olh@suse.de
+- add patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ add patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
+ handle kdump via softreset (159713 - LTC22581)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ remove trailing whitespaces
+ fix a small memory leak when the partition is on low memory
+ fix sleep from invalid context at mm/slab.c:2731 (173880 - LTC23729)
+* Thu May 11 2006 - agruen@suse.de
+- Enable CONFIG_MODVERSIONS for kernel-um.
+- patches.fixes/um-missing-exports.diff: Add the EXPORT_SYMBOLs
+ to arch/um/kernel/ksyms.c instead; arch/um/kernel/skas/* etc.
+ won't export symbols properly.
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Fix UP build.
+* Thu May 11 2006 - jbohac@suse.cz
+- patches.fixes/ipv6-inet6_csk_xmit-leak:
+ fixes a leak in inet6_csk_xmit
+* Thu May 11 2006 - hare@suse.de
+- patches.arch/s390-ccwgroup-remove-device.patch:
+ Allow for individual device removal (#172230 - LTC23575)
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/x86_64-nommu-warning: Don't warn for overflow in
+ nommu case when dma_mask is < 32bit (173326).
+- patches.drivers/fix-b44-checks: Check for bad dma address in
+ b44 1GB DMA workaround (173326).
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Prefer TSC as clock.
+- patches.fixes/acpi-blacklist-xw9300: Force pci=noacpi on HP
+ XW9300 (140340).
+* Thu May 11 2006 - olh@suse.de
+- update patches.suse/ppc-fno-ivopts.patch
+ use $(call cc-option,option) to fix compile with sles9 gcc
+* Thu May 11 2006 - olh@suse.de
+- add patches.fixes/compat_sys_nfsservctl-access_ok.patch
+ fix access_ok handling in compat_sys_nfsservctl (174531 - LTC23513)
+* Thu May 11 2006 - gregkh@suse.de
+- Update to 2.6.16.16:
+- fs/locks.c: Fix lease_init (CVE-2006-1860)
+* Wed May 10 2006 - jeffm@suse.de
+- patches.fixes/iscsi-parameter-size-oops.diff: [PATCH] iscsi:
+ invalid parameter size should return error, not BUG() (174404).
+* Wed May 10 2006 - agruen@suse.de
+- rpm/module-renames: Forward port from SLES9: add module aliases
+ for important modules that have been renamed/merged (173956).
+- misc/obsolete-module-aliases: New helper script for updating the
+ module alias table in the future.
+- rpm/Makefile.suse: Remove; obsolete since SLES9 SP3.
+* Wed May 10 2006 - hare@suse.de
+- Set default I/O scheduler to 'deadline' for S/390
+ (#168244 - LTC22393)
+* Tue May 09 2006 - agruen@suse.de
+- patches.rpmify/symtypes.diff: Convert spaces to <tab> in
+ Makefile so that the %%.symtypes rule works again.
+* Tue May 09 2006 - gregkh@suse.de
+- Update to 2.6.16.15:
+- SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+- SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+- SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+- SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
* Tue May 09 2006 - okir@suse.de
- patches.fixes/dm-get-mdptr-fix: [devicemapper] Fix an oops in
dm_get_mdptr (173151).
++++++ kernel-um.spec ++++++
--- /var/tmp/diff_new_pack.Z8bxac/_old 2006-05-16 14:22:10.000000000 +0200
+++ /var/tmp/diff_new_pack.Z8bxac/_new 2006-05-16 14:22:10.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-um (Version 2.6.16.14)
+# spec file for package kernel-um (Version 2.6.16.16)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -20,8 +20,8 @@
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
%endif
-Version: 2.6.16.14
-Release: 6
+Version: 2.6.16.16
+Release: 1
Summary: The User Mode Linux kernel.
License: GPL
Group: System/Kernel
@@ -29,7 +29,7 @@
#Conflicts: kernel
%else
%if !%build_xen
-Provides: kernel = 2.6.16.14-%release
+Provides: kernel = 2.6.16.16-%release
%endif
%endif
Provides: kernel-um-nongpl
@@ -61,6 +61,7 @@
Source41: built-in-where
Source42: make-symsets
Source43: find-provides
+Source45: module-renames
Source46: find-types
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
@@ -113,13 +114,12 @@
-Source Timestamp: 2006/05/09 12:09:06 UTC
-CVS Tag: HEAD
+Source Timestamp: 2006/05/16 09:32:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
- echo "The kernel-um-2.6.16.14.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.16.14.src.rpm."
+ echo "The kernel-um-2.6.16.16.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.16.16.src.rpm."
exit 1
fi
symbols=$(
@@ -432,10 +432,15 @@
find $obj_dir \
-type d -printf '%%%%dir /%%p\n' -o \
-printf '/%%p\n'
+ echo '%%dir /etc/modprobe.d/'
+ echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
echo "%%doc %_docdir/%name"
fi
) > %my_builddir/kernel.files
+# Set up some module aliases
+install -d -m 755 %buildroot/etc/modprobe.d/
+install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
%post -f post.sh
@@ -444,6 +449,129 @@
%files -f kernel.files
%changelog -n kernel-um
+* Tue May 16 2006 - olh@suse.de
+- update patches.drivers/e1000-update
+ new driver version 7.0.33 (167550)
+ disable patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
+ disable patches.suse/e1000-D3-cold-wake.patch
+* Mon May 15 2006 - tonyj@suse.de
+- patches.suse/apparmor: Fixes for the following blocker/security bugs:
+ 158356 - kernel audit part emits newline to syslog
+ 174698 - VUL-0: Apparmor fails to prevent PTRACE_ME on confined parent
+ 165472 - VUL-0: kernel: if in _sd_perm_dentry() error occured while
+ translating dentry - printing dentry->d_inode->i_ino, but dentry
+ can be nagative (sic)
+ 164920 - VUL-0: kernel: sd_get_name doesn't check d_path return (IS_ERR)
+* Mon May 15 2006 - ak@suse.de
+- patches.arch/x86_64-hotadd-fixes: Fix memory hotadd heuristics
+ (160861).
+* Mon May 15 2006 - rw@suse.de
+- patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch:
+ Delete ACPI hook from pci_set_power_state(). (#162320)
+* Mon May 15 2006 - olh@suse.de
+- add patches.arch/ppc-iptables-slabdebug-alignment.patch
+ if CONFIG_NETFILTER is enabled, hide CONFIG_SLAB_DEBUG (155004)
+* Mon May 15 2006 - bk@suse.de
+- disabled yenta-fixup-parent-subordinate-carefully on gregs request
+* Mon May 15 2006 - rw@suse.de
+- patches.arch/ia64-validate-pci_mmap_legacy:
+ Add validation to legacy_mem mmap. (#166316)
+* Mon May 15 2006 - hare@suse.de
+- add patches.arch/s390-03-0{1,2,3,4}-october2005.diff
+ Include latest codedrop from IBM
+- remove patches.arch/s390-console-unblank.patch
+ Delete obsolete patch.
+* Mon May 15 2006 - olh@suse.de
+- add patches.fixes/add-slab_is_available-routine-for-boot-code.patch
+ add slab_is_available() routine for boot code (175093 - LTC23814)
+* Mon May 15 2006 - olh@suse.de
+- merge patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ into patches.arch/ppc-kdump-soft-reset.patch (159713 - LTC22581)
+* Mon May 15 2006 - okir@suse.de
+- Mark dcdbas, dell_rbu externally supported (#153134)
+* Sat May 13 2006 - olh@suse.de
+- update patches.arch/s390-raw-device
+ remove duplicate raw driver entry in menuconfig
+* Fri May 12 2006 - bk@suse.de
+- patches.fixes/yenta-fixup-parent-subordinate-carefully:
+ Cardbus cards hidden, fixup parent subordinate# carefully
+ (bugzilla.novell.com:146438, bugzilla.kernel.org:2944)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ restory sysfs type property (173880 - LTC23729)
+* Fri May 12 2006 - hare@suse.de
+- add patches.suse/lkcd-crash-with-invalid-DUMPDEV
+ Fix crash with invalid DUMPDEV (#164969)
+- update patches.suse/lkcd.patch
+ lkcd fails to register with mor than one dump device type
+ (#173333)
+* Fri May 12 2006 - hare@suse.de
+- add patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ FC transport will hang if rports are deleted during scan (173662)
+- add patches.fixes/scsi-fix-scan-offline.patch
+ add patches.fixes/scsi-add-2104-DU3-blist.patch
+ Fix crash on offlined devices during scanning (#173266 - LTC23037)
+* Fri May 12 2006 - olh@suse.de
+- add patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ add patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
+ handle kdump via softreset (159713 - LTC22581)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ remove trailing whitespaces
+ fix a small memory leak when the partition is on low memory
+ fix sleep from invalid context at mm/slab.c:2731 (173880 - LTC23729)
+* Thu May 11 2006 - agruen@suse.de
+- Enable CONFIG_MODVERSIONS for kernel-um.
+- patches.fixes/um-missing-exports.diff: Add the EXPORT_SYMBOLs
+ to arch/um/kernel/ksyms.c instead; arch/um/kernel/skas/* etc.
+ won't export symbols properly.
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Fix UP build.
+* Thu May 11 2006 - jbohac@suse.cz
+- patches.fixes/ipv6-inet6_csk_xmit-leak:
+ fixes a leak in inet6_csk_xmit
+* Thu May 11 2006 - hare@suse.de
+- patches.arch/s390-ccwgroup-remove-device.patch:
+ Allow for individual device removal (#172230 - LTC23575)
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/x86_64-nommu-warning: Don't warn for overflow in
+ nommu case when dma_mask is < 32bit (173326).
+- patches.drivers/fix-b44-checks: Check for bad dma address in
+ b44 1GB DMA workaround (173326).
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Prefer TSC as clock.
+- patches.fixes/acpi-blacklist-xw9300: Force pci=noacpi on HP
+ XW9300 (140340).
+* Thu May 11 2006 - olh@suse.de
+- update patches.suse/ppc-fno-ivopts.patch
+ use $(call cc-option,option) to fix compile with sles9 gcc
+* Thu May 11 2006 - olh@suse.de
+- add patches.fixes/compat_sys_nfsservctl-access_ok.patch
+ fix access_ok handling in compat_sys_nfsservctl (174531 - LTC23513)
+* Thu May 11 2006 - gregkh@suse.de
+- Update to 2.6.16.16:
+- fs/locks.c: Fix lease_init (CVE-2006-1860)
+* Wed May 10 2006 - jeffm@suse.de
+- patches.fixes/iscsi-parameter-size-oops.diff: [PATCH] iscsi:
+ invalid parameter size should return error, not BUG() (174404).
+* Wed May 10 2006 - agruen@suse.de
+- rpm/module-renames: Forward port from SLES9: add module aliases
+ for important modules that have been renamed/merged (173956).
+- misc/obsolete-module-aliases: New helper script for updating the
+ module alias table in the future.
+- rpm/Makefile.suse: Remove; obsolete since SLES9 SP3.
+* Wed May 10 2006 - hare@suse.de
+- Set default I/O scheduler to 'deadline' for S/390
+ (#168244 - LTC22393)
+* Tue May 09 2006 - agruen@suse.de
+- patches.rpmify/symtypes.diff: Convert spaces to <tab> in
+ Makefile so that the %%.symtypes rule works again.
+* Tue May 09 2006 - gregkh@suse.de
+- Update to 2.6.16.15:
+- SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+- SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+- SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+- SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
* Tue May 09 2006 - okir@suse.de
- patches.fixes/dm-get-mdptr-fix: [devicemapper] Fix an oops in
dm_get_mdptr (173151).
++++++ kernel-xen.spec ++++++
--- /var/tmp/diff_new_pack.Z8bxac/_old 2006-05-16 14:22:11.000000000 +0200
+++ /var/tmp/diff_new_pack.Z8bxac/_new 2006-05-16 14:22:11.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kernel-xen (Version 2.6.16.14)
+# spec file for package kernel-xen (Version 2.6.16.16)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -20,8 +20,8 @@
# arch/ia64/scripts/unwcheck.py
BuildRequires: python
%endif
-Version: 2.6.16.14
-Release: 6
+Version: 2.6.16.16
+Release: 1
Summary: The Xen Kernel
License: GPL
Group: System/Kernel
@@ -29,7 +29,7 @@
#Conflicts: kernel
%else
%if !%build_xen
-Provides: kernel = 2.6.16.14-%release
+Provides: kernel = 2.6.16.16-%release
%endif
%endif
Provides: kernel-xen-nongpl
@@ -64,6 +64,7 @@
Source41: built-in-where
Source42: make-symsets
Source43: find-provides
+Source45: module-renames
Source46: find-types
Source100: config.tar.bz2
Source101: patches.arch.tar.bz2
@@ -116,13 +117,12 @@
-Source Timestamp: 2006/05/09 12:09:06 UTC
-CVS Tag: HEAD
+Source Timestamp: 2006/05/16 09:32:32 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.16.tar.bz2 ]; then
- echo "The kernel-xen-2.6.16.14.nosrc.rpm package does not contain the" \
- "complete sources. Please install kernel-source-2.6.16.14.src.rpm."
+ echo "The kernel-xen-2.6.16.16.nosrc.rpm package does not contain the" \
+ "complete sources. Please install kernel-source-2.6.16.16.src.rpm."
exit 1
fi
symbols=$(
@@ -435,10 +435,15 @@
find $obj_dir \
-type d -printf '%%%%dir /%%p\n' -o \
-printf '/%%p\n'
+ echo '%%dir /etc/modprobe.d/'
+ echo '%%config /etc/modprobe.d/module-renames'
if [ -e .%_docdir/%name ]; then
echo "%%doc %_docdir/%name"
fi
) > %my_builddir/kernel.files
+# Set up some module aliases
+install -d -m 755 %buildroot/etc/modprobe.d/
+install -m 644 %_sourcedir/module-renames %buildroot/etc/modprobe.d/
%post -f post.sh
@@ -447,6 +452,129 @@
%files -f kernel.files
%changelog -n kernel-xen
+* Tue May 16 2006 - olh@suse.de
+- update patches.drivers/e1000-update
+ new driver version 7.0.33 (167550)
+ disable patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
+ disable patches.suse/e1000-D3-cold-wake.patch
+* Mon May 15 2006 - tonyj@suse.de
+- patches.suse/apparmor: Fixes for the following blocker/security bugs:
+ 158356 - kernel audit part emits newline to syslog
+ 174698 - VUL-0: Apparmor fails to prevent PTRACE_ME on confined parent
+ 165472 - VUL-0: kernel: if in _sd_perm_dentry() error occured while
+ translating dentry - printing dentry->d_inode->i_ino, but dentry
+ can be nagative (sic)
+ 164920 - VUL-0: kernel: sd_get_name doesn't check d_path return (IS_ERR)
+* Mon May 15 2006 - ak@suse.de
+- patches.arch/x86_64-hotadd-fixes: Fix memory hotadd heuristics
+ (160861).
+* Mon May 15 2006 - rw@suse.de
+- patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch:
+ Delete ACPI hook from pci_set_power_state(). (#162320)
+* Mon May 15 2006 - olh@suse.de
+- add patches.arch/ppc-iptables-slabdebug-alignment.patch
+ if CONFIG_NETFILTER is enabled, hide CONFIG_SLAB_DEBUG (155004)
+* Mon May 15 2006 - bk@suse.de
+- disabled yenta-fixup-parent-subordinate-carefully on gregs request
+* Mon May 15 2006 - rw@suse.de
+- patches.arch/ia64-validate-pci_mmap_legacy:
+ Add validation to legacy_mem mmap. (#166316)
+* Mon May 15 2006 - hare@suse.de
+- add patches.arch/s390-03-0{1,2,3,4}-october2005.diff
+ Include latest codedrop from IBM
+- remove patches.arch/s390-console-unblank.patch
+ Delete obsolete patch.
+* Mon May 15 2006 - olh@suse.de
+- add patches.fixes/add-slab_is_available-routine-for-boot-code.patch
+ add slab_is_available() routine for boot code (175093 - LTC23814)
+* Mon May 15 2006 - olh@suse.de
+- merge patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ into patches.arch/ppc-kdump-soft-reset.patch (159713 - LTC22581)
+* Mon May 15 2006 - okir@suse.de
+- Mark dcdbas, dell_rbu externally supported (#153134)
+* Sat May 13 2006 - olh@suse.de
+- update patches.arch/s390-raw-device
+ remove duplicate raw driver entry in menuconfig
+* Fri May 12 2006 - bk@suse.de
+- patches.fixes/yenta-fixup-parent-subordinate-carefully:
+ Cardbus cards hidden, fixup parent subordinate# carefully
+ (bugzilla.novell.com:146438, bugzilla.kernel.org:2944)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ restory sysfs type property (173880 - LTC23729)
+* Fri May 12 2006 - hare@suse.de
+- add patches.suse/lkcd-crash-with-invalid-DUMPDEV
+ Fix crash with invalid DUMPDEV (#164969)
+- update patches.suse/lkcd.patch
+ lkcd fails to register with mor than one dump device type
+ (#173333)
+* Fri May 12 2006 - hare@suse.de
+- add patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ FC transport will hang if rports are deleted during scan (173662)
+- add patches.fixes/scsi-fix-scan-offline.patch
+ add patches.fixes/scsi-add-2104-DU3-blist.patch
+ Fix crash on offlined devices during scanning (#173266 - LTC23037)
+* Fri May 12 2006 - olh@suse.de
+- add patches.arch/ppc-kdump-die-check-cpus_in_sr.patch
+ add patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
+ handle kdump via softreset (159713 - LTC22581)
+* Fri May 12 2006 - olh@suse.de
+- update patches.drivers/ibmvscsis.patch
+ remove trailing whitespaces
+ fix a small memory leak when the partition is on low memory
+ fix sleep from invalid context at mm/slab.c:2731 (173880 - LTC23729)
+* Thu May 11 2006 - agruen@suse.de
+- Enable CONFIG_MODVERSIONS for kernel-um.
+- patches.fixes/um-missing-exports.diff: Add the EXPORT_SYMBOLs
+ to arch/um/kernel/ksyms.c instead; arch/um/kernel/skas/* etc.
+ won't export symbols properly.
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Fix UP build.
+* Thu May 11 2006 - jbohac@suse.cz
+- patches.fixes/ipv6-inet6_csk_xmit-leak:
+ fixes a leak in inet6_csk_xmit
+* Thu May 11 2006 - hare@suse.de
+- patches.arch/s390-ccwgroup-remove-device.patch:
+ Allow for individual device removal (#172230 - LTC23575)
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/x86_64-nommu-warning: Don't warn for overflow in
+ nommu case when dma_mask is < 32bit (173326).
+- patches.drivers/fix-b44-checks: Check for bad dma address in
+ b44 1GB DMA workaround (173326).
+* Thu May 11 2006 - ak@suse.de
+- patches.arch/i386-prefer-tsc: i386: Prefer TSC as clock.
+- patches.fixes/acpi-blacklist-xw9300: Force pci=noacpi on HP
+ XW9300 (140340).
+* Thu May 11 2006 - olh@suse.de
+- update patches.suse/ppc-fno-ivopts.patch
+ use $(call cc-option,option) to fix compile with sles9 gcc
+* Thu May 11 2006 - olh@suse.de
+- add patches.fixes/compat_sys_nfsservctl-access_ok.patch
+ fix access_ok handling in compat_sys_nfsservctl (174531 - LTC23513)
+* Thu May 11 2006 - gregkh@suse.de
+- Update to 2.6.16.16:
+- fs/locks.c: Fix lease_init (CVE-2006-1860)
+* Wed May 10 2006 - jeffm@suse.de
+- patches.fixes/iscsi-parameter-size-oops.diff: [PATCH] iscsi:
+ invalid parameter size should return error, not BUG() (174404).
+* Wed May 10 2006 - agruen@suse.de
+- rpm/module-renames: Forward port from SLES9: add module aliases
+ for important modules that have been renamed/merged (173956).
+- misc/obsolete-module-aliases: New helper script for updating the
+ module alias table in the future.
+- rpm/Makefile.suse: Remove; obsolete since SLES9 SP3.
+* Wed May 10 2006 - hare@suse.de
+- Set default I/O scheduler to 'deadline' for S/390
+ (#168244 - LTC22393)
+* Tue May 09 2006 - agruen@suse.de
+- patches.rpmify/symtypes.diff: Convert spaces to <tab> in
+ Makefile so that the %%.symtypes rule works again.
+* Tue May 09 2006 - gregkh@suse.de
+- Update to 2.6.16.15:
+- SCTP: Allow spillover of receive buffer to avoid deadlock. (CVE-2006-2275)
+- SCTP: Fix panic's when receiving fragmented SCTP control chunks. (CVE-2006-2272)
+- SCTP: Fix state table entries for chunks received in CLOSED state. (CVE-2006-2271)
+- SCTP: Prevent possible infinite recursion with multiple bundled DATA. (CVE-2006-2274)
* Tue May 09 2006 - okir@suse.de
- patches.fixes/dm-get-mdptr-fix: [devicemapper] Fix an oops in
dm_get_mdptr (173151).
kernel-xenpae.spec: same change
++++++ build-source-timestamp ++++++
--- kernel-source/build-source-timestamp 2006-05-09 14:30:55.000000000 +0200
+++ kernel-source/build-source-timestamp 2006-05-16 13:03:48.000000000 +0200
@@ -1,2 +1 @@
-2006/05/09 12:09:06 UTC
-CVS Tag: HEAD
+2006/05/16 09:32:32 UTC
++++++ built-in-where ++++++
--- kernel-source/built-in-where 2006-05-09 14:31:00.000000000 +0200
+++ kernel-source/built-in-where 2006-05-16 13:03:59.000000000 +0200
@@ -3,7 +3,7 @@
# A lot of symbols are exported by the main kernel image. Find out
# more precisely which built-in.o file defines them, and fill in
# that information in Module.symvers. (The built-in.o files are
-# linked to gether form one or more object files in a directory.)
+# linked together from one or more object files in a directory.)
# We use this information to better group symbols by subsystems.
#
# Usage: built-in-where < Module.symvers
++++++ config.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/config/i386/um new/config/i386/um
--- old/config/i386/um 2006-04-10 11:43:57.000000000 +0200
+++ new/config/i386/um 2006-05-11 22:27:23.000000000 +0200
@@ -270,7 +270,7 @@
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
+CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/config/s390/default new/config/s390/default
--- old/config/s390/default 2006-04-20 16:59:33.000000000 +0200
+++ new/config/s390/default 2006-05-13 13:37:23.000000000 +0200
@@ -78,10 +78,10 @@
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_DEFAULT_IOSCHED="deadline"
#
# Base setup
@@ -588,10 +588,10 @@
#
# Character device drivers
#
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=4096
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=2048
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=4096
CONFIG_HANGCHECK_TIMER=m
#
@@ -931,11 +931,10 @@
CONFIG_NLS_UTF8=m
#
-# Instrumentation Support
+# Profiling support
#
CONFIG_PROFILING=y
CONFIG_OPROFILE=m
-CONFIG_STATISTICS=y
#
# Kernel hacking
@@ -1020,4 +1019,3 @@
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
-CONFIG_SGRB=y
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/config/s390/s390 new/config/s390/s390
--- old/config/s390/s390 2006-04-20 16:59:33.000000000 +0200
+++ new/config/s390/s390 2006-05-13 13:37:23.000000000 +0200
@@ -80,10 +80,10 @@
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_DEFAULT_IOSCHED="deadline"
#
# Base setup
@@ -584,10 +584,10 @@
#
# Character device drivers
#
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=4096
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=2048
+CONFIG_RAW_DRIVER=m
+CONFIG_MAX_RAW_DEVS=4096
CONFIG_HANGCHECK_TIMER=m
#
@@ -927,11 +927,10 @@
CONFIG_NLS_UTF8=m
#
-# Instrumentation Support
+# Profiling support
#
CONFIG_PROFILING=y
CONFIG_OPROFILE=m
-CONFIG_STATISTICS=y
#
# Kernel hacking
@@ -1016,4 +1015,3 @@
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
-CONFIG_SGRB=y
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/config/x86_64/um new/config/x86_64/um
--- old/config/x86_64/um 2006-04-10 11:43:58.000000000 +0200
+++ new/config/x86_64/um 2006-05-11 22:27:23.000000000 +0200
@@ -230,7 +230,7 @@
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
+CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
++++++ kabi.tar.bz2 ++++++
++++++ minmem ++++++
--- kernel-source/minmem 2006-05-09 19:18:47.000000000 +0200
+++ kernel-source/minmem 2006-05-16 13:04:11.000000000 +0200
@@ -1 +1 @@
-514000
+1048576
++++++ novell-kmp.tar.bz2 ++++++
++++++ patches.arch.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/i386-prefer-tsc new/patches.arch/i386-prefer-tsc
--- old/patches.arch/i386-prefer-tsc 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/i386-prefer-tsc 2006-05-11 20:11:31.000000000 +0200
@@ -0,0 +1,188 @@
+Subject: i386: Prefer TSC as clock
+From: ak@suse.de
+
+Some profiling on i386 shows that i386 wastes a lot of time
+in the PM timer when doing gettimeofday. At least on most non
+NUMA Intel systems this isn't needed because the TSC is synchronized
+and can be just used instead.
+
+This ports over the TSC preference logic from i386 to preferably
+use TSC over other timers.
+
+The APIC check code is a bit XAPIC centric - if there is a Intel system
+that doesn't use XAPIC/clustered mode but doesn't have synchronized
+TSC there might be a problem. Only candidate would be old Unisys
+ES6000 but I think even those should be ok?
+
+Cc: john stultz
+Cc: "Protasevich, Natalie"
+
+
+Signed-off-by: Andi Kleen
+
+Index: linux-2.6.16/arch/i386/kernel/apic.c
+===================================================================
+--- linux-2.6.16.orig/arch/i386/kernel/apic.c
++++ linux-2.6.16/arch/i386/kernel/apic.c
+@@ -1267,6 +1267,55 @@ int setup_profiling_timer(unsigned int m
+ }
+
+ /*
++ * oem_force_hpet_timer -- force HPET mode for some boxes.
++ *
++ * Thus far, the major user of this is IBM's Summit2 series:
++ *
++ * Clustered boxes may have unsynced TSC problems if they are
++ * multi-chassis. Use available data to take a good guess.
++ * If in doubt, go HPET.
++ */
++
++__cpuinit int oem_force_hpet_timer(void)
++{
++ int i, clusters, zeros;
++ unsigned id;
++ DECLARE_BITMAP(clustermap, NUM_APIC_CLUSTERS);
++
++ bitmap_zero(clustermap, NUM_APIC_CLUSTERS);
++
++ for (i = 0; i < NR_CPUS; i++) {
++ id = bios_cpu_apicid[i];
++ if (id != BAD_APICID)
++ __set_bit(APIC_CLUSTERID(id), clustermap);
++ }
++
++ /* Problem: Partially populated chassis may not have CPUs in some of
++ * the APIC clusters they have been allocated. Only present CPUs have
++ * bios_cpu_apicid entries, thus causing zeroes in the bitmap. Since
++ * clusters are allocated sequentially, count zeros only if they are
++ * bounded by ones.
++ */
++ clusters = 0;
++ zeros = 0;
++ for (i = 0; i < NUM_APIC_CLUSTERS; i++) {
++ if (test_bit(i, clustermap)) {
++ clusters += 1 + zeros;
++ zeros = 0;
++ } else
++ ++zeros;
++ }
++
++ /*
++ * If clusters > 2, then should be multi-chassis. Return 1 for HPET.
++ * Else return 0 to use TSC.
++ * May have to revisit this when multi-core + hyperthreaded CPUs come
++ * out, but AFAIK this will work even for them.
++ */
++ return (clusters > 2);
++}
++
++/*
+ * This interrupt should _never_ happen with our APIC/SMP architecture
+ */
+ fastcall void smp_spurious_interrupt(struct pt_regs *regs)
+Index: linux-2.6.16/include/asm-i386/hpet.h
+===================================================================
+--- linux-2.6.16.orig/include/asm-i386/hpet.h
++++ linux-2.6.16/include/asm-i386/hpet.h
+@@ -102,6 +102,8 @@ extern int is_hpet_enabled(void);
+ extern int is_hpet_capable(void);
+ extern int hpet_readl(unsigned long a);
+
++extern int oem_force_hpet_timer(void);
++
+ #ifdef CONFIG_HPET_EMULATE_RTC
+ extern int hpet_mask_rtc_irq_bit(unsigned long bit_mask);
+ extern int hpet_set_rtc_irq_bit(unsigned long bit_mask);
+Index: linux-2.6.16/arch/i386/kernel/timers/timer.c
+===================================================================
+--- linux-2.6.16.orig/arch/i386/kernel/timers/timer.c
++++ linux-2.6.16/arch/i386/kernel/timers/timer.c
+@@ -2,6 +2,7 @@
+ #include
+ #include
+ #include
++#include
+
+ #ifdef CONFIG_HPET_TIMER
+ /*
+@@ -46,6 +47,24 @@ void clock_fallback(void)
+ cur_timer = &timer_pit;
+ }
+
++/*
++ * Make an educated guess if the TSC is trustworthy and synchronized
++ * over all CPUs.
++ */
++__cpuinit int unsynchronized_tsc(void)
++{
++#ifdef CONFIG_SMP
++ if (oem_force_hpet_timer())
++ return 1;
++ /* Intel systems are normally all synchronized. Exceptions
++ are handled in the OEM check above. */
++ if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
++ return 0;
++#endif
++ /* Assume multi socket systems are not synchronized */
++ return num_present_cpus() > 1;
++}
++
+ /* iterates through the list of timers, returning the first
+ * one that initializes successfully.
+ */
+@@ -53,6 +72,12 @@ struct timer_opts* __init select_timer(v
+ {
+ int i = 0;
+
++ /* Prefer TSC if possible because it's fastest */
++ if (clock_override[0] == 0 && !unsynchronized_tsc()) {
++ if (timer_tsc_init.init(clock_override) == 0)
++ return timer_tsc_init.opts;
++ }
++
+ /* find most preferred working timer */
+ while (timers[i]) {
+ if (timers[i]->init)
+Index: linux-2.6.16/include/asm-i386/apicdef.h
+===================================================================
+--- linux-2.6.16.orig/include/asm-i386/apicdef.h
++++ linux-2.6.16/include/asm-i386/apicdef.h
+@@ -113,6 +113,14 @@
+
+ #define MAX_IO_APICS 64
+
++#define XAPIC_DEST_CPUS_SHIFT 4
++#define XAPIC_DEST_CPUS_MASK ((1u << XAPIC_DEST_CPUS_SHIFT) - 1)
++#define XAPIC_DEST_CLUSTER_MASK (XAPIC_DEST_CPUS_MASK << XAPIC_DEST_CPUS_SHIFT)
++#define APIC_CLUSTER(apicid) ((apicid) & XAPIC_DEST_CLUSTER_MASK)
++#define APIC_CLUSTERID(apicid) (APIC_CLUSTER(apicid) >> XAPIC_DEST_CPUS_SHIFT)
++#define APIC_CPUID(apicid) ((apicid) & XAPIC_DEST_CPUS_MASK)
++#define NUM_APIC_CLUSTERS ((BAD_APICID + 1) >> XAPIC_DEST_CPUS_SHIFT)
++
+ /*
+ * the local APIC register structure, memory mapped. Not terribly well
+ * tested, but we might eventually use this one in the future - the
+Index: linux-2.6.16/include/asm-i386/smp.h
+===================================================================
+--- linux-2.6.16.orig/include/asm-i386/smp.h
++++ linux-2.6.16/include/asm-i386/smp.h
+@@ -88,6 +88,7 @@ static __inline int logical_smp_processo
+ return GET_APIC_LOGICAL_ID(*(unsigned long *)(APIC_BASE+APIC_LDR));
+ }
+
++
+ #endif
+
+ extern int __cpu_disable(void);
+@@ -101,4 +102,11 @@ extern void __cpu_die(unsigned int cpu);
+ #define NO_PROC_ID 0xFF /* No processor magic marker */
+
+ #endif
++
++#ifndef __ASSEMBLY__
++
++extern u8 bios_cpu_apicid[];
++
++#endif
++
+ #endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ia64-validate-pci_mmap_legacy new/patches.arch/ia64-validate-pci_mmap_legacy
--- old/patches.arch/ia64-validate-pci_mmap_legacy 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ia64-validate-pci_mmap_legacy 2006-05-15 14:40:31.000000000 +0200
@@ -0,0 +1,39 @@
+From: Bjorn Helgaas
+Subject: Add validation to legacy_mem mmap
+Patch-mainline: No
+References: 166316
+
+Acked-by: rw@suse.de
+
+Index: linux-2.6.16-8/arch/ia64/pci/pci.c
+===================================================================
+--- linux-2.6.16-8.orig/arch/ia64/pci/pci.c 2006-04-13 14:55:45.000000000 -0600
++++ linux-2.6.16-8/arch/ia64/pci/pci.c 2006-04-14 10:14:13.000000000 -0600
+@@ -646,8 +646,17 @@
+ int
+ pci_mmap_legacy_page_range(struct pci_bus *bus, struct vm_area_struct *vma)
+ {
++ unsigned long size;
+ char *addr;
+
++ /*
++ * If we allow WB access to the region, we can't map it
++ * UC at the same time.
++ */
++ size = vma->vm_end - vma->vm_start;
++ if (valid_phys_addr_range(vma->vm_pgoff << PAGE_SHIFT, &size))
++ return -EINVAL;
++
+ addr = pci_get_legacy_mem(bus);
+ if (IS_ERR(addr))
+ return PTR_ERR(addr);
+@@ -657,7 +666,7 @@
+ vma->vm_flags |= (VM_SHM | VM_RESERVED | VM_IO);
+
+ if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
+- vma->vm_end - vma->vm_start, vma->vm_page_prot))
++ size, vma->vm_page_prot))
+ return -EAGAIN;
+
+ return 0;
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ppc-iptables-slabdebug-alignment.patch new/patches.arch/ppc-iptables-slabdebug-alignment.patch
--- old/patches.arch/ppc-iptables-slabdebug-alignment.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ppc-iptables-slabdebug-alignment.patch 2006-05-15 15:52:45.000000000 +0200
@@ -0,0 +1,30 @@
+Subject: hide CONFIG_DEBUG_SLAB in CONFIG_NETFILTER is enabled
+From: olh@suse.de
+References: 155004
+
+
+---
+ lib/Kconfig.debug | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+Index: linux-2.6.16/lib/Kconfig.debug
+===================================================================
+--- linux-2.6.16.orig/lib/Kconfig.debug
++++ linux-2.6.16/lib/Kconfig.debug
+@@ -77,9 +77,15 @@ config SCHEDSTATS
+ application, you can say N to avoid the very slight overhead
+ this adds.
+
++# There is an alignment bug with slab debugging, some iptable modules
++# will not work. As a result, SuSEfirewall will lock you out. Great.
++
++comment "Debug memory allocations can not work because netfilter/iptables support is enabled"
++ depends on PPC32 && NETFILTER
++
+ config DEBUG_SLAB
+ bool "Debug memory allocations"
+- depends on DEBUG_KERNEL && SLAB
++ depends on DEBUG_KERNEL && SLAB && (!PPC32 || (PPC32 && NETFILTER=n))
+ help
+ Say Y here to have the kernel do limited verification on memory
+ allocation as well as poisoning memory on free to catch use of freed
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch new/patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
--- old/patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch 2006-05-12 12:18:55.000000000 +0200
@@ -0,0 +1,78 @@
+Subject: powerpc: Fix incorrect might_sleep in __get_user/__put_user on kernel addresses
+From: Paul Mackerras
+References: 159713 - LTC22581
+
+We have a case where __get_user and __put_user can validly be used
+on kernel addresses in interrupt context - namely, the alignment
+exception handler, as our get/put_unaligned just do a single access
+and rely on the alignment exception handler to fix things up in the
+rare cases where the cpu can't handle it in hardware. Thus we can
+get alignment exceptions in the network stack at interrupt level.
+The alignment exception handler does a __get_user to read the
+instruction and blows up in might_sleep().
+
+Since a __get_user on a kernel address won't actually ever sleep,
+this makes the might_sleep conditional on the address being less
+than PAGE_OFFSET.
+
+Signed-off-by: Paul Mackerras
+Signed-off-by: Olaf Hering
+
+---
+ include/asm-powerpc/uaccess.h | 19 +++++++++++++------
+ 1 file changed, 13 insertions(+), 6 deletions(-)
+
+Index: linux-2.6.16/include/asm-powerpc/uaccess.h
+===================================================================
+--- linux-2.6.16.orig/include/asm-powerpc/uaccess.h
++++ linux-2.6.16/include/asm-powerpc/uaccess.h
+@@ -7,6 +7,7 @@
+ #include
+ #include
+ #include
++#include
+
+ #define VERIFY_READ 0
+ #define VERIFY_WRITE 1
+@@ -179,9 +180,11 @@ do { \
+ #define __put_user_nocheck(x, ptr, size) \
+ ({ \
+ long __pu_err; \
+- might_sleep(); \
++ __typeof__(*(ptr)) __user *__pu_addr = (ptr); \
++ if (!is_kernel_addr((unsigned long)__pu_addr)) \
++ might_sleep(); \
+ __chk_user_ptr(ptr); \
+- __put_user_size((x), (ptr), (size), __pu_err); \
++ __put_user_size((x), __pu_addr, (size), __pu_err); \
+ __pu_err; \
+ })
+
+@@ -258,9 +261,11 @@ do { \
+ ({ \
+ long __gu_err; \
+ unsigned long __gu_val; \
++ const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
+ __chk_user_ptr(ptr); \
+- might_sleep(); \
+- __get_user_size(__gu_val, (ptr), (size), __gu_err); \
++ if (!is_kernel_addr((unsigned long)__gu_addr)) \
++ might_sleep(); \
++ __get_user_size(__gu_val, __gu_addr, (size), __gu_err); \
+ (x) = (__typeof__(*(ptr)))__gu_val; \
+ __gu_err; \
+ })
+@@ -270,9 +275,11 @@ do { \
+ ({ \
+ long __gu_err; \
+ long long __gu_val; \
++ const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
+ __chk_user_ptr(ptr); \
+- might_sleep(); \
+- __get_user_size(__gu_val, (ptr), (size), __gu_err); \
++ if (!is_kernel_addr((unsigned long)__gu_addr)) \
++ might_sleep(); \
++ __get_user_size(__gu_val, __gu_addr, (size), __gu_err); \
+ (x) = (__typeof__(*(ptr)))__gu_val; \
+ __gu_err; \
+ })
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/ppc-kdump-soft-reset.patch new/patches.arch/ppc-kdump-soft-reset.patch
--- old/patches.arch/ppc-kdump-soft-reset.patch 2006-04-26 13:40:39.000000000 +0200
+++ new/patches.arch/ppc-kdump-soft-reset.patch 2006-05-15 11:02:20.000000000 +0200
@@ -6,7 +6,6 @@
Bug 149545 - LTC21344-kdump boot panic when a CPU hangs in the first kernel
Bug 152931 - LTC21955 - kdump: crash in calibrating delay loop on power5
Bug 158238 - LTC22382-Sometimes kdump boot hung when invoked using soft-reset
-eventually:
Bug 159713 - LTC22581 - kdump via reset -sft fails on JS20 with bad kernel stack pointer
@@ -34,15 +33,19 @@
This case can be treated as complete system hang and asks the user to
activate soft-reset if all secondary CPUs are not stopped.
+ - unless panic_on_oops is set it is possible for none of the cpus to
+ become the crashing cpu when initiating a dump with a soft-reset.
+ Thus the boot of the kdump kernel is never started.
+
Signed-off-by: Haren Myneni
Signed-off-by: Olaf Hering
---
arch/powerpc/kernel/crash.c | 149 +++++++++++++++++++++++++++++++++++---------
arch/powerpc/kernel/traps.c | 26 +++----
- include/asm-powerpc/kexec.h | 10 +-
+ include/asm-powerpc/kexec.h | 18 ++++-
include/linux/kexec.h | 1
- 4 files changed, 138 insertions(+), 48 deletions(-)
+ 4 files changed, 146 insertions(+), 48 deletions(-)
Index: linux-2.6.16-olh-kdump/arch/powerpc/kernel/crash.c
===================================================================
@@ -312,7 +315,7 @@
- if (!crash_dump_start && kexec_should_crash(current)) {
- crash_dump_start = 1;
- spin_unlock_irq(&die_lock);
-+ if (kexec_should_crash(current))
++ if (kexec_should_crash(current) || kexec_sr_activated(smp_processor_id()))
crash_kexec(regs);
- /* NOTREACHED */
- }
@@ -354,15 +357,19 @@
#ifdef __powerpc64__
/*
* This function is responsible for capturing register states if coming
-@@ -114,6 +113,7 @@ extern void kexec_smp_wait(void); /* get
+@@ -114,6 +113,11 @@ extern void kexec_smp_wait(void); /* get
extern void __init kexec_setup(void);
extern int crashing_cpu;
extern void crash_send_ipi(void (*crash_ipi_callback)(struct pt_regs *));
+extern cpumask_t cpus_in_sr;
++static inline int kexec_sr_activated(int cpu)
++{
++ return cpu_isset(cpu,cpus_in_sr);
++}
#endif /* __powerpc64 __ */
struct kimage;
-@@ -123,8 +123,10 @@ extern int default_machine_kexec_prepare
+@@ -123,8 +127,14 @@ extern int default_machine_kexec_prepare
extern void default_machine_crash_shutdown(struct pt_regs *regs);
extern void machine_kexec_simple(struct kimage *image);
@@ -371,6 +378,10 @@
+extern void crash_kexec_secondary(struct pt_regs *regs);
+#else
+static inline void crash_kexec_secondary(struct pt_regs *regs) { }
++static inline int kexec_sr_activated(int cpu)
++{
++ return 0;
++}
#endif /* CONFIG_KEXEC */
+#endif /* ! __ASSEMBLY__ */
#endif /* __KERNEL__ */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-03-01-october2005.diff new/patches.arch/s390-03-01-october2005.diff
--- old/patches.arch/s390-03-01-october2005.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-03-01-october2005.diff 2006-05-15 11:11:57.000000000 +0200
@@ -0,0 +1,35 @@
+From: Gerald Schaefer
+Subject: IBM Codestream linux-2.6.16 october2005, patch 03-01
+
+ Description: kernel: too many IPD machine checks allowed.
+ Symptom: CPU check stop in case of multiple IPD machine checks.
+ Problem: MAX_IPD_TIME is by a factor of ten too small. This means that ten
+ times more instruction processing damage machine checks would be
+ allowed in the intended time frame. This could result in a cpu
+ check stop of a physical cpu.
+ Solution: Fix value of MAX_IPD_TIME.
+ Problem-ID: -
+ Archs: s390-31, s390-64
+
+Acked-by: Hannes Reinecke
+
+--- linux-2.5/drivers/s390/s390mach.c 11 Apr 2006 10:41:43 -0000 1.35.2.1
++++ linux-2.5/drivers/s390/s390mach.c 29 Apr 2006 09:46:36 -0000 1.35.2.2
+@@ -13,6 +13,7 @@
+ #include
+ #include
+ #include
++#include
+
+ #include
+
+@@ -363,7 +364,7 @@
+ }
+
+ #define MAX_IPD_COUNT 29
+-#define MAX_IPD_TIME (5 * 60 * 100 * 1000) /* 5 minutes */
++#define MAX_IPD_TIME (5 * 60 * USEC_PER_SEC) /* 5 minutes */
+
+ /*
+ * machine check handler.
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-03-02-october2005.diff new/patches.arch/s390-03-02-october2005.diff
--- old/patches.arch/s390-03-02-october2005.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-03-02-october2005.diff 2006-05-15 11:11:57.000000000 +0200
@@ -0,0 +1,601 @@
+From: Gerald Schaefer
+Subject: IBM Codestream linux-2.6.16 october2005, patch 03-02
+
+
+ Description: LCS recovery implemented. Driven when requested in recover
+ attribute of LCS device, or by LGW startup cmd.
+ Symptom: Device not operational after cable pull/plug-in.
+ Kernel panic using cards of type QD8F.
+ Problem: Stoplan cmd resp. delete multicast addr cmd not proper recognized
+ by LCS card when high traffic running.
+ Channel/device error checks missing in lcs_irq.
+ Solution: Schedule recovery when cable plug-in. Additional offer LCS device
+ recover attribute for manual device recovery.
+ Problem-ID: 17213
+ Archs: s390-31, s390-64
+
+Acked-by: Hannes Reinecke
+
+--- linux-2.5/drivers/s390/net/lcs.c 21 Mar 2006 19:13:51 -0000 1.104.2.2
++++ linux-2.5/drivers/s390/net/lcs.c 5 May 2006 09:48:08 -0000 1.104.2.3
+@@ -55,7 +55,7 @@
+ #endif
+
+ /**
+- * initialization string for output
++ * initialization string for output
+ */
+
+ static char version[] __initdata = "LCS driver";
+@@ -68,6 +68,7 @@
+ static void lcs_start_kernel_thread(struct lcs_card *card);
+ static void lcs_get_frames_cb(struct lcs_channel *, struct lcs_buffer *);
+ static int lcs_send_delipm(struct lcs_card *, struct lcs_ipm_list *);
++static int lcs_recovery(void *ptr);
+
+ /**
+ * Debug Facility Stuff
+@@ -431,12 +432,6 @@
+ card->tx_buffer = NULL;
+ card->tx_emitted = 0;
+
+- /* Initialize kernel thread task used for LGW commands. */
+- INIT_WORK(&card->kernel_thread_starter,
+- (void *)lcs_start_kernel_thread,card);
+- card->thread_start_mask = 0;
+- card->thread_allowed_mask = 0;
+- card->thread_running_mask = 0;
+ init_waitqueue_head(&card->wait_q);
+ spin_lock_init(&card->lock);
+ spin_lock_init(&card->ipm_lock);
+@@ -1153,8 +1148,6 @@
+ list_add_tail(&ipm->list, &card->ipm_list);
+ }
+ spin_unlock_irqrestore(&card->ipm_lock, flags);
+- if (card->state == DEV_STATE_UP)
+- netif_wake_queue(card->dev);
+ }
+
+ /**
+@@ -1237,17 +1230,17 @@
+ if (ipm != NULL)
+ continue; /* Address already in list. */
+ ipm = (struct lcs_ipm_list *)
+- kmalloc(sizeof(struct lcs_ipm_list), GFP_ATOMIC);
++ kzalloc(sizeof(struct lcs_ipm_list), GFP_ATOMIC);
+ if (ipm == NULL) {
+ PRINT_INFO("Not enough memory to add "
+ "new multicast entry!\n");
+ break;
+ }
+- memset(ipm, 0, sizeof(struct lcs_ipm_list));
+ memcpy(&ipm->ipm.mac_addr, buf, LCS_MAC_LENGTH);
+ ipm->ipm.ip_addr = im4->multiaddr;
+ ipm->ipm_state = LCS_IPM_STATE_SET_REQUIRED;
+ spin_lock_irqsave(&card->ipm_lock, flags);
++ LCS_DBF_HEX(2,trace,&ipm->ipm.ip_addr,4);
+ list_add(&ipm->list, &card->ipm_list);
+ spin_unlock_irqrestore(&card->ipm_lock, flags);
+ }
+@@ -1275,7 +1268,15 @@
+ read_unlock(&in4_dev->mc_list_lock);
+ in_dev_put(in4_dev);
+
++ netif_carrier_off(card->dev);
++ netif_tx_disable(card->dev);
++ wait_event(card->write.wait_q,
++ (card->write.state != CH_STATE_RUNNING));
+ lcs_fix_multicast_list(card);
++ if (card->state == DEV_STATE_UP) {
++ netif_carrier_on(card->dev);
++ netif_wake_queue(card->dev);
++ }
+ out:
+ lcs_clear_thread_running_bit(card, LCS_SET_MC_THREAD);
+ return 0;
+@@ -1324,6 +1325,53 @@
+ return PTR_ERR(irb);
+ }
+
++static int
++lcs_get_problem(struct ccw_device *cdev, struct irb *irb)
++{
++ int dstat, cstat;
++ char *sense;
++
++ sense = (char *) irb->ecw;
++ cstat = irb->scsw.cstat;
++ dstat = irb->scsw.dstat;
++
++ if (cstat & (SCHN_STAT_CHN_CTRL_CHK | SCHN_STAT_INTF_CTRL_CHK |
++ SCHN_STAT_CHN_DATA_CHK | SCHN_STAT_CHAIN_CHECK |
++ SCHN_STAT_PROT_CHECK | SCHN_STAT_PROG_CHECK)) {
++ LCS_DBF_TEXT(2, trace, "CGENCHK");
++ return 1;
++ }
++ if (dstat & DEV_STAT_UNIT_CHECK) {
++ if (sense[LCS_SENSE_BYTE_1] &
++ LCS_SENSE_RESETTING_EVENT) {
++ LCS_DBF_TEXT(2, trace, "REVIND");
++ return 1;
++ }
++ if (sense[LCS_SENSE_BYTE_0] &
++ LCS_SENSE_CMD_REJECT) {
++ LCS_DBF_TEXT(2, trace, "CMDREJ");
++ return 0;
++ }
++ if ((!sense[LCS_SENSE_BYTE_0]) &&
++ (!sense[LCS_SENSE_BYTE_1]) &&
++ (!sense[LCS_SENSE_BYTE_2]) &&
++ (!sense[LCS_SENSE_BYTE_3])) {
++ LCS_DBF_TEXT(2, trace, "ZEROSEN");
++ return 0;
++ }
++ LCS_DBF_TEXT(2, trace, "DGENCHK");
++ return 1;
++ }
++ return 0;
++}
++
++void
++lcs_schedule_recovery(struct lcs_card *card)
++{
++ LCS_DBF_TEXT(2, trace, "startrec");
++ if (!lcs_set_thread_start_bit(card, LCS_RECOVERY_THREAD))
++ schedule_work(&card->kernel_thread_starter);
++}
+
+ /**
+ * IRQ Handler for LCS channels
+@@ -1333,7 +1381,8 @@
+ {
+ struct lcs_card *card;
+ struct lcs_channel *channel;
+- int index;
++ int rc, index;
++ int cstat, dstat;
+
+ if (lcs_check_irb_error(cdev, irb))
+ return;
+@@ -1344,17 +1393,30 @@
+ else
+ channel = &card->write;
+
++ cstat = irb->scsw.cstat;
++ dstat = irb->scsw.dstat;
+ LCS_DBF_TEXT_(5, trace, "Rint%s",cdev->dev.bus_id);
+ LCS_DBF_TEXT_(5, trace, "%4x%4x",irb->scsw.cstat, irb->scsw.dstat);
+ LCS_DBF_TEXT_(5, trace, "%4x%4x",irb->scsw.fctl, irb->scsw.actl);
+
++ /* Check for channel and device errors presented */
++ rc = lcs_get_problem(cdev, irb);
++ if (rc || (dstat & DEV_STAT_UNIT_EXCEP)) {
++ PRINT_WARN("check on device %s, dstat=0x%X, cstat=0x%X \n",
++ cdev->dev.bus_id, dstat, cstat);
++ if (rc) {
++ lcs_schedule_recovery(card);
++ wake_up(&card->wait_q);
++ return;
++ }
++ }
+ /* How far in the ccw chain have we processed? */
+ if ((channel->state != CH_STATE_INIT) &&
+ (irb->scsw.fctl & SCSW_FCTL_START_FUNC)) {
+ index = (struct ccw1 *) __va((addr_t) irb->scsw.cpa)
+ - channel->ccws;
+ if ((irb->scsw.actl & SCSW_ACTL_SUSPENDED) ||
+- (irb->scsw.cstat | SCHN_STAT_PCI))
++ (irb->scsw.cstat & SCHN_STAT_PCI))
+ /* Bloody io subsystem tells us lies about cpa... */
+ index = (index - 1) & (LCS_NUM_BUFFS - 1);
+ while (channel->io_idx != index) {
+@@ -1373,7 +1435,6 @@
+ else if (irb->scsw.actl & SCSW_ACTL_SUSPENDED)
+ /* CCW execution stopped on a suspend bit. */
+ channel->state = CH_STATE_SUSPENDED;
+-
+ if (irb->scsw.fctl & SCSW_FCTL_HALT_FUNC) {
+ if (irb->scsw.cc != 0) {
+ ccw_device_halt(channel->ccwdev, (addr_t) channel);
+@@ -1382,7 +1443,6 @@
+ /* The channel has been stopped by halt_IO. */
+ channel->state = CH_STATE_HALTED;
+ }
+-
+ if (irb->scsw.fctl & SCSW_FCTL_CLEAR_FUNC) {
+ channel->state = CH_STATE_CLEARED;
+ }
+@@ -1458,7 +1518,7 @@
+ lcs_release_buffer(channel, buffer);
+ card = (struct lcs_card *)
+ ((char *) channel - offsetof(struct lcs_card, write));
+- if (netif_queue_stopped(card->dev))
++ if (netif_queue_stopped(card->dev) && netif_carrier_ok(card->dev))
+ netif_wake_queue(card->dev);
+ spin_lock(&card->lock);
+ card->tx_emitted--;
+@@ -1494,6 +1554,10 @@
+ card->stats.tx_carrier_errors++;
+ return 0;
+ }
++ if (skb->protocol == htons(ETH_P_IPV6)) {
++ dev_kfree_skb(skb);
++ return 0;
++ }
+ netif_stop_queue(card->dev);
+ spin_lock(&card->lock);
+ if (card->tx_buffer != NULL &&
+@@ -1639,30 +1703,6 @@
+ }
+
+ /**
+- * reset card
+- */
+-static int
+-lcs_resetcard(struct lcs_card *card)
+-{
+- int retries;
+-
+- LCS_DBF_TEXT(2, trace, "rescard");
+- for (retries = 0; retries < 10; retries++) {
+- if (lcs_detect(card) == 0) {
+- netif_wake_queue(card->dev);
+- card->state = DEV_STATE_UP;
+- PRINT_INFO("LCS device %s successfully restarted!\n",
+- card->dev->name);
+- return 0;
+- }
+- msleep(3000);
+- }
+- PRINT_ERR("Error in Reseting LCS card!\n");
+- return -EIO;
+-}
+-
+-
+-/**
+ * LCS Stop card
+ */
+ static int
+@@ -1686,126 +1726,18 @@
+ }
+
+ /**
+- * LGW initiated commands
+- */
+-static int
+-lcs_lgw_startlan_thread(void *data)
+-{
+- struct lcs_card *card;
+-
+- card = (struct lcs_card *) data;
+- daemonize("lgwstpln");
+-
+- if (!lcs_do_run_thread(card, LCS_STARTLAN_THREAD))
+- return 0;
+- LCS_DBF_TEXT(4, trace, "lgwstpln");
+- if (card->dev)
+- netif_stop_queue(card->dev);
+- if (lcs_startlan(card) == 0) {
+- netif_wake_queue(card->dev);
+- card->state = DEV_STATE_UP;
+- PRINT_INFO("LCS Startlan for device %s succeeded!\n",
+- card->dev->name);
+-
+- } else
+- PRINT_ERR("LCS Startlan for device %s failed!\n",
+- card->dev->name);
+- lcs_clear_thread_running_bit(card, LCS_STARTLAN_THREAD);
+- return 0;
+-}
+-
+-/**
+- * Send startup command initiated by Lan Gateway
+- */
+-static int
+-lcs_lgw_startup_thread(void *data)
+-{
+- int rc;
+-
+- struct lcs_card *card;
+-
+- card = (struct lcs_card *) data;
+- daemonize("lgwstaln");
+-
+- if (!lcs_do_run_thread(card, LCS_STARTUP_THREAD))
+- return 0;
+- LCS_DBF_TEXT(4, trace, "lgwstaln");
+- if (card->dev)
+- netif_stop_queue(card->dev);
+- rc = lcs_send_startup(card, LCS_INITIATOR_LGW);
+- if (rc != 0) {
+- PRINT_ERR("Startup for LCS device %s initiated " \
+- "by LGW failed!\nReseting card ...\n",
+- card->dev->name);
+- /* do a card reset */
+- rc = lcs_resetcard(card);
+- if (rc == 0)
+- goto Done;
+- }
+- rc = lcs_startlan(card);
+- if (rc == 0) {
+- netif_wake_queue(card->dev);
+- card->state = DEV_STATE_UP;
+- }
+-Done:
+- if (rc == 0)
+- PRINT_INFO("LCS Startup for device %s succeeded!\n",
+- card->dev->name);
+- else
+- PRINT_ERR("LCS Startup for device %s failed!\n",
+- card->dev->name);
+- lcs_clear_thread_running_bit(card, LCS_STARTUP_THREAD);
+- return 0;
+-}
+-
+-
+-/**
+- * send stoplan command initiated by Lan Gateway
+- */
+-static int
+-lcs_lgw_stoplan_thread(void *data)
+-{
+- struct lcs_card *card;
+- int rc;
+-
+- card = (struct lcs_card *) data;
+- daemonize("lgwstop");
+-
+- if (!lcs_do_run_thread(card, LCS_STOPLAN_THREAD))
+- return 0;
+- LCS_DBF_TEXT(4, trace, "lgwstop");
+- if (card->dev)
+- netif_stop_queue(card->dev);
+- if (lcs_send_stoplan(card, LCS_INITIATOR_LGW) == 0)
+- PRINT_INFO("Stoplan for %s initiated by LGW succeeded!\n",
+- card->dev->name);
+- else
+- PRINT_ERR("Stoplan %s initiated by LGW failed!\n",
+- card->dev->name);
+- /*Try to reset the card, stop it on failure */
+- rc = lcs_resetcard(card);
+- if (rc != 0)
+- rc = lcs_stopcard(card);
+- lcs_clear_thread_running_bit(card, LCS_STOPLAN_THREAD);
+- return rc;
+-}
+-
+-/**
+ * Kernel Thread helper functions for LGW initiated commands
+ */
+ static void
+ lcs_start_kernel_thread(struct lcs_card *card)
+ {
+ LCS_DBF_TEXT(5, trace, "krnthrd");
+- if (lcs_do_start_thread(card, LCS_STARTUP_THREAD))
+- kernel_thread(lcs_lgw_startup_thread, (void *) card, SIGCHLD);
+- if (lcs_do_start_thread(card, LCS_STARTLAN_THREAD))
+- kernel_thread(lcs_lgw_startlan_thread, (void *) card, SIGCHLD);
+- if (lcs_do_start_thread(card, LCS_STOPLAN_THREAD))
+- kernel_thread(lcs_lgw_stoplan_thread, (void *) card, SIGCHLD);
++ if (lcs_do_start_thread(card, LCS_RECOVERY_THREAD))
++ kernel_thread(lcs_recovery, (void *) card, SIGCHLD);
+ #ifdef CONFIG_IP_MULTICAST
+ if (lcs_do_start_thread(card, LCS_SET_MC_THREAD))
+- kernel_thread(lcs_register_mc_addresses, (void *) card, SIGCHLD);
++ kernel_thread(lcs_register_mc_addresses,
++ (void *) card, SIGCHLD);
+ #endif
+ }
+
+@@ -1819,19 +1751,14 @@
+ if (cmd->initiator == LCS_INITIATOR_LGW) {
+ switch(cmd->cmd_code) {
+ case LCS_CMD_STARTUP:
+- if (!lcs_set_thread_start_bit(card,
+- LCS_STARTUP_THREAD))
+- schedule_work(&card->kernel_thread_starter);
+- break;
+ case LCS_CMD_STARTLAN:
+- if (!lcs_set_thread_start_bit(card,
+- LCS_STARTLAN_THREAD))
+- schedule_work(&card->kernel_thread_starter);
++ lcs_schedule_recovery(card);
+ break;
+ case LCS_CMD_STOPLAN:
+- if (!lcs_set_thread_start_bit(card,
+- LCS_STOPLAN_THREAD))
+- schedule_work(&card->kernel_thread_starter);
++ PRINT_WARN("Stoplan for %s initiated by LGW.\n",
++ card->dev->name);
++ if (card->dev)
++ netif_carrier_off(card->dev);
+ break;
+ default:
+ PRINT_INFO("UNRECOGNIZED LGW COMMAND\n");
+@@ -1947,8 +1874,11 @@
+
+ LCS_DBF_TEXT(2, trace, "stopdev");
+ card = (struct lcs_card *) dev->priv;
+- netif_stop_queue(dev);
++ netif_carrier_off(dev);
++ netif_tx_disable(dev);
+ dev->flags &= ~IFF_UP;
++ wait_event(card->write.wait_q,
++ (card->write.state != CH_STATE_RUNNING));
+ rc = lcs_stopcard(card);
+ if (rc)
+ PRINT_ERR("Try it again!\n ");
+@@ -1974,6 +1904,7 @@
+
+ } else {
+ dev->flags |= IFF_UP;
++ netif_carrier_on(dev);
+ netif_wake_queue(dev);
+ card->state = DEV_STATE_UP;
+ }
+@@ -2065,10 +1996,31 @@
+
+ DEVICE_ATTR(lancmd_timeout, 0644, lcs_timeout_show, lcs_timeout_store);
+
++static ssize_t
++lcs_dev_recover_store(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct lcs_card *card = dev->driver_data;
++ char *tmp;
++ int i;
++
++ if (!card)
++ return -EINVAL;
++ if (card->state != DEV_STATE_UP)
++ return -EPERM;
++ i = simple_strtoul(buf, &tmp, 16);
++ if (i == 1)
++ lcs_schedule_recovery(card);
++ return count;
++}
++
++static DEVICE_ATTR(recover, 0200, NULL, lcs_dev_recover_store);
++
+ static struct attribute * lcs_attrs[] = {
+ &dev_attr_portno.attr,
+ &dev_attr_type.attr,
+ &dev_attr_lancmd_timeout.attr,
++ &dev_attr_recover.attr,
+ NULL,
+ };
+
+@@ -2105,6 +2057,12 @@
+ ccwgdev->dev.driver_data = card;
+ ccwgdev->cdev[0]->handler = lcs_irq;
+ ccwgdev->cdev[1]->handler = lcs_irq;
++ card->gdev = ccwgdev;
++ INIT_WORK(&card->kernel_thread_starter,
++ (void *) lcs_start_kernel_thread, card);
++ card->thread_start_mask = 0;
++ card->thread_allowed_mask = 0;
++ card->thread_running_mask = 0;
+ return 0;
+ }
+
+@@ -2208,6 +2166,7 @@
+ if (recover_state == DEV_STATE_RECOVER) {
+ lcs_set_multicast_list(card->dev);
+ card->dev->flags |= IFF_UP;
++ netif_carrier_on(card->dev);
+ netif_wake_queue(card->dev);
+ card->state = DEV_STATE_UP;
+ } else {
+@@ -2237,7 +2196,7 @@
+ * lcs_shutdown_device, called when setting the group device offline.
+ */
+ static int
+-lcs_shutdown_device(struct ccwgroup_device *ccwgdev)
++__lcs_shutdown_device(struct ccwgroup_device *ccwgdev, int recovery_mode)
+ {
+ struct lcs_card *card;
+ enum lcs_dev_states recover_state;
+@@ -2247,9 +2206,11 @@
+ card = (struct lcs_card *)ccwgdev->dev.driver_data;
+ if (!card)
+ return -ENODEV;
+- lcs_set_allowed_threads(card, 0);
+- if (lcs_wait_for_threads(card, LCS_SET_MC_THREAD))
+- return -ERESTARTSYS;
++ if (recovery_mode == 0) {
++ lcs_set_allowed_threads(card, 0);
++ if (lcs_wait_for_threads(card, LCS_SET_MC_THREAD))
++ return -ERESTARTSYS;
++ }
+ LCS_DBF_HEX(3, setup, &card, sizeof(void*));
+ recover_state = card->state;
+
+@@ -2264,6 +2225,43 @@
+ return 0;
+ }
+
++static int
++lcs_shutdown_device(struct ccwgroup_device *ccwgdev)
++{
++ return __lcs_shutdown_device(ccwgdev, 0);
++}
++
++/**
++ * drive lcs recovery after startup and startlan initiated by Lan Gateway
++ */
++static int
++lcs_recovery(void *ptr)
++{
++ struct lcs_card *card;
++ struct ccwgroup_device *gdev;
++ int rc;
++
++ card = (struct lcs_card *) ptr;
++ daemonize("lcs_recover");
++
++ LCS_DBF_TEXT(4, trace, "recover1");
++ if (!lcs_do_run_thread(card, LCS_RECOVERY_THREAD))
++ return 0;
++ LCS_DBF_TEXT(4, trace, "recover2");
++ gdev = card->gdev;
++ PRINT_WARN("Recovery of device %s started...\n", gdev->dev.bus_id);
++ rc = __lcs_shutdown_device(gdev, 1);
++ rc = lcs_new_device(gdev);
++ if (!rc)
++ PRINT_INFO("Device %s successfully recovered!\n",
++ card->dev->name);
++ else
++ PRINT_INFO("Device %s could not be recovered!\n",
++ card->dev->name);
++ lcs_clear_thread_running_bit(card, LCS_RECOVERY_THREAD);
++ return 0;
++}
++
+ /**
+ * lcs_remove_device, free buffers and card
+ */
+
+--- linux-2.5/drivers/s390/net/lcs.h 20 Jan 2006 15:16:19 -0000 1.21
++++ linux-2.5/drivers/s390/net/lcs.h 5 May 2006 09:48:08 -0000 1.21.2.1
+@@ -73,13 +73,17 @@
+ /**
+ * LCS sense byte definitions
+ */
++#define LCS_SENSE_BYTE_0 0
++#define LCS_SENSE_BYTE_1 1
++#define LCS_SENSE_BYTE_2 2
++#define LCS_SENSE_BYTE_3 3
+ #define LCS_SENSE_INTERFACE_DISCONNECT 0x01
+ #define LCS_SENSE_EQUIPMENT_CHECK 0x10
+ #define LCS_SENSE_BUS_OUT_CHECK 0x20
+ #define LCS_SENSE_INTERVENTION_REQUIRED 0x40
+ #define LCS_SENSE_CMD_REJECT 0x80
+-#define LCS_SENSE_RESETTING_EVENT 0x0080
+-#define LCS_SENSE_DEVICE_ONLINE 0x0020
++#define LCS_SENSE_RESETTING_EVENT 0x80
++#define LCS_SENSE_DEVICE_ONLINE 0x20
+
+ /**
+ * LCS packet type definitions
+@@ -152,10 +156,9 @@
+
+ enum lcs_threads {
+ LCS_SET_MC_THREAD = 1,
+- LCS_STARTLAN_THREAD = 2,
+- LCS_STOPLAN_THREAD = 4,
+- LCS_STARTUP_THREAD = 8,
++ LCS_RECOVERY_THREAD = 2,
+ };
++
+ /**
+ * LCS struct declarations
+ */
+@@ -286,6 +289,7 @@
+ struct net_device_stats stats;
+ unsigned short (*lan_type_trans)(struct sk_buff *skb,
+ struct net_device *dev);
++ struct ccwgroup_device *gdev;
+ struct lcs_channel read;
+ struct lcs_channel write;
+ struct lcs_buffer *tx_buffer;
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-03-03-october2005.diff new/patches.arch/s390-03-03-october2005.diff
--- old/patches.arch/s390-03-03-october2005.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-03-03-october2005.diff 2006-05-15 11:11:57.000000000 +0200
@@ -0,0 +1,61 @@
+From: Gerald Schaefer
+Subject: IBM Codestream linux-2.6.16 october2005, patch 03-03
+References: 161997 - LTC22671
+
+ Description: kernel: software watchdog crashes.
+ Symptom: If the software watchdog timer expires the machine panics
+ instead of doing a restart.
+ Problem: The software watchdog calls machine_restart from its timer
+ interrupt function. machine_restart calls console_unblank
+ which checks for interrupt context and triggers a BUG()
+ if the code is in interrupt context.
+ Solution: Avoid the call to console_unblank in machine_restart if
+ the function has been called in interrupt context and
+ oops_in_progress is not set.
+ Problem-ID: 22671
+ Archs: s390-31, s390-64
+
+Acked-by: Andi Kleen
+Acked-by: Hannes Reinecke
+
+--- linux-2.5/arch/s390/kernel/setup.c 20 Mar 2006 15:56:34 -0000 1.71
++++ linux-2.5/arch/s390/kernel/setup.c 5 May 2006 16:53:33 -0000 1.71.2.1
+@@ -297,19 +297,34 @@
+
+ void machine_restart(char *command)
+ {
+- console_unblank();
++ if (!in_interrupt() || oops_in_progress)
++ /*
++ * Only unblank the console if we are called in enabled
++ * context or a bust_spinlocks cleared the way for us.
++ */
++ console_unblank();
+ _machine_restart(command);
+ }
+
+ void machine_halt(void)
+ {
+- console_unblank();
++ if (!in_interrupt() || oops_in_progress)
++ /*
++ * Only unblank the console if we are called in enabled
++ * context or a bust_spinlocks cleared the way for us.
++ */
++ console_unblank();
+ _machine_halt();
+ }
+
+ void machine_power_off(void)
+ {
+- console_unblank();
++ if (!in_interrupt() || oops_in_progress)
++ /*
++ * Only unblank the console if we are called in enabled
++ * context or a bust_spinlocks cleared the way for us.
++ */
++ console_unblank();
+ _machine_power_off();
+ }
+
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-03-04-october2005.diff new/patches.arch/s390-03-04-october2005.diff
--- old/patches.arch/s390-03-04-october2005.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-03-04-october2005.diff 2006-05-15 11:11:57.000000000 +0200
@@ -0,0 +1,143 @@
+From: Gerald Schaefer
+Subject: IBM Codestream linux-2.6.16 october2005, patch 03-04
+
+ Description: kernel: modular 3270 driver doesn't work.
+ Symptom: 3270 devices under 64 bit can not be set online.
+ Problem: If the 3270 device driver is built as a module and the memory
+ layout is configured in a way that make modules to get loaded
+ above 2GB, 3270 devices can not be set online. The reason is
+ that the static module variables raw3270_init_data and
+ raw3270_init_request are located above 2GB which causes the
+ initial i/o to the device to fail.
+ Solution: Allocate the init_request and the init_data with the raw3270
+ structure for the device and change the allocation to request
+ GFP_DMA memory.
+ Problem-ID: 23147
+ Archs: s390-64
+
+Acked-by: Hannes Reinecke
+
+--- linux-2.5/drivers/s390/char/raw3270.c 4 Jan 2006 12:21:28 -0000 1.29
++++ linux-2.5/drivers/s390/char/raw3270.c 12 May 2006 12:19:13 -0000 1.29.4.1
+@@ -49,6 +49,9 @@
+ unsigned char *ascebc; /* ascii -> ebcdic table */
+ struct class_device *clttydev; /* 3270-class tty device ptr */
+ struct class_device *cltubdev; /* 3270-class tub device ptr */
++
++ struct raw3270_request init_request;
++ unsigned char init_data[256];
+ };
+
+ /* raw3270->flags */
+@@ -484,8 +487,6 @@
+ } __attribute__ ((packed)) aua;
+ } __attribute__ ((packed));
+
+-static unsigned char raw3270_init_data[256];
+-static struct raw3270_request raw3270_init_request;
+ static struct diag210 raw3270_init_diag210;
+ static DECLARE_MUTEX(raw3270_init_sem);
+
+@@ -644,17 +645,17 @@
+ * required (3270 device switched to 'stand-by') and command
+ * rejects (old devices that can't do 'read partition').
+ */
+- memset(&raw3270_init_request, 0, sizeof(raw3270_init_request));
+- memset(raw3270_init_data, 0, sizeof(raw3270_init_data));
+- /* Store 'read partition' data stream to raw3270_init_data */
+- memcpy(raw3270_init_data, wbuf, sizeof(wbuf));
+- INIT_LIST_HEAD(&raw3270_init_request.list);
+- raw3270_init_request.ccw.cmd_code = TC_WRITESF;
+- raw3270_init_request.ccw.flags = CCW_FLAG_SLI;
+- raw3270_init_request.ccw.count = sizeof(wbuf);
+- raw3270_init_request.ccw.cda = (__u32) __pa(raw3270_init_data);
++ memset(&rp->init_request, 0, sizeof(rp->init_request));
++ memset(&rp->init_data, 0, 256);
++ /* Store 'read partition' data stream to init_data */
++ memcpy(&rp->init_data, wbuf, sizeof(wbuf));
++ INIT_LIST_HEAD(&rp->init_request.list);
++ rp->init_request.ccw.cmd_code = TC_WRITESF;
++ rp->init_request.ccw.flags = CCW_FLAG_SLI;
++ rp->init_request.ccw.count = sizeof(wbuf);
++ rp->init_request.ccw.cda = (__u32) __pa(&rp->init_data);
+
+- rc = raw3270_start_init(rp, &raw3270_init_view, &raw3270_init_request);
++ rc = raw3270_start_init(rp, &raw3270_init_view, &rp->init_request);
+ if (rc)
+ /* Check error cases: -ERESTARTSYS, -EIO and -EOPNOTSUPP */
+ return rc;
+@@ -679,18 +680,18 @@
+ * The device accepted the 'read partition' command. Now
+ * set up a read ccw and issue it.
+ */
+- raw3270_init_request.ccw.cmd_code = TC_READMOD;
+- raw3270_init_request.ccw.flags = CCW_FLAG_SLI;
+- raw3270_init_request.ccw.count = sizeof(raw3270_init_data);
+- raw3270_init_request.ccw.cda = (__u32) __pa(raw3270_init_data);
+- rc = raw3270_start_init(rp, &raw3270_init_view, &raw3270_init_request);
++ rp->init_request.ccw.cmd_code = TC_READMOD;
++ rp->init_request.ccw.flags = CCW_FLAG_SLI;
++ rp->init_request.ccw.count = sizeof(rp->init_data);
++ rp->init_request.ccw.cda = (__u32) __pa(rp->init_data);
++ rc = raw3270_start_init(rp, &raw3270_init_view, &rp->init_request);
+ if (rc)
+ return rc;
+ /* Got a Query Reply */
+- count = sizeof(raw3270_init_data) - raw3270_init_request.rescnt;
+- uap = (struct raw3270_ua *) (raw3270_init_data + 1);
++ count = sizeof(rp->init_data) - rp->init_request.rescnt;
++ uap = (struct raw3270_ua *) (rp->init_data + 1);
+ /* Paranoia check. */
+- if (raw3270_init_data[0] != 0x88 || uap->uab.qcode != 0x81)
++ if (rp->init_data[0] != 0x88 || uap->uab.qcode != 0x81)
+ return -EOPNOTSUPP;
+ /* Copy rows/columns of default Usable Area */
+ rp->rows = uap->uab.h;
+@@ -749,18 +750,18 @@
+ int rc;
+
+ down(&raw3270_init_sem);
+- memset(&raw3270_init_request, 0, sizeof(raw3270_init_request));
+- memset(raw3270_init_data, 0, sizeof(raw3270_init_data));
+- /* Store reset data stream to raw3270_init_data/raw3270_init_request */
+- raw3270_init_data[0] = TW_KR;
+- INIT_LIST_HEAD(&raw3270_init_request.list);
+- raw3270_init_request.ccw.cmd_code = TC_EWRITEA;
+- raw3270_init_request.ccw.flags = CCW_FLAG_SLI;
+- raw3270_init_request.ccw.count = 1;
+- raw3270_init_request.ccw.cda = (__u32) __pa(raw3270_init_data);
++ memset(&rp->init_request, 0, sizeof(rp->init_request));
++ memset(&rp->init_data, 0, sizeof(rp->init_data));
++ /* Store reset data stream to init_data/init_request */
++ rp->init_data[0] = TW_KR;
++ INIT_LIST_HEAD(&rp->init_request.list);
++ rp->init_request.ccw.cmd_code = TC_EWRITEA;
++ rp->init_request.ccw.flags = CCW_FLAG_SLI;
++ rp->init_request.ccw.count = 1;
++ rp->init_request.ccw.cda = (__u32) __pa(rp->init_data);
+ rp->view = &raw3270_init_view;
+ raw3270_init_view.dev = rp;
+- rc = raw3270_start_init(rp, &raw3270_init_view, &raw3270_init_request);
++ rc = raw3270_start_init(rp, &raw3270_init_view, &rp->init_request);
+ raw3270_init_view.dev = 0;
+ rp->view = 0;
+ up(&raw3270_init_sem);
+@@ -854,7 +855,7 @@
+ char *ascebc;
+ int rc;
+
+- rp = (struct raw3270 *) alloc_bootmem(sizeof(struct raw3270));
++ rp = (struct raw3270 *) alloc_bootmem_low(sizeof(struct raw3270));
+ ascebc = (char *) alloc_bootmem(256);
+ rc = raw3270_setup_device(cdev, rp, ascebc);
+ if (rc)
+@@ -895,7 +896,7 @@
+ char *ascebc;
+ int rc;
+
+- rp = kmalloc(sizeof(struct raw3270), GFP_KERNEL);
++ rp = kmalloc(sizeof(struct raw3270), GFP_KERNEL | GFP_DMA);
+ if (!rp)
+ return ERR_PTR(-ENOMEM);
+ ascebc = kmalloc(256, GFP_KERNEL);
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-ccwgroup-remove-device.patch new/patches.arch/s390-ccwgroup-remove-device.patch
--- old/patches.arch/s390-ccwgroup-remove-device.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/s390-ccwgroup-remove-device.patch 2006-05-11 15:20:11.000000000 +0200
@@ -0,0 +1,54 @@
+From: Cornelia Huck
+Subject: cu3088 module does not remove
+References: #172230 - LTC23575
+
+All drivers using cu3088 driver module hang when trying to remove them after
+devices being defined.
+
+This patch (against current git, should apply to SLES10 code as well) works
+around the problem that a device cannot be unregistered from
+driver_for_each_device() because of klist node refcounting. It gets device
+after device owned by the driver to be unregistered with driver_find_device()
+and then unregisters it. This works because driver_get_device() gets us out of
+the region of the elevated klist node refcount. driver_find_device() will
+always get the next device in the list after the found one has been
+unregistered.
+
+Acked-by: Hannes Reinecke
+
+diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c
+index bdfee7f..c7319a0 100644
+--- a/drivers/s390/cio/ccwgroup.c
++++ b/drivers/s390/cio/ccwgroup.c
+@@ -404,21 +404,24 @@ ccwgroup_driver_register (struct ccwgrou
+ }
+
+ static int
+-__ccwgroup_driver_unregister_device(struct device *dev, void *data)
++__ccwgroup_match_all(struct device *dev, void *data)
+ {
+- __ccwgroup_remove_symlinks(to_ccwgroupdev(dev));
+- device_unregister(dev);
+- put_device(dev);
+- return 0;
++ return 1;
+ }
+
+ void
+ ccwgroup_driver_unregister (struct ccwgroup_driver *cdriver)
+ {
++ struct device *dev;
++
+ /* We don't want ccwgroup devices to live longer than their driver. */
+ get_driver(&cdriver->driver);
+- driver_for_each_device(&cdriver->driver, NULL, NULL,
+- __ccwgroup_driver_unregister_device);
++ while ((dev = driver_find_device(&cdriver->driver, NULL, NULL,
++ __ccwgroup_match_all))) {
++ __ccwgroup_remove_symlinks(to_ccwgroupdev(dev));
++ device_unregister(dev);
++ put_device(dev);
++ }
+ put_driver(&cdriver->driver);
+ driver_unregister(&cdriver->driver);
+ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-console-unblank.patch new/patches.arch/s390-console-unblank.patch
--- old/patches.arch/s390-console-unblank.patch 2006-05-05 08:57:50.000000000 +0200
+++ new/patches.arch/s390-console-unblank.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,50 +0,0 @@
-From: Martin Schwidefsky
-Subject: Kernel panic while testing softdog
-References: 161997 - LTC22671
-
-Kernel panic while working with softdog
-
-Acked-by: Andi Kleen
-Acked-by: Hannes Reinecke
-
-diff -urpN linux-2.6/arch/s390/kernel/setup.c linux-2.6-softdog/arch/s390/kernel/setup.c
---- linux-2.6/arch/s390/kernel/setup.c 2006-03-20 16:56:34.000000000 +0100
-+++ linux-2.6-softdog/arch/s390/kernel/setup.c 2006-05-04 15:27:12.000000000 +0200
-@@ -297,19 +297,34 @@ void (*_machine_power_off)(void) = do_ma
-
- void machine_restart(char *command)
- {
-- console_unblank();
-+ if (!in_interrupt() || oops_in_progress)
-+ /*
-+ * Only unblank the console if we are called in enabled
-+ * context or a bust_spinlocks cleared the way for us.
-+ */
-+ console_unblank();
- _machine_restart(command);
- }
-
- void machine_halt(void)
- {
-- console_unblank();
-+ if (!in_interrupt() || oops_in_progress)
-+ /*
-+ * Only unblank the console if we are called in enabled
-+ * context or a bust_spinlocks cleared the way for us.
-+ */
-+ console_unblank();
- _machine_halt();
- }
-
- void machine_power_off(void)
- {
-- console_unblank();
-+ if (!in_interrupt() || oops_in_progress)
-+ /*
-+ * Only unblank the console if we are called in enabled
-+ * context or a bust_spinlocks cleared the way for us.
-+ */
-+ console_unblank();
- _machine_power_off();
- }
-
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/s390-raw-device new/patches.arch/s390-raw-device
--- old/patches.arch/s390-raw-device 2006-03-28 16:13:32.000000000 +0200
+++ new/patches.arch/s390-raw-device 2006-05-13 13:37:23.000000000 +0200
@@ -5,27 +5,23 @@
The patch fixes that
Signed-off-by: Ihno Krumreich
-diff -Nru ../raw.orig/linux-2.6.5/drivers/char/Kconfig linux-2.6.5/drivers/char/Kconfig
---- ../raw.orig/linux-2.6.5/drivers/char/Kconfig 2005-02-18 16:27:45.000000000 +0100
-+++ linux-2.6.5/drivers/char/Kconfig 2005-02-18 16:10:07.000000000 +0100
-@@ -991,6 +991,8 @@
-
- If compiled as a module, it will be called scx200_gpio.
+---
+ drivers/s390/Kconfig | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+Index: linux-2.6.16/drivers/s390/Kconfig
+===================================================================
+--- linux-2.6.16.orig/drivers/s390/Kconfig
++++ linux-2.6.16/drivers/s390/Kconfig
+@@ -51,6 +51,26 @@ config UNIX98_PTY_COUNT
+ When not in use, each additional set of 256 PTYs occupy
+ approximately 8 KB of kernel memory on 32-bit architectures.
-+source "drivers/char/Kconfig.raw"
-+
- config RAW_DRIVER
- tristate "RAW driver (/dev/raw/rawN) (OBSOLETE)"
- help
-diff -Nru ../raw.orig/linux-2.6.5/drivers/char/Kconfig.raw linux-2.6.5/drivers/char/Kconfig.raw
---- ../raw.orig/linux-2.6.5/drivers/char/Kconfig.raw 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.5/drivers/char/Kconfig.raw 2005-02-18 16:09:18.000000000 +0100
-@@ -0,0 +1,19 @@
+config RAW_DRIVER
+ tristate "RAW driver (/dev/raw/rawN) (OBSOLETE)"
+ help
-+ The raw driver permits block devices to be bound to /dev/raw/rawN.
-+ Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O.
++ The raw driver permits block devices to be bound to /dev/raw/rawN.
++ Once bound, I/O against /dev/raw/rawN uses efficient zero-copy I/O.
+ See the raw(8) manpage for more details.
+
+ The raw driver is deprecated and may be removed from 2.7
@@ -40,15 +36,7 @@
+ The maximum number of RAW devices that are supported.
+ Default is 256. Increase this number in case you need lots of
+ raw devices.
-diff -Nru ../raw.orig/linux-2.6.5/drivers/s390/Kconfig linux-2.6.5/drivers/s390/Kconfig
---- ../raw.orig/linux-2.6.5/drivers/s390/Kconfig 2005-02-18 16:27:46.000000000 +0100
-+++ linux-2.6.5/drivers/s390/Kconfig 2005-02-18 16:45:37.000000000 +0100
-@@ -9,6 +9,8 @@
-
- menu "Character device drivers"
-
-+source "drivers/char/Kconfig.raw"
+
- config UNIX98_PTYS
- bool "Unix98 PTY support"
- ---help---
+ config HANGCHECK_TIMER
+ tristate "Hangcheck timer"
+ help
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.arch/x86_64-hotadd-fixes new/patches.arch/x86_64-hotadd-fixes
--- old/patches.arch/x86_64-hotadd-fixes 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/x86_64-hotadd-fixes 2006-05-15 17:22:07.000000000 +0200
@@ -0,0 +1,73 @@
+Subject: Fix memory hotadd heuristics
+From: ak@suse.de
+References: 160861
+Patch-mainline: plan to submit for 2.6.17
+
+- Set hotadd_percent to 0 by default. This means anybody using hotadd
+memory needs to specify the value on the command line. That's because
+there are lots of Intel boxes which have a bogus hotplug area in their
+SRAT and they would waste a lot of memory before.
+- Fix calculation of how much memory to use when the hotplug area
+exceeds hotadd_percent
+- Fix fallback when the
+- Fix fallback if memory hotadd is not compiled in.
+
+This fixes some boot failures on Dell and Unisys systems with memory
+hotadd added.
+
+Signed-off-by: Andi Kleen
+
+Index: linux/arch/x86_64/mm/srat.c
+===================================================================
+--- linux.orig/arch/x86_64/mm/srat.c
++++ linux/arch/x86_64/mm/srat.c
+@@ -34,7 +34,10 @@ static nodemask_t nodes_found __initdata
+ static struct bootnode nodes[MAX_NUMNODES] __initdata;
+ static struct bootnode nodes_add[MAX_NUMNODES] __initdata;
+ static int found_add_area __initdata;
+-int hotadd_percent __initdata = 10;
++int hotadd_percent __initdata = 0;
++#ifndef RESERVE_HOTADD
++#define hotadd_percent 0 /* Ignore all settings */
++#endif
+ static u8 pxm2node[256] = { [0 ... 255] = 0xff };
+
+ /* Too small nodes confuse the VM badly. Usually they result
+@@ -103,6 +106,7 @@ static __init void bad_srat(void)
+ int i;
+ printk(KERN_ERR "SRAT: SRAT not used.\n");
+ acpi_numa = -1;
++ found_add_area = 0;
+ for (i = 0; i < MAX_LOCAL_APIC; i++)
+ apicid_to_node[i] = NUMA_NO_NODE;
+ for (i = 0; i < MAX_NUMNODES; i++)
+@@ -154,7 +158,8 @@ acpi_numa_processor_affinity_init(struct
+ int pxm, node;
+ if (srat_disabled())
+ return;
+- if (pa->header.length != sizeof(struct acpi_table_processor_affinity)) { bad_srat();
++ if (pa->header.length != sizeof(struct acpi_table_processor_affinity)) {
++ bad_srat();
+ return;
+ }
+ if (pa->flags.enabled == 0)
+@@ -191,15 +196,17 @@ static int hotadd_enough_memory(struct b
+ allowed = (end_pfn - e820_hole_size(0, end_pfn)) * PAGE_SIZE;
+ allowed = (allowed / 100) * hotadd_percent;
+ if (allocated + mem > allowed) {
++ unsigned long range;
+ /* Give them at least part of their hotadd memory upto hotadd_percent
+ It would be better to spread the limit out
+ over multiple hotplug areas, but that is too complicated
+ right now */
+ if (allocated >= allowed)
+ return 0;
+- pages = (allowed - allocated + mem) / sizeof(struct page);
++ range = allowed - allocated;
++ pages = (range / PAGE_SIZE);
+ mem = pages * sizeof(struct page);
+- nd->end = nd->start + pages*PAGE_SIZE;
++ nd->end = nd->start + range;
+ }
+ /* Not completely fool proof, but a good sanity check */
+ addr = find_e820_area(last_area_end, end_pfn<
+
+---
+ arch/x86_64/kernel/pci-nommu.c | 7 ++++---
+ 1 files changed, 4 insertions(+), 3 deletions(-)
+
+Index: linux/arch/x86_64/kernel/pci-nommu.c
+===================================================================
+--- linux.orig/arch/x86_64/kernel/pci-nommu.c
++++ linux/arch/x86_64/kernel/pci-nommu.c
+@@ -12,9 +12,10 @@ static int
+ check_addr(char *name, struct device *hwdev, dma_addr_t bus, size_t size)
+ {
+ if (hwdev && bus + size > *hwdev->dma_mask) {
+- printk(KERN_ERR
+- "nommu_%s: overflow %Lx+%lu of device mask %Lx\n",
+- name, (long long)bus, size, (long long)*hwdev->dma_mask);
++ if (*hwdev->dma_mask >= 0xffffffffULL)
++ printk(KERN_ERR
++ "nommu_%s: overflow %Lx+%lu of device mask %Lx\n",
++ name, (long long)bus, size, (long long)*hwdev->dma_mask);
+ return 0;
+ }
+ return 1;
++++++ patches.drivers.tar.bz2 ++++++
++++ 3661 lines of diff (skipped)
++++++ patches.fixes.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/acpi-blacklist-xw9300 new/patches.fixes/acpi-blacklist-xw9300
--- old/patches.fixes/acpi-blacklist-xw9300 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/acpi-blacklist-xw9300 2006-05-11 14:20:08.000000000 +0200
@@ -0,0 +1,33 @@
+Subject: Force pci=noacpi on HP XW9300
+From: ak@suse.de
+References: 140340
+Patch-mainline: plan to submit
+
+This is needed to see all devices.
+The system has multiple PCI segments and we don't handle that properly
+yet in ACPI.
+
+Cc: len.brown@intel.com
+Cc: gregkh@suse.de
+
+Signed-off-by: Andi Kleen
+
+Index: linux/arch/i386/kernel/acpi/boot.c
+===================================================================
+--- linux.orig/arch/i386/kernel/acpi/boot.c
++++ linux/arch/i386/kernel/acpi/boot.c
+@@ -1066,6 +1066,14 @@ static struct dmi_system_id __initdata a
+ DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
+ },
+ },
++ {
++ .callback = disable_acpi_pci,
++ .ident = "HP xw9300",
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
++ DMI_MATCH(DMI_PRODUCT_NAME, "HP xw9300 Workstation"),
++ },
++ },
+ {}
+ };
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/add-slab_is_available-routine-for-boot-code.patch new/patches.fixes/add-slab_is_available-routine-for-boot-code.patch
--- old/patches.fixes/add-slab_is_available-routine-for-boot-code.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/add-slab_is_available-routine-for-boot-code.patch 2006-05-15 11:20:36.000000000 +0200
@@ -0,0 +1,76 @@
+Subject: [PATCH] add slab_is_available() routine for boot code
+From: Mike Kravetz
+References: 175093 - LTC23814
+
+slab_is_available() indicates slab based allocators are available
+for use. SPARSEMEM code needs to know this as it can be called
+at various times during the boot process.
+
+Signed-off-by: Mike Kravetz
+Signed-off-by: Olaf Hering
+
+---
+ include/linux/slab.h | 1 +
+ mm/slab.c | 8 ++++++++
+ mm/sparse.c | 9 ++++++---
+ 3 files changed, 15 insertions(+), 3 deletions(-)
+
+Index: linux-2.6.16/include/linux/slab.h
+===================================================================
+--- linux-2.6.16.orig/include/linux/slab.h
++++ linux-2.6.16/include/linux/slab.h
+@@ -125,6 +125,7 @@ static inline void *kcalloc(size_t n, si
+
+ extern void kfree(const void *);
+ extern unsigned int ksize(const void *);
++extern int slab_is_available(void);
+
+ #ifdef CONFIG_NUMA
+ extern void *kmem_cache_alloc_node(kmem_cache_t *, gfp_t flags, int node);
+Index: linux-2.6.16/mm/slab.c
+===================================================================
+--- linux-2.6.16.orig/mm/slab.c
++++ linux-2.6.16/mm/slab.c
+@@ -673,6 +673,14 @@ static enum {
+ FULL
+ } g_cpucache_up;
+
++/*
++ * used by boot code to determine if it can use slab based allocator
++ */
++int slab_is_available(void)
++{
++ return g_cpucache_up == FULL;
++}
++
+ static DEFINE_PER_CPU(struct work_struct, reap_work);
+
+ static void free_block(struct kmem_cache *cachep, void **objpp, int len, int node);
+Index: linux-2.6.16/mm/sparse.c
+===================================================================
+--- linux-2.6.16.orig/mm/sparse.c
++++ linux-2.6.16/mm/sparse.c
+@@ -32,7 +32,10 @@ static struct mem_section *sparse_index_
+ unsigned long array_size = SECTIONS_PER_ROOT *
+ sizeof(struct mem_section);
+
+- section = alloc_bootmem_node(NODE_DATA(nid), array_size);
++ if (slab_is_available())
++ section = kmalloc_node(array_size, GFP_KERNEL, nid);
++ else
++ section = alloc_bootmem_node(NODE_DATA(nid), array_size);
+
+ if (section)
+ memset(section, 0, array_size);
+@@ -281,9 +284,9 @@ int sparse_add_one_section(struct zone *
+
+ ret = sparse_init_one_section(ms, section_nr, memmap);
+
+- if (ret <= 0)
+- __kfree_section_memmap(memmap, nr_pages);
+ out:
+ pgdat_resize_unlock(pgdat, &flags);
++ if (ret <= 0)
++ __kfree_section_memmap(memmap, nr_pages);
+ return ret;
+ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/compat_sys_nfsservctl-access_ok.patch new/patches.fixes/compat_sys_nfsservctl-access_ok.patch
--- old/patches.fixes/compat_sys_nfsservctl-access_ok.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/compat_sys_nfsservctl-access_ok.patch 2006-05-11 11:18:01.000000000 +0200
@@ -0,0 +1,203 @@
+Subject: [NFS] [PATCH 1/1] NFS: fix error handling on access_ok in compat_sys_nfsservctl
+From: Lin Feng Shen
+References: 174531 - LTC23513
+
+Functions compat_nfs_svc_trans, compat_nfs_clnt_trans, compat_nfs_exp_trans,
+compat_nfs_getfd_trans and compat_nfs_getfs_trans, which are called by
+compat_sys_nfsservctl(fs/compat.c), don't handle the return value of
+access_ok properly. access_ok return 1 when the addr is valid, and 0
+when it's not, but these functions have the reversed understanding. When the
+address is valid, they always return -EFAULT to compat_sys_nfsservctl.
+
+An example is to run /usr/sbin/rpc.nfsd(32bit program on Power5). It doesn't
+function as expected. strace showes that nfsservctl returns -EFAULT.
+
+The patch fixes this by correcting the error handling on the return value of
+access_ok in the five functions.
+
+Signed-off-by: Lin Feng Shen
+Signed-off-by: Olaf Hering
+
+---
+ fs/compat.c | 128 +++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 63 insertions(+), 65 deletions(-)
+
+Index: linux-2.6.16/fs/compat.c
+===================================================================
+--- linux-2.6.16.orig/fs/compat.c
++++ linux-2.6.16/fs/compat.c
+@@ -2020,101 +2020,96 @@ union compat_nfsctl_res {
+
+ static int compat_nfs_svc_trans(struct nfsctl_arg *karg, struct compat_nfsctl_arg __user *arg)
+ {
+- int err;
+-
+- err = access_ok(VERIFY_READ, &arg->ca32_svc, sizeof(arg->ca32_svc));
+- err |= get_user(karg->ca_version, &arg->ca32_version);
+- err |= __get_user(karg->ca_svc.svc_port, &arg->ca32_svc.svc32_port);
+- err |= __get_user(karg->ca_svc.svc_nthreads, &arg->ca32_svc.svc32_nthreads);
+- return (err) ? -EFAULT : 0;
++ if(!access_ok(VERIFY_READ, &arg->ca32_svc, sizeof(arg->ca32_svc)) ||
++ get_user(karg->ca_version, &arg->ca32_version) ||
++ __get_user(karg->ca_svc.svc_port, &arg->ca32_svc.svc32_port) ||
++ __get_user(karg->ca_svc.svc_nthreads, &arg->ca32_svc.svc32_nthreads))
++ return -EFAULT;
++ return 0;
+ }
+
+ static int compat_nfs_clnt_trans(struct nfsctl_arg *karg, struct compat_nfsctl_arg __user *arg)
+ {
+- int err;
+-
+- err = access_ok(VERIFY_READ, &arg->ca32_client, sizeof(arg->ca32_client));
+- err |= get_user(karg->ca_version, &arg->ca32_version);
+- err |= __copy_from_user(&karg->ca_client.cl_ident[0],
++ if(!access_ok(VERIFY_READ, &arg->ca32_client, sizeof(arg->ca32_client)) ||
++ get_user(karg->ca_version, &arg->ca32_version) ||
++ __copy_from_user(&karg->ca_client.cl_ident[0],
+ &arg->ca32_client.cl32_ident[0],
+- NFSCLNT_IDMAX);
+- err |= __get_user(karg->ca_client.cl_naddr, &arg->ca32_client.cl32_naddr);
+- err |= __copy_from_user(&karg->ca_client.cl_addrlist[0],
++ NFSCLNT_IDMAX) ||
++ __get_user(karg->ca_client.cl_naddr, &arg->ca32_client.cl32_naddr) ||
++ __copy_from_user(&karg->ca_client.cl_addrlist[0],
+ &arg->ca32_client.cl32_addrlist[0],
+- (sizeof(struct in_addr) * NFSCLNT_ADDRMAX));
+- err |= __get_user(karg->ca_client.cl_fhkeytype,
+- &arg->ca32_client.cl32_fhkeytype);
+- err |= __get_user(karg->ca_client.cl_fhkeylen,
+- &arg->ca32_client.cl32_fhkeylen);
+- err |= __copy_from_user(&karg->ca_client.cl_fhkey[0],
++ (sizeof(struct in_addr) * NFSCLNT_ADDRMAX)) ||
++ __get_user(karg->ca_client.cl_fhkeytype,
++ &arg->ca32_client.cl32_fhkeytype) ||
++ __get_user(karg->ca_client.cl_fhkeylen,
++ &arg->ca32_client.cl32_fhkeylen) ||
++ __copy_from_user(&karg->ca_client.cl_fhkey[0],
+ &arg->ca32_client.cl32_fhkey[0],
+- NFSCLNT_KEYMAX);
++ NFSCLNT_KEYMAX))
++ return -EFAULT;
+
+- return (err) ? -EFAULT : 0;
++ return 0;
+ }
+
+ static int compat_nfs_exp_trans(struct nfsctl_arg *karg, struct compat_nfsctl_arg __user *arg)
+ {
+- int err;
+-
+- err = access_ok(VERIFY_READ, &arg->ca32_export, sizeof(arg->ca32_export));
+- err |= get_user(karg->ca_version, &arg->ca32_version);
+- err |= __copy_from_user(&karg->ca_export.ex_client[0],
++ if(!access_ok(VERIFY_READ, &arg->ca32_export, sizeof(arg->ca32_export)) ||
++ get_user(karg->ca_version, &arg->ca32_version) ||
++ __copy_from_user(&karg->ca_export.ex_client[0],
+ &arg->ca32_export.ex32_client[0],
+- NFSCLNT_IDMAX);
+- err |= __copy_from_user(&karg->ca_export.ex_path[0],
++ NFSCLNT_IDMAX) ||
++ __copy_from_user(&karg->ca_export.ex_path[0],
+ &arg->ca32_export.ex32_path[0],
+- NFS_MAXPATHLEN);
+- err |= __get_user(karg->ca_export.ex_dev,
+- &arg->ca32_export.ex32_dev);
+- err |= __get_user(karg->ca_export.ex_ino,
+- &arg->ca32_export.ex32_ino);
+- err |= __get_user(karg->ca_export.ex_flags,
+- &arg->ca32_export.ex32_flags);
+- err |= __get_user(karg->ca_export.ex_anon_uid,
+- &arg->ca32_export.ex32_anon_uid);
+- err |= __get_user(karg->ca_export.ex_anon_gid,
+- &arg->ca32_export.ex32_anon_gid);
++ NFS_MAXPATHLEN) ||
++ __get_user(karg->ca_export.ex_dev,
++ &arg->ca32_export.ex32_dev) ||
++ __get_user(karg->ca_export.ex_ino,
++ &arg->ca32_export.ex32_ino) ||
++ __get_user(karg->ca_export.ex_flags,
++ &arg->ca32_export.ex32_flags) ||
++ __get_user(karg->ca_export.ex_anon_uid,
++ &arg->ca32_export.ex32_anon_uid) ||
++ __get_user(karg->ca_export.ex_anon_gid,
++ &arg->ca32_export.ex32_anon_gid))
++ return -EFAULT;
+ SET_UID(karg->ca_export.ex_anon_uid, karg->ca_export.ex_anon_uid);
+ SET_GID(karg->ca_export.ex_anon_gid, karg->ca_export.ex_anon_gid);
+
+- return (err) ? -EFAULT : 0;
++ return 0;
+ }
+
+ static int compat_nfs_getfd_trans(struct nfsctl_arg *karg, struct compat_nfsctl_arg __user *arg)
+ {
+- int err;
+-
+- err = access_ok(VERIFY_READ, &arg->ca32_getfd, sizeof(arg->ca32_getfd));
+- err |= get_user(karg->ca_version, &arg->ca32_version);
+- err |= __copy_from_user(&karg->ca_getfd.gd_addr,
++ if(!access_ok(VERIFY_READ, &arg->ca32_getfd, sizeof(arg->ca32_getfd)) ||
++ get_user(karg->ca_version, &arg->ca32_version) ||
++ __copy_from_user(&karg->ca_getfd.gd_addr,
+ &arg->ca32_getfd.gd32_addr,
+- (sizeof(struct sockaddr)));
+- err |= __copy_from_user(&karg->ca_getfd.gd_path,
++ (sizeof(struct sockaddr))) ||
++ __copy_from_user(&karg->ca_getfd.gd_path,
+ &arg->ca32_getfd.gd32_path,
+- (NFS_MAXPATHLEN+1));
+- err |= __get_user(karg->ca_getfd.gd_version,
+- &arg->ca32_getfd.gd32_version);
++ (NFS_MAXPATHLEN+1)) ||
++ __get_user(karg->ca_getfd.gd_version,
++ &arg->ca32_getfd.gd32_version))
++ return -EFAULT;
+
+- return (err) ? -EFAULT : 0;
++ return 0;
+ }
+
+ static int compat_nfs_getfs_trans(struct nfsctl_arg *karg, struct compat_nfsctl_arg __user *arg)
+ {
+- int err;
+-
+- err = access_ok(VERIFY_READ, &arg->ca32_getfs, sizeof(arg->ca32_getfs));
+- err |= get_user(karg->ca_version, &arg->ca32_version);
+- err |= __copy_from_user(&karg->ca_getfs.gd_addr,
++ if(!access_ok(VERIFY_READ, &arg->ca32_getfs, sizeof(arg->ca32_getfs)) ||
++ get_user(karg->ca_version, &arg->ca32_version) ||
++ __copy_from_user(&karg->ca_getfs.gd_addr,
+ &arg->ca32_getfs.gd32_addr,
+- (sizeof(struct sockaddr)));
+- err |= __copy_from_user(&karg->ca_getfs.gd_path,
++ (sizeof(struct sockaddr))) ||
++ __copy_from_user(&karg->ca_getfs.gd_path,
+ &arg->ca32_getfs.gd32_path,
+- (NFS_MAXPATHLEN+1));
+- err |= __get_user(karg->ca_getfs.gd_maxlen,
+- &arg->ca32_getfs.gd32_maxlen);
++ (NFS_MAXPATHLEN+1)) ||
++ __get_user(karg->ca_getfs.gd_maxlen,
++ &arg->ca32_getfs.gd32_maxlen))
++ return -EFAULT;
+
+- return (err) ? -EFAULT : 0;
++ return 0;
+ }
+
+ /* This really doesn't need translations, we are only passing
+@@ -2172,9 +2167,12 @@ asmlinkage long compat_sys_nfsservctl(in
+
+ default:
+ err = -EINVAL;
+- goto done;
++ break;
+ }
+
++ if (err)
++ goto done;
++
+ oldfs = get_fs();
+ set_fs(KERNEL_DS);
+ /* The __user pointer casts are valid because of the set_fs() */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/ipv6-inet6_csk_xmit-leak new/patches.fixes/ipv6-inet6_csk_xmit-leak
--- old/patches.fixes/ipv6-inet6_csk_xmit-leak 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/ipv6-inet6_csk_xmit-leak 2006-05-11 18:10:35.000000000 +0200
@@ -0,0 +1,29 @@
+From: Alexey Kuznetsov
+Subject: inet6_csk_xit does not free skb when routing fails
+Date: Thu May 11 18:02:38 CEST 2006
+Acked-by: jbohac@suse.cz
+
+Fixes a skb leakage in inet6_csk_xmit.
+
+Signed-off-by: Alexey Kuznetsov
+
+diff --git a/net/ipv6/inet6_connection_sock.c b/net/ipv6/inet6_connection_sock.c
+index f8f3a37..eb2865d 100644
+--- a/net/ipv6/inet6_connection_sock.c
++++ b/net/ipv6/inet6_connection_sock.c
+@@ -173,6 +173,7 @@ int inet6_csk_xmit(struct sk_buff *skb,
+
+ if (err) {
+ sk->sk_err_soft = -err;
++ kfree_skb(skb);
+ return err;
+ }
+
+@@ -181,6 +182,7 @@ int inet6_csk_xmit(struct sk_buff *skb,
+
+ if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0) {
+ sk->sk_route_caps = 0;
++ kfree_skb(skb);
+ return err;
+ }
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/iscsi-parameter-size-oops.diff new/patches.fixes/iscsi-parameter-size-oops.diff
--- old/patches.fixes/iscsi-parameter-size-oops.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/iscsi-parameter-size-oops.diff 2006-05-10 21:13:09.000000000 +0200
@@ -0,0 +1,80 @@
+From: Jeff Mahoney
+Subject: [PATCH] iscsi: invalid parameter size should return error, not BUG()
+References: 174404
+
+ If the kernel iSCSI implementation and the corresponding userspace package
+ are out of sync, invalid parameters may be passed to the kernel.
+
+ The iSCSI transport code currently BUG()s when this happens, when returning
+ an error would be sufficient.
+
+ Userspace should not be able to panic the kernel.
+
+Signed-off-by: Jeff Mahoney
+
+--
+
+ drivers/scsi/scsi_transport_iscsi.c | 23 ++++++++++++++++-------
+ 1 file changed, 16 insertions(+), 7 deletions(-)
+
+diff -ruNpX dontdiff linux-2.6.16.snd/drivers/scsi/scsi_transport_iscsi.c linux-2.6.16/drivers/scsi/scsi_transport_iscsi.c
+--- linux-2.6.16.snd/drivers/scsi/scsi_transport_iscsi.c 2006-05-03 12:02:39.000000000 -0400
++++ linux-2.6.16/drivers/scsi/scsi_transport_iscsi.c 2006-05-10 07:55:11.000000000 -0400
+@@ -862,13 +862,18 @@ iscsi_if_destroy_conn(struct iscsi_trans
+ return 0;
+ }
+
+-static void
++static int
+ iscsi_copy_param(struct iscsi_uevent *ev, uint32_t *value, char *data)
+ {
+- if (ev->u.set_param.len != sizeof(uint32_t))
+- BUG();
++ if (ev->u.set_param.len != sizeof(uint32_t)) {
++ printk (KERN_NOTICE "%s: invalid parameter size %u, "
++ "should be %lu\n", __FUNCTION__, ev->u.set_param.len,
++ sizeof(uint32_t));
++ return -EINVAL;
++ }
+ memcpy(value, data, min_t(uint32_t, sizeof(uint32_t),
+ ev->u.set_param.len));
++ return 0;
+ }
+
+ static int
+@@ -887,7 +892,8 @@ iscsi_set_param(struct iscsi_transport *
+
+ switch (ev->u.set_param.param) {
+ case ISCSI_PARAM_SESS_RECOVERY_TMO:
+- iscsi_copy_param(ev, &value, data);
++ if ((err = iscsi_copy_param(ev, &value, data)))
++ return err;
+ if (value != 0)
+ session->recovery_tmo = value;
+ break;
+@@ -901,11 +908,13 @@ iscsi_set_param(struct iscsi_transport *
+ return -ENOMEM;
+ break;
+ case ISCSI_PARAM_TPGT:
+- iscsi_copy_param(ev, &value, data);
++ if ((err = iscsi_copy_param(ev, &value, data)))
++ return err;
+ session->tpgt = value;
+ break;
+ case ISCSI_PARAM_PERSISTENT_PORT:
+- iscsi_copy_param(ev, &value, data);
++ if ((err = iscsi_copy_param(ev, &value, data)))
++ return err;
+ conn->persistent_port = value;
+ break;
+ case ISCSI_PARAM_PERSISTENT_ADDRESS:
+@@ -921,7 +932,8 @@ iscsi_set_param(struct iscsi_transport *
+ return -ENOMEM;
+ break;
+ default:
+- iscsi_copy_param(ev, &value, data);
++ if ((err = iscsi_copy_param(ev, &value, data)))
++ return err;
+ err = transport->set_param(conn, ev->u.set_param.param, value);
+ }
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/scsi-add-2104-DU3-blist.patch new/patches.fixes/scsi-add-2104-DU3-blist.patch
--- old/patches.fixes/scsi-add-2104-DU3-blist.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/scsi-add-2104-DU3-blist.patch 2006-05-12 14:29:25.000000000 +0200
@@ -0,0 +1,27 @@
+
+Some versions of the IBM 2104-DU3 disk enclosure
+have been observed to hang Inquiries to non zero
+LUNs to the SES device. This device only has LUN 0,
+so this patch adds it to the BLIST to prevent scsi
+core from scanning beyond LUN 0.
+
+
+Signed-off-by: Brian King
+---
+
+ linux-2.6-bjking1/drivers/scsi/scsi_devinfo.c | 2 ++
+ 1 files changed, 2 insertions(+)
+
+diff -puN drivers/scsi/scsi_devinfo.c~scsi_2104-DU3_blist drivers/scsi/scsi_devinfo.c
+--- linux-2.6/drivers/scsi/scsi_devinfo.c~scsi_2104-DU3_blist 2006-04-25 14:52:21.000000000 -0500
++++ linux-2.6-bjking1/drivers/scsi/scsi_devinfo.c 2006-04-25 14:55:33.000000000 -0500
+@@ -56,6 +56,8 @@ static struct {
+ {"DENON", "DRD-25X", "V", BLIST_NOLUN}, /* locks up */
+ {"HITACHI", "DK312C", "CM81", BLIST_NOLUN}, /* responds to all lun */
+ {"HITACHI", "DK314C", "CR21", BLIST_NOLUN}, /* responds to all lun */
++ {"IBM", "2104-DU3", NULL, BLIST_NOLUN}, /* locks up */
++ {"IBM", "2104-TU3", NULL, BLIST_NOLUN}, /* locks up */
+ {"IMS", "CDD521/10", "2.06", BLIST_NOLUN}, /* locks up */
+ {"MAXTOR", "XT-3280", "PR02", BLIST_NOLUN}, /* locks up */
+ {"MAXTOR", "XT-4380S", "B3C", BLIST_NOLUN}, /* locks up */
+_
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/scsi-fc-rport-delete-during-scan.patch new/patches.fixes/scsi-fc-rport-delete-during-scan.patch
--- old/patches.fixes/scsi-fc-rport-delete-during-scan.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/scsi-fc-rport-delete-during-scan.patch 2006-05-12 13:50:27.000000000 +0200
@@ -0,0 +1,152 @@
+From: James Smart
+Subject: fc transport hang if rport is deleted during scan
+References: #173662
+
+In a prior posting to linux-scsi on the fc transport and workq
+deadlocks, we noted a second error that did not have a patch:
+ http://marc.theaimsgroup.com/?l=linux-scsi&m=114467847711383&w=2
+ - There's a deadlock where scsi_remove_target() has to sit behind
+ scsi_scan_target() due to contention over the scan_lock().
+
+Subsequently we posted a request for comments about the deadlock:
+ http://marc.theaimsgroup.com/?l=linux-scsi&m=114469358829500&w=2
+
+This posting resolves the second error. Here's what we now understand,
+and are implementing:
+
+ If the lldd deletes the rport while a scan is active, the sdev's queue
+ is blocked which stops the issuing of commands associated with the scan.
+ At this point, the scan stalls, and does so with the shost->scan_mutex held.
+ If, at this point, if any scan or delete request is made on the host, it
+ will stall waiting for the scan_mutex.
+
+ For the FC transport, we queue all delete work to a single workq.
+ So, things worked fine when competing with the scan, as long as the
+ target blocking the scan was the same target at the top of our delete
+ workq, as the delete workq routine always unblocked just prior to
+ requesting the delete. Unfortunately, if the top of our delete workq
+ was for a different target, we deadlock. Additionally, if the target
+ blocking scan returned, we were unblocking it in the scan workq routine,
+ which really won't execute until the existing stalled scan workq
+ completes (e.g. we're re-scheduling it while it is in the midst of its
+ execution).
+
+ This patch moves the unblock out of the workq routines and moves it to
+ the context that is scheduling the work. This ensures that at some point,
+ we will unblock the target that is blocking scan. Please note, however,
+ that the deadlock condition may still occur while it waits for the
+ transport to timeout an unblock on a target. Worst case, this is bounded
+ by the transport dev_loss_tmo (default: 30 seconds).
+
+
+Finally, Michael Reed deserves the credit for the bulk of this patch,
+analysis, and it's testing. Thank you for your help.
+
+-- james s
+
+Note: this patch supercedes a previous preliminary post by Michael Reed
+ http://marc.theaimsgroup.com/?l=linux-scsi&m=114675967824701&w=2
+
+Note: The request for comments statements about the gross-ness of the
+ scan_mutex still stand.
+
+
+
+Signed-off-by: Michael Reed
+Signed-off-by: James Smart
+Acked-by: Hannes Reinecke
+
+diff -upNr a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c
+--- a/drivers/scsi/scsi_transport_fc.c 2006-05-11 10:43:31.000000000 -0400
++++ b/drivers/scsi/scsi_transport_fc.c 2006-05-11 12:04:36.000000000 -0400
+@@ -1284,7 +1284,9 @@ EXPORT_SYMBOL(fc_release_transport);
+ * @work: Work to queue for execution.
+ *
+ * Return value:
+- * 0 on success / != 0 for error
++ * 1 - work queued for execution
++ * 0 - work is already queued
++ * -EINVAL - work queue doesn't exist
+ **/
+ static int
+ fc_queue_work(struct Scsi_Host *shost, struct work_struct *work)
+@@ -1434,8 +1436,6 @@ fc_starget_delete(void *data)
+ struct Scsi_Host *shost = rport_to_shost(rport);
+ unsigned long flags;
+
+- scsi_target_unblock(&rport->dev);
+-
+ spin_lock_irqsave(shost->host_lock, flags);
+ if (rport->flags & FC_RPORT_DEVLOSS_PENDING) {
+ spin_unlock_irqrestore(shost->host_lock, flags);
+@@ -1707,6 +1707,8 @@ fc_remote_port_add(struct Scsi_Host *sho
+
+ spin_unlock_irqrestore(shost->host_lock, flags);
+
++ scsi_target_unblock(&rport->dev);
++
+ return rport;
+ }
+ }
+@@ -1762,9 +1764,10 @@ fc_remote_port_add(struct Scsi_Host *sho
+ /* initiate a scan of the target */
+ rport->flags |= FC_RPORT_SCAN_PENDING;
+ scsi_queue_work(shost, &rport->scan_work);
+- }
+-
+- spin_unlock_irqrestore(shost->host_lock, flags);
++ spin_unlock_irqrestore(shost->host_lock, flags);
++ scsi_target_unblock(&rport->dev);
++ } else
++ spin_unlock_irqrestore(shost->host_lock, flags);
+
+ return rport;
+ }
+@@ -1938,6 +1941,7 @@ fc_remote_port_rolechg(struct fc_rport
+ rport->flags |= FC_RPORT_SCAN_PENDING;
+ scsi_queue_work(shost, &rport->scan_work);
+ spin_unlock_irqrestore(shost->host_lock, flags);
++ scsi_target_unblock(&rport->dev);
+ }
+ }
+ EXPORT_SYMBOL(fc_remote_port_rolechg);
+@@ -1970,8 +1974,9 @@ fc_timeout_deleted_rport(void *data)
+ dev_printk(KERN_ERR, &rport->dev,
+ "blocked FC remote port time out: no longer"
+ " a FCP target, removing starget\n");
+- fc_queue_work(shost, &rport->stgt_delete_work);
+ spin_unlock_irqrestore(shost->host_lock, flags);
++ scsi_target_unblock(&rport->dev);
++ fc_queue_work(shost, &rport->stgt_delete_work);
+ return;
+ }
+
+@@ -2035,17 +2040,15 @@ fc_timeout_deleted_rport(void *data)
+ * went away and didn't come back - we'll remove
+ * all attached scsi devices.
+ */
+- fc_queue_work(shost, &rport->stgt_delete_work);
+-
+ spin_unlock_irqrestore(shost->host_lock, flags);
++
++ scsi_target_unblock(&rport->dev);
++ fc_queue_work(shost, &rport->stgt_delete_work);
+ }
+
+ /**
+ * fc_scsi_scan_rport - called to perform a scsi scan on a remote port.
+ *
+- * Will unblock the target (in case it went away and has now come back),
+- * then invoke a scan.
+- *
+ * @data: remote port to be scanned.
+ **/
+ static void
+@@ -2057,7 +2060,6 @@ fc_scsi_scan_rport(void *data)
+
+ if ((rport->port_state == FC_PORTSTATE_ONLINE) &&
+ (rport->roles & FC_RPORT_ROLE_FCP_TARGET)) {
+- scsi_target_unblock(&rport->dev);
+ scsi_scan_target(&rport->dev, rport->channel,
+ rport->scsi_target_id, SCAN_WILD_CARD, 1);
+ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/scsi-fix-scan-offline.patch new/patches.fixes/scsi-fix-scan-offline.patch
--- old/patches.fixes/scsi-fix-scan-offline.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/scsi-fix-scan-offline.patch 2006-05-12 14:29:25.000000000 +0200
@@ -0,0 +1,106 @@
+
+If a device gets offlined as a result of the Inquiry sent
+during scanning, the following oops can occur. After the
+disk gets put into the SDEV_OFFLINE state, the error handler
+sends back the failed inquiry, which wakes the thread doing
+the scan. This starts a race between the scanning thread
+freeing the scsi device and the error handler calling
+scsi_run_host_queues to restart the host. Since the disk
+is in the SDEV_OFFLINE state, scsi_device_get will still
+work, which results in __scsi_iterate_devices getting
+a reference to the scsi disk when it shouldn't.
+
+The following execution thread causes the oops:
+
+CPU 0 (scan) CPU 1 (eh)
+---------------------------------------------------------
+scsi_probe_and_add_lun
+ ....
+ scsi_eh_offline_sdevs
+ scsi_eh_flush_done_q
+scsi_destroy_sdev
+scsi_device_dev_release
+ scsi_restart_operations
+ scsi_run_host_queues
+ __scsi_iterate_devices
+ get_device
+scsi_device_dev_release_usercontext
+ scsi_run_queue
+ <---OOPS--->
+
+The patch fixes this by changing the state of the sdev to SDEV_DEL
+before doing the final put_device, which should prevent the race
+from occurring.
+
+Original oops follows:
+
+Badness in kref_get at lib/kref.c:32
+Call Trace:
+[C00000002F4476D0] [C00000000000EE20] .show_stack+0x68/0x1b0 (unreliable)
+[C00000002F447770] [C00000000037515C] .program_check_exception+0x1cc/0x5a8
+[C00000002F447840] [C00000000000446C] program_check_common+0xec/0x100
+ Exception: 700 at .kref_get+0x10/0x28
+ LR = .kobject_get+0x20/0x3c
+[C00000002F447B30] [C00000002F447BC0] 0xc00000002f447bc0 (unreliable)
+[C00000002F447BB0] [C000000000254BDC] .get_device+0x20/0x3c
+[C00000002F447C30] [D000000000063188] .scsi_device_get+0x34/0xdc [scsi_mod]
+[C00000002F447CC0] [D0000000000633EC] .__scsi_iterate_devices+0x50/0xbc [scsi_mod]
+[C00000002F447D60] [D00000000006A910] .scsi_run_host_queues+0x34/0x5c [scsi_mod]
+[C00000002F447DF0] [D000000000069054] .scsi_error_handler+0xdb4/0xe44 [scsi_mod]
+[C00000002F447EE0] [C00000000007B4E0] .kthread+0x128/0x178
+[C00000002F447F90] [C000000000025E84] .kernel_thread+0x4c/0x68
+Unable to handle kernel paging request for <7>PCI: Enabling device: (0002:41:01.1), cmd 143
+data at address 0x000001b8
+Faulting instruction address: 0xd0000000000698e4
+sym1: <1010-66> rev 0x1 at pci 0002:41:01.1 irq 216
+sym1: No NVRAM, ID 7, Fast-80, LVD, parity checking
+sym1: SCSI BUS has been reset.
+scsi2 : sym-2.2.2
+cpu 0x0: Vector: 300 (Data Access) at [c00000002f447a30]
+ pc: d0000000000698e4: .scsi_run_queue+0x2c/0x218 [scsi_mod]
+ lr: d00000000006a904: .scsi_run_host_queues+0x28/0x5c [scsi_mod]
+ sp: c00000002f447cb0
+ msr: 9000000000009032
+ dar: 1b8
+ dsisr: 40000000
+ current = 0xc0000000045fecd0
+ paca = 0xc00000000048ee80
+ pid = 1123, comm = scsi_eh_1
+enter ? for help
+[c00000002f447d60] d00000000006a904 .scsi_run_host_queues+0x28/0x5c [scsi_mod]
+[c00000002f447df0] d000000000069054 .scsi_error_handler+0xdb4/0xe44 [scsi_mod]
+[c00000002f447ee0] c00000000007b4e0 .kthread+0x128/0x178
+[c00000002f447f90] c000000000025e84 .kernel_thread+0x4c/0x68
+
+Signed-off-by: Brian King
+---
+
+ linux-2.6-bjking1/drivers/scsi/scsi_lib.c | 3 +++
+ linux-2.6-bjking1/drivers/scsi/scsi_scan.c | 1 +
+ 2 files changed, 4 insertions(+)
+
+diff -puN drivers/scsi/scsi_lib.c~scsi_fix_scan_offline drivers/scsi/scsi_lib.c
+--- linux-2.6/drivers/scsi/scsi_lib.c~scsi_fix_scan_offline 2006-04-24 13:42:57.000000000 -0500
++++ linux-2.6-bjking1/drivers/scsi/scsi_lib.c 2006-04-24 14:25:36.000000000 -0500
+@@ -2121,6 +2121,9 @@ scsi_device_set_state(struct scsi_device
+
+ case SDEV_DEL:
+ switch (oldstate) {
++ case SDEV_CREATED:
++ case SDEV_RUNNING:
++ case SDEV_OFFLINE:
+ case SDEV_CANCEL:
+ break;
+ default:
+diff -puN drivers/scsi/scsi_scan.c~scsi_fix_scan_offline drivers/scsi/scsi_scan.c
+--- linux-2.6/drivers/scsi/scsi_scan.c~scsi_fix_scan_offline 2006-04-24 14:02:51.000000000 -0500
++++ linux-2.6-bjking1/drivers/scsi/scsi_scan.c 2006-04-24 14:26:13.000000000 -0500
+@@ -810,6 +810,7 @@ static int scsi_add_lun(struct scsi_devi
+
+ static inline void scsi_destroy_sdev(struct scsi_device *sdev)
+ {
++ scsi_device_set_state(sdev, SDEV_DEL);
+ if (sdev->host->hostt->slave_destroy)
+ sdev->host->hostt->slave_destroy(sdev);
+ transport_destroy_device(&sdev->sdev_gendev);
+_
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/um-missing-exports.diff new/patches.fixes/um-missing-exports.diff
--- old/patches.fixes/um-missing-exports.diff 2006-05-08 14:26:39.000000000 +0200
+++ new/patches.fixes/um-missing-exports.diff 2006-05-11 22:27:23.000000000 +0200
@@ -4,27 +4,23 @@
The strnlen_user function which these functions implement for uml
are exported as well.
-Index: linux-2.6.16/arch/um/kernel/skas/uaccess.c
+Index: linux-2.6.16/arch/um/kernel/ksyms.c
===================================================================
---- linux-2.6.16.orig/arch/um/kernel/skas/uaccess.c
-+++ linux-2.6.16/arch/um/kernel/skas/uaccess.c
-@@ -249,6 +249,7 @@ int strnlen_user_skas(const void __user
- return(count + 1);
- return(-EFAULT);
- }
-+EXPORT_SYMBOL(strnlen_user_skas);
-
- /*
- * Overrides for Emacs so that we follow Linus's tabbing style.
-Index: linux-2.6.16/arch/um/kernel/tt/uaccess.c
-===================================================================
---- linux-2.6.16.orig/arch/um/kernel/tt/uaccess.c
-+++ linux-2.6.16/arch/um/kernel/tt/uaccess.c
-@@ -60,6 +60,7 @@ int strnlen_user_tt(const void __user *s
- ¤t->thread.fault_addr,
- ¤t->thread.fault_catcher));
- }
+--- linux-2.6.16.orig/arch/um/kernel/ksyms.c
++++ linux-2.6.16/arch/um/kernel/ksyms.c
+@@ -45,6 +45,7 @@ EXPORT_SYMBOL(end_iomem);
+ EXPORT_SYMBOL(strncpy_from_user_tt);
+ EXPORT_SYMBOL(copy_from_user_tt);
+ EXPORT_SYMBOL(copy_to_user_tt);
+EXPORT_SYMBOL(strnlen_user_tt);
+ #endif
+
+ #ifdef CONFIG_MODE_SKAS
+@@ -52,6 +53,7 @@ EXPORT_SYMBOL(strncpy_from_user_skas);
+ EXPORT_SYMBOL(copy_to_user_skas);
+ EXPORT_SYMBOL(copy_from_user_skas);
+ EXPORT_SYMBOL(clear_user_skas);
++EXPORT_SYMBOL(strnlen_user_skas);
+ #endif
+ EXPORT_SYMBOL(uml_strdup);
- /*
- * Overrides for Emacs so that we follow Linus's tabbing style.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.fixes/yenta-fixup-parent-subordinate-carefully new/patches.fixes/yenta-fixup-parent-subordinate-carefully
--- old/patches.fixes/yenta-fixup-parent-subordinate-carefully 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/yenta-fixup-parent-subordinate-carefully 2006-05-12 20:16:56.000000000 +0200
@@ -0,0 +1,289 @@
+From: Bernhard Kaindl
+Subject: [PATCH] Cardbus cards hidden, fixup parent subordinate# carefully
+References: bugzilla.novell.com:146438, bugzilla.kernel.org:2944
+
+This patch is:
+
+- Posted on lkml: Fri, 14 Apr 2006:
+ http://www.spinics.net/lists/kernel/msg463423.html
+
+- Part of the 2.5 PCMCIA tree since Thu, 13 Apr 2006:
+ http://kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-2.6.git;a=summary
+
+ Signed-off-by: Dominik Brodowski
+ (current PCMCIA subsystem maintainer)
+
+- Part of the -mm tree since (as part of pcmcia-git) since
+ about the same time (soon 4 weeks as of 2006-05-12)
+
+ Because there have been no problem reports from this,
+ and the verifications done on varous notebooks (listed
+ at the end), it could be considered stable.
+
+Description of the patch:
+=========================
+
+Problem description and approach:
+=================================
+
+Short description:
+------------------
+
+This patch fixes detection of the CardBus cards in many notebooks
+due to a too low subordinate number of the parent PCI-PCI bridge
+
+It fixes the subordinate number of the parent PCI-PCI bridge of
+CardBus bridges when one is probed, before registering the CardBus
+bridge with the kernel and scanning its slot for devices.
+
+Longer description:
+-------------------
+
+On a number of Laptops, the PCI scans do not find any CardBus cards
+because the parent bridge of the CardBus bridge is not configured so
+that Type 1 PCI configuration cycles can reach the CardBus cards.
+
+On one of the affected Laptops, a Samsung X20, Windows XP does a
+full pci bus renumbering, so the problem is not seen with Windows.
+
+Booting with pci=assign-busses does the same but since ACPI may contain
+references to PCI busses and we do not translate them yet, it may break
+things.
+
+The generic solution used in 2.6.13 was to only increase the subordinate
+number, but since this was done during PCI bus discovery, it was not safe
+to it at this point and taken out with the next release.
+
+This patch does the same but takes care that it can never cause
+create a PCI bus configuration with overlapping bus numbers which
+was the reason why the solution of 2.6.13 was moved to pci=assign-busses.
+
+Description of the fix:
+=======================
+
+Principles:
+-----------
+
+Reference: PCI-PCI Bridges: PCI Configuration Cycles and PCI Bus Numbering:
+http://www.science.unitn.it/~fiorella/guidelinux/tlk/node72.html
+---------------------------------------------------------------------------
+It is up to each individual operating system to allocate bus numbers during
+PCI configuration but whatever the numbering scheme used the following
+statement must be true for all of the PCI-PCI bridges in the system:
+
+``All PCI busses located behind a PCI-PCI bridge must reside between
+ the seondary bus number and the subordinate bus number (inclusive).''
+
+If this rule is broken then the PCI-PCI Bridges will not pass and translate
+Type 1 PCI configuration cycles correctly and the system will fail to find
+and initialise the PCI devices in the system.
+---------------------------------------------------------------------------
+
+What the patch needs to do in order to make the hidden devices work:
+--------------------------------------------------------------------
+The patch needs to ensure that the parent PCI-PCI bridge of the Cardbus
+Controller is configured so that Type 1 PCI configuration cycles reach
+the devices in the CardBus slots so that they are found and initialized
+
+The only cases where it has been found that a parent bridge of
+one or more cardbus bridges was not configured in this way were
+numerous laptops where the parent bridge of the cardbus bridge
+is a PCI-PCI bridge and it's subordinate bus number is lower
+than the subordinate bus number of the cardbus bridge.
+
+What the patch may not do:
+--------------------------
+The patch may not raise the subordinate number of any PCI-PCI bridge
+so that it overlaps with the bus ranges of other PCI-PCI bridges.
+
+What the patch does:
+--------------------
+
+Called from Cardbus controller probe function, before the controller
+is registered, so before the devices on it can be scanned, a new
+function call is inserted. This function works the following way:
+
+> If the parent of the cardbus parent is a root bridge, do nothing.
+ (The root bridge does not hide Cardbus devices, it was always ok)
+
+> The parent of the cardbus bridge has been identified as the PCI-PCI
+ bridge who's subordinate bus number may be raised to pass and
+ translate Type 1 PCI configuration cycles so that they can
+ reach the devices behind the CardBus brodge, it's called bridge_to_fix.
+
+> The subordinate number the parent of the bridge_to_fix is used
+ as the initial upper limit to which we could theoretically raise
+ the subordinate number of the bridge_to_fix.
+ (there is no point in exceeding the range of the parent, childs
+ will got get Type 1 PCI configuration cycles for those anyway)
+
+> For each child bridge of the parent bridge
+ (equal to: for each silbling and the bridge_to_fix itself), do:
+
+ -> If the silbling's secondary bus number is higher than the
+ subordinate of the bridge_to_fix
+ (thus, it is a bridge which we have to care for when raising
+ the subordinate of the bridge_to_fix to prevent overlapping)
+
+ *and*
+
+ if this silbling's secondary bus number is smaller than the
+ upper limit, then update the upper limit to the secondary bus
+ number of the silbling minus 1.
+
+ This is repeated for all silbling bridges of the bridge_to_fix
+ (and for the bridge_to_fix itself too, but for this to have
+ any effect, it's secondary must be higher than it's subordinate
+ which should never be the case but even if it is [then, the
+ PCI config of it is totally broken and won't work anyway]
+ is that the subordinate of it will only be raised to it's
+ secondary minus one, so it won't have any effect)
+
+-> The upper_limit is then left at the last free bus number to which
+ the subordinate of the cardbus parent bridge could be raised without
+ reaching a bus number which is allocated for a different silbling bridge
+ on the same bus and without leaving the bus range of the parent.
+
+ I tested these checks to work by modifying the relevant
+ data structures and verifying the results, so I certify
+ that with all these tests, the upper limit was always right.
+
+ If this upper limit is lower than the subordinate number of the cardbus
+ bridge, a warning message which says which shows this constraint for
+ raising the subordinate of the bridge_to_fix is logged.
+
+ If the upper limit is higher than the subordinate of the bridge_to_fix
+ (this means it could be raised to this limit, it is never reduced,
+ so nothing can break), the following is done:
+
+ The subordnate bus number to assign is set to the upper_limit or
+ to the subordinate bus number of the cardbus bridge (this is the
+ number which we want to have), whatever value is smaller.
+
+ A message which logs that we raise the subordinate number of
+ bridge_to fix to its new value is logged.
+
+ The subordinate field of the PCI struct of the bridge_to_fix
+ is set to the new subordnate bus number and the PCI config byte
+ PCI_SUBORDINATE_BUS is set to the new number.
+
+That's it, see the patch itself for reference, this is written from
+reading and checking the patch, not from memory. It also contains
+comments to help you to match this description with the source,
+but this description was not written from reading the comments,
+only from checking the source, it's excatly what it really does
+and since the patch was developed, it was tested on many machines,
+and there are no error reports.
+
+Systems where the patch has been verified:
+* Compaq R3000 (AMD64-Turion Laptops)
+* HP DV1448
+* Clevo D900T
+* Samsung X20 series (also fixed in new BIOS, older BIOSes are affected)
+* Thinkpad G40
+
+Equally affected systems:
+* Compaq R4000 series
+* HP SE L2000 amd64 Turion laptop
+* HP zv5000z (AMD64 3700+) and HP zv5200z series
+* Toshiba Satellite Pro A60
+* IBM ThinkPads (a TP 240 and a TP debugged by Pavel Machek)
+* Benq Joybook S72
+* MSI S260 / Medion SIM 2100 MD 95600
+
+Tested-by: Bernhard Kaindl
+Tested-by: Andreas Schneider
+Tested-by: Alex Kavanagh
+Tested-by: Aaron Cohen
+Signed-off-by: Dominik Brodowski
+Signed-off-by: Bernhard Kaindl
+
+--- linux-2.4.17-rc1/drivers/pcmcia/yenta_socket.c
++++ linux-2.4.17-rc1/drivers/pcmcia/yenta_socket.c
+@@ -998,6 +998,77 @@
+ config_writew(socket, CB_BRIDGE_CONTROL, bridge);
+ }
+
++/**
++ * yenta_fixup_parent_subordinate - Fix subordinate bus# of the parent bridge
++ * @cardbus_bridge: The PCI bus which the CardBus bridge bridges to
++ *
++ * Checks if devices on the bus which the CardBus bridge bridges to would be
++ * invisible during PCI scans because of a misconfigured subordinate number
++ * of the parent brige - some BIOSes seem to be too lazy to set it right.
++ * Does the fixup carefully by checking how far it can go without conflicts.
++ * See http://bugzilla.kernel.org/show_bug.cgi?id=2944 for more information.
++ */
++static void yenta_fixup_parent_bridge(struct pci_bus *cardbus_bridge)
++{
++ struct list_head *tmp;
++ unsigned char upper_limit;
++ /*
++ * We only check and fix the parent bridge: All systems which need
++ * this fixup that have been reviewed are laptops and the only bridge
++ * which needed fixing was the parent bridge of the CardBus bridge:
++ */
++ struct pci_bus *bridge_to_fix = cardbus_bridge->parent;
++
++ /* Check bus numbers are already set up correctly: */
++ if (bridge_to_fix->subordinate >= cardbus_bridge->subordinate)
++ return; /* The subordinate number is ok, nothing to do */
++
++ if (!bridge_to_fix->parent)
++ return; /* Root bridges are ok */
++
++ /* stay within the limits of the bus range of the parent: */
++ upper_limit = bridge_to_fix->parent->subordinate;
++
++ /* check the bus ranges of all silbling bridges to prevent overlap */
++ list_for_each(tmp, &bridge_to_fix->parent->children) {
++ struct pci_bus * silbling = pci_bus_b(tmp);
++ /*
++ * If the silbling has a higher secondary bus number
++ * and it's secondary is equal or smaller than our
++ * current upper limit, set the new upper limit to
++ * the bus number below the silbling's range:
++ */
++ if (silbling->secondary > bridge_to_fix->subordinate
++ && silbling->secondary <= upper_limit)
++ upper_limit = silbling->secondary - 1;
++ }
++
++ /* Show that the wanted subordinate number is not possible: */
++ if (cardbus_bridge->subordinate > upper_limit)
++ printk(KERN_WARNING "Yenta: Upper limit for fixing this "
++ "bridge's parent bridge: #%02x\n", upper_limit);
++
++ /* If we have room to increase the bridge's subordinate number, */
++ if (bridge_to_fix->subordinate < upper_limit) {
++
++ /* use the highest number of the hidden bus, within limits */
++ unsigned char subordinate_to_assign =
++ min(cardbus_bridge->subordinate, upper_limit);
++
++ printk(KERN_INFO "Yenta: Raising subordinate bus# of parent "
++ "bus (#%02x) from #%02x to #%02x\n",
++ bridge_to_fix->number,
++ bridge_to_fix->subordinate, subordinate_to_assign);
++
++ /* Save the new subordinate in the bus struct of the bridge */
++ bridge_to_fix->subordinate = subordinate_to_assign;
++
++ /* and update the PCI config space with the new subordinate */
++ pci_write_config_byte(bridge_to_fix->self,
++ PCI_SUBORDINATE_BUS, bridge_to_fix->subordinate);
++ }
++}
++
+ /*
+ * Initialize a cardbus controller. Make sure we have a usable
+ * interrupt, and that we can map the cardbus area. Fill in the
+@@ -1113,6 +1184,8 @@ static int __devinit yenta_probe (struct
+ yenta_get_socket_capabilities(socket, isa_interrupts);
+ printk(KERN_INFO "Socket status: %08x\n", cb_readl(socket, CB_SOCKET_STATE));
+
++ yenta_fixup_parent_bridge(dev->subordinate);
++
+ /* Register it with the pcmcia layer.. */
+ ret = pcmcia_register_socket(&socket->socket);
+ if (ret == 0) {
++++++ patches.kernel.org.tar.bz2 ++++++
++++ 10315 lines of diff (skipped)
++++++ patches.rpmify.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.rpmify/symtypes.diff new/patches.rpmify/symtypes.diff
--- old/patches.rpmify/symtypes.diff 2006-02-17 10:30:24.000000000 +0100
+++ new/patches.rpmify/symtypes.diff 2006-05-09 20:17:05.000000000 +0200
@@ -264,7 +264,7 @@
%.o: %.S scripts FORCE
$(Q)$(MAKE) $(build)=$(dir $<) $(dir $<)$(notdir $@)
+%.symtypes: %.c scripts FORCE
-+ $(Q)$(MAKE) $(build)=$(@D) $(dir $<)$(notdir $@)
++ $(Q)$(MAKE) $(build)=$(@D) $(dir $<)$(notdir $@)
# For external modules we shall include any directory of the target,
# but usual case there is no directory part.
++++++ patches.suse.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.suse/apparmor new/patches.suse/apparmor
--- old/patches.suse/apparmor 2006-04-26 13:40:52.000000000 +0200
+++ new/patches.suse/apparmor 2006-05-15 23:49:58.000000000 +0200
@@ -98,7 +98,7 @@
+}
--- /dev/null
+++ linux-2.6.16/security/apparmor/inline.h
-@@ -0,0 +1,362 @@
+@@ -0,0 +1,364 @@
+/*
+ * Copyright (C) 2005 Novell/SUSE
+ *
@@ -451,8 +451,10 @@
+
+ if (mnt->mnt_root == data->root) {
+ name = sd_get_name(data->dentry, mnt);
-+ if (!name)
-+ data->errno = -ENOMEM;
++ if (IS_ERR(name)) {
++ data->errno = PTR_ERR(name);
++ name = NULL;
++ }
+ break;
+ }
+ }
@@ -859,7 +861,7 @@
+
+ read_lock_irqsave(&sd_lock, flags);
+
-+ sd = SD_SUBDOMAIN(current->security);
++ sd = SD_SUBDOMAIN(parent->security);
+
+ if (!error && __sd_is_confined(sd)) {
+ error = sd_audit_syscallreject(sd, GFP_ATOMIC, "ptrace");
@@ -1616,7 +1618,7 @@
+MODULE_LICENSE("GPL");
--- /dev/null
+++ linux-2.6.16/security/apparmor/main.c
-@@ -0,0 +1,1648 @@
+@@ -0,0 +1,1668 @@
+/*
+ * Copyright (C) 2002-2005 Novell/SUSE
+ *
@@ -1666,6 +1668,34 @@
+ **************************/
+
+/**
++ * dentry_xlate_error
++ * @dentry: pointer to dentry
++ * @error: error number
++ * @dtype: type of dentry
++ *
++ * Display error message when a dentry translation error occured
++ */
++static void dentry_xlate_error(struct dentry *dentry, int error, char *dtype)
++{
++ const unsigned int len = 16;
++ char buf[len];
++
++ if (dentry->d_inode) {
++ snprintf(buf, len, "%lu", dentry->d_inode->i_ino);
++ } else {
++ strncpy(buf, "<negative>", len);
++ buf[len-1]=0;
++ }
++
++ SD_ERROR("An error occured while translating %s %p "
++ "inode# %s to a pathname. Error %d\n",
++ dtype,
++ dentry,
++ buf,
++ error);
++}
++
++/**
+ * sd_taskattr_access:
+ * @name: name of file to check permission
+ * @mask: permission mask requested for file
@@ -2047,12 +2077,7 @@
+ } while (name);
+
+ if ((sdpath_error = sd_path_end(&data)) != 0) {
-+ SD_ERROR("%s: An error occured while translating dentry %p "
-+ "inode# %lu to a pathname. Error %d\n",
-+ __FUNCTION__,
-+ dentry,
-+ dentry->d_inode->i_ino,
-+ sdpath_error);
++ dentry_xlate_error(dentry, sdpath_error, "dentry");
+
+ WARN_ON(name); /* name should not be set if error */
+ error = sdpath_error;
@@ -2205,7 +2230,7 @@
+ }
+ } else if (sa->errorcode < 0) {
+ audit_log(current->audit_context, gfp_mask, AUDIT_SD,
-+ "Internal error auditing event type %d (error %d)\n",
++ "Internal error auditing event type %d (error %d)",
+ sa->type, sa->errorcode);
+ SD_ERROR("Internal error auditing event type %d (error %d)\n",
+ sa->type, sa->errorcode);
@@ -2337,13 +2362,9 @@
+ goto out;
+ }
+
-+ audit_log_format(ab, "(%s(%d) ", current->comm, current->pid);
-+
-+ if (0)
-+ audit_log_format(ab, "[global deny])\n");
-+ else
-+ audit_log_format(ab, "profile %s active %s)\n",
-+ sd->profile->name, sd->active->name);
++ audit_log_format(ab, "(%s(%d) profile %s active %s)",
++ current->comm, current->pid,
++ sd->profile->name, sd->active->name);
+
+ audit_log_end(ab);
+
@@ -2366,11 +2387,13 @@
+ */
+char *sd_get_name(struct dentry *dentry, struct vfsmount *mnt)
+{
-+ char *page, *name = NULL;
++ char *page, *name;
+
+ page = (char *)__get_free_page(GFP_KERNEL);
-+ if (!page)
++ if (!page) {
++ name = ERR_PTR(-ENOMEM);
+ goto out;
++ }
+
+ name = d_path(dentry, mnt, page, PAGE_SIZE);
+
@@ -2378,7 +2401,9 @@
+ * has been removed from the cache.
+ * The size > deleted_size and strcmp checks are redundant safe guards.
+ */
-+ if (name) {
++ if (IS_ERR(name)) {
++ free_page((unsigned long)page);
++ } else {
+ const char deleted_str[] = " (deleted)";
+ const size_t deleted_size = sizeof(deleted_str) - 1;
+ size_t size;
@@ -2387,8 +2412,10 @@
+ size > deleted_size &&
+ strcmp(name + size - deleted_size, deleted_str) == 0)
+ name[size - deleted_size] = '\0';
++
++ SD_DEBUG("%s: full_path=%s\n", __FUNCTION__, name);
+ }
-+ SD_DEBUG("%s: full_path=%s\n", __FUNCTION__, name);
++
+out:
+ return name;
+}
@@ -2487,7 +2514,12 @@
+ sa.flags = 0;
+ sa.gfp_mask = GFP_KERNEL;
+
-+ permerror = (sa.name ? sd_file_perm(sd, sa.name, mask) : -ENOMEM);
++ if (IS_ERR(sa.name)) {
++ permerror = PTR_ERR(sa.name);
++ sa.name = NULL;
++ } else {
++ permerror = sd_file_perm(sd, sa.name, mask);
++ }
+
+ sd_permerror2result(permerror, &sa);
+
@@ -2682,13 +2714,8 @@
+
+ /* should not be possible if we matched */
+ if ((sdpath_error = sd_path_end(&idata)) != 0) {
-+ SD_ERROR("%s: An error occured while "
-+ "translating inner dentry %p "
-+ "inode %lu to a pathname. Error %d\n",
-+ __FUNCTION__,
-+ target,
-+ target->d_inode->i_ino,
-+ sdpath_error);
++ dentry_xlate_error(target, sdpath_error,
++ "inner dentry [link]");
+
+ /* name should not be set if error */
+ WARN_ON(iname);
@@ -2706,12 +2733,7 @@
+ /* inner error */
+ (void)sd_path_end(&odata);
+ } else if ((sdpath_error = sd_path_end(&odata)) != 0) {
-+ SD_ERROR("%s: An error occured while translating outer "
-+ "dentry %p inode %lu to a pathname. Error %d\n",
-+ __FUNCTION__,
-+ link,
-+ link->d_inode->i_ino,
-+ sdpath_error);
++ dentry_xlate_error(link, sdpath_error, "outer dentry [link]");
+
+ errorcode = sdpath_error;
+ }
@@ -2844,7 +2866,7 @@
+ }
+
+ filename = sd_get_name(filp->f_dentry, filp->f_vfsmnt);
-+ if (!filename) {
++ if (IS_ERR(filename)) {
+ SD_WARN("%s: Failed to get filename\n", __FUNCTION__);
+ goto out;
+ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.suse/e1000-D3-cold-wake.patch new/patches.suse/e1000-D3-cold-wake.patch
--- old/patches.suse/e1000-D3-cold-wake.patch 2006-01-26 22:20:32.000000000 +0100
+++ new/patches.suse/e1000-D3-cold-wake.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,59 +0,0 @@
-From: olh@suse.de
-Subject: bogus error checking.
-
-Either it fails, or it doesnt.
-
- e1000: eth2: e1000_suspend: Error setting enable D3 cold wake: -22 (line 4652)
- e1000: eth3: e1000_suspend: Error setting enable D3 cold wake: -22 (line 4652)
-
-Signed-off-by: Olaf Hering
-
- drivers/net/e1000/e1000_main.c | 25 ++++++-------------------
- 1 files changed, 6 insertions(+), 19 deletions(-)
-
-Index: linux-2.6.15/drivers/net/e1000/e1000_main.c
-===================================================================
---- linux-2.6.15.orig/drivers/net/e1000/e1000_main.c
-+++ linux-2.6.15/drivers/net/e1000/e1000_main.c
-@@ -4570,21 +4570,13 @@ e1000_suspend(struct pci_dev *pdev, pm_m
-
- E1000_WRITE_REG(&adapter->hw, WUC, E1000_WUC_PME_EN);
- E1000_WRITE_REG(&adapter->hw, WUFC, wufc);
-- retval = pci_enable_wake(pdev, PCI_D3hot, 1);
-- if (retval)
-- DPRINTK(PROBE, ERR, "Error enabling D3 wake\n");
-- retval = pci_enable_wake(pdev, PCI_D3cold, 1);
-- if (retval)
-- DPRINTK(PROBE, ERR, "Error enabling D3 cold wake\n");
-+ pci_enable_wake(pdev, PCI_D3hot, 1);
-+ pci_enable_wake(pdev, PCI_D3cold, 1);
- } else {
- E1000_WRITE_REG(&adapter->hw, WUC, 0);
- E1000_WRITE_REG(&adapter->hw, WUFC, 0);
-- retval = pci_enable_wake(pdev, PCI_D3hot, 0);
-- if (retval)
-- DPRINTK(PROBE, ERR, "Error enabling D3 wake\n");
-- retval = pci_enable_wake(pdev, PCI_D3cold, 0);
-- if (retval)
-- DPRINTK(PROBE, ERR, "Error enabling D3 cold wake\n");
-+ pci_enable_wake(pdev, PCI_D3hot, 0);
-+ pci_enable_wake(pdev, PCI_D3cold, 0);
- }
-
- if (adapter->hw.mac_type >= e1000_82540 &&
-@@ -4593,13 +4585,8 @@ e1000_suspend(struct pci_dev *pdev, pm_m
- if (manc & E1000_MANC_SMBUS_EN) {
- manc |= E1000_MANC_ARP_EN;
- E1000_WRITE_REG(&adapter->hw, MANC, manc);
-- retval = pci_enable_wake(pdev, PCI_D3hot, 1);
-- if (retval)
-- DPRINTK(PROBE, ERR, "Error enabling D3 wake\n");
-- retval = pci_enable_wake(pdev, PCI_D3cold, 1);
-- if (retval)
-- DPRINTK(PROBE, ERR,
-- "Error enabling D3 cold wake\n");
-+ pci_enable_wake(pdev, PCI_D3hot, 1);
-+ pci_enable_wake(pdev, PCI_D3cold, 1);
- }
- }
-
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.suse/lkcd-crash-with-invalid-DUMPDEV new/patches.suse/lkcd-crash-with-invalid-DUMPDEV
--- old/patches.suse/lkcd-crash-with-invalid-DUMPDEV 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/lkcd-crash-with-invalid-DUMPDEV 2006-05-12 15:25:01.000000000 +0200
@@ -0,0 +1,124 @@
+From: Greg Edwards
+Subject: System panics when DUMPDEV is not valid
+
+Turns out there were two bugs here. The first was the one Jay already
+mentioned -- there are extra bdput calls in the error handling of the
+dump_block_*_open functions. bdput is already called in do_open() in
+a failure case, and in blkdev_put().
+
+The second bug is dump_config.dump_device is not reset if we failed to
+set up the dump device. If we next write to /sys/dump/compress after
+sending a bogus device to /sys/dump/dumpdev, we'll panic in
+dump_compres_init() deferencing dump_config.dumper.
+
+Signed-off-by: Greg Edwards
+Signed-off-by: Hannes Reinecke
+
+---
+ drivers/dump/dump_blockdev.c | 26 ++++++++++++--------------
+ drivers/dump/dump_setup.c | 1 +
+ 2 files changed, 13 insertions(+), 14 deletions(-)
+
+Index: linux/drivers/dump/dump_blockdev.c
+===================================================================
+--- linux.orig/drivers/dump/dump_blockdev.c 2006-05-10 10:29:44.970300383 -0500
++++ linux/drivers/dump/dump_blockdev.c 2006-05-10 10:30:35.557317421 -0500
+@@ -344,14 +344,14 @@ dump_block_intr_open(struct dump_dev *de
+
+ /* get the block device opened */
+ if ((retval = blkdev_get(bdev, O_RDWR | O_LARGEFILE, 0))) {
+- goto err1;
++ goto err;
+ }
+
+ if ((dump_bdev->bio = kmalloc(sizeof(struct bio), GFP_KERNEL))
+ == NULL) {
+ printk("LKCD: Cannot allocate bio\n");
+ retval = -ENOMEM;
+- goto err2;
++ goto err1;
+ }
+
+ bio_init(dump_bdev->bio);
+@@ -359,7 +359,7 @@ dump_block_intr_open(struct dump_dev *de
+ if ((bvec = kmalloc(sizeof(struct bio_vec) *
+ (DUMP_BUFFER_SIZE >> PAGE_SHIFT), GFP_KERNEL)) == NULL) {
+ retval = -ENOMEM;
+- goto err3;
++ goto err2;
+ }
+
+ /* assign the new dump dev structure */
+@@ -378,7 +378,7 @@ dump_block_intr_open(struct dump_dev *de
+
+ if (retval) {
+ printk("LKCD: open: dump_block_map failed, ret %d\n", retval);
+- goto err3;
++ goto err2;
+ }
+
+ printk("LKCD: Block device (%d,%d) successfully configured for dumping\n",
+@@ -389,11 +389,10 @@ dump_block_intr_open(struct dump_dev *de
+ /* after opening the block device, return */
+ return retval;
+
+-err3: dump_free_bio(dump_bdev->bio);
++err2: dump_free_bio(dump_bdev->bio);
+ dump_bdev->bio = NULL;
+-err2: if (bdev) blkdev_put(bdev);
+- goto err;
+-err1: if (bdev) bdput(bdev);
++err1: if (bdev)
++ blkdev_put(bdev);
+ dump_bdev->bdev = NULL;
+ err: return retval;
+ }
+@@ -424,7 +423,7 @@ dump_block_poll_open(struct dump_dev *de
+
+ /* get the block device opened */
+ if ((retval = blkdev_get(bdev, O_RDWR | O_LARGEFILE, 0))) {
+- goto err1;
++ goto err;
+ }
+
+ dump_bdev->bio = 0;
+@@ -437,13 +436,13 @@ dump_block_poll_open(struct dump_dev *de
+ target = get_device(bdev->bd_disk->driverfs_dev);
+ if (!target) {
+ retval = -EINVAL;
+- goto err2;
++ goto err1;
+ }
+ retval = register_disk_dump_device(target,bdev);
+ if (retval == -EEXIST)
+ retval = 0;
+ else if (retval < 0)
+- goto err2;
++ goto err1;
+
+ printk("LKCD: Block device (%d,%d) successfully configured for dumping using polling I/O\n",
+ MAJOR((dev_t)arg), MINOR((dev_t)arg));
+@@ -451,9 +450,8 @@ dump_block_poll_open(struct dump_dev *de
+ /* after opening the block device, return */
+ return retval;
+
+-err2: if (bdev) blkdev_put(bdev);
+- goto err;
+-err1: if (bdev) bdput(bdev);
++err1: if (bdev)
++ blkdev_put(bdev);
+ err: return retval;
+ }
+
+Index: linux/drivers/dump/dump_setup.c
+===================================================================
+--- linux.orig/drivers/dump/dump_setup.c 2006-05-10 10:29:44.970300383 -0500
++++ linux/drivers/dump/dump_setup.c 2006-05-10 10:30:35.565316633 -0500
+@@ -615,6 +615,7 @@ static int dumper_setup(const char *devi
+ dump_config.dumper->name,
+ dump_config.dump_device);
+ dump_config.dumper = NULL;
++ dump_config.dump_device = NULL;
+ }
+ return ret;
+ }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.suse/lkcd.patch new/patches.suse/lkcd.patch
--- old/patches.suse/lkcd.patch 2006-05-03 08:38:48.000000000 +0200
+++ new/patches.suse/lkcd.patch 2006-05-12 15:25:01.000000000 +0200
@@ -7485,7 +7485,7 @@
+
+ list_for_each(tmp, &dump_target_list) {
+ dev = list_entry(tmp, struct dump_dev, list);
-+ if (dev->type == dev->type) {
++ if (ddev->type == dev->type) {
+ printk("LKCD: Target type %d already registered\n",
+ dev->type);
+ return -1; /* return proper error */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/patches.suse/ppc-fno-ivopts.patch new/patches.suse/ppc-fno-ivopts.patch
--- old/patches.suse/ppc-fno-ivopts.patch 2006-03-12 10:05:20.000000000 +0100
+++ new/patches.suse/ppc-fno-ivopts.patch 2006-05-11 11:22:36.000000000 +0200
@@ -17,7 +17,7 @@
AFLAGS += $(cpu-as-y)
CFLAGS += $(cpu-as-y)
-+CFLAGS += -fno-ivopts
++CFLAGS += $(call cc-option,-fno-ivopts)
head-y := arch/powerpc/kernel/head_32.o
head-$(CONFIG_PPC64) := arch/powerpc/kernel/head_64.o
@@ -29,7 +29,7 @@
CFLAGS += $(call cc-option,-finline-limit=10000)
CFLAGS += -pipe -fno-strength-reduce -Wno-sign-compare
AFLAGS += $(aflags-y)
-+CFLAGS += -fno-ivopts
++CFLAGS += $(call cc-option,-fno-ivopts)
OBJCOPYFLAGS := -O binary
LDFLAGS_vmlinux := -e start
++++++ patches.uml.tar.bz2 ++++++
++++++ patches.xen.tar.bz2 ++++++
++++++ series.conf ++++++
--- kernel-source/series.conf 2006-05-09 14:31:00.000000000 +0200
+++ kernel-source/series.conf 2006-05-16 13:03:58.000000000 +0200
@@ -21,7 +21,7 @@
# DO NOT MODIFY THEM!
# Send separate patches upstream if you find a problem...
- patches.kernel.org/patch-2.6.16.14
+ patches.kernel.org/patch-2.6.16.16
patches.fixes/setuid-dumpable-wrongdir
patches.fixes/git-kbuild.patch
@@ -74,6 +74,7 @@
patches.arch/ia64-sn2-user-MMIO-migration
patches.arch/ia64-sn2-hwperf-get_nearest_node_objdata
patches.arch/ia64-sn2-hwperf-topology_show
+ patches.arch/ia64-validate-pci_mmap_legacy
# i386
patches.arch/acpi-ignore-bad-names
@@ -112,11 +113,15 @@
patches.arch/x86_64-avoid-ebda
patches.arch/x86_64-fix-die_lock-nesting
patches.arch/x86_64-add-nmi_exit-to-die_nmi
+ patches.arch/x86_64-nommu-warning
+ patches.arch/x86_64-hotadd-fixes
# for i386/x86-64
patches.arch/tune-generic
patches.arch/stack-random-large
+ patches.fixes/acpi-blacklist-xw9300
+
# numa mempolicy
# suse ppc
@@ -127,6 +132,7 @@
patches.suse/mv643xx_eth.SET_NETDEV_DEV.patch
patches.suse/modeline-1680x1050.patch
patches.arch/ppc32-cflags.patch
+ patches.arch/ppc-iptables-slabdebug-alignment.patch
patches.suse/suse-ppc32-mol.patch
@@ -165,6 +171,7 @@
patches.arch/ppc-kdump-xmon-stop-cpu.patch
patches.arch/ppc-kdump-clear-and-EOI-IPI.patch
patches.arch/ppc-kdump-iommu-init-fix.patch
+ patches.arch/ppc-kdump-incorrect_might_sleep_in__get_user-put_user.patch
patches.arch/ppc-poison_percpu.patch
@@ -216,6 +223,7 @@
# Translate LF to CRLF instead of LFCR
patches.fixes/serial_console
+ patches.fixes/add-slab_is_available-routine-for-boot-code.patch
########################################################
#
@@ -299,6 +307,7 @@
patches.fixes/nfs-getxattr-length.diff
patches.fixes/nfs4-setclientid
patches.fixes/nfs4-open-delegated
+ patches.fixes/compat_sys_nfsservctl-access_ok.patch
########################################################
# lockd + statd
@@ -410,6 +419,7 @@
patches.drivers/lpfc-8.1.6-update
patches.drivers/snsc-powerdown-events
patches.drivers/ide-acpi-support
+ patches.drivers/fix-b44-checks
########################################################
# Storage
@@ -452,11 +462,9 @@
patches.fixes/i4l-nullpointer-fix
patches.drivers/isdn_pcmcia_cardbus_irq
- patches.drivers/e1000-revert-2.6.16-rc5-git7.diff
patches.drivers/e1000-update
patches.drivers/e1000-pci-err-recovery.patch
patches.drivers/e1000-stats-collection.patch
- patches.suse/e1000-D3-cold-wake.patch
patches.drivers/e100-ignore-bad-eeprom
@@ -486,11 +494,18 @@
patches.drivers/open-iscsi-svn.diff
patches.drivers/iscsitarget
patches.drivers/iscsitarget-align-with-open-iscsi.patch
+ patches.fixes/iscsi-parameter-size-oops.diff
########################################################
# PCI and PCI hotplug
########################################################
patches.fixes/pci-fix-problems-with-msi-x-on-ia64.patch
+ # Greg does not want this patch applied now after RC1
+ # is out, he also wants to see it in mainline first.
+ # See the internal kernel discussion on the subject
+ # "Cardbus cards hidden, fixup parent subordinate# carefully"
+ # for more information.
++bk patches.fixes/yenta-fixup-parent-subordinate-carefully
# from 2.6.17
patches.drivers/pci-0004-quirk-for-IBM-Dock-II-cardbus-controllers.patch
@@ -502,6 +517,7 @@
patches.drivers/pci-0032-Move-pci_dev_put-outside-a-spinlock.patch
patches.drivers/pci-0041-Provide-a-boot-parameter-to-disable-MSI.patch
patches.drivers/pci-hotplug-sn-fix-cleanup-on-hotplug-removal-of-ppb.patch
+ patches.drivers/pci-delete-ACPI-hook-from-pci_set_power_state.patch
########################################################
# sysfs / driver core
@@ -719,11 +735,15 @@
patches.arch/s390-02-18-october2005.diff
patches.arch/s390-02-19-october2005.diff
# s390-02-20 already fixed in s390-02-05
+ patches.arch/s390-03-01-october2005.diff
+ patches.arch/s390-03-02-october2005.diff
+ patches.arch/s390-03-03-october2005.diff
+ patches.arch/s390-03-04-october2005.diff
patches.arch/s390-dasd-eer-october2005.diff
patches.arch/s390-dasd-uid.diff
patches.arch/s390-dasd-fba-uid.diff
- patches.arch/s390-console-unblank.patch
+ patches.arch/s390-ccwgroup-remove-device.patch
########################################################
#
# Patches for S/390 from SUSE which don't rely on IBM's
@@ -1121,6 +1141,13 @@
patches.fixes/hugetlb-reservation-2
patches.fixes/dm-get-mdptr-fix
+ patches.arch/i386-prefer-tsc
+ patches.fixes/ipv6-inet6_csk_xmit-leak
+ patches.fixes/scsi-fc-rport-delete-during-scan.patch
+ patches.fixes/scsi-fix-scan-offline.patch
+ patches.fixes/scsi-add-2104-DU3-blist.patch
+ patches.suse/lkcd-crash-with-invalid-DUMPDEV
+
# PLEASE KEEP THESE PATCHES AT THE END OF series.conf
# (as all other arch specific patches should be kept at the end
# for obvious reasons.)
++++++ supported.conf ++++++
--- kernel-source/supported.conf 2006-05-09 14:31:00.000000000 +0200
+++ kernel-source/supported.conf 2006-05-16 13:03:58.000000000 +0200
@@ -399,8 +399,8 @@
- kernel/drivers/edac/r82600_edac
kernel/drivers/firmware/edd
kernel/drivers/firmware/efivars
-- kernel/drivers/firmware/dcdbas
-- kernel/drivers/firmware/dell_rbu
++external kernel/drivers/firmware/dcdbas
++external kernel/drivers/firmware/dell_rbu
- kernel/drivers/hwmon/adm9240
- kernel/drivers/hwmon/atxp1
- kernel/drivers/hwmon/gl520sm
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...