Bug 430662

Summary: backport hptiop driver updates from upstream kernel
Product: Red Hat Enterprise Linux 5 Reporter: HighPoint Linux Team <linux>
Component: kernelAssignee: Chip Coldwell <coldwell>
Status: CLOSED ERRATA QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.3CC: coughlan
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2008-0314 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-05-21 15:08:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
add more pci device ids
none
hptiop: avoid buffer overflow when returning sense data
none
hptiop: fix resource releasing bug in hptiop_probe()
none
hptiop: update scsi_cmd.resid none

Description HighPoint Linux Team 2008-01-29 11:34:01 UTC
the hptiop driver in current RHEL5 kernel is rather old compared to the main 
stream version. Especially users have to use additional driver disks to install 
the OS to HighPoint adapters, and it's very time consuming for compiling the 
driver each time the kernel is updated. We suggest to backport some of the 
patches from upstream kernel tree which are  critical bug fixes or simple 
updates that don't add instability to the existing code.

The patches we suggest to backport to RHEL5.2 are:

- add more PCI device IDs
- avoid buffer overflow when returning sense data
- fix resource releasing bug when scsi_host_alloc() fail in hptiop_probe()
- update scsi_cmnd.resid when finishing a request
- remove unused data structures
- remove unnecessary typecasts

You can find the hptiop git update history here:

http://git.kernel.org/?p=linux/kernel/git/jejb/scsi-misc-
2.6.git;a=history;f=drivers/scsi/hptiop.c;h=890f44fa0e1a96fd3db3ee4ee95d17fc58f7
4647;hb=HEAD

Comment 1 Tom Coughlan 2008-01-30 19:13:39 UTC
The code freeze for 5.2 has passed. Normally, this driver update would be queued
for 5.3. The only exception may be for very low risk, critical, patches that we
can take during 5.2. beta (e.g. add more PCI device IDs?). You will need to
agree to do all the needed testing. If there are any such patches, plese post
them here. If not, we will defer this to 5.3. For the longer term, we would also
like to have a sample of the hardware here in our lab for testing and support. 

Comment 2 HighPoint Linux Team 2008-02-13 06:11:44 UTC
Created attachment 294750 [details]
add more pci device ids

add more PCI device IDs. these adapters belong to the same product family and
share the same driver interface.

Comment 3 HighPoint Linux Team 2008-02-13 06:13:25 UTC
Created attachment 294751 [details]
hptiop: avoid buffer overflow when returning sense data

avoid buffer overflow when returning sense data.

new adapter firmware may return sense data larger than 96 bytes, causing
overflow on scp->sense_buffer and a kernel crash.

This fix should be backported to earlier kernels.

Comment 4 HighPoint Linux Team 2008-02-13 06:14:24 UTC
Created attachment 294752 [details]
hptiop: fix resource releasing bug in hptiop_probe()

put pci_release_regions() after scsi_host_put() or scsi_host_put() will get
a null pointer when scsi_host_alloc() fails in hptiop_probe().

Comment 5 HighPoint Linux Team 2008-02-13 06:15:11 UTC
Created attachment 294753 [details]
hptiop: update scsi_cmd.resid

update scsi_cmnd.resid when finishing a request. otherwise the upper layer can
not detect buffer underrun condition.

Comment 6 HighPoint Linux Team 2008-02-13 06:32:50 UTC
sorry for late response. the above 4 patches are small and obvious updates to 
the existing code; please review them and check if they can be taken into 5.2.

we are willing to run all tests required. meanwhile we'll prepare a sample for 
your testing. where should the hardware be shipped to?

Comment 7 Chip Coldwell 2008-02-13 16:18:50 UTC
(In reply to comment #6)
> sorry for late response. the above 4 patches are small and obvious updates to 
> the existing code; please review them and check if they can be taken into 5.2.

I'm afraid the 5.2 beta deadline has passed; we'll queue these up for 5.3

> we are willing to run all tests required. meanwhile we'll prepare a sample for 
> your testing. where should the hardware be shipped to?

Chip Coldwell
Red Hat
10 Technology Park Drive
Westford, MA  01886

Thanks,

Chip



Comment 8 Tom Coughlan 2008-02-13 21:37:10 UTC
I will request an exception, allowing us to get the four specific patches into
5.2 during beta. 

Justification: Two of these are system crashers, one may impact data integrity.
The fourth just adds PCI IDs to a list, significantly improving customer
satisfaction. The risk is low, and very well-contained to this driver. The
vendor agrees to do the testing of RHEL 5.2 beta on this hardware. 

Comment 9 RHEL Program Management 2008-02-13 21:38:42 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 10 HighPoint Linux Team 2008-02-29 03:05:44 UTC
(In reply to comment #9)

how about the review process? will these patches get into 5.2?


Comment 11 Chip Coldwell 2008-02-29 18:51:34 UTC
(In reply to comment #10)
> 
> how about the review process? will these patches get into 5.2?

I've gone over the patches and everything looks good.  I think they're all
clearly things we want to have in the 5.2 kernel, and because the changes are
small and have no impact outside the driver, I think it's very likely that they
will go in.

Thanks,

Chip



Comment 14 Don Zickus 2008-03-12 19:41:16 UTC
in kernel-$NEW_VER
You can download this test kernel from http://people.redhat.com/dzickus/el5

Comment 15 Don Zickus 2008-03-12 19:59:53 UTC
in kernel-2.6.18-85.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Comment 16 HighPoint Linux Team 2008-03-14 02:54:04 UTC
(In reply to comment #15)
> in kernel-2.6.18-85.el5
> You can download this test kernel from http://people.redhat.com/dzickus/el5

Tested the new kernel on i686 and x86_64.
The driver updates have been verified.


Comment 19 errata-xmlrpc 2008-05-21 15:08:15 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2008-0314.html