ath79: allow use GPIO17 as regular gpio on GL-AR300M devices
[openwrt/staging/dedeckeh.git] / package / kernel / ksmbd / patches / 02-ipc-reserved-memory.patch
1 From 41dbda16a0902798e732abc6599de256b9dc3b27 Mon Sep 17 00:00:00 2001
2 From: Namjae Jeon <linkinjeon@kernel.org>
3 Date: Thu, 6 Jan 2022 10:30:31 +0900
4 Subject: ksmbd: add reserved room in ipc request/response
5
6 Whenever new parameter is added to smb configuration, It is possible
7 to break the execution of the IPC daemon by mismatch size of
8 request/response. This patch tries to reserve space in ipc request/response
9 in advance to prevent that.
10
11 Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
12 Signed-off-by: Steve French <stfrench@microsoft.com>
13 ---
14 fs/ksmbd/ksmbd_netlink.h | 11 ++++++++++-
15 1 file changed, 10 insertions(+), 1 deletion(-)
16
17 --- a/ksmbd_netlink.h
18 +++ b/ksmbd_netlink.h
19 @@ -103,6 +103,7 @@ struct ksmbd_startup_request {
20 * we set the SPARSE_FILES bit (0x40).
21 */
22 __u32 sub_auth[3]; /* Subauth value for Security ID */
23 + __u32 reserved[128]; /* Reserved room */
24 __u32 ifc_list_sz; /* interfaces list size */
25 __s8 ____payload[];
26 };
27 @@ -113,7 +114,7 @@ struct ksmbd_startup_request {
28 * IPC request to shutdown ksmbd server.
29 */
30 struct ksmbd_shutdown_request {
31 - __s32 reserved;
32 + __s32 reserved[16];
33 };
34
35 /*
36 @@ -122,6 +123,7 @@ struct ksmbd_shutdown_request {
37 struct ksmbd_login_request {
38 __u32 handle;
39 __s8 account[KSMBD_REQ_MAX_ACCOUNT_NAME_SZ]; /* user account name */
40 + __u32 reserved[16]; /* Reserved room */
41 };
42
43 /*
44 @@ -135,6 +137,7 @@ struct ksmbd_login_response {
45 __u16 status;
46 __u16 hash_sz; /* hash size */
47 __s8 hash[KSMBD_REQ_MAX_HASH_SZ]; /* password hash */
48 + __u32 reserved[16]; /* Reserved room */
49 };
50
51 /*
52 @@ -143,6 +146,7 @@ struct ksmbd_login_response {
53 struct ksmbd_share_config_request {
54 __u32 handle;
55 __s8 share_name[KSMBD_REQ_MAX_SHARE_NAME]; /* share name */
56 + __u32 reserved[16]; /* Reserved room */
57 };
58
59 /*
60 @@ -157,6 +161,7 @@ struct ksmbd_share_config_response {
61 __u16 force_directory_mode;
62 __u16 force_uid;
63 __u16 force_gid;
64 + __u32 reserved[128]; /* Reserved room */
65 __u32 veto_list_sz;
66 __s8 ____payload[];
67 };
68 @@ -187,6 +192,7 @@ struct ksmbd_tree_connect_request {
69 __s8 account[KSMBD_REQ_MAX_ACCOUNT_NAME_SZ];
70 __s8 share[KSMBD_REQ_MAX_SHARE_NAME];
71 __s8 peer_addr[64];
72 + __u32 reserved[16]; /* Reserved room */
73 };
74
75 /*
76 @@ -196,6 +202,7 @@ struct ksmbd_tree_connect_response {
77 __u32 handle;
78 __u16 status;
79 __u16 connection_flags;
80 + __u32 reserved[16]; /* Reserved room */
81 };
82
83 /*
84 @@ -204,6 +211,7 @@ struct ksmbd_tree_connect_response {
85 struct ksmbd_tree_disconnect_request {
86 __u64 session_id; /* session id */
87 __u64 connect_id; /* tree connection id */
88 + __u32 reserved[16]; /* Reserved room */
89 };
90
91 /*
92 @@ -212,6 +220,7 @@ struct ksmbd_tree_disconnect_request {
93 struct ksmbd_logout_request {
94 __s8 account[KSMBD_REQ_MAX_ACCOUNT_NAME_SZ]; /* user account name */
95 __u32 account_flags;
96 + __u32 reserved[16]; /* Reserved room */
97 };
98
99 /*