Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4479017pxf; Tue, 23 Mar 2021 11:34:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxkLdERFPYd86lOvUtNJHN9lvOAkkmRQM0HbjrQOb19xq4C02n3FHcpOI5L+znZq6LnQSD0 X-Received: by 2002:a17:906:ecfb:: with SMTP id qt27mr6053126ejb.245.1616524442398; Tue, 23 Mar 2021 11:34:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616524442; cv=none; d=google.com; s=arc-20160816; b=bjRzPb2zkDgf+nmiJDuQ/UV0v/ii61VsD5ZPYOedhVRrvPmhBFxGwKX6p0FssC0cIx Ny5pF0CpCVhjOZC/OnZmjfJWij3mwJsUx28QBuWlhspB4SvuHOkbRoH2uzDWxqqyivXe aP3PSgnBPbLOtSE0wyS0kcHKuY4KsIRzaq+hyKKEOGZUVVyosJVsP2o7VrqY8ctfmEwn JTesLlU1TcAYV5sTIZV4RE1gIE4J7D8lkjqk3cr0SXcpzWJ5WV36SUp0po247XRyeG8o CGhCi4Rh9whV7wSjUsxIIdXLduvXOREF0qi3QDgKDqhMsrt512nBwoZNGnuhPZlmmxdX WEkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=JqUmAeMnxXKxHE0Qbq4kYFVcGtdNZH6Q/L92+UvLw6w=; b=V11h2sAZBPo3UcLHHlitIjrtkKmAzY14ifyAdmUztvOT7nIII9SpE8JD8bGZOGxMHJ IUe3nN0Q+vWHRtq11u0MJY23DEd2SLC1zbsnBwxzbNBboiN6+8R5Kc0FIfYZF60Qr72x wjk2uaZYez4xS9qwEn6IU+VnCCCmjwHVKsdqfGRLiImPcg+S7n78JjIU83xalI87m9qv GR2vRwKBDTxJuR1CYO+aDlqVnM8FtKg1bMJa/BrXQL9b9lsFxqJmtZwip4iqDe8hBo59 A93Cmav0XIqxr/Nh4Dc/ANroWWyQ0zJ/XMQAyzTGzLo3dYFOlrWNf2ebFUnu+jI4sPfT F+MQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w13si13704970ejv.399.2021.03.23.11.33.35; Tue, 23 Mar 2021 11:34:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232051AbhCWSdE (ORCPT + 99 others); Tue, 23 Mar 2021 14:33:04 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:53240 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231833AbhCWScz (ORCPT ); Tue, 23 Mar 2021 14:32:55 -0400 Received: from localhost.localdomain (unknown [IPv6:2401:4900:5170:240f:f606:c194:2a1c:c147]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: shreeya) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 368961F44A70; Tue, 23 Mar 2021 18:32:41 +0000 (GMT) From: Shreeya Patel To: tytso@mit.edu, adilger.kernel@dilger.ca, jaegeuk@kernel.org, chao@kernel.org, krisman@collabora.com, ebiggers@google.com, drosen@google.com, ebiggers@kernel.org, yuchao0@huawei.com Cc: linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-fsdevel@vger.kernel.org, kernel@collabora.com, andre.almeida@collabora.com Subject: [PATCH v3 2/5] fs: Check if utf8 encoding is loaded before calling utf8_unload() Date: Wed, 24 Mar 2021 00:01:58 +0530 Message-Id: <20210323183201.812944-3-shreeya.patel@collabora.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210323183201.812944-1-shreeya.patel@collabora.com> References: <20210323183201.812944-1-shreeya.patel@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org utf8_unload is being called if CONFIG_UNICODE is enabled. The ifdef block doesn't check if utf8 encoding has been loaded or not before calling the utf8_unload() function. This is not the expected behavior since it would sometimes lead to unloading utf8 even before loading it. Hence, add a condition which will check if sb->encoding is NOT NULL before calling the utf8_unload(). Signed-off-by: Shreeya Patel --- Changes in v3 - Add this patch to the series which checks if utf8 encoding was loaded before calling uft8_unload(). fs/ext4/super.c | 6 ++++-- fs/f2fs/super.c | 9 ++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/fs/ext4/super.c b/fs/ext4/super.c index ad34a3727..e438d14f9 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -1259,7 +1259,8 @@ static void ext4_put_super(struct super_block *sb) fs_put_dax(sbi->s_daxdev); fscrypt_free_dummy_policy(&sbi->s_dummy_enc_policy); #ifdef CONFIG_UNICODE - utf8_unload(sb->s_encoding); + if (sb->s_encoding) + utf8_unload(sb->s_encoding); #endif kfree(sbi); } @@ -5165,7 +5166,8 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) crypto_free_shash(sbi->s_chksum_driver); #ifdef CONFIG_UNICODE - utf8_unload(sb->s_encoding); + if (sb->s_encoding) + utf8_unload(sb->s_encoding); #endif #ifdef CONFIG_QUOTA diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 706979375..0a04983c2 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -1430,7 +1430,8 @@ static void f2fs_put_super(struct super_block *sb) for (i = 0; i < NR_PAGE_TYPE; i++) kvfree(sbi->write_io[i]); #ifdef CONFIG_UNICODE - utf8_unload(sb->s_encoding); + if (sb->s_encoding) + utf8_unload(sb->s_encoding); #endif kfree(sbi); } @@ -4073,8 +4074,10 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent) kvfree(sbi->write_io[i]); #ifdef CONFIG_UNICODE - utf8_unload(sb->s_encoding); - sb->s_encoding = NULL; + if (sb->s_encoding) { + utf8_unload(sb->s_encoding); + sb->s_encoding = NULL; + } #endif free_options: #ifdef CONFIG_QUOTA -- 2.24.3 (Apple Git-128)