Novell is now a part of Micro Focus

Optional update for base system and kernel (submarine)


(Last modified: 07MAY2004)

solutions Optional update for base system and kernel (submarine) SuSE Linux Maintenance Web (cfbae79c4a576d51303c8b54d40c2510)

Applies to

Product(s): SuSE Linux Enterprise Server 8 for IBM S/390 and IBM zSeries

Package: aaa_base
Release: 20040507
Obsoletes: 2c8af372c326dd63ab895c80a022e1a7


Enhancements from IBM codedrop plus bugfixes.




This is the "submarine" Update.
Release Notes for SLES 8 S/390 & zSeries Kernelupdate "submarine"
1. Supported Enhancements 1.1 SLES 8 S/390 & zSeries Enhancements 1.1.1 New features (code drop 2004-01-30) 1.1.2 Bugfixes (code drop 2004-01-30) 1.1.3 Bugfixes (code drop 2004-03-24) 1.1.4 Bugfixes (code drop 2004-03-30) 1.1.5 Tools 2. Maintenance fixes 2.1 Bugfixes 2.2 Security fixes 3. Product News
1. Supported Enhancements
1.1 SLES 8 S/390 & zSeries Enhancements
This update contains the following codedrops from IBM-Developerworks
  • 2004-03-30 kernel
  • 2004-03-24 kernel
  • 2004-01-30 kernel & utilities
and bugfixes/security-fixes.
You can of course always get the very detailed technical information about any package changes from the RPMs themselves by doing
rpm --changelog -qp <FILENAME>.rpm
where <FILENAME>.rpm is the name of the rpm.
For descriptions about the codedrops please look at the following URL:
1.1.1 New features (code drop 2004-01-30)
Architecture cleanup:
  • Add header file for 32 bit emulation of I/O controls.
  • Reduce memory usage in the radom device driver by 256KB.
Common I/O layer cleanup:
  • Remove reset_cons_dev. Nobody uses it.
  • Remove DOIO_CANCEL_ON_TIMEOUT option. Nobody uses it.
  • Remove unused member ulpm from ioinfo structure.
  • Remove unused and broken support for I/O queueing.
  • Remove unused enable_irq/disable_irq interface.
Fix problem when 64 FCP adapters are initialized simultaneously
Cleanup and a small enhancement for the dasd device driver:
  • Improved checking for dasd device ranges.
  • Simplified long busy conditions.
qeth enhancements:
  • Enhanced SNMP support, works with net-snmp 5 now
  • Reduce interrupts for outgoing packets
Cleanup for netiucv: allow compiling without procfs.
Fix system tick misaccounting problem.
Add virtual timer interface.
Add Linux - z/VM monitor stream.
Add collaborative memory mangement interface.
Add z/VM discontiguous saved segments (DCSS) block device driver.
For this feature please read the Documentation "How to Improve the Performance
of Linux on z/VM with Execute-in-Place Technology" on the following URL:
Add channel measurement block interface.
Add interface to read from the z/VM system service records.
Add new features to the zfcp host adapter driver:
  • Add support for HBA API (FC-HBA) for zfcp.
  • Error recovery enhancements for zfcp.
