Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > fc11cd6e1c513a17304da94a5390f3cd > files > 3777

kernel-2.6.18-194.11.1.el5.src.rpm

From: Anton Arapov <aarapov@redhat.com>
Date: Fri, 13 Jun 2008 08:31:19 +0200
Subject: [tux] crashes kernel under high load
Message-id: 48521437.4090002@redhat.com
O-Subject: [RHEL5.3 PATCH] BZ448973: tux crashes kernel under high load (CRM: 1816452)
Bugzilla: 448973
RH-Acked-by: Pete Zaitcev <zaitcev@redhat.com>

Bugzilla: 448973

Details:
   req->in_file can be NULL there. this happens while state of the
socket TCP_CLOSE. It's fairly safe to check req->in_file for NULL.

Upstream status:
   not in upstream, it's TUX. :)

Test status:
   patch has been tested for compilation, boot and behavior.
   was tested by Customer under heavy load.

==

diff --git a/net/tux/abuf.c b/net/tux/abuf.c
index ed71560..e1dc6fd 100644
--- a/net/tux/abuf.c
+++ b/net/tux/abuf.c
@@ -130,7 +130,8 @@ repeat:
 			TDprintk("ret: %d, req->error = TUX_ERROR_CONN_CLOSE.\n", ret);
 			req->error = TUX_ERROR_CONN_CLOSE;
 			req->atom_idx = 0;
-			req->in_file->f_pos = 0;
+			if (req->in_file)
+				req->in_file->f_pos = 0;
 			__free_page(req->abuf.page);
 			memset(&req->abuf, 0, sizeof(req->abuf));
 			zap_request(req, cachemiss);