From 8ac25a1535c0a13d4d75b3a8a049a3922959a9c9 Mon Sep 17 00:00:00 2001 From: johann <johann> Date: Tue, 16 Sep 2008 12:18:41 +0000 Subject: [PATCH] Branch HEAD b=17024 i=shadow i=bobijam Description: Lustre GPF in {:ptlrpc:ptlrpc_server_free_request+373} Details : In case of memory pressure, list_del() can be called twice on req->rq_history_list, causing a kernel oops. --- lustre/ChangeLog | 10 +++++++--- lustre/ptlrpc/service.c | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lustre/ChangeLog b/lustre/ChangeLog index cf138eda90..8757d4a0da 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -1400,7 +1400,7 @@ Details : It is be possible to send the lock handle along with each read search. Severity : normal -Frequency : only X2 +Frequency : only on Cray X2 Bugzilla : 16813 Description: X2 build failures Details : fix build failures on Cray X2. @@ -1416,6 +1416,12 @@ Bugzilla : 14095 Description: Add lustre_start utility to start or stop multiple Lustre servers from a CSV file. +Severity : major +Bugzilla : 17024 +Description: Lustre GPF in {:ptlrpc:ptlrpc_server_free_request+373} +Details : In case of memory pressure, list_del() can be called twice on + req->rq_history_list, causing a kernel oops. + -------------------------------------------------------------------------------- 2007-08-10 Cluster File Systems, Inc. <info@clusterfs.com> @@ -1817,8 +1823,6 @@ Details : The __iget() symbol export is missing. To avoid the need for for details. * bug fixes - - Severity : enhancement Bugzilla : 8007 Description: MountConf diff --git a/lustre/ptlrpc/service.c b/lustre/ptlrpc/service.c index c362aad0e3..20fa81f16c 100644 --- a/lustre/ptlrpc/service.c +++ b/lustre/ptlrpc/service.c @@ -498,7 +498,7 @@ ptlrpc_server_free_request(struct ptlrpc_request *req) } else if (req->rq_reply_state && req->rq_reply_state->rs_prealloc) { /* If we are low on memory, we are not interested in history */ - list_del(&req->rq_history_list); + list_del_init(&req->rq_history_list); __ptlrpc_server_free_request(req); } -- GitLab