From patchwork Mon Sep 2 22:55:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Almeida?= X-Patchwork-Id: 13787772 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id F325FC54FC6 for ; Mon, 2 Sep 2024 22:55:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AD7986B035C; Mon, 2 Sep 2024 18:55:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9753E6B035E; Mon, 2 Sep 2024 18:55:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 752D36B035C; Mon, 2 Sep 2024 18:55:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 4C2BA6B03D5 for ; Mon, 2 Sep 2024 18:55:40 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id C916F16030F for ; Mon, 2 Sep 2024 22:55:39 +0000 (UTC) X-FDA: 82521306798.15.A84D281 Received: from fanzine2.igalia.com (fanzine.igalia.com [178.60.130.6]) by imf27.hostedemail.com (Postfix) with ESMTP id D8A4B40017 for ; Mon, 2 Sep 2024 22:55:37 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=igalia.com header.s=20170329 header.b=M+XOwtWh; spf=pass (imf27.hostedemail.com: domain of andrealmeid@igalia.com designates 178.60.130.6 as permitted sender) smtp.mailfrom=andrealmeid@igalia.com; dmarc=pass (policy=none) header.from=igalia.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725317663; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AgFFNkqn5/cUGlfr18a5Dx7qJiLmYYoj79VenxCQGNs=; b=A7xFhFnOwiihpIoOw67hXEbWrLOlWJD3t7aS3hlY1FGVlzv5nu9v7ia3aKqRRjxnKWjzU8 mrY9SD84rt4e5D59hgyIK1N5IG6mQyStNT4e5+0qOvBN0iPmy4SYHJNEsG6Rvu4xGUopZF wMz4dPm4zM13P75b4/nbVrIqJVu0utQ= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=igalia.com header.s=20170329 header.b=M+XOwtWh; spf=pass (imf27.hostedemail.com: domain of andrealmeid@igalia.com designates 178.60.130.6 as permitted sender) smtp.mailfrom=andrealmeid@igalia.com; dmarc=pass (policy=none) header.from=igalia.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725317663; a=rsa-sha256; cv=none; b=nlRiucMG08DUJrbMwGR+7mdA342HyLnWkUd+oFVaJt9cS6aHYyC4wrM0w+aCp+xeUuH89V ZSHRfe5KkjeZn+0W9CIzxLzYC8XM6odbFoXK5aa8wtpjg1Y9ngY9RVxmYVL8YzFyLUZI1P ytLK6xEPHVIoQqRY7DIjsbHB3QAHx2g= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=AgFFNkqn5/cUGlfr18a5Dx7qJiLmYYoj79VenxCQGNs=; b=M+XOwtWh6PCY2iI37gV+1uD0TB PFrzcYHjocykhzsyfGxMB/cYuLDeDi3CXLxa8cSADb2aqf6NE+EN9ZJvqDytsW7gg0OOBcfY3qVbG X1gdcoA4Irzbo9/bcltCFQwQdV/piCR/37Eder7MTLuKvJXq5c62PQ9NhX18T/vHoOM3I+fopxM9D e2MxZ0GGqjlbPB/iD+hQpotuT/2Lm5gIaNebSwuppcbuzEsWbqunMiToozAtmiAEGaMJuLPD8oOpl GjK+WrAyBpF6M91dTEq4sRB9V7/U0yL3P2EbQFnLFLf6WVvpFqGtni8cmlJ54szj1DgtSL6BnRV5g rZuzGNuA==; Received: from [177.172.122.98] (helo=localhost.localdomain) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1slFxE-008VrL-8I; Tue, 03 Sep 2024 00:55:24 +0200 From: =?utf-8?q?Andr=C3=A9_Almeida?= To: Hugh Dickins , Andrew Morton , Alexander Viro , Christian Brauner , Jan Kara , krisman@kernel.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, kernel-dev@igalia.com, Daniel Rosenberg , smcv@collabora.com, Christoph Hellwig , =?utf-8?q?Andr=C3=A9_Almeida?= Subject: [PATCH v2 1/8] unicode: Fix utf8_load() error path Date: Mon, 2 Sep 2024 19:55:03 -0300 Message-ID: <20240902225511.757831-2-andrealmeid@igalia.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240902225511.757831-1-andrealmeid@igalia.com> References: <20240902225511.757831-1-andrealmeid@igalia.com> MIME-Version: 1.0 X-Stat-Signature: dnbntak59gukai1jir58sruwmzf8atz3 X-Rspam-User: X-Rspamd-Queue-Id: D8A4B40017 X-Rspamd-Server: rspam02 X-HE-Tag: 1725317737-358384 X-HE-Meta: U2FsdGVkX1/tF8+dF5bPap1L9Nsh3bXmZyEzICGUm7vqXRozDnfeF5dB6UK29HBCyK5GjIetqh0y5lSxHNOCscjlNaOnPvR1CDO14CJHudDP99UzHjalS05ZLgYZRbzBe71eyl1J2xGw+eySNW/j9qQw13JDrgHHvTMdHIna5uPvbOC7qeKoZa15LI3l/TtWCqCRCHBDwU+GMS2TDtWGbCJQlyVlZ4UHfIAvJbuesElW8zAgV02FCUPwhFizhzSAulHW5V46eegUZqLyG07mLe55Y+ydyWB9NG7ucVmwCnB04dmLkHQLf6pXjn1tBZ/MamexmOeS8V2PGwvu9Y7T7aalNavoC7qFrng3e0rv/Huoh9bqYhs54LpMiQbvY9tpvumDZuTfQLVe2YtPxci3KDqv7znsRD7yyIggVuJxGN0J3RGHnelqirJ1lU8ZIYt/L4VU6QEJ4jpvDOqmemKAUfM+eaCB9CsIv/3Y6N2yQ1/tYccje/y1JWIPnq0rJwdAxps5pm7DFwueWi+U+oFxD0Ay/jRXfI/x2kKfsR2g0pwQ854C27MHXLePEfH0xuIHcI4PxvFex/g5LZxm9w/aEMNeK79KInUXqDVBG3lycPBIIP2T6JmRTBliamPEkNVa9FjNO00jGxLJNaDpjQhRkWSZAqhx6JlCqymIPM7w4Ax8i92DnrRkXw71tJmWH+1Ew2WjcobqIDAUb3mM9H4pt0NkagByhhEscg1Z0ty4A54sdEpeMs+SM6lUMEgm7LrRjmaqHVGOpEngkgA+U/esYeJu+vO5mudB0J67Aivu7/G4LZb8D7L7QrYe5ukP/Yq32E7C6KWWTDVSLkLd0iYlqlEHqUXp5+4YJSHFXa6/jmJKjmNLp8RA2RQklXA3nX3mIfocvAJMWIE5o+tfHxdu31TWPXyBOSiR/YT28osfPPPKnZabqYJhH2bGCFZcMK6jsxGWEVZpHb+IPRdacwY O1P6sRNN uuKYhhzCwTeXBLUaPLwAEGvr2NxBAdLw6rwe0vG7SdJJyxKSPaTJrVboeDvGcGVypH1yLxL/C4vCR4ydgS7ECTJFaPUE5wmzHpMuT9xGZjUkff7voYP/WlprLFhhoHt3AuUV6jEt6uu3Tus1eE6rDjRlrxtsVQo/QKAb605FyZNoeubnq5JM8eixzRcOzQ0VnGFx3URMXyE9fWb8s0JdmZtDwxXzUwPakM0wl3iBpcS4DboVw/RRK513sXtoqNCIJmCSJEOH+lbmHbO8vMF0FV3J99JBAAv7oo40M1N2NIQUuc+A2Bp6ROD6Iqw1c09Y0erlNRHsu0lzWrSeOSv/Z/Jmm2vzLBRjDC8VIWpr5SkNjqC8/Sb5SY1At3NeHNPVsYyj9 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: utf8_load() requests the symbol "utf8_data_table" and then checks if the requested UTF-8 version is supported. If it's unsupported, it tries to put the data table using symbol_put(). If an unsupported version is requested, symbol_put() fails like this: kernel BUG at kernel/module/main.c:786! RIP: 0010:__symbol_put+0x93/0xb0 Call Trace: ? __die_body.cold+0x19/0x27 ? die+0x2e/0x50 ? do_trap+0xca/0x110 ? do_error_trap+0x65/0x80 ? __symbol_put+0x93/0xb0 ? exc_invalid_op+0x51/0x70 ? __symbol_put+0x93/0xb0 ? asm_exc_invalid_op+0x1a/0x20 ? __pfx_cmp_name+0x10/0x10 ? __symbol_put+0x93/0xb0 ? __symbol_put+0x62/0xb0 utf8_load+0xf8/0x150 That happens because symbol_put() expects the unique string that identify the symbol, instead of a pointer to the loaded symbol. Fix that by using such string. Fixes: 2b3d04787012 ("unicode: Add utf8-data module") Signed-off-by: André Almeida Reviewed-by: Theodore Ts'o --- fs/unicode/utf8-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/unicode/utf8-core.c b/fs/unicode/utf8-core.c index 8395066341a4..0400824ef493 100644 --- a/fs/unicode/utf8-core.c +++ b/fs/unicode/utf8-core.c @@ -198,7 +198,7 @@ struct unicode_map *utf8_load(unsigned int version) return um; out_symbol_put: - symbol_put(um->tables); + symbol_put(utf8_data_table); out_free_um: kfree(um); return ERR_PTR(-EINVAL);