Add support for the PCIXCC HW crypto cards.
1.1.2 Bugfixes (code drop 2004-01-30)
Description: dasd: BUG when pulling/plug in fibers associated with ESS.
Symptom: BUG in dasd ERP leads to kernel panic.
Problem: The (paranoia) macro in dasd_3990_erp_alternate_path assumes that the status of the request is ERROR, but it might also be FILLED (if the situation happens the first time).
Solution: Only reduce status to QUEUED (do not enhance)
Problem-ID: 5702
Description: iucv: Disable message interrupts during connection setup
Symptom: --
Problem: --
Solution: Honor incoming connection severed during connection setup
Problem-ID: 5912
Note: This patch introduces a problem that is resolved with the fix for Problem-ID 6631 in linux-2.4.21-s390-11-june2003.diff (2004-03-24).
Description: SCLP: tty driver hangs on write after IOCTL TIOCSCLPSNL.
Symptom: After configuring the SCLP tty driver to output data after each single write instead of waiting for a new line character, subsequent tty write operations will cause the driver to stop responding.
Problem: There is a deadlock situation in the tty write function which occurs when the final_nl setting has been changed using the TIOCSCLPSNL IOCTL function.
Solution: Remove the deadlock situation by releasing the sclp_tty_lock before emitting the current buffer.
Problem-ID: 5805
Description: SCLP: linemode tty driver causes kernel BUG().
Symptom: Kernel halts with "Scheduling in interrupt" message during tty output.
Problem: When the tty buffer is full, the tty write function will wait for an empty buffer using wait_event(). In case the write function is called from the flush function which in turn can be called in an interrupt context, a kernel BUG is caused.
Solution: Adjust the wait function to use sclp_sync_wait when in interrupt.
Problem-ID: 5806
Description: SCLP: linemode tty driver hangs during output.
Symptom: The SCLP linemode tty driver stops responding when writing and reading at the same time. A message "insufficient SCCB length" may be printed.
Problem: User input causes an external interrupt which does not signal the completion of a previous buffer, while the interrupt handler assumes that the SCLP has finished processing of the last buffer.
Solution: Fix the interrupt handler to check whether processing of an SCCB has finished.
Problem-ID: 5807
Description: SCLP: kernel crashes when too many empty buffers are generated.
Symptom: The SCLP linemode console and tty driver crash with a "Specification Exception" when too many empty buffers are generated, e.g. when writing large strings of null-bytes.
Problem: Handling of empty buffers causes a recursive call chain which can exceed stack space and cause erratic kernel behavior.
Solution: Do not emit empty buffers.
Problem-ID: 5808
Description: SCLP: linemode tty/console driver causes kernel crash.
Symptom: When printing large amounts of data to the SCLP linemode tty or console driver, a kernel crash or other erratic behavior may occur.
Problem: There is an off by one error in the generic SCLP write routine which returns one byte more than actually written in some cases. As the return value is used in some write loops with unsigned loop variables, subtracting one byte more can cause an integer overflow, resulting in erratic behavior.
Solution: Fix the off by one error.
Problem-ID: 5809
Description: qeth/lcs: multicast joins and drops not noticed by drivers
Symptom: multicast traffic is not received
Problem: driver didn't notice stack using multicast addresses
Solution: use notifier_call_chain to notify drivers
Problem-ID: 5921
Description: qeth: IPv6 and VLAN traffic problems
Symptom: v6 VLAN packets don't get through
Problem: flags have been set incorrectly
Solution: set flags appropriately
Problem-ID: 5923
Description: qeth: interrupt reduction for OSAs
Symptom: n/a
Problem: more interrupts than needed have been presented
Solution: set interrupt request flags smarter
Problem-ID: 5924
Description: qeth: fix delete ARP and add/delete ARP response times
Symptom: I/O error message on qetharp -a or -d
Problem: didn't process reply correctly
Solution: fix ioctl IPA reponse behaviour
Problem-ID: 5925
Description: qdio: lock leak in qdio
Symptom: crashes
Problem: inconsistency in locking
Solution: proper lock handling
Problem-ID: 5926
Description: qdio: problems with more than 64 adapter interrupt capable devices
Symptom: devices not initialized when using more than 64 adapter interrupt capable devices
Problem: interrupt indicator bit sharing incorrect
Solution: improved shared indicator processing
Problem-ID: 5927
Description: zfcp: unneccessary error recovery for unrecoverable targets
Symptom: The error recovery was forced into escalation after a target (adapter, port, unit) became unrecoverable during error recovery. This might have caused I/O disruption for working targets, which were impacted by recovery escalation.
Problem: While the error recovery strategy has always been able to mark targets unrecoverable on exceeding the number of allowed recovery retries and there upon has stopped recovery for these targets, it failed to recognise conditions when a target had been marked unrecoverable for other reasons, i.e. not within the error recovery context.
Solution: Prior to the determination of follow-up actions in zfcp error handler, the 'unrecoverable' flag of targets always needs to be inspected. Escalation for unrecoverable targets has to be avoided, regardless of the origin of the 'unrecoverable' status.
Problem-ID: 5915
1.1.3 Bugfixes (code drop 2004-04-24)
Description: cmm: Adressing exception in collaborative memory management (cmm).
Symptom: Adressing exception when using cmm with more than 2047MB of storage.
Problem: The diag10 used to indicate to VM that a page is now unused can only be used if the page resides below 2047 MB.
Solution: Add an if statement to avoid the diag10 if the allocated pages reside above 2047MB.
Problem-ID: -
Note: applicable for 64-bit Linux, only
Description: cmm: Missing default value for configuration option
Symptom: Make oldconfig waits for user input
Problem: Missing config option CONFIG_CMM_IUCV
Solution: Add missing config option CONFIG_CMM_IUCV to defconfig
Problem-ID: -
Description: dasd: Duplicate device entry in /proc/dasd/devices
Symptom: The first devno can be added more than once.
Problem: dasd_devindex_from_devno returns '0' for the first device entry but dasd_add_range checks for '> 0' to determine if the devindex is valid.
Solution: Check for '>= 0' as a valid devindex.
Problem-ID: 6511
Description: dasd: problems when setting a DASD device online/offline
Symptom: No request IRQ message during device bring-up.
Problem: CIO does a path verification (during request_IRQ) which calls the DASD oper_handler. This leads to a second thread trying to get device online without synchronization (race condition).
Solution: The DASD oper_handler has to trigger device bring-up only if the device is really down.
Problem-ID: 6608
Description: iucv: IUCV send failure.
Symptom: strace of ping shows that sendmsg returns ENOBUFS.
Problem: tx_queue_len of the iucv net_device is set to zero.
Solution: Set tx_queue_len to the message limit returned from the ACCEPT function of IUCV.
Problem-ID: 6157
Description: iucv: unable to reconnect after reboot
Symptom: Connection FSM state: Stopped in /proc/net/oiucv/iucv0/statistics of iucv-partner of the rebooting system
Problem: The iucv-partner of a rebooting system does not try to reconnect when remote partner severed connection
Solution: Added connect retry when remote severed connection
Problem-ID: 6631
Note: This patch fixes a problem introduced with the fix for Problem-ID 5912 in linux-2.4.21-s390-09-june2003.diff (2004-01-30).
Description: qeth: incorrect source MAC addresses
Symptom: Inbound source MAC address incorrect with fake_ll
Problem: Source MAC address was copied from wrong place
Solution: Copy source MAC from right place
Problem-ID: 6097
Description: sclp: Console driver causes bottom-half handling despite disabled interrupts.
Symptom: Deadlock situations in various drivers (e.g. LVM) when there is a lot of console output.
Problem: When the console buffer is full, SCLP opens up interupts and waits synchronously for an external interrupt. After the interrupt occured, the bottom half is erroneously handled.
Solution: Disable bottom-half handling while waiting for the interrupt.
Problem-ID: 6617
Description: sclp: VM guests receiving a signal shutdown may not logoff correctly.
Symptom: Invoking a 'signal shutdown' command on a 64 bit VM guest will sometimes not log off a VM guest, even though Linux is shut down correctly.
Problem: On 64 bit systems, SMP function signal_processor_ps stores a 64 bit value at a 32 bit location. As a result, the signal quiesce sense loop is rendered ineffective.
Solution: Correct respective parameter type of signal_processor_ps.
Problem-ID: 6760
Note: applicable for 64-bit Linux, only
Description: z90crypt fails to detect devices in domain 15
Symptom: If PCICCs or PCIXCCs are present only in domain 15, they are not found
Problem: Domain 15 was being ignored
Solution: Include domain 15 in search for devices
Problem-ID: 6842
Description: z90crypt: Unneeded message "Error in get_crypto_request_buffer: 16"
Symptom: Unneeded message "Error in get_crypto_request_buffer: 16"
Problem: Issuing error message when it is not appropriate
Solution: remove error message
Problem-ID: 6855
1.1.4 Bugfixes (code drop 2004-03-30)
Description: qdio, qeth: improved retry behavior on busy conditions
Symptom: Guest LAN HiperSockets slowdown
Problem: siga cc=2 with busy bit set was not handled appropriately
Solution: retry siga in tasklet, when cc=2+busy-bit
Problem-ID: 6676
Description: xip2: implemented readlink and followlink for classic VFS symbolic links
Symptom: Message "readpage was called" is displayed in syslog
Problem: no private implementation for follow_link and read_link for classic VFS (slow) symbolic links was present. The generic namei implementations were used instead which use readpage.
Solution: Implement private read_link and follow_link functions for classic VFS (slow) symbolic links
Problem-ID: 7082
Description: z90crypt: certain devices might be detected incorrectly
Symptom: devices might be detected incorrectly
Problem: missing case in a switch statement
Solution: add necessary entry to enum and case to switch statement
Problem-ID: 6970
Description: z90crypt: possible failure on PCICC with very large request, unnecessary messages in syslog
Symptom: certain requests fail, extraneous messages in syslog
Problem: incorrect value for maximum size of reply buffer, unneeded printk()s
Solution: update #define for maximum size of PCICC reply buffer removed impossible if condition
Problem-ID: 7020
Description: zfcp: watchdog for stalled FCP channel
Symptom: SCSI I/O stall
Problem: The zfcp driver keeps SCSI commands in a retry loop if the FCP channel's queues are full - under the assumption that this is a transient condition. In case of a grid-locked FCP channel commands juggled within that retry loop never finished - hindering the SCSI stacks recovery to reset the SCSI adapter, which would help to overcome this stall.
Solution: Use a timestamp for each SCSI command to watch its retries and fail a SCSI command if a certain timeout has been exceeded (2 minutes).
Problem-ID: 7092
Description: zfcp_hbaapi: IOCTRL broken if SCSI_SENSE_BUFFERSIZE is changed
Symptom: I/O controls for REPORT LUNS, INQUIRY, READ CAPACITY do not work if SCSI_SENSE_BUFFERSIZE is changed (only) in kernel sources
Problem: structs in I/O controls depend on kernel macro
Solution: avoid usage of SCSI_SENSE_BUFFERSIZE in struct definitions, use separate macro instead considering max possible sense data size as defined in SPC-2
Problem-ID: 7035
Note: Together with this fix the new library package lib-zfcp-hbaapi-1.1.tar.gz should be installed. (See zfcp HBA API library)
1.1.5 Tools
  • s390tools are updated to 1.2.4
  • openCryptoki is updated to 2.1.5
