Red Hat Bugzilla – Bug 58214
The source "tcp.c" returns incorrect error code.
Last modified: 2008-08-01 12:22:52 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)
Description of problem:
At the function "tcp_do_sendmsg()" in "/usr/src/linux/net/ipv4/tcp.c",
in case the buffer of socket is not assigned because of a lack of memory,
Linux gives us an error code "EFAULT" since the last error code "ENOMEM"
is not cleared. Linux must wait to open memory.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
It generates, when a socket buffer is not assigned.
o A physical memory is consumed according to many processes.
o A lot of data is written in socket, and a buffer is consumed.
Actual Results: The following messages were outputted to syslog.
The Ether driver(e100) stopped and the server was intercepted
from the network.
"eth0:kernel rx_rev No buffer Left !!!"
Expected Results: the server was not intercepted from the network.
What version of the kernel was this with? 2.2.19-6.2.12 ?
Sorry, I forgot to enter kernel version.
version is 2.2.19-6.2.7 .
Thanks for the bug report. However, Red Hat no longer maintains this version of
the product. Please upgrade to the latest version and open a new bug if the problem
The Fedora Legacy project (http://fedoralegacy.org/) maintains some older releases,
and if you believe this bug is interesting to them, please report the problem in
the bug tracker at: http://bugzilla.fedora.us/