From 8c028dd086ade4dd9fed8a4198f25531dcd11dcb Mon Sep 17 00:00:00 2001 From: Youling Tang Date: Thu, 2 Apr 2026 14:18:38 +0000 Subject: [PATCH] smb/client: check if SMB1 DOS/SRV error mapping arrays are sorted Although the arrays are sorted at build time, verify the ordering again when cifs.ko is loaded to avoid potential regressions introduced by future script changes. Signed-off-by: Youling Tang Reviewed-by: ChenXiaoSong Signed-off-by: Steve French --- fs/smb/client/smb1maperror.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/fs/smb/client/smb1maperror.c b/fs/smb/client/smb1maperror.c index 28e1c84fa83b7..bca9b60ac8368 100644 --- a/fs/smb/client/smb1maperror.c +++ b/fs/smb/client/smb1maperror.c @@ -219,6 +219,10 @@ static int __init __array ## _is_sorted(void) \ /* ntstatus_to_dos_map_is_sorted */ DEFINE_CHECK_SORT_FUNC(ntstatus_to_dos_map, ntstatus); +/* mapping_table_ERRDOS_is_sorted */ +DEFINE_CHECK_SORT_FUNC(mapping_table_ERRDOS, smb_err); +/* mapping_table_ERRSRV_is_sorted */ +DEFINE_CHECK_SORT_FUNC(mapping_table_ERRSRV, smb_err); int __init smb1_init_maperror(void) { @@ -228,6 +232,14 @@ int __init smb1_init_maperror(void) if (rc) return rc; + rc = mapping_table_ERRDOS_is_sorted(); + if (rc) + return rc; + + rc = mapping_table_ERRSRV_is_sorted(); + if (rc) + return rc; + return rc; } -- 2.47.3