Description of problem: Reading /proc/net/anycast6 when there is no anycast address on an interface results in an ever-increasing inet6_dev reference count, as well as a reference to the netdevice you can't get rid of. Version-Release number of selected component (if applicable): 2.6.9-55 kernel How reproducible: Every time Steps to Reproduce: 1. cat /proc/net/anycast6 Actual results: You will be unable to shutdown or reboot and will see console messages like unregister_netdevice: waiting for eth<nnn> to become free. Usage count = 1 Expected results: Nothing funky should happen. Additional info: This is due to a reference counting bug in net/ipv6/anycast.c. In static inline struct ifacaddr *ac_get_first, after read_unlock_bh(&idev->lock); add in6_dev_put(idev); This source file is part of ipv6.ko.
Created attachment 177081 [details] backport of upstream patch Thanks,backport of upstream commit aa6e4a96e7589948fe770744f7bb4f0f743dddaa attached.
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.
committed in stream U7 build 68.4. A test kernel with this patch is available from http://people.redhat.com/~jbaron/rhel4/
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-2008-0665.html