From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relayaws-01.paragon-software.com (relayaws-01.paragon-software.com [35.157.23.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E1D707C for ; Fri, 10 Jun 2022 16:21:31 +0000 (UTC) Received: from dlg2.mail.paragon-software.com (vdlg-exch-02.paragon-software.com [172.30.1.105]) by relayaws-01.paragon-software.com (Postfix) with ESMTPS id 911C91D99; Fri, 10 Jun 2022 16:20:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paragon-software.com; s=mail; t=1654878049; bh=ioFgM6y+XdcF78saLPERgD1M4sbpP2D6QZPHFDZ9vvM=; h=Date:Subject:To:CC:References:From:In-Reply-To; b=Jvmkrgx162jlNF4axBM0VM7hdMFogDadVe78W2/U6nIUULF1a9PVKdVlVLRfieBO+ MrGGkX1zIh/bk8yx4gXZqT2uR0SLgJBZJLkDo2DoHMc09sB4k769MJZwWDNZOOYTH3 CCi7I0BhjvNaL11AOtTwvTxmU/3bfF5FTnik8wRM= Received: from [172.30.8.65] (172.30.8.65) by vdlg-exch-02.paragon-software.com (172.30.1.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.7; Fri, 10 Jun 2022 19:21:29 +0300 Message-ID: <01e2f814-1fcf-bc0c-b580-e3879eda85b6@paragon-software.com> Date: Fri, 10 Jun 2022 19:21:28 +0300 Precedence: bulk X-Mailing-List: ntfs3@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: [PATCH] fs/ntfs3: Don't clear upper bits accidentally in log_replay() Content-Language: en-US To: Dan Carpenter CC: , , , References: From: Konstantin Komarov In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [172.30.8.65] X-ClientProxiedBy: vdlg-exch-02.paragon-software.com (172.30.1.105) To vdlg-exch-02.paragon-software.com (172.30.1.105) On 5/9/22 12:03, Dan Carpenter wrote: > The "vcn" variable is a 64 bit. The "log->clst_per_page" variable is a > u32. This means that the mask accidentally clears out the high 32 bits > when it was only supposed to clear some low bits. Fix this by adding a > cast to u64. > > Fixes: b46acd6a6a62 ("fs/ntfs3: Add NTFS journal") > Signed-off-by: Dan Carpenter > --- > Why am I getting new Smatch warnings in old ntfs3 code? It is a mystery. > > fs/ntfs3/fslog.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ntfs3/fslog.c b/fs/ntfs3/fslog.c > index 915f42cf07bc..0da339fda2f4 100644 > --- a/fs/ntfs3/fslog.c > +++ b/fs/ntfs3/fslog.c > @@ -5057,7 +5057,7 @@ int log_replay(struct ntfs_inode *ni, bool *initialized) > goto add_allocated_vcns; > > vcn = le64_to_cpu(lrh->target_vcn); > - vcn &= ~(log->clst_per_page - 1); > + vcn &= ~(u64)(log->clst_per_page - 1); > > add_allocated_vcns: > for (i = 0, vcn = le64_to_cpu(lrh->target_vcn), Thanks for patch, applied!