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);