From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kirill A. Shutemov" Subject: [PATCH 2/2] 9p: do not crash on unknown lock status code Date: Mon, 29 Dec 2014 15:00:19 +0200 Message-ID: <1419858019-116944-2-git-send-email-kirill.shutemov@linux.intel.com> References: <1419858019-116944-1-git-send-email-kirill.shutemov@linux.intel.com> Cc: v9fs-developer@lists.sourceforge.net, linux-fsdevel@vger.kernel.org, "Kirill A. Shutemov" To: Eric Van Hensbergen , Ron Minnich , Latchesar Ionkov Return-path: Received: from mga09.intel.com ([134.134.136.24]:16809 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752046AbaL2NA1 (ORCPT ); Mon, 29 Dec 2014 08:00:27 -0500 In-Reply-To: <1419858019-116944-1-git-send-email-kirill.shutemov@linux.intel.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Current 9p implementation will crash whole system if sees unkown lock status code. It's trivial target for DOS: 9p server can produce such code easily. Let's fallback more gracefully: warning in dmesg + -ENOLCK. Signed-off-by: Kirill A. Shutemov --- fs/9p/vfs_file.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c index 8d29e1e03dfa..0db033e698eb 100644 --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c @@ -212,12 +212,13 @@ static int v9fs_file_do_lock(struct file *filp, int cmd, struct file_lock *fl) case P9_LOCK_BLOCKED: res = -EAGAIN; break; + default: + WARN_ONCE(1, "unknown lock status clode: %d\n", status); + /* fallthough */ case P9_LOCK_ERROR: case P9_LOCK_GRACE: res = -ENOLCK; break; - default: - BUG(); } out_unlock: -- 2.1.4