2. Maintenance Fixes
2.1 Bugfixes
  • Removed duplicate zfcp initialisation from mkinitrd (#35410)
  • remove patch-leftover on s390* (boot.proc.orig) (#34803)
  • S/390 cpint: increase buffer on size on big responses(bug #34395)
  • fix ipv4 raw ip checksum error, triggered by gcc 3.3 (#34820)
  • patches.common/scsi-req-q-ptr: Make sure proper request queue ptr is passed, to avoid missing wakeups. Finally solves starvation (#33215, LTC5252, axboe, mpeschke)
  • patches.common/lvm-dont-shift-pv: Don't shift PV pointers to prevent null ptr deref. (#34042, sbader, obsoletes lvm-mp-oops-on-null-pv).
  • s390x: fix 31-bit emulation of /proc/<pid>/mapped_base(#34276)
  • patches.fixes/xattr-keep-block: Fix xattr bug when keeping the same disk block in ext[23].
  • Audit subsystem: included patches that were submitted as part of the EAL3 certification effort but not included in the SLES8 kernel so far. These patches affect the audit subsystem only. patches.common/syscall-audit-noparanoia patches.common/syscall-audit-nohang
  • add patches.common/jfs-on-block_flushpage do not call block_flushpage in __invalidate_metapages (#27332 - LTC3109)
  • max_scsi_luns was not effective when REPORT_LUNS was used. Fixed.
  • add patches.common/reiserfs-jl-refcount (prevent too early free of journal_list), should fix #32729 and may also fix bug #34026
  • update patches.common/sd_many fix scsi module unload problem (#33282 - LTC5355)
  • Fix rpm3 performance problem.
  • fix NFS directio bug that causes data corruption when creating files larger than 4 GB
  • s390: added missing epoll syscalls (#33668)
2.2 Security Fixes
  • fix info leak in xfs filesystem (#35463)
  • fix info leak in ext3 filesystem (#35212)
  • fix vulnerability in iso9660 filesystem (#34841)
  • prevent potential DoS attack via mremap (#34729)
  • check interpreter type to prevent possible local DoS (#34287)
  • return proper error codes for do_munmap() failure in mremap
  • Limit file names in ncpfs (#34100)
  • scsi-error-deadlock: fix locking in scsi_error.c to prevent possible deadlock. (#)
  • add missing check in mremap
3. Known problems
3.1 PCIXCC-Card
When using Apache in conjunction with a PCIXCC card or when using Apache without a crypto card, sporadic SSL handshake errors may occur (like
[Thu Feb 26 15:43:12 2004] [error] mod_ssl: SSL handshake failed (server, client (OpenSSL library error follows) [Thu Feb 26 15:43:12 2004] [error] OpenSSL: error:1408F455:lib(20):func(143):reason(1109))
The problem does not occur when using Apache in conjuction with a PCICA card.
The problem does not occur when using Apache V2.
3.2 DHCP and OSA network devices
Under DHCP OSA network devices do not reply to broadcast messages.
4. Product News
Please visit for the latest product news.
Your SuSE Linux Enterprise Server Team


Please install the updates provided at the location noted below.

Installation notes

This update is provided as an RPM package that can easily be installed onto a running system by using this command:
rpm -Fvh aaa_base.rpm k_deflt.rpm openCryptoki-z990.rpm openCryptoki-z990-32bit.rpm osasnmpd.rpm s390-tools.rpm
After that you need to run the command:
Please make sure to run "zipl" to write the updated IPL code to the DASD or MDISK as the system won't boot at next IPL otherwise.
Now reboot the system with
shutdown -r now
to load the new kernel (replace "now" with the appropriate amount of time to allow local users to cleanly log out, for example "+5" for five minutes.)
If you need the kernel sources you can install them by using the command:
rpm -Uvh kernel-source.rpm

links to download packages

Download Source Packages

Download the source code of the patches for maintained products.


The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.

Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.

© Micro Focus