Bug 470801
Summary: | Read from /proc/xen/xenbus does not honor O_NONBLOCK | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Qian Cai <qcai> | |
Component: | kernel-xen | Assignee: | Paolo Bonzini <pbonzini> | |
Status: | CLOSED ERRATA | QA Contact: | chen yuwen <yuchen> | |
Severity: | low | Docs Contact: | ||
Priority: | low | |||
Version: | 5.2 | CC: | clalance, drjones, pbonzini, xen-maint | |
Target Milestone: | rc | |||
Target Release: | --- | |||
Hardware: | All | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | Bug Fix | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 607261 607262 (view as bug list) | Environment: | ||
Last Closed: | 2011-01-13 20:45:08 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: | 514491, 607261, 607262 |
Description
Qian Cai
2008-11-10 11:53:47 UTC
I have a patch. reproducer: #include <stdlib.h> #include <errno.h> #include <fcntl.h> #include <unistd.h> int main() { char buf[256]; int fd = open ("/proc/xen/xenbus", O_RDONLY | O_NONBLOCK); if (fd == -1) { perror ("/proc/xen/xenbus"); exit (1); } alarm (5); while (read (fd, buf, 256) == -1 && errno != EAGAIN) ; puts ("works"); exit (0); } Cai, upstream asked how we found the bug? Was it simply by code inspection? It was found by a test (proc01) in LTP to read every entry of the procfs. 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. in kernel-2.6.18-211.el5 You can download this test kernel from http://people.redhat.com/jwilson/el5 Detailed testing feedback is always welcomed. Reproduced on kernel 2.6.18-92.el5xen. #gcc -o test test.c # ./test Alarm Clock ---------------------- Verified on kernel 2.6.18-221.el5xen. # ./test works 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-0017.html |