From nobody Fri Dec 19 13:32:01 2025 Received: from out-178.mta0.migadu.com (out-178.mta0.migadu.com [91.218.175.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 461D519F40B for ; Sat, 6 Dec 2025 15:19:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034382; cv=none; b=Zgkc+y9DJ8ruTSkaKq9UDlSXI6vvM+T9BNvF95wqw028lPJ6cAY1L/KOn/i1ZJEBO61wqsNL5BvqW96aIOtbPPNK2VylPFE1CjKAE+z324p/7Sa6gKGn3CfmeMG1MPZa7pGlFYeX/4NtYAayBh1xuFDy1p3fY/Vu+9S87ZuwF74= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034382; c=relaxed/simple; bh=zUYUihyU+5bVpkT+6WKXmtpr0BGZrQLsvYStT4Koz0c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fLEwqj5L3BrH4sjM53/SG9zuUSYHMzlPYscHh8RJjbV3ipBVmRIsN2mHRA1kGS3yFj8dtswgd8Wc/g+TlOzNXectgnlOmZNtEzzjNGVFyzYOJ1iD0MagIER/tgfP0NR0jsWKsxt8ERHM+X83AiQT3vucDt6k5VB4ACjSbG31f3c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=qNQBkE3b; arc=none smtp.client-ip=91.218.175.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="qNQBkE3b" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1765034375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VOu/pciDgcF7ZyY8CZ3QBp/GQHrh32EkE7MVswuQoHU=; b=qNQBkE3bp9Zmxa92Es61ewEzcJ93+2gfE9UrxaXdloF1n8bqYBqbmGWnvk0Y3pdCUqHUM+ fQReqogvFBOkIfSwbnYAXu9FaRWQX1+/gwF7tdzc4D9RSrUp1mbRoXlW1LdyB9PcbltNQQ Xm61re4P2nelBKXBG7HioKAGACOHkYU= From: chenxiaosong.chenxiaosong@linux.dev To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org, linkinjeon@samba.org Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn, ChenXiaoSong Subject: [PATCH v4 01/10] smb/client: reduce loop count in map_smb2_to_linux_error() by half Date: Sat, 6 Dec 2025 23:18:17 +0800 Message-ID: <20251206151826.2932970-2-chenxiaosong.chenxiaosong@linux.dev> In-Reply-To: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> References: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: ChenXiaoSong The smb2_error_map_table array currently has 1743 elements. When searching for the last element and calling smb2_print_status(), 3486 comparisons are needed. The loop in smb2_print_status() is unnecessary, smb2_print_status() can be removed, and only iterate over the array once, printing the message when the target status code is found. Signed-off-by: ChenXiaoSong --- fs/smb/client/smb2maperror.c | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/fs/smb/client/smb2maperror.c b/fs/smb/client/smb2maperror.c index 12c2b868789f..d1df6e518d21 100644 --- a/fs/smb/client/smb2maperror.c +++ b/fs/smb/client/smb2maperror.c @@ -2418,24 +2418,6 @@ static const struct status_to_posix_error smb2_error= _map_table[] =3D { {0, 0, NULL} }; =20 -/*************************************************************************= **** - Print an error message from the status code - *************************************************************************= ****/ -static void -smb2_print_status(__le32 status) -{ - int idx =3D 0; - - while (smb2_error_map_table[idx].status_string !=3D NULL) { - if ((smb2_error_map_table[idx].smb2_status) =3D=3D status) { - pr_notice("Status code returned 0x%08x %s\n", status, - smb2_error_map_table[idx].status_string); - } - idx++; - } - return; -} - int map_smb2_to_linux_error(char *buf, bool log_err) { @@ -2452,16 +2434,16 @@ map_smb2_to_linux_error(char *buf, bool log_err) return 0; } =20 - /* mask facility */ - if (log_err && (smb2err !=3D STATUS_MORE_PROCESSING_REQUIRED) && - (smb2err !=3D STATUS_END_OF_FILE)) - smb2_print_status(smb2err); - else if (cifsFYI & CIFS_RC) - smb2_print_status(smb2err); + log_err =3D (log_err && (smb2err !=3D STATUS_MORE_PROCESSING_REQUIRED) && + (smb2err !=3D STATUS_END_OF_FILE)) || + (cifsFYI & CIFS_RC); =20 for (i =3D 0; i < sizeof(smb2_error_map_table) / sizeof(struct status_to_posix_error); i++) { if (smb2_error_map_table[i].smb2_status =3D=3D smb2err) { + if (log_err) + pr_notice("Status code returned 0x%08x %s\n", smb2err, + smb2_error_map_table[i].status_string); rc =3D smb2_error_map_table[i].posix_error; break; } --=20 2.43.0 From nobody Fri Dec 19 13:32:01 2025 Received: from out-188.mta0.migadu.com (out-188.mta0.migadu.com [91.218.175.188]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4AA4326F2B8 for ; Sat, 6 Dec 2025 15:19:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.188 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034384; cv=none; b=ouIZwx05vLQRuK5Kx4DzYRs58lLTTNeOO1IRrrbkpqOtwENeeq6cTcIMy84I2GA/FweqhHsDHSnXu0yU99eWhYEPuHYy1QoBl0cFP4BhTcanrvAUDWe34+la90dVlmQVx0H73Pl+OyFQTEsGhb0WAYmCpXsBv8QdZUvz+MGys6Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034384; c=relaxed/simple; bh=pkfzsbbhoS8dSc0sCXHcgR0baQMXz4nmCTpdqOcLZkM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tapZrg0dTdRM1pFbvSPbAqhJ5Cb3PvhnKqgEYoFieRlVSaEZXm8qllMOl0880ACRC6EebrtYKzkzBK21p8FV7epSVdmcGX7PuhcIGz+ukVyrePJht397LBhbKu1cZ5vyoGTwcWUGLRn8PeufEP0r/V4vwOkQMezhqGSS1YJc914= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=xhwduOHC; arc=none smtp.client-ip=91.218.175.188 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="xhwduOHC" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1765034378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tpu2+fHhdm+SVBxmfXBwkvLZquyK3vrWeg83HtvStqA=; b=xhwduOHCws3w47hmiK6h00O6y+krTM38LRKxoeRjtbNY3z8ED3MUQ2Jm2+0qY+oCWjB5xu SIMEYhtAcB+iZMU5tQf/1Enok++oUxervXChj59q+Y7SDEaSVUG4akLjs40FsxjGpGpei7 W3Gd7ipyArY4c734eMfJ5ybgzZsjT8s= From: chenxiaosong.chenxiaosong@linux.dev To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org, linkinjeon@samba.org Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn, ChenXiaoSong Subject: [PATCH v4 02/10] smb/client: remove unused elements from smb2_error_map_table array Date: Sat, 6 Dec 2025 23:18:18 +0800 Message-ID: <20251206151826.2932970-3-chenxiaosong.chenxiaosong@linux.dev> In-Reply-To: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> References: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: ChenXiaoSong STATUS_SUCCESS and STATUS_WAIT_0 are both zero, and since zero indicates success, they are not needed. Since smb2_print_status() has been removed, the last element in the array is no longer needed. Signed-off-by: ChenXiaoSong --- fs/smb/client/smb2maperror.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fs/smb/client/smb2maperror.c b/fs/smb/client/smb2maperror.c index d1df6e518d21..118e32cc8edc 100644 --- a/fs/smb/client/smb2maperror.c +++ b/fs/smb/client/smb2maperror.c @@ -23,8 +23,6 @@ struct status_to_posix_error { }; =20 static const struct status_to_posix_error smb2_error_map_table[] =3D { - {STATUS_SUCCESS, 0, "STATUS_SUCCESS"}, - {STATUS_WAIT_0, 0, "STATUS_WAIT_0"}, {STATUS_WAIT_1, -EIO, "STATUS_WAIT_1"}, {STATUS_WAIT_2, -EIO, "STATUS_WAIT_2"}, {STATUS_WAIT_3, -EIO, "STATUS_WAIT_3"}, @@ -2415,7 +2413,6 @@ static const struct status_to_posix_error smb2_error_= map_table[] =3D { {STATUS_IPSEC_INTEGRITY_CHECK_FAILED, -EIO, "STATUS_IPSEC_INTEGRITY_CHECK_FAILED"}, {STATUS_IPSEC_CLEAR_TEXT_DROP, -EIO, "STATUS_IPSEC_CLEAR_TEXT_DROP"}, - {0, 0, NULL} }; =20 int --=20 2.43.0 From nobody Fri Dec 19 13:32:01 2025 Received: from out-178.mta0.migadu.com (out-178.mta0.migadu.com [91.218.175.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 975A826FDAC for ; Sat, 6 Dec 2025 15:19:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034385; cv=none; b=NYs9DTgDcNgcAuA25Md5WnbXFA/f6BXMqgyEej8dmXbZPpm1+Kh+WlH9VRusGuaupYtmOG9mb1L/5jV1QV7YVcVERIlEfTHyJd4O4/TCiN8Tk2DSdQoT0oZROml9wOPtN3ROIFqrSDtXZs0ypYY6JkrKa7n6N6v5x0ueySXhFQE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034385; c=relaxed/simple; bh=4JJp2NWhr5BTXdht9jh/3UFu2aqUDb0sNi6TkyC1740=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dIF2oeJUmVAmLiIHJmgEIVKzC17HsHebl9oI+wat8ZhrkbAopjonbOMeCjvt3nTAfdNGlPlNqxnTyBgiv91r0wWve1VW7ARLgxx2i52bmQ4Z6Ju7T5spmtYK0bf7zt1afaPYAZfRJW/SUqJq2M0UGoECvFz9RJHzC9yq+liz8a4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=dBVeN+/x; arc=none smtp.client-ip=91.218.175.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="dBVeN+/x" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1765034381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OpT0hLrQO7wTfJ3bQS8ehrjwnJyCu8VpuzDETsNFyMs=; b=dBVeN+/xqDyhOYgY45P8alcEm1bDW2w3p0X+EzQsQM37mjR1iV7dTShd2Cwz7/OTp1jWCR ycS+FQFrjmGtrHZCMCSJC+jhdqBeFFS9x9lO0J9QY7J0Nz8J+FeWo3TwyvwBUaJhf4pcd3 H+14kLoXefUOzEv2XyVdLZTyUjIssUE= From: chenxiaosong.chenxiaosong@linux.dev To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org, linkinjeon@samba.org Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn, ChenXiaoSong Subject: [PATCH v4 03/10] smb: rename to STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP Date: Sat, 6 Dec 2025 23:18:19 +0800 Message-ID: <20251206151826.2932970-4-chenxiaosong.chenxiaosong@linux.dev> In-Reply-To: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> References: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: ChenXiaoSong See MS-SMB2 3.3.5.4. To keep the name consistent with the documentation. Additionally, move STATUS_INVALID_LOCK_RANGE to correct position in order. Signed-off-by: ChenXiaoSong --- fs/smb/common/smb2status.h | 5 +++-- fs/smb/server/smb2pdu.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/smb/common/smb2status.h b/fs/smb/common/smb2status.h index 14b4a5f04564..7d6b8ed304fc 100644 --- a/fs/smb/common/smb2status.h +++ b/fs/smb/common/smb2status.h @@ -631,6 +631,7 @@ struct ntstatus { #define STATUS_DOMAIN_TRUST_INCONSISTENT cpu_to_le32(0xC000019B) #define STATUS_FS_DRIVER_REQUIRED cpu_to_le32(0xC000019C) #define STATUS_IMAGE_ALREADY_LOADED_AS_DLL cpu_to_le32(0xC000019D) +#define STATUS_INVALID_LOCK_RANGE cpu_to_le32(0xC00001A1) #define STATUS_NETWORK_OPEN_RESTRICTION cpu_to_le32(0xC0000201) #define STATUS_NO_USER_SESSION_KEY cpu_to_le32(0xC0000202) #define STATUS_USER_SESSION_DELETED cpu_to_le32(0xC0000203) @@ -1773,5 +1774,5 @@ struct ntstatus { #define STATUS_IPSEC_INVALID_PACKET cpu_to_le32(0xC0360005) #define STATUS_IPSEC_INTEGRITY_CHECK_FAILED cpu_to_le32(0xC0360006) #define STATUS_IPSEC_CLEAR_TEXT_DROP cpu_to_le32(0xC0360007) -#define STATUS_NO_PREAUTH_INTEGRITY_HASH_OVERLAP cpu_to_le32(0xC05D0000) -#define STATUS_INVALID_LOCK_RANGE cpu_to_le32(0xC00001a1) +/* See MS-SMB2 3.3.5.4 */ +#define STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP cpu_to_le32(0xC05D000= 0) diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c index a4f6de350df8..b1323f1b100e 100644 --- a/fs/smb/server/smb2pdu.c +++ b/fs/smb/server/smb2pdu.c @@ -896,7 +896,7 @@ static __le32 decode_preauth_ctxt(struct ksmbd_conn *co= nn, return STATUS_INVALID_PARAMETER; =20 if (pneg_ctxt->HashAlgorithms !=3D SMB2_PREAUTH_INTEGRITY_SHA512) - return STATUS_NO_PREAUTH_INTEGRITY_HASH_OVERLAP; + return STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP; =20 conn->preauth_info->Preauth_HashId =3D SMB2_PREAUTH_INTEGRITY_SHA512; return STATUS_SUCCESS; --=20 2.43.0 From nobody Fri Dec 19 13:32:01 2025 Received: from out-179.mta0.migadu.com (out-179.mta0.migadu.com [91.218.175.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC5442F1FC9 for ; Sat, 6 Dec 2025 15:19:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034388; cv=none; b=Qd4P2xt0kWfruy8mmRkAwf8pI5/Lw45C9FqqkBsCqhhs3WBSjtDUJtrgKZ6vjHjfRLYCwdT3ZMGZ/ejY442UCgxqhMZdEN3mGZHR4RvlVsnONjXtgi6jDm7OHhveMjuw0s1d9+BpG2NKUwHNQOFPeCVl4Ckly9yv7zkJXNPx408= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034388; c=relaxed/simple; bh=6HJEMr5X59OEb8//cubWzNJerCMISoQtM0zHJvgTDYc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=j1qZMGxjZpf4BWOsbCQzWicv/8Df+lVwRKnvIjoWppIxGl2w1xhxuoDyjt2GarsV7ql/Dr4xm0NJfj1ohkQP3ZW+GS9V9BS/XzeFTVcLjfoe5RWXTb9SzFkKwRadkpiZFE2xR0hlKBi0uWg+hR+pGgjz49S9tk+4gxnjPVTQ4Dg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=pd9to7U3; arc=none smtp.client-ip=91.218.175.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="pd9to7U3" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1765034385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=k+idk5A+mq8aU5amT3grfojWt2+XsKPXn7rdBgtsvkw=; b=pd9to7U3R80Uevte+q3EWkmT7zBofdvgLKwCPwlnwlTenBL8F3g/WU7pt4bn2mWXY/bn2o TPlBrT8/aOSkt2itKGWo71NgyQnPVGu6+c9XiZYmdADmSccO0em+eBF5cjzm1dN9MHoEyj A+lTsT55PH05cuBVBZmlAmV2CPoiRa8= From: chenxiaosong.chenxiaosong@linux.dev To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org, linkinjeon@samba.org Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn, ChenXiaoSong Subject: [PATCH v4 04/10] smb/client: add two elements to smb2_error_map_table array Date: Sat, 6 Dec 2025 23:18:20 +0800 Message-ID: <20251206151826.2932970-5-chenxiaosong.chenxiaosong@linux.dev> In-Reply-To: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> References: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: ChenXiaoSong Both status codes are mapped to -EIO. Now all status codes from common/smb2status.h are included in the smb2_error_map_table array(except for the first two zero definitions). Signed-off-by: ChenXiaoSong --- fs/smb/client/smb2maperror.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/smb/client/smb2maperror.c b/fs/smb/client/smb2maperror.c index 118e32cc8edc..a77467d2d81c 100644 --- a/fs/smb/client/smb2maperror.c +++ b/fs/smb/client/smb2maperror.c @@ -734,6 +734,7 @@ static const struct status_to_posix_error smb2_error_ma= p_table[] =3D { {STATUS_FS_DRIVER_REQUIRED, -EOPNOTSUPP, "STATUS_FS_DRIVER_REQUIRED"}, {STATUS_IMAGE_ALREADY_LOADED_AS_DLL, -EIO, "STATUS_IMAGE_ALREADY_LOADED_AS_DLL"}, + {STATUS_INVALID_LOCK_RANGE, -EIO, "STATUS_INVALID_LOCK_RANGE"}, {STATUS_NETWORK_OPEN_RESTRICTION, -EIO, "STATUS_NETWORK_OPEN_RESTRICTION"}, {STATUS_NO_USER_SESSION_KEY, -EIO, "STATUS_NO_USER_SESSION_KEY"}, @@ -2413,6 +2414,8 @@ static const struct status_to_posix_error smb2_error_= map_table[] =3D { {STATUS_IPSEC_INTEGRITY_CHECK_FAILED, -EIO, "STATUS_IPSEC_INTEGRITY_CHECK_FAILED"}, {STATUS_IPSEC_CLEAR_TEXT_DROP, -EIO, "STATUS_IPSEC_CLEAR_TEXT_DROP"}, + {STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP, -EIO, + "STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP"}, }; =20 int --=20 2.43.0 From nobody Fri Dec 19 13:32:01 2025 Received: from out-170.mta0.migadu.com (out-170.mta0.migadu.com [91.218.175.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6E7162DF707 for ; Sat, 6 Dec 2025 15:19:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034392; cv=none; b=BOgLyMk5BD8CGoL+UCtPoWKpwwCQpIIZ/35IWrqHkILeVDNIQMayOZp8jguoW1y4fQQaDXMFkFwhrivEA+Y9o4Lk+kR+C9AkFHN358U/P0NfBNAESsHBtmD40xqqKo7j+DllPZ+fqASAjRiyBxePg5Rvy+nCZEdjcEDMFAq2ZOk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034392; c=relaxed/simple; bh=IBYCJ0URnZmHAFg6rVEL8/OhHpGcyVNVskFuPS8njGA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UlLLz/5/W5vps1SaZViux2j5sHVs7iEvJzx3/iqTE7pf32WFqQ7T4YMZpyVSveHG3CNj2zRYq0MKj2CF0MctTbCj/FN7wdLUh1tzfJWALqy9D9nY3SbHkmlURxhs2twnADee/ByJXPYg4KiRyvxtQbGud5HFtOjb5ar7obvxkbM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=CMbonmD6; arc=none smtp.client-ip=91.218.175.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="CMbonmD6" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1765034388; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dwt91f0JwYANteB0KGN5KnaqVqKN9Td/UOVyuvc+nkw=; b=CMbonmD6LCec6vTABXKJhT920rmfmIL3lV8Z1WmH7JOYYdMCTqdfvLSRYeoCm9dwDYJwcf xQkl2Wlfj4JpRHCNrjpmhQRcjUNMwmnpFcpfi9ot3vrL2xP4/9hVVEdMykG7x6iLcvv5P4 /Ml7LOjbarktAcfS9AY7y6dlf+BlcFA= From: chenxiaosong.chenxiaosong@linux.dev To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org, linkinjeon@samba.org Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn, ChenXiaoSong Subject: [PATCH v4 05/10] smb/client: sort smb2_error_map_table array Date: Sat, 6 Dec 2025 23:18:21 +0800 Message-ID: <20251206151826.2932970-6-chenxiaosong.chenxiaosong@linux.dev> In-Reply-To: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> References: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: ChenXiaoSong Sort the array in ascending order, and then we can use binary search algorithm to quickly find the target status code. Since the smb2_init_maperror() is called only once when the module is loaded, the array is sorted just once. Signed-off-by: ChenXiaoSong --- fs/smb/client/cifsfs.c | 2 ++ fs/smb/client/smb2maperror.c | 25 ++++++++++++++++++++++++- fs/smb/client/smb2proto.h | 1 + 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/fs/smb/client/cifsfs.c b/fs/smb/client/cifsfs.c index 6eccb9ed9daa..77d14b3dd650 100644 --- a/fs/smb/client/cifsfs.c +++ b/fs/smb/client/cifsfs.c @@ -49,6 +49,7 @@ #endif #include "fs_context.h" #include "cached_dir.h" +#include "smb2proto.h" =20 /* * DOS dates from 1980/1/1 through 2107/12/31 @@ -1908,6 +1909,7 @@ static int __init init_cifs(void) { int rc =3D 0; + smb2_init_maperror(); cifs_proc_init(); INIT_LIST_HEAD(&cifs_tcp_ses_list); /* diff --git a/fs/smb/client/smb2maperror.c b/fs/smb/client/smb2maperror.c index a77467d2d81c..1bd4196386dd 100644 --- a/fs/smb/client/smb2maperror.c +++ b/fs/smb/client/smb2maperror.c @@ -8,6 +8,7 @@ * */ #include +#include #include "cifsglob.h" #include "cifs_debug.h" #include "smb2pdu.h" @@ -22,7 +23,7 @@ struct status_to_posix_error { char *status_string; }; =20 -static const struct status_to_posix_error smb2_error_map_table[] =3D { +static struct status_to_posix_error smb2_error_map_table[] =3D { {STATUS_WAIT_1, -EIO, "STATUS_WAIT_1"}, {STATUS_WAIT_2, -EIO, "STATUS_WAIT_2"}, {STATUS_WAIT_3, -EIO, "STATUS_WAIT_3"}, @@ -2418,6 +2419,20 @@ static const struct status_to_posix_error smb2_error= _map_table[] =3D { "STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP"}, }; =20 +static unsigned int err_map_num =3D sizeof(smb2_error_map_table) / + sizeof(struct status_to_posix_error); + +static int cmp_smb2_status(const void *_a, const void *_b) +{ + const struct status_to_posix_error *a =3D _a, *b =3D _b; + + if (a->smb2_status < b->smb2_status) + return -1; + if (a->smb2_status > b->smb2_status) + return 1; + return 0; +} + int map_smb2_to_linux_error(char *buf, bool log_err) { @@ -2461,3 +2476,11 @@ map_smb2_to_linux_error(char *buf, bool log_err) le32_to_cpu(smb2err), rc); return rc; } + +void smb2_init_maperror(void) +{ + /* Sort in ascending order */ + sort(smb2_error_map_table, err_map_num, + sizeof(struct status_to_posix_error), + cmp_smb2_status, NULL); +} diff --git a/fs/smb/client/smb2proto.h b/fs/smb/client/smb2proto.h index 5241daaae543..c988f6b37a1b 100644 --- a/fs/smb/client/smb2proto.h +++ b/fs/smb/client/smb2proto.h @@ -21,6 +21,7 @@ struct smb_rqst; ***************************************************************** */ extern int map_smb2_to_linux_error(char *buf, bool log_err); +extern void smb2_init_maperror(void); extern int smb2_check_message(char *buf, unsigned int length, struct TCP_Server_Info *server); extern unsigned int smb2_calc_size(void *buf); --=20 2.43.0 From nobody Fri Dec 19 13:32:01 2025 Received: from out-170.mta0.migadu.com (out-170.mta0.migadu.com [91.218.175.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E35FF28DF07 for ; Sat, 6 Dec 2025 15:19:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034395; cv=none; b=Crv+c4mfFTAczncTEn1vnHKMEEnNUr/d8C2AW3lLvPxOCdvhqES9QW40Pgia5kw3cNH54nYZaCm+xsnzJ0GkeowhKjS4PZmy9GHt9OXtlX/2mRkXH3x69QoLA8qFijBUgsTCLtykcqBw16h2a2gBhr+MidpUU6aRAGDjmKfpvRI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034395; c=relaxed/simple; bh=GpiP28Us9v7/dQoXwcAvnftubvrrsWxq7Q4tJTESinM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=R9RoXIlEfX9lSHvTJNsIcoYEty0PP+a97aNcLbyEBbVYnp6G73yt07ARLJQQroBZGL27TnooXnrvaq5mdSM4zf4DSIHC8SA21xHBdc4Qjw2WRAAqV7P/PdK1QeO3WfhmWw+UhacmvHmi4VQL4htU2aj5bPvxMkoNYDtDeAJOwDc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=DiwuZtef; arc=none smtp.client-ip=91.218.175.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="DiwuZtef" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1765034392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CCS9W0lF6HDGhdijp7vL3LJGT24noIkWUUQS/1Ee9+o=; b=DiwuZtefwmRjosS4G3m/zgSo4os8lASEHXhzKRmEptvCFSwTuOrgFjUgOvI0vvNeeGWC/g bOwgSfCZVORWtcADEYriWvevVhEHtgQkULv/g1UfydRcYqSdLI+nQFEGgUmfiS1LSTdjIG diedbrD7++7ye4STa1Kh6+w5OV8UM4A= From: chenxiaosong.chenxiaosong@linux.dev To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org, linkinjeon@samba.org Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn, ChenXiaoSong Subject: [PATCH v4 06/10] smb/client: use bsearch() to find target status code Date: Sat, 6 Dec 2025 23:18:22 +0800 Message-ID: <20251206151826.2932970-7-chenxiaosong.chenxiaosong@linux.dev> In-Reply-To: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> References: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: ChenXiaoSong The smb2_error_map_table array currently has 1742 elements. When searching for the last element, the original loop-based search method requires 1742 comparisons, while binary search algorithm requires only 10 comparisons. Signed-off-by: ChenXiaoSong --- fs/smb/client/smb2maperror.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/fs/smb/client/smb2maperror.c b/fs/smb/client/smb2maperror.c index 1bd4196386dd..df8db12ff7a9 100644 --- a/fs/smb/client/smb2maperror.c +++ b/fs/smb/client/smb2maperror.c @@ -2437,9 +2437,9 @@ int map_smb2_to_linux_error(char *buf, bool log_err) { struct smb2_hdr *shdr =3D (struct smb2_hdr *)buf; - unsigned int i; int rc =3D -EIO; __le32 smb2err =3D shdr->Status; + struct status_to_posix_error *err_map, key; =20 if (smb2err =3D=3D 0) { trace_smb3_cmd_done(le32_to_cpu(shdr->Id.SyncId.TreeId), @@ -2453,17 +2453,21 @@ map_smb2_to_linux_error(char *buf, bool log_err) (smb2err !=3D STATUS_END_OF_FILE)) || (cifsFYI & CIFS_RC); =20 - for (i =3D 0; i < sizeof(smb2_error_map_table) / - sizeof(struct status_to_posix_error); i++) { - if (smb2_error_map_table[i].smb2_status =3D=3D smb2err) { - if (log_err) - pr_notice("Status code returned 0x%08x %s\n", smb2err, - smb2_error_map_table[i].status_string); - rc =3D smb2_error_map_table[i].posix_error; - break; - } - } + key =3D (struct status_to_posix_error) { + .smb2_status =3D smb2err, + }; + err_map =3D bsearch(&key, smb2_error_map_table, err_map_num, + sizeof(struct status_to_posix_error), + cmp_smb2_status); + if (!err_map) + goto out; + + rc =3D err_map->posix_error; + if (log_err) + pr_notice("Status code returned 0x%08x %s\n", smb2err, + err_map->status_string); =20 +out: /* on error mapping not found - return EIO */ =20 cifs_dbg(FYI, "Mapping SMB2 status code 0x%08x to POSIX err %d\n", --=20 2.43.0 From nobody Fri Dec 19 13:32:01 2025 Received: from out-171.mta0.migadu.com (out-171.mta0.migadu.com [91.218.175.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6434A26FDAC for ; Sat, 6 Dec 2025 15:19:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034399; cv=none; b=iGSStRhoH6DoWGdl6N//5tUUIeaYQzsoYqbI/5NnhNTYN7QTb79J+yNj+3oRAp5bm3qthE21SOImi9ve84u0aQHUme1UY6bMysalGSTtRAHkAmqLHI2HmVirNdBAy9wM16LSG8uQSlVwxS2pKxftMckhO/ipmI/xbYX1oGfky28= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034399; c=relaxed/simple; bh=LTTsvVq7z/CGtsgUZatr6VcdmuapKBG4em3dsHA41CQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RTLbp5ghCzpCHxSp3JztyaorC/hASylK2Yo30K3221qgDbIWVvlff37rCYcSkB0Z4Hzuey563lBIQdgr1qAzZGUDaP090seJPwqBVENuHua/pB93WoOTGLgSUqFJxGQsXkTjd5VJZNgYaX35pS6ZCUfEu16HzWwyfhIcotKbZwM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=jrTmUX0q; arc=none smtp.client-ip=91.218.175.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="jrTmUX0q" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1765034395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mEYrHLMp9QvQcSNlYsklyfYv5l60SwPNXhW4ZMGC2jQ=; b=jrTmUX0qadBHY1Qko5TQfI+KrHTEovkG/7Dc3Kj/+bCDk460VWc8pgaoAIEr16KuPH9Jwq DMiPnElu/8ZI9mTQsUb3GXPzY0jTvXUfHA3JjxsOpZFMZZFg6F+kTteo4Z1rcDng/NWWbS 9wGijh8wmplW84X0p8/r/a8U9D6PnqM= From: chenxiaosong.chenxiaosong@linux.dev To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org, linkinjeon@samba.org Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn, ChenXiaoSong Subject: [PATCH v4 07/10] smb/client: introduce smb2_get_err_map() Date: Sat, 6 Dec 2025 23:18:23 +0800 Message-ID: <20251206151826.2932970-8-chenxiaosong.chenxiaosong@linux.dev> In-Reply-To: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> References: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: ChenXiaoSong We may need to get struct status_to_posix_error information in other files in the future. So we move struct status_to_posix_error to smb2glob.h, and introduce new global function smb2_get_err_map(). Additionally, delete unused forward declaration `struct statfs` in smb2proto.h. Signed-off-by: ChenXiaoSong --- fs/smb/client/smb2glob.h | 6 ++++++ fs/smb/client/smb2maperror.c | 28 +++++++++++++++------------- fs/smb/client/smb2proto.h | 3 ++- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/fs/smb/client/smb2glob.h b/fs/smb/client/smb2glob.h index e56e4d402f13..fe6a5c7f01c4 100644 --- a/fs/smb/client/smb2glob.h +++ b/fs/smb/client/smb2glob.h @@ -13,6 +13,12 @@ #ifndef _SMB2_GLOB_H #define _SMB2_GLOB_H =20 +struct status_to_posix_error { + __le32 smb2_status; + int posix_error; + char *status_string; +}; + /* ***************************************************************** * Constants go here diff --git a/fs/smb/client/smb2maperror.c b/fs/smb/client/smb2maperror.c index df8db12ff7a9..0d46fa98952c 100644 --- a/fs/smb/client/smb2maperror.c +++ b/fs/smb/client/smb2maperror.c @@ -17,12 +17,6 @@ #include "smb2glob.h" #include "trace.h" =20 -struct status_to_posix_error { - __le32 smb2_status; - int posix_error; - char *status_string; -}; - static struct status_to_posix_error smb2_error_map_table[] =3D { {STATUS_WAIT_1, -EIO, "STATUS_WAIT_1"}, {STATUS_WAIT_2, -EIO, "STATUS_WAIT_2"}, @@ -2433,13 +2427,26 @@ static int cmp_smb2_status(const void *_a, const vo= id *_b) return 0; } =20 +struct status_to_posix_error *smb2_get_err_map(__le32 smb2_status) +{ + struct status_to_posix_error *err_map, key; + + key =3D (struct status_to_posix_error) { + .smb2_status =3D smb2_status, + }; + err_map =3D bsearch(&key, smb2_error_map_table, err_map_num, + sizeof(struct status_to_posix_error), + cmp_smb2_status); + return err_map; +} + int map_smb2_to_linux_error(char *buf, bool log_err) { struct smb2_hdr *shdr =3D (struct smb2_hdr *)buf; int rc =3D -EIO; __le32 smb2err =3D shdr->Status; - struct status_to_posix_error *err_map, key; + struct status_to_posix_error *err_map; =20 if (smb2err =3D=3D 0) { trace_smb3_cmd_done(le32_to_cpu(shdr->Id.SyncId.TreeId), @@ -2453,12 +2460,7 @@ map_smb2_to_linux_error(char *buf, bool log_err) (smb2err !=3D STATUS_END_OF_FILE)) || (cifsFYI & CIFS_RC); =20 - key =3D (struct status_to_posix_error) { - .smb2_status =3D smb2err, - }; - err_map =3D bsearch(&key, smb2_error_map_table, err_map_num, - sizeof(struct status_to_posix_error), - cmp_smb2_status); + err_map =3D smb2_get_err_map(smb2err); if (!err_map) goto out; =20 diff --git a/fs/smb/client/smb2proto.h b/fs/smb/client/smb2proto.h index c988f6b37a1b..224840e3a00d 100644 --- a/fs/smb/client/smb2proto.h +++ b/fs/smb/client/smb2proto.h @@ -12,8 +12,8 @@ #include #include =20 -struct statfs; struct smb_rqst; +struct status_to_posix_error; =20 /* ***************************************************************** @@ -21,6 +21,7 @@ struct smb_rqst; ***************************************************************** */ extern int map_smb2_to_linux_error(char *buf, bool log_err); +extern struct status_to_posix_error *smb2_get_err_map(__le32 smb2_status); extern void smb2_init_maperror(void); extern int smb2_check_message(char *buf, unsigned int length, struct TCP_Server_Info *server); --=20 2.43.0 From nobody Fri Dec 19 13:32:01 2025 Received: from out-173.mta0.migadu.com (out-173.mta0.migadu.com [91.218.175.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DE7162D0C92 for ; Sat, 6 Dec 2025 15:20:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034402; cv=none; b=I8ZHmeRK05jYFXZqzIIEDduHX79eAX7n25XbNhUk1oVbp/Z/n3uVJLH3zmcy7Ld5VhX6xSigZmh2kl2m28D7alb0ZyKdOqomVY+RxC61YO469aqRX8HGzQ9S4gukZcNUQGsjNMFh8BR0lBHI5U/O7o5NsFQT5OzwE0v8qdGdLtk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034402; c=relaxed/simple; bh=ItznE9xO9nE+ynYfhpI9VzpnAVK16BiNAzqrCTv3Ju0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=c3sACprEV8T3E9RmAbeyYDLGqiddYeTz7ye92CIioJtOn+2LdGmMfC5kvPPtIiWGjO0BQee55N8TVt65RdCSr0Yn10Vk3l8mCG+s539SDu3Mst5pDH5rARXAPQKw4fGPnDq7+n4YmgbHTB4q5cbwKgPzmovwJeCTjwX1/ap4cC0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=JVRbMz5/; arc=none smtp.client-ip=91.218.175.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="JVRbMz5/" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1765034398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wd88q46PpGK00oQptPYJ58tyZw7mx6W7G+ZzZQ0l7ZQ=; b=JVRbMz5/VeV8JD0bGXNImIr8tbeGU2m7fe9URUYUVbmwJ1aXNTZoHgHzdEg2EhwGyjq6gj 1iGCkqY9XLVsfZ1Tm0oO4HQs8dilzBv6ykB3De4cUmL1Jem5ceGZGOwida7Q+0Yl9lGYjk LlovFRzCD36U1ji3ljxW+UAH3LuMw/E= From: chenxiaosong.chenxiaosong@linux.dev To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org, linkinjeon@samba.org Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn, ChenXiaoSong Subject: [PATCH v4 08/10] smb/client: introduce smb2maperror KUnit tests Date: Sat, 6 Dec 2025 23:18:24 +0800 Message-ID: <20251206151826.2932970-9-chenxiaosong.chenxiaosong@linux.dev> In-Reply-To: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> References: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: ChenXiaoSong The KUnit tests are executed when cifs.ko is loaded. Just like fs/ext4/mballoc.c includes fs/ext4/mballoc-test.c. smb2maperror.c also includes smb2maperror_test.c, allowing KUnit tests to access any functions and variables in smb2maperror.c. The maperror_test_check_sort() checks whether the array is properly sorted. The maperror_test_check_search() checks whether the expected element can be correctly searched for in the smb2_error_map_table array. Signed-off-by: ChenXiaoSong --- fs/smb/Kconfig | 17 ++++++++ fs/smb/client/smb2maperror.c | 4 ++ fs/smb/client/smb2maperror_test.c | 71 +++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 fs/smb/client/smb2maperror_test.c diff --git a/fs/smb/Kconfig b/fs/smb/Kconfig index ef425789fa6a..85f7ad5fbc5e 100644 --- a/fs/smb/Kconfig +++ b/fs/smb/Kconfig @@ -9,3 +9,20 @@ config SMBFS tristate default y if CIFS=3Dy || SMB_SERVER=3Dy default m if CIFS=3Dm || SMB_SERVER=3Dm + +config SMB_KUNIT_TESTS + tristate "KUnit tests for SMB" if !KUNIT_ALL_TESTS + depends on SMBFS && KUNIT + default KUNIT_ALL_TESTS + help + This builds the SMB KUnit tests. + + KUnit tests run during boot and output the results to the debug log + in TAP format (https://testanything.org/). Only useful for kernel devs + running KUnit test harness and are not for inclusion into a production + build. + + For more information on KUnit and unit tests in general please refer + to the KUnit documentation in Documentation/dev-tools/kunit/. + + If unsure, say N. diff --git a/fs/smb/client/smb2maperror.c b/fs/smb/client/smb2maperror.c index 0d46fa98952c..dc2edeafc93b 100644 --- a/fs/smb/client/smb2maperror.c +++ b/fs/smb/client/smb2maperror.c @@ -2490,3 +2490,7 @@ void smb2_init_maperror(void) sizeof(struct status_to_posix_error), cmp_smb2_status, NULL); } + +#if IS_ENABLED(CONFIG_SMB_KUNIT_TESTS) +#include "smb2maperror_test.c" +#endif /* CONFIG_SMB_KUNIT_TESTS */ diff --git a/fs/smb/client/smb2maperror_test.c b/fs/smb/client/smb2maperror= _test.c new file mode 100644 index 000000000000..b807a860ca59 --- /dev/null +++ b/fs/smb/client/smb2maperror_test.c @@ -0,0 +1,71 @@ +// SPDX-License-Identifier: LGPL-2.1 +/* + * + * KUnit tests of SMB2 maperror + * + * Copyright (C) 2025 KylinSoft Co., Ltd. All rights reserved. + * Author(s): ChenXiaoSong + * + */ + +#include + +static void maperror_test_check_sort(struct kunit *test) +{ + bool is_sorted =3D true; + unsigned int i; + + for (i =3D 1; i < err_map_num; i++) { + if (smb2_error_map_table[i].smb2_status >=3D + smb2_error_map_table[i - 1].smb2_status) + continue; + + pr_err("smb2_error_map_table array order is incorrect\n"); + is_sorted =3D false; + break; + } + + KUNIT_EXPECT_EQ(test, true, is_sorted); +} + +static void +test_cmp_map(struct kunit *test, struct status_to_posix_error *expect) +{ + struct status_to_posix_error *result; + + result =3D smb2_get_err_map(expect->smb2_status); + KUNIT_EXPECT_PTR_NE(test, NULL, result); + KUNIT_EXPECT_EQ(test, expect->smb2_status, result->smb2_status); + KUNIT_EXPECT_EQ(test, expect->posix_error, result->posix_error); + KUNIT_EXPECT_STREQ(test, expect->status_string, result->status_string); +} + +static void maperror_test_check_search(struct kunit *test) +{ + unsigned int i; + struct status_to_posix_error expect; + + for (i =3D 0; i < err_map_num; i++) { + expect =3D smb2_error_map_table[i]; + test_cmp_map(test, &expect); + } +} + +/* + * Before running these test cases, the smb2_init_maperror() + * function is called first. + */ +static struct kunit_case maperror_test_cases[] =3D { + KUNIT_CASE(maperror_test_check_sort), + KUNIT_CASE(maperror_test_check_search), + {} +}; + +static struct kunit_suite maperror_suite =3D { + .name =3D "smb2_maperror", + .test_cases =3D maperror_test_cases, +}; + +kunit_test_suite(maperror_suite); + +MODULE_LICENSE("GPL"); --=20 2.43.0 From nobody Fri Dec 19 13:32:01 2025 Received: from out-186.mta0.migadu.com (out-186.mta0.migadu.com [91.218.175.186]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4DD4426F2B8 for ; Sat, 6 Dec 2025 15:20:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.186 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034406; cv=none; b=W9om4EIVEld2BYXwCwfKFVwvEqbiZUgfSdEV+cSEs9b2u6wWpItxuE2Mk7E7SDI9EfM3pPl/lMMUdwxvsRoELCv2LTKK3YFlIS5MKIAZJqFRcETNFutqvPz0hIyCnOyIbLhUQAmthR9KC83w/0myMkq3AAIZo/5+o/lD7Zo/mZ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034406; c=relaxed/simple; bh=E1YExuk82a9Q4OvIwYFDaG/xXMWBAAcBjW7rneNPsb0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Nlm5WxTNhr6XPMd42dPNZvJ1b9jantz3mI9sr9fza1U8GsLHwC34nv+IGVDitVhFKFhvwHMd5vEnnSTSyv+5e7bugTe+uxEfNDF3tg3JwQsU6n5Zjn5QR98uXCKGutmAhxOzvGbk+7MlprsPZFtWLL+UiJjRDGIfafR6nvUqndA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=PGSh/XIa; arc=none smtp.client-ip=91.218.175.186 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="PGSh/XIa" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1765034402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zav3wgE+OQtF7H4Xjem2OgD1ss6KrR9JsCNQm3ywnu4=; b=PGSh/XIarCu6xj3ls6zor93GH+w0m/tfeFLmVa/Hbhq5e0ZV7WNDE+EBfY85ckX9Pr3jmj bqhHfMbRVKCz/8RH7oeGC4LhNa6Kmex/gTlAy6tAu6kbMYd7cHOaBH3jy0IzfpDCTg/XJ4 QcgsprFMz6AZZANtF0EyBuSFI0N52X0= From: chenxiaosong.chenxiaosong@linux.dev To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org, linkinjeon@samba.org Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn, ChenXiaoSong Subject: [PATCH v4 09/10] smb/client: update some SMB2 status strings Date: Sat, 6 Dec 2025 23:18:25 +0800 Message-ID: <20251206151826.2932970-10-chenxiaosong.chenxiaosong@linux.dev> In-Reply-To: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> References: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: ChenXiaoSong The smb2maperror KUnit tests reported the following errors: KTAP version 1 1..1 KTAP version 1 # Subtest: smb2_maperror # module: cifs 1..2 ok 1 maperror_test_check_sort # maperror_test_check_search: EXPECTATION FAILED at fs/smb/client/smb= 2maperror_test.c:40 Expected expect->status_string =3D=3D result->status_string, but expect->status_string =3D=3D "STATUS_ABANDONED_WAIT_0" result->status_string =3D=3D "STATUS_ABANDONED" # maperror_test_check_search: EXPECTATION FAILED at fs/smb/client/smb= 2maperror_test.c:40 Expected expect->status_string =3D=3D result->status_string, but expect->status_string =3D=3D "STATUS_FWP_TOO_MANY_CALLOUTS" result->status_string =3D=3D "STATUS_FWP_TOO_MANY_BOOTTIME_FILTER= S" not ok 2 maperror_test_check_search # smb2_maperror: pass:1 fail:1 skip:0 total:2 # Totals: pass:1 fail:1 skip:0 total:2 not ok 1 smb2_maperror These status codes have duplicate values, so update the status strings to make the log messages more explicit. Signed-off-by: ChenXiaoSong --- fs/smb/client/smb2maperror.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/fs/smb/client/smb2maperror.c b/fs/smb/client/smb2maperror.c index dc2edeafc93b..e54b5871ecc9 100644 --- a/fs/smb/client/smb2maperror.c +++ b/fs/smb/client/smb2maperror.c @@ -22,8 +22,9 @@ static struct status_to_posix_error smb2_error_map_table[= ] =3D { {STATUS_WAIT_2, -EIO, "STATUS_WAIT_2"}, {STATUS_WAIT_3, -EIO, "STATUS_WAIT_3"}, {STATUS_WAIT_63, -EIO, "STATUS_WAIT_63"}, - {STATUS_ABANDONED, -EIO, "STATUS_ABANDONED"}, - {STATUS_ABANDONED_WAIT_0, -EIO, "STATUS_ABANDONED_WAIT_0"}, + {STATUS_ABANDONED, -EIO, "STATUS_ABANDONED or STATUS_ABANDONED_WAIT_0"}, + {STATUS_ABANDONED_WAIT_0, -EIO, + "STATUS_ABANDONED or STATUS_ABANDONED_WAIT_0"}, {STATUS_ABANDONED_WAIT_63, -EIO, "STATUS_ABANDONED_WAIT_63"}, {STATUS_USER_APC, -EIO, "STATUS_USER_APC"}, {STATUS_KERNEL_APC, -EIO, "STATUS_KERNEL_APC"}, @@ -2292,8 +2293,9 @@ static struct status_to_posix_error smb2_error_map_ta= ble[] =3D { {STATUS_FWP_LIFETIME_MISMATCH, -EIO, "STATUS_FWP_LIFETIME_MISMATCH"}, {STATUS_FWP_BUILTIN_OBJECT, -EIO, "STATUS_FWP_BUILTIN_OBJECT"}, {STATUS_FWP_TOO_MANY_BOOTTIME_FILTERS, -EIO, - "STATUS_FWP_TOO_MANY_BOOTTIME_FILTERS"}, - {STATUS_FWP_TOO_MANY_CALLOUTS, -EIO, "STATUS_FWP_TOO_MANY_CALLOUTS"}, + "STATUS_FWP_TOO_MANY_BOOTTIME_FILTERS or STATUS_FWP_TOO_MANY_CALLOUTS"}, + {STATUS_FWP_TOO_MANY_CALLOUTS, -EIO, + "STATUS_FWP_TOO_MANY_BOOTTIME_FILTERS or STATUS_FWP_TOO_MANY_CALLOUTS"}, {STATUS_FWP_NOTIFICATION_DROPPED, -EIO, "STATUS_FWP_NOTIFICATION_DROPPED"}, {STATUS_FWP_TRAFFIC_MISMATCH, -EIO, "STATUS_FWP_TRAFFIC_MISMATCH"}, --=20 2.43.0 From nobody Fri Dec 19 13:32:01 2025 Received: from out-177.mta0.migadu.com (out-177.mta0.migadu.com [91.218.175.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF6DF21C16A for ; Sat, 6 Dec 2025 15:20:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034409; cv=none; b=Rh55xhSj9yajy0XrbU32nNZzRI9HihRaasVFQ1eEj8f/57bFgBWEWGYUCqH7tQRxQBniVOq8GCdZ4IXM13zVCXJyxg3gyhXe/gHHbIRDUS8hLQ8V1+0l3IpAHmAECCvfQkrblVdqTRJ+rZ2KnQxA2yyJlW3TZvsWKSDU283ZRz8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765034409; c=relaxed/simple; bh=j3TQkQqNjc21JofRmx5Cs1kYMv81xgaBLuCylqL/OV8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bRMUnwOCvX/quk3Wqcjh08GKG6BFL2z/VkJvIk/stkztHAfnG0iGJBKOxEDPvSpFcpOR8fm1aWSAp6s6Q8lOozSVg3utjyARsD1c0eV/+4QX/44eRJ0DrauV6sPY726n9YuFTPJ3gVrIbp/EEBJRS10LxkceERBJqu+qLC5f+Dk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=NdirdaEf; arc=none smtp.client-ip=91.218.175.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="NdirdaEf" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1765034405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LhTKXZUsKs6yApgm9M0oyCa/GcapnLfnpclZk/b8UoI=; b=NdirdaEf9vUZ4EOMpIn2wYO9jQRKeE+l+r+3mwfVhPHtlTfSQ40SX6YseBOWZ4cFfauRXc iyty6/0VT/1bMN2yPvc/c7u/NydUfsxWtZks2bJQb9fHnMu3O6GEVT9nd/WhKJNm1uVhef WWyWnoDg8NU1lDgKeunpNLAoGqYasS0= From: chenxiaosong.chenxiaosong@linux.dev To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org, linkinjeon@samba.org Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org, liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn, ChenXiaoSong Subject: [PATCH v4 10/10] smb/server: rename include guard in smb_common.h Date: Sat, 6 Dec 2025 23:18:26 +0800 Message-ID: <20251206151826.2932970-11-chenxiaosong.chenxiaosong@linux.dev> In-Reply-To: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> References: <20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" From: ChenXiaoSong Make the include guard more descriptive to avoid conflicts with include guards that may be used in the future. Signed-off-by: ChenXiaoSong --- fs/smb/server/smb_common.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/smb/server/smb_common.h b/fs/smb/server/smb_common.h index f47ce4a6719c..302c82480799 100644 --- a/fs/smb/server/smb_common.h +++ b/fs/smb/server/smb_common.h @@ -3,8 +3,8 @@ * Copyright (C) 2018 Samsung Electronics Co., Ltd. */ =20 -#ifndef __SMB_COMMON_H__ -#define __SMB_COMMON_H__ +#ifndef __SMB_SERVER_COMMON_H__ +#define __SMB_SERVER_COMMON_H__ =20 #include =20 @@ -196,4 +196,4 @@ unsigned int ksmbd_server_side_copy_max_chunk_size(void= ); unsigned int ksmbd_server_side_copy_max_total_size(void); bool is_asterisk(char *p); __le32 smb_map_generic_desired_access(__le32 daccess); -#endif /* __SMB_COMMON_H__ */ +#endif /* __SMB_SERVER_COMMON_H__ */ --=20 2.43.0