Bug 212325

Summary: [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))
Product: Red Hat Enterprise Linux 4 Reporter: Masaki MAENO <maeno.masaki>
Component: kernelAssignee: Red Hat Kernel Manager <kernel-mgr>
Status: CLOSED DUPLICATE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.4   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-11-07 21:40:47 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
kernel-2.6.9-42.EL-udp_poll.patch - backported udp_poll() for fixing select() problem none

Description Masaki MAENO 2006-10-26 10:03:33 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 
packet.
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 10:03:34 UTC
Created attachment 139450 [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:47 UTC

*** This bug has been marked as a duplicate of 212321 ***