Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751644AbdFGK1B (ORCPT ); Wed, 7 Jun 2017 06:27:01 -0400 Received: from mail-wr0-f178.google.com ([209.85.128.178]:34160 "EHLO mail-wr0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751639AbdFGK0x (ORCPT ); Wed, 7 Jun 2017 06:26:53 -0400 From: Mateusz Jurczyk To: Miklos Szeredi Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] fuse: Initialize the flock flag in the fuse_file structure upon allocation Date: Wed, 7 Jun 2017 12:26:49 +0200 Message-Id: <20170607102649.14713-1-mjurczyk@google.com> X-Mailer: git-send-email 2.13.1.508.gb3defc5cc-goog Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1037 Lines: 33 Add initialization of the flock flag in the fuse_file structure after it is allocated. Before the patch, the flock flag could remain uninitialized for the lifespan of the fuse_file allocation: it was not pre-set by kmalloc() or later in the fuse_file_alloc() function. Unless set to true in fuse_file_flock(), it would remain in an indeterminate state until read in an if statement in fuse_release_common(). This could consequently lead to taking an unexpected branch in the code. The bug was discovered by a runtime instrumentation designed to detect use of uninitialized memory in the kernel. Signed-off-by: Mateusz Jurczyk --- fs/fuse/file.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 3ee4fdc3da9e..c9a86a748ceb 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -66,6 +66,8 @@ struct fuse_file *fuse_file_alloc(struct fuse_conn *fc) ff->kh = ++fc->khctr; spin_unlock(&fc->lock); + ff->flock = false; + return ff; } -- 2.13.1.508.gb3defc5cc-goog