Bug 505506
Summary: | RHEL4.8: crash in do_cciss_request() | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | Lachlan McIlroy <lmcilroy> | ||||
Component: | kernel | Assignee: | Tomas Henzl <thenzl> | ||||
Status: | CLOSED ERRATA | QA Contact: | Storage QE <storage-qe> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | urgent | ||||||
Version: | 4.8 | CC: | bmarzins, bubrown, coughlan, dhoward, fge, jolsa, jtluka, mike.miller, mmatsuya, tao, vgaikwad | ||||
Target Milestone: | rc | Keywords: | ZStream | ||||
Target Release: | 4.9 | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | |||||||
: | 662154 (view as bug list) | Environment: | |||||
Last Closed: | 2011-02-16 15:47:41 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: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 513189, 662154 | ||||||
Attachments: |
|
Description
Lachlan McIlroy
2009-06-12 06:49:44 UTC
Created attachment 347516 [details]
Patch to initialize entire request structure
While the fix in comment #1 seems correct to me, since this is only happening for the cciss driver, in seems pretty reasonable to fix it there. Looking at do_cciss_request(), it seems like you should be able to fix this with something like --- linux-2.6.9/drivers/block/cciss.c 2009-06-25 09:08:02.000000000 -0500 +++ linux-2.6.9/drivers/block/cciss.c.505506 2009-06-25 10:47:22.000000000 -0500 @@ -3328,7 +3328,7 @@ queue: if (!creq) goto startio; - if (creq->nr_phys_segments > MAXSGENTRIES) + if (creq->bio && creq->nr_phys_segments > MAXSGENTRIES) BUG(); if (( c = cmd_alloc(h, 1)) == NULL) I don't have any hardware to test this on, so I'm not positive that it works, but it seems like it should. Just my two cents. I'd be inclined to use the suggested patch for the following reasons - it's been tested and is known to fix the problem - it may fix the same issue for other drivers (that don't detect the issue with a BUG()) - it may fix other issues related to other fields in the request structure that are not being initialised - it's what is now being done in mainline I've built a test kernel in brew (taskID=1869626). It is accessible here -> http://people.redhat.com/thenzl/505506/ , if you need another kernel flavour let me know I can post it also, but my quota is limited. Please retest it with kernel from people/... , so I can then post it to rhkl. And thanks for the analysis and patch. (In reply to comment #4) > While the fix in comment #1 seems correct to me, since this is only happening > for the cciss driver, in seems pretty reasonable to fix it there. > > I don't have any hardware to test this on, so I'm not positive that it works, > but it seems like it should. Just my two cents. Your patch works, I've tested it. I've decided to take the first patch because - it was verified by the reporter - it will help also our customers with cciss driver directly from HP Thanks, Tomas Tomas, I tested your kernel with the test case from IT#302867 and there were no problems so it looks good. Lachlan Lachlan, thanks, it's just posted to rhkl. 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. Tomas, Any progress on this fix? Lachlan (In reply to comment #13) > Any progress on this fix? It is posted - http://post-office.corp.redhat.com/archives/rhkernel-list/2009-July/msg00074.html now it is waiting for ack's from other developers. Committed in 89.7.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/ Reproduced this on kernel-2.6.9-89.EL, got the same kernel panic. On kernel-2.6.9-95.EL, performed 100000 sg_turs /dev/cciss/c0d0, no error occurred. Change bug status into verified. 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 therefore 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/RHSA-2011-0263.html |