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)
Created attachment 139450 [details] kernel-2.6.9-42.EL-udp_poll.patch - backported udp_poll() for fixing select() problem
*** This bug has been marked as a duplicate of 212321 ***