diff mbox series

[next] mm: shmem: Fix error checking on utf8_parse_version failures

Message ID 20241112095449.461196-1-colin.i.king@gmail.com (mailing list archive)
State New
Headers show
Series [next] mm: shmem: Fix error checking on utf8_parse_version failures | expand

Commit Message

Colin Ian King Nov. 12, 2024, 9:54 a.m. UTC
Currently the error check on the call to utf8_parse_version is always
false because version is an unsigned int and this can never be less
than zero. Because version is required to be an unsigned int, fix the
issue by casting it to int just for the error check.

Fixes: 58e55efd6c72 ("tmpfs: Add casefold lookup support")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
---
 mm/shmem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

André Almeida Nov. 12, 2024, 10:06 a.m. UTC | #1
Hi Colin,

Em 12/11/2024 06:54, Colin Ian King escreveu:
> Currently the error check on the call to utf8_parse_version is always
> false because version is an unsigned int and this can never be less
> than zero. Because version is required to be an unsigned int, fix the
> issue by casting it to int just for the error check.

Why is it required to be an unsigned int?

> 
> Fixes: 58e55efd6c72 ("tmpfs: Add casefold lookup support")
> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>

Another fix was already sent: 
https://lore.kernel.org/lkml/20241111-unsignedcompare1601569-v1-1-c4a9c3c75a52@gmail.com/
Colin Ian King Nov. 12, 2024, 10:12 a.m. UTC | #2
On 12/11/2024 10:06, André Almeida wrote:
> Hi Colin,
> 
> Em 12/11/2024 06:54, Colin Ian King escreveu:
>> Currently the error check on the call to utf8_parse_version is always
>> false because version is an unsigned int and this can never be less
>> than zero. Because version is required to be an unsigned int, fix the
>> issue by casting it to int just for the error check.
> 
> Why is it required to be an unsigned int?

It's being passed to various functions that expect unsigned int, so I 
presume it was intended to be of that type.

Colin

> 
>>
>> Fixes: 58e55efd6c72 ("tmpfs: Add casefold lookup support")
>> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> 
> Another fix was already sent: https://lore.kernel.org/lkml/20241111- 
> unsignedcompare1601569-v1-1-c4a9c3c75a52@gmail.com/
diff mbox series

Patch

diff --git a/mm/shmem.c b/mm/shmem.c
index 7987deb2be9b..b69e1d8816fa 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -4377,7 +4377,7 @@  static int shmem_parse_opt_casefold(struct fs_context *fc, struct fs_parameter *
 				       "in the format: utf8-<version number>");
 
 		version = utf8_parse_version(version_str);
-		if (version < 0)
+		if ((int)version < 0)
 			return invalfc(fc, "Invalid UTF-8 version: %s", version_str);
 	}