Created attachment 345596 [details] Proposed fix Description of problem: Kernel occasionally panics in "inet_select_addr" on multihomed host when sending ICMP from ipt_REJECT target when "/proc/sys/net/ipv4/icmp_errors_use_inbound_ifaddr" option is turned on. More details are here: http://www.mail-archive.com/netdev@vger.kernel.org/msg38276.html When an inbound interface cannot be determined, ICMP function tries to inet_select_addr with NULL interface pointer. This leads to a panic. Version-Release number of selected component (if applicable): Probably any of the RHEL5 kernels, including latest 2.6.18-128.10.1 How reproducible: Enable "/proc/sys/net/ipv4/icmp_errors_use_inbound_ifaddr" on multihomed host with networks, NAT and lots of iptables rules including REJECT. Create heavy network traffic, including the one matching REJECTs. Wait for a crash. Actual results: Kernel panic in "inet_select_addr". Expected results: Works okay, packets are sent from zero outgoing address if there is no inbound interface, and routing decides outgoing address for ICMP (right behavior for 2.6.24 and up). Patch: I'm attaching code fix backported from latest 2.6.29 (Linus branch). The same code is used in 2.6.24, so we may safely assume it is correct. Commits fix is found in: 1. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d8cf27287ac7fb5cbfcc4139917a997c39d841ca 2. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=6e1d91039becc9d5bcd046d8c709dbaf471220e3
I made a test build which includes a backport of fix for this issue. Could you please test it to confirm it fixes the issue. RPMs are here: http://people.redhat.com/jpirko/test/bz502822/ Let me know if you need RPM for any other arch. Thanks.
Thanks. I compiled the 128.1.10 kernel myself, and it works okay for 5 days already. So if it is the same backport, we may assume all is OK.
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-168.el5 You can download this test kernel from http://people.redhat.com/dzickus/el5 Please do NOT transition this bugzilla state to VERIFIED until our QE team has sent specific instructions indicating when to do so. However feel free to provide a comment indicating that this fix has been verified.
~~ Attention Customers and Partners - RHEL 5.5 Beta is now available on RHN ~~ RHEL 5.5 Beta has been released! There should be a fix present in this release that addresses your request. Please test and report back results here, by March 3rd 2010 (2010-03-03) or sooner. Upon successful verification of this request, post your results and update the Verified field in Bugzilla with the appropriate value. If you encounter any issues while testing, please describe them and set this bug into NEED_INFO. If you encounter new defects or have additional patch(es) to request for inclusion, please clone this bug per each request and escalate through your support representative.
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-2010-0178.html
Somehow I have needinfo request for this. Replying just to clear it.