Skip to content

Commit 051d469

Browse files
tititiou36smfrench
authored andcommitted
ksmbd: Constify struct ksmbd_transport_ops
'struct ksmbd_transport_ops' is not modified in these drivers. Constifying this structure moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig, as an example: Before: ====== text data bss dec hex filename 52184 2085 256 54525 d4fd fs/smb/server/transport_rdma.o After: ===== text data bss dec hex filename 52260 2021 256 54537 d509 fs/smb/server/transport_rdma.o Signed-off-by: Christophe JAILLET <[email protected]> Acked-by: Namjae Jeon <[email protected]> Signed-off-by: Steve French <[email protected]>
1 parent ac5399d commit 051d469

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

fs/smb/server/connection.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ struct ksmbd_transport_ops {
133133
};
134134

135135
struct ksmbd_transport {
136-
struct ksmbd_conn *conn;
137-
struct ksmbd_transport_ops *ops;
136+
struct ksmbd_conn *conn;
137+
const struct ksmbd_transport_ops *ops;
138138
};
139139

140140
#define KSMBD_TCP_RECV_TIMEOUT (7 * HZ)

fs/smb/server/transport_rdma.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ enum {
164164
SMB_DIRECT_MSG_DATA_TRANSFER
165165
};
166166

167-
static struct ksmbd_transport_ops ksmbd_smb_direct_transport_ops;
167+
static const struct ksmbd_transport_ops ksmbd_smb_direct_transport_ops;
168168

169169
struct smb_direct_send_ctx {
170170
struct list_head msg_list;
@@ -2292,7 +2292,7 @@ bool ksmbd_rdma_capable_netdev(struct net_device *netdev)
22922292
return rdma_capable;
22932293
}
22942294

2295-
static struct ksmbd_transport_ops ksmbd_smb_direct_transport_ops = {
2295+
static const struct ksmbd_transport_ops ksmbd_smb_direct_transport_ops = {
22962296
.prepare = smb_direct_prepare,
22972297
.disconnect = smb_direct_disconnect,
22982298
.shutdown = smb_direct_shutdown,

fs/smb/server/transport_tcp.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ struct tcp_transport {
3737
unsigned int nr_iov;
3838
};
3939

40-
static struct ksmbd_transport_ops ksmbd_tcp_transport_ops;
40+
static const struct ksmbd_transport_ops ksmbd_tcp_transport_ops;
4141

4242
static void tcp_stop_kthread(struct task_struct *kthread);
4343
static struct interface *alloc_iface(char *ifname);
@@ -649,7 +649,7 @@ int ksmbd_tcp_set_interfaces(char *ifc_list, int ifc_list_sz)
649649
return 0;
650650
}
651651

652-
static struct ksmbd_transport_ops ksmbd_tcp_transport_ops = {
652+
static const struct ksmbd_transport_ops ksmbd_tcp_transport_ops = {
653653
.read = ksmbd_tcp_read,
654654
.writev = ksmbd_tcp_writev,
655655
.disconnect = ksmbd_tcp_disconnect,

0 commit comments

Comments
 (0)