From mboxrd@z Thu Jan 1 00:00:00 1970 From: Amerigo Wang Subject: [Patch] pipe: use file_update_time() when hold i_mutex Date: Mon, 6 Jul 2009 01:35:30 -0400 Message-ID: <20090706053745.6338.50777.sendpatchset@localhost.localdomain> Cc: Heiko Carstens , Amerigo Wang , linux-fsdevel@vger.kernel.org, akpm@linux-foundation.org, Al Viro , Miklos Szeredi To: linux-kernel@vger.kernel.org Return-path: Received: from mx2.redhat.com ([66.187.237.31]:40051 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751393AbZGFFgH (ORCPT ); Mon, 6 Jul 2009 01:36:07 -0400 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: file_update_time() should be called with i_mutex held, move it before mutex_unlock(). Signed-off-by: WANG Cong Cc: Al Viro Cc: Heiko Carstens Cc: Miklos Szeredi --- diff --git a/fs/pipe.c b/fs/pipe.c index f7dd21a..724b035 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -602,13 +602,14 @@ redo2: pipe->waiting_writers--; } out: + if (ret > 0) + file_update_time(filp); + mutex_unlock(&inode->i_mutex); if (do_wakeup) { wake_up_interruptible_sync(&pipe->wait); kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN); } - if (ret > 0) - file_update_time(filp); return ret; }