Bug 212321 - [PATCH][RHEL4U4] Backported udp_poll() function (Fix the problem that select() returns in RHEL4 though select() must not return essentially when kernel receives broken UDP packet(s))
Summary: [PATCH][RHEL4U4] Backported udp_poll() function (Fix the problem that select(...
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel
Version: 4.4
Hardware: All
OS: Linux
Target Milestone: ---
: ---
Assignee: Neil Horman
QA Contact: Brian Brock
: 212325 212819 (view as bug list)
Depends On:
Blocks: RHEL4u7_relnotes 430698
TreeView+ depends on / blocked
Reported: 2006-10-26 09:48 UTC by Masaki MAENO
Modified: 2018-10-20 01:01 UTC (History)
5 users (show)

Fixed In Version: RHSA-2008-0665
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2008-07-24 19:12:01 UTC
Target Upstream Version:

Attachments (Terms of Use)
kernel-2.6.9-42.EL-udp_poll.patch - backported udp_poll() for fixing select() problem (5.73 KB, patch)
2006-10-26 09:48 UTC, Masaki MAENO
no flags Details | Diff

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2008:0665 0 normal SHIPPED_LIVE Moderate: Updated kernel packages for Red Hat Enterprise Linux 4.7 2008-07-24 16:41:06 UTC

Description Masaki MAENO 2006-10-26 09:48:51 UTC
Description of problem:
Essentially, when kernel receives broken UDP packet(s), select() function must 
not return.
But, select() returns in any RHEL4 (RHEL4U0 - RHEL4U4).

We made udp_poll() backport patch for not returning even if kernel receives 
broken UDP packet.
This patch is for kernel-2.6.9-42.0.3.EL (and kernel-2.6.9-42.EL).

It was no problem for us though had verified with our business system.

Please take it by the following update! (=> RHEL4U5)

Version-Release number of selected component (if applicable):
RHEL4U4: kernel-2.6.9-42.0.3.EL (and kernel-2.6.9-42.EL)

How reproducible:
When select() observes incoming UDP packet by server, clinent sends broken UDP 
Then, select() returns normally by positive value.

Therefore, recvfrom() (= the functions that acquire packet) freezes until 
kernel receives next normal packet.

Actual results:
select() returns normally when receives broken UDP packet(s)

Expected results:
select() doesn't return when receives broken UDP packet(s)

Additional info:
- It was in the broken IP telephone terminal that sent a broken packet. 
- man 2 select
- http://www.kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-
bkcvs.git;a=summary (but git is down now)

Comment 1 Masaki MAENO 2006-10-26 09:48:51 UTC
Created attachment 139448 [details]
kernel-2.6.9-42.EL-udp_poll.patch - backported udp_poll() for fixing select() problem

Comment 2 Neil Horman 2006-11-07 21:40:59 UTC
*** Bug 212325 has been marked as a duplicate of this bug. ***

Comment 3 Masaki MAENO 2006-12-07 12:29:41 UTC
Please take it by RHEL4U5. ;-)

Comment 4 Jason Baron 2007-02-09 21:23:48 UTC
*** Bug 212819 has been marked as a duplicate of this bug. ***

Comment 5 RHEL Program Management 2007-05-09 09:06:00 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

Comment 6 RHEL Program Management 2007-09-07 19:39:11 UTC
This request was previously evaluated by Red Hat Product Management
for inclusion in the current Red Hat Enterprise Linux release, but
Red Hat was unable to resolve it in time.  This request will be
reviewed for a future Red Hat Enterprise Linux release.

Comment 7 Kaj J. Niemi 2007-09-08 08:53:32 UTC
Seriously, the patch is quite trivial. I have it running on about 300 servers with maybe 40% of them 
exhibiting this issue before patching.

Comment 8 Masaki MAENO 2007-09-10 07:21:36 UTC
I also think that the patch is very safe.
So, I strongly hope that you will take it to RHEL4U6 because I encountered the
problem several times (about 0.01% ERR-count/UDP-packet) for breakdown of NIC board.

Comment 17 Vivek Goyal 2008-02-27 21:44:25 UTC
Committed in 68.14.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/

Comment 20 Don Domingo 2008-05-14 01:55:36 UTC
added to RHEL4.7 release notes under "Kernel-Related Updates":


The udp_poll() function is now implemented. This update reduces the likelihood
of false positive returns from the system call select().

please advise if any revisions are in order. thanks!

Comment 21 Don Domingo 2008-06-02 23:15:49 UTC

the RHEL4.7 release notes deadline is on June 17, 2008 (Tuesday). they will
undergo a final proofread before being dropped to translation, at which point no
further additions or revisions will be entertained.

a mockup of the RHEL4.7 release notes can be viewed here:

please use the aforementioned link to verify if your bugzilla is already in the
release notes (if it needs to be). each item in the release notes contains a
link to its original bug; as such, you can search through the release notes by
bug number.


Comment 24 errata-xmlrpc 2008-07-24 19:12:01 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 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.


Note You need to log in before you can comment on or make changes to this bug.