From: Youling Tang Date: Thu, 2 Apr 2026 14:18:38 +0000 (+0000) Subject: smb/client: check if SMB1 DOS/SRV error mapping arrays are sorted X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8c028dd086ade4dd9fed8a4198f25531dcd11dcb;p=thirdparty%2Flinux.git 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 --- 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; }