André Almeida
89933f8ab3
unicode: Fix utf8_load() error path
...
[ Upstream commit 156bb2c569 ]
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:
<TASK>
? __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: 2b3d047870 ("unicode: Add utf8-data module")
Signed-off-by: André Almeida <andrealmeid@igalia.com >
Reviewed-by: Theodore Ts'o <tytso@mit.edu >
Link: https://lore.kernel.org/r/20240902225511.757831-2-andrealmeid@igalia.com
Signed-off-by: Gabriel Krisman Bertazi <krisman@suse.de >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2024-12-05 14:02:01 +01:00
..
2024-10-25 15:25:02 -07:00
2024-10-02 17:23:23 -04:00
2024-09-16 13:07:59 +02:00
2024-11-01 07:37:10 -10:00
2024-10-28 13:16:56 +01:00
2024-11-12 03:46:57 -05:00
2024-05-31 12:31:39 +02:00
2024-08-07 11:33:21 +02:00
2024-11-15 09:45:32 -08:00
2024-12-05 14:01:14 +01:00
2024-10-04 10:10:23 -07:00
2024-08-19 13:45:03 +02:00
2024-06-17 20:42:57 +02:00
2024-07-15 11:14:59 -07:00
2024-10-02 17:23:23 -04:00
2024-09-27 08:18:43 -07:00
2024-12-05 14:02:00 +01:00
2024-10-02 17:23:23 -04:00
2024-09-27 08:18:43 -07:00
2024-12-05 14:01:10 +01:00
2024-12-05 14:02:00 +01:00
2024-10-02 17:23:23 -04:00
2024-05-28 15:57:23 +02:00
2024-09-16 09:14:02 +02:00
2024-12-05 14:01:15 +01:00
2024-10-11 15:12:07 +00:00
2024-10-17 00:28:06 -07:00
2024-03-26 09:04:53 +01:00
2024-10-25 17:05:49 +02:00
2024-09-23 11:55:17 -07:00
2024-08-07 11:33:21 +02:00
2024-12-05 14:01:15 +01:00
2024-08-07 11:33:21 +02:00
2024-10-02 17:23:23 -04:00
2024-08-07 11:33:21 +02:00
2024-11-01 07:45:00 -10:00
2024-12-05 14:01:54 +01:00
2024-08-26 23:49:15 -04:00
2024-08-19 13:40:00 +02:00
2024-10-22 09:40:37 -05:00
2024-05-04 19:02:39 +02:00
2024-10-02 17:23:23 -04:00
2024-08-07 11:33:36 +02:00
2024-12-05 14:01:14 +01:00
2024-11-04 10:24:19 -05:00
2024-11-04 10:24:19 -05:00
2024-11-09 13:18:07 -08:00
2024-11-11 17:20:23 -08:00
2024-10-02 17:23:23 -04:00
2024-10-02 15:14:29 +02:00
2024-10-08 10:53:06 -07:00
2024-11-14 22:43:48 -08:00
2024-08-07 11:33:21 +02:00
2024-06-20 09:46:01 +02:00
2024-10-02 17:23:23 -04:00
2024-10-16 13:17:45 +02:00
2024-11-16 16:00:38 -08:00
2024-09-19 10:18:15 +02:00
2024-05-28 11:52:53 +02:00
2024-08-07 11:31:56 +02:00
2024-09-23 10:49:28 -07:00
2024-04-25 20:56:25 -07:00
2024-10-02 17:23:23 -04:00
2024-08-21 22:32:58 +02:00
2024-11-09 12:58:23 -08:00
2024-10-30 20:14:12 -07:00
2024-04-23 13:27:43 +02:00
2024-08-07 11:33:36 +02:00
2024-07-22 18:25:47 -07:00
2024-11-01 08:38:14 -04:00
2024-09-27 08:18:43 -07:00
2024-10-02 14:32:37 +02:00
2024-10-02 00:05:09 -04:00
2024-12-05 14:02:01 +01:00
2024-08-07 11:32:02 +02:00
2024-08-20 14:03:18 -04:00
2024-11-02 09:22:16 -10:00
2024-10-02 12:02:15 -07:00
2024-08-19 13:45:03 +02:00
2024-04-26 10:33:05 +02:00
2024-08-29 06:20:44 +12:00
2024-10-16 13:17:45 +02:00
2024-08-26 13:00:38 -07:00
2024-09-26 11:39:02 -07:00
2024-10-02 17:23:23 -04:00
2024-07-15 11:14:59 -07:00
2024-05-28 12:06:51 +02:00
2024-08-07 11:26:54 -07:00
2024-09-16 08:54:30 +02:00
2024-09-26 11:39:02 -07:00
2024-10-07 13:51:47 +02:00
2024-09-16 08:35:09 +02:00
2024-08-19 13:45:02 +02:00
2024-07-24 20:59:29 +02:00
2024-08-12 22:00:43 -04:00
2024-09-23 09:35:36 -07:00
2024-09-21 07:29:05 -07:00
2024-09-23 09:35:36 -07:00
2024-09-23 09:35:36 -07:00
2024-09-18 08:53:53 +02:00
2024-09-29 21:52:29 -04:00
2024-07-02 06:20:49 +02:00
2024-08-30 08:22:39 +02:00
2024-09-27 08:18:43 -07:00
2024-10-09 12:47:18 -07:00
2024-08-28 13:05:39 +02:00
2024-08-12 22:00:43 -04:00
2024-10-03 16:19:51 -04:00
2024-06-19 13:13:55 -07:00
2024-08-12 22:00:43 -04:00
2024-09-16 08:54:30 +02:00
2024-09-23 09:35:36 -07:00
2024-08-06 09:01:41 -07:00
2024-09-24 15:29:42 -07:00
2024-09-16 11:15:26 +02:00
2024-05-31 12:31:43 +02:00
2024-09-23 09:35:36 -07:00
2024-10-17 15:33:43 +02:00
2024-09-27 08:18:43 -07:00
2024-10-10 12:09:03 +02:00
2024-09-27 18:29:19 +02:00
2024-09-27 08:18:43 -07:00
2024-08-30 08:22:37 +02:00
2024-06-28 14:36:43 +02:00
2024-12-05 14:01:11 +01:00
2024-08-12 22:00:43 -04:00
2024-08-12 22:00:43 -04:00
2024-09-23 09:35:36 -07:00
2024-05-02 16:28:20 +02:00
2024-09-23 09:35:36 -07:00
2024-08-12 22:00:43 -04:00
2024-08-12 22:00:43 -04:00
2024-08-12 22:00:43 -04:00
2024-10-21 14:30:26 +02:00
2024-08-12 22:00:43 -04:00
2024-08-12 22:00:43 -04:00
2024-10-28 21:40:38 -07:00
2024-08-12 22:00:43 -04:00
2024-08-12 22:00:43 -04:00