History

sunrpc: mark all struct rpc_procinfo instances as const

struct rpc_procinfo contains function pointers, and marking it as constant avoids it being able to be used as an attach vector for code injections.

Christoph Hellwig committed 9 years ago

Commit 511e9361 parent 9ae7d8f16 files · +31 −30Browse files

Showing the changes to include/linux (2 of 16 files). Show all

Unified · Split

2 files
  1. include/linux/sunrpc/clnt.h +2 −2
  2. include/linux/sunrpc/sched.h +1 −1
include/linux/sunrpc/clnt.h+2−2
@@ -39,7 +39,7 @@ struct rpc_clnt { · 38 unmodified lines
39 struct list_head cl_tasks; /* List of tasks */39 struct list_head cl_tasks; /* List of tasks */
40 spinlock_t cl_lock; /* spinlock */40 spinlock_t cl_lock; /* spinlock */
41 struct rpc_xprt __rcu * cl_xprt; /* transport */41 struct rpc_xprt __rcu * cl_xprt; /* transport */
42 struct rpc_procinfo * cl_procinfo; /* procedure info */42 const struct rpc_procinfo *cl_procinfo; /* procedure info */
43 u32 cl_prog, /* RPC program number */43 u32 cl_prog, /* RPC program number */
44 cl_vers, /* RPC version number */44 cl_vers, /* RPC version number */
45 cl_maxproc; /* max procedure number */45 cl_maxproc; /* max procedure number */
@@ -87,7 +87,7 @@ struct rpc_program { · 41 unmodified lines
87struct rpc_version {87struct rpc_version {
88 u32 number; /* version number */88 u32 number; /* version number */
89 unsigned int nrprocs; /* number of procs */89 unsigned int nrprocs; /* number of procs */
90 struct rpc_procinfo * procs; /* procedure array */90 const struct rpc_procinfo *procs; /* procedure array */
91 unsigned int *counts; /* call counts */91 unsigned int *counts; /* call counts */
92};92};
93 93
include/linux/sunrpc/sched.h+1−1
@@ -22,7 +22,7 @@ · 21 unmodified lines
22 */22 */
23struct rpc_procinfo;23struct rpc_procinfo;
24struct rpc_message {24struct rpc_message {
25 struct rpc_procinfo * rpc_proc; /* Procedure information */25 const struct rpc_procinfo *rpc_proc; /* Procedure information */
26 void * rpc_argp; /* Arguments */26 void * rpc_argp; /* Arguments */
27 void * rpc_resp; /* Result */27 void * rpc_resp; /* Result */
28 struct rpc_cred * rpc_cred; /* Credentials */28 struct rpc_cred * rpc_cred; /* Credentials */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t