These patches contain the following linux kernel bug fixes:
Description:
kernel: Incorrect posix fadvise values.
Symptom:
A POSIX_ADV_DONTNEED or POSIX_ADV_NOREUSE advice given
via the fadvise interface does not show the expected
effect.
Problem:
The POSIX_ADV_DONTNEED and POSIX_ADV_NOREUSE values
definitions in the kernel and C runtime library differ
for 64 bit. The glibc uses 6 and 7 while the kernel
uses 4 and 5.
Solution:
Use the values 6 and 7 for the POSIX_ADV_DONTNEED and
POSIX_ADV_NOREUSE values in the kernel for 64 bit.
Rewrite the 31 bit values used in the compat system
call to the 64 bit variants.
Problem-ID:
16967
Note:
Applicable for 64-bit Linux, only.
Description:
kernel: Internal return values returned to userspace.
Symptom:
Kernel internal return values like -ERESTARTNOHAND returned to
userspace.
Problem:
If a system call returns with e.g. -ERESTARTNOHAND the following
call to do_signal is supposed to do a follow-on action so that this
return value will never be presented to userspace. If now an
interrupt occurs while executing code between sysc_work_loop and
sysc_reschedule (entry.S) the state is changed so that the rest of
the code will not be executed but the kernel will return directly from
interrupt handling to userspace. If the interrupt happens before
do_signal was called the kernel internal return value will be
returned as the result of a system call.
Solution:
Reset state so that execution continues at sysc_return if an
interrupt occurs between sysc_work_loop and sysc_reschedule.
Problem-ID:
16923
Description:
zfcp: I/O errors on data underruns during Flash Copy on ESS800.
Symptom:
I/O errors if data underrun and TASK_SET_FULL/BUSY are indicated
for SCSI commands.
Problem:
zfcp sets DID_ERROR for SCSI commands for which a data underrun
is indicated. This prevents the SCSI stack to do retries for such
commands if dm-multipath is used. But in case a TASK_SET_FULL or
BUSY state is reported for a SCSI command retries should be
performed.
Solution:
Set DID_ERROR for SCSI commands with data underrun if and only if
there is no TASK_SET_FULL or BUSY status for this command.
Problem-ID:
14978
Everybody should apply this patch.
To create the complete linux kernel sources, the following
patches need to be applied in sequence: