Created attachment 432322 [details]
Upstream patch for this issue.
Description of problem:
If memory allocation fails during the setup of clusterip, in the teardown section of the code, attempting to free the memory will cause an oops.
Version-Release number of selected component (if applicable):
I wasn't able to reproduce it, but I imagine that it is possible.
Steps to Reproduce:
1. Use all available system memory.
2. Insert iptables rule ( iptables -A INPUT -d 192.168.0.21 -i eth0 -j CLUSTERIP --new --hashmode sourceip --clustermac 01:aa:7b:47:f7:d7 --total-nodes 2 --local-node 1 )
I've been unable to reproduce this specific problem, but I can see how it can happen. Upstream has already fixed this bug in the commit:
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
You can download this test kernel from http://people.redhat.com/jwilson/el5
Detailed testing feedback is always welcomed.
It's a similar issue with bug 615229. Tried with kernel 2.6.18-194.el5 bud didn't trigger the oops.
Did code review with kernel 2.6.18-235.el5, the patch was included and applied in kernel 2.6.18-235.el5:
[root@intel-s3e8132-01 SPECS]# grep 615227 kernel-2.6.spec
- [net] clusterip: check allocation before freeing memory (Wade Mealing) 
[root@intel-s3e8132-01 SPECS]# grep -i "Patch25559" kernel-2.6.spec
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.