@@ -88,7 +88,7 @@ static DEFINE_SPINLOCK(sysctl_lock);
8888
8989static void drop_sysctl_table (struct ctl_table_header * header );
9090static int sysctl_follow_link (struct ctl_table_header * * phead ,
91- struct ctl_table * * pentry );
91+ const struct ctl_table * * pentry );
9292static int insert_links (struct ctl_table_header * head );
9393static void put_links (struct ctl_table_header * header );
9494
@@ -110,11 +110,11 @@ static int namecmp(const char *name1, int len1, const char *name2, int len2)
110110}
111111
112112/* Called under sysctl_lock */
113- static struct ctl_table * find_entry (struct ctl_table_header * * phead ,
113+ static const struct ctl_table * find_entry (struct ctl_table_header * * phead ,
114114 struct ctl_dir * dir , const char * name , int namelen )
115115{
116116 struct ctl_table_header * head ;
117- struct ctl_table * entry ;
117+ const struct ctl_table * entry ;
118118 struct rb_node * node = dir -> root .rb_node ;
119119
120120 while (node )
@@ -141,7 +141,7 @@ static struct ctl_table *find_entry(struct ctl_table_header **phead,
141141 return NULL ;
142142}
143143
144- static int insert_entry (struct ctl_table_header * head , struct ctl_table * entry )
144+ static int insert_entry (struct ctl_table_header * head , const struct ctl_table * entry )
145145{
146146 struct rb_node * node = & head -> node [entry - head -> ctl_table ].node ;
147147 struct rb_node * * p = & head -> parent -> root .rb_node ;
@@ -151,7 +151,7 @@ static int insert_entry(struct ctl_table_header *head, struct ctl_table *entry)
151151
152152 while (* p ) {
153153 struct ctl_table_header * parent_head ;
154- struct ctl_table * parent_entry ;
154+ const struct ctl_table * parent_entry ;
155155 struct ctl_node * parent_node ;
156156 const char * parent_name ;
157157 int cmp ;
@@ -180,7 +180,7 @@ static int insert_entry(struct ctl_table_header *head, struct ctl_table *entry)
180180 return 0 ;
181181}
182182
183- static void erase_entry (struct ctl_table_header * head , struct ctl_table * entry )
183+ static void erase_entry (struct ctl_table_header * head , const struct ctl_table * entry )
184184{
185185 struct rb_node * node = & head -> node [entry - head -> ctl_table ].node ;
186186
@@ -189,7 +189,7 @@ static void erase_entry(struct ctl_table_header *head, struct ctl_table *entry)
189189
190190static void init_header (struct ctl_table_header * head ,
191191 struct ctl_table_root * root , struct ctl_table_set * set ,
192- struct ctl_node * node , struct ctl_table * table , size_t table_size )
192+ struct ctl_node * node , const struct ctl_table * table , size_t table_size )
193193{
194194 head -> ctl_table = table ;
195195 head -> ctl_table_size = table_size ;
@@ -204,7 +204,7 @@ static void init_header(struct ctl_table_header *head,
204204 head -> node = node ;
205205 INIT_HLIST_HEAD (& head -> inodes );
206206 if (node ) {
207- struct ctl_table * entry ;
207+ const struct ctl_table * entry ;
208208
209209 list_for_each_table_entry (entry , head ) {
210210 node -> header = head ;
@@ -217,15 +217,15 @@ static void init_header(struct ctl_table_header *head,
217217
218218static void erase_header (struct ctl_table_header * head )
219219{
220- struct ctl_table * entry ;
220+ const struct ctl_table * entry ;
221221
222222 list_for_each_table_entry (entry , head )
223223 erase_entry (head , entry );
224224}
225225
226226static int insert_header (struct ctl_dir * dir , struct ctl_table_header * header )
227227{
228- struct ctl_table * entry ;
228+ const struct ctl_table * entry ;
229229 struct ctl_table_header * dir_h = & dir -> header ;
230230 int err ;
231231
@@ -344,12 +344,12 @@ lookup_header_set(struct ctl_table_root *root)
344344 return set ;
345345}
346346
347- static struct ctl_table * lookup_entry (struct ctl_table_header * * phead ,
348- struct ctl_dir * dir ,
349- const char * name , int namelen )
347+ static const struct ctl_table * lookup_entry (struct ctl_table_header * * phead ,
348+ struct ctl_dir * dir ,
349+ const char * name , int namelen )
350350{
351351 struct ctl_table_header * head ;
352- struct ctl_table * entry ;
352+ const struct ctl_table * entry ;
353353
354354 spin_lock (& sysctl_lock );
355355 entry = find_entry (& head , dir , name , namelen );
@@ -374,10 +374,10 @@ static struct ctl_node *first_usable_entry(struct rb_node *node)
374374}
375375
376376static void first_entry (struct ctl_dir * dir ,
377- struct ctl_table_header * * phead , struct ctl_table * * pentry )
377+ struct ctl_table_header * * phead , const struct ctl_table * * pentry )
378378{
379379 struct ctl_table_header * head = NULL ;
380- struct ctl_table * entry = NULL ;
380+ const struct ctl_table * entry = NULL ;
381381 struct ctl_node * ctl_node ;
382382
383383 spin_lock (& sysctl_lock );
@@ -391,10 +391,10 @@ static void first_entry(struct ctl_dir *dir,
391391 * pentry = entry ;
392392}
393393
394- static void next_entry (struct ctl_table_header * * phead , struct ctl_table * * pentry )
394+ static void next_entry (struct ctl_table_header * * phead , const struct ctl_table * * pentry )
395395{
396396 struct ctl_table_header * head = * phead ;
397- struct ctl_table * entry = * pentry ;
397+ const struct ctl_table * entry = * pentry ;
398398 struct ctl_node * ctl_node = & head -> node [entry - head -> ctl_table ];
399399
400400 spin_lock (& sysctl_lock );
@@ -427,7 +427,7 @@ static int test_perm(int mode, int op)
427427 return - EACCES ;
428428}
429429
430- static int sysctl_perm (struct ctl_table_header * head , struct ctl_table * table , int op )
430+ static int sysctl_perm (struct ctl_table_header * head , const struct ctl_table * table , int op )
431431{
432432 struct ctl_table_root * root = head -> root ;
433433 int mode ;
@@ -441,7 +441,7 @@ static int sysctl_perm(struct ctl_table_header *head, struct ctl_table *table, i
441441}
442442
443443static struct inode * proc_sys_make_inode (struct super_block * sb ,
444- struct ctl_table_header * head , struct ctl_table * table )
444+ struct ctl_table_header * head , const struct ctl_table * table )
445445{
446446 struct ctl_table_root * root = head -> root ;
447447 struct inode * inode ;
@@ -512,7 +512,7 @@ static struct dentry *proc_sys_lookup(struct inode *dir, struct dentry *dentry,
512512 struct ctl_table_header * head = grab_header (dir );
513513 struct ctl_table_header * h = NULL ;
514514 const struct qstr * name = & dentry -> d_name ;
515- struct ctl_table * p ;
515+ const struct ctl_table * p ;
516516 struct inode * inode ;
517517 struct dentry * err = ERR_PTR (- ENOENT );
518518 struct ctl_dir * ctl_dir ;
@@ -550,7 +550,7 @@ static ssize_t proc_sys_call_handler(struct kiocb *iocb, struct iov_iter *iter,
550550{
551551 struct inode * inode = file_inode (iocb -> ki_filp );
552552 struct ctl_table_header * head = grab_header (inode );
553- struct ctl_table * table = PROC_I (inode )-> sysctl_entry ;
553+ const struct ctl_table * table = PROC_I (inode )-> sysctl_entry ;
554554 size_t count = iov_iter_count (iter );
555555 char * kbuf ;
556556 ssize_t error ;
@@ -624,7 +624,7 @@ static ssize_t proc_sys_write(struct kiocb *iocb, struct iov_iter *iter)
624624static int proc_sys_open (struct inode * inode , struct file * filp )
625625{
626626 struct ctl_table_header * head = grab_header (inode );
627- struct ctl_table * table = PROC_I (inode )-> sysctl_entry ;
627+ const struct ctl_table * table = PROC_I (inode )-> sysctl_entry ;
628628
629629 /* sysctl was unregistered */
630630 if (IS_ERR (head ))
@@ -642,7 +642,7 @@ static __poll_t proc_sys_poll(struct file *filp, poll_table *wait)
642642{
643643 struct inode * inode = file_inode (filp );
644644 struct ctl_table_header * head = grab_header (inode );
645- struct ctl_table * table = PROC_I (inode )-> sysctl_entry ;
645+ const struct ctl_table * table = PROC_I (inode )-> sysctl_entry ;
646646 __poll_t ret = DEFAULT_POLLMASK ;
647647 unsigned long event ;
648648
@@ -673,7 +673,7 @@ static __poll_t proc_sys_poll(struct file *filp, poll_table *wait)
673673static bool proc_sys_fill_cache (struct file * file ,
674674 struct dir_context * ctx ,
675675 struct ctl_table_header * head ,
676- struct ctl_table * table )
676+ const struct ctl_table * table )
677677{
678678 struct dentry * child , * dir = file -> f_path .dentry ;
679679 struct inode * inode ;
@@ -717,7 +717,7 @@ static bool proc_sys_fill_cache(struct file *file,
717717static bool proc_sys_link_fill_cache (struct file * file ,
718718 struct dir_context * ctx ,
719719 struct ctl_table_header * head ,
720- struct ctl_table * table )
720+ const struct ctl_table * table )
721721{
722722 bool ret = true;
723723
@@ -735,7 +735,7 @@ static bool proc_sys_link_fill_cache(struct file *file,
735735 return ret ;
736736}
737737
738- static int scan (struct ctl_table_header * head , struct ctl_table * table ,
738+ static int scan (struct ctl_table_header * head , const struct ctl_table * table ,
739739 unsigned long * pos , struct file * file ,
740740 struct dir_context * ctx )
741741{
@@ -759,7 +759,7 @@ static int proc_sys_readdir(struct file *file, struct dir_context *ctx)
759759{
760760 struct ctl_table_header * head = grab_header (file_inode (file ));
761761 struct ctl_table_header * h = NULL ;
762- struct ctl_table * entry ;
762+ const struct ctl_table * entry ;
763763 struct ctl_dir * ctl_dir ;
764764 unsigned long pos ;
765765
@@ -792,7 +792,7 @@ static int proc_sys_permission(struct mnt_idmap *idmap,
792792 * are _NOT_ writeable, capabilities or not.
793793 */
794794 struct ctl_table_header * head ;
795- struct ctl_table * table ;
795+ const struct ctl_table * table ;
796796 int error ;
797797
798798 /* Executable files are not allowed under /proc/sys/ */
@@ -836,7 +836,7 @@ static int proc_sys_getattr(struct mnt_idmap *idmap,
836836{
837837 struct inode * inode = d_inode (path -> dentry );
838838 struct ctl_table_header * head = grab_header (inode );
839- struct ctl_table * table = PROC_I (inode )-> sysctl_entry ;
839+ const struct ctl_table * table = PROC_I (inode )-> sysctl_entry ;
840840
841841 if (IS_ERR (head ))
842842 return PTR_ERR (head );
@@ -935,7 +935,7 @@ static struct ctl_dir *find_subdir(struct ctl_dir *dir,
935935 const char * name , int namelen )
936936{
937937 struct ctl_table_header * head ;
938- struct ctl_table * entry ;
938+ const struct ctl_table * entry ;
939939
940940 entry = find_entry (& head , dir , name , namelen );
941941 if (!entry )
@@ -1046,12 +1046,12 @@ static struct ctl_dir *xlate_dir(struct ctl_table_set *set, struct ctl_dir *dir)
10461046}
10471047
10481048static int sysctl_follow_link (struct ctl_table_header * * phead ,
1049- struct ctl_table * * pentry )
1049+ const struct ctl_table * * pentry )
10501050{
10511051 struct ctl_table_header * head ;
1052+ const struct ctl_table * entry ;
10521053 struct ctl_table_root * root ;
10531054 struct ctl_table_set * set ;
1054- struct ctl_table * entry ;
10551055 struct ctl_dir * dir ;
10561056 int ret ;
10571057
@@ -1078,7 +1078,7 @@ static int sysctl_follow_link(struct ctl_table_header **phead,
10781078 return ret ;
10791079}
10801080
1081- static int sysctl_err (const char * path , struct ctl_table * table , char * fmt , ...)
1081+ static int sysctl_err (const char * path , const struct ctl_table * table , char * fmt , ...)
10821082{
10831083 struct va_format vaf ;
10841084 va_list args ;
@@ -1094,7 +1094,7 @@ static int sysctl_err(const char *path, struct ctl_table *table, char *fmt, ...)
10941094 return - EINVAL ;
10951095}
10961096
1097- static int sysctl_check_table_array (const char * path , struct ctl_table * table )
1097+ static int sysctl_check_table_array (const char * path , const struct ctl_table * table )
10981098{
10991099 unsigned int extra ;
11001100 int err = 0 ;
@@ -1133,7 +1133,7 @@ static int sysctl_check_table_array(const char *path, struct ctl_table *table)
11331133
11341134static int sysctl_check_table (const char * path , struct ctl_table_header * header )
11351135{
1136- struct ctl_table * entry ;
1136+ const struct ctl_table * entry ;
11371137 int err = 0 ;
11381138 list_for_each_table_entry (entry , header ) {
11391139 if (!entry -> procname )
@@ -1169,8 +1169,9 @@ static int sysctl_check_table(const char *path, struct ctl_table_header *header)
11691169
11701170static struct ctl_table_header * new_links (struct ctl_dir * dir , struct ctl_table_header * head )
11711171{
1172- struct ctl_table * link_table , * entry , * link ;
1172+ struct ctl_table * link_table , * link ;
11731173 struct ctl_table_header * links ;
1174+ const struct ctl_table * entry ;
11741175 struct ctl_node * node ;
11751176 char * link_name ;
11761177 int name_bytes ;
@@ -1215,7 +1216,7 @@ static bool get_links(struct ctl_dir *dir,
12151216 struct ctl_table_root * link_root )
12161217{
12171218 struct ctl_table_header * tmp_head ;
1218- struct ctl_table * entry , * link ;
1219+ const struct ctl_table * entry , * link ;
12191220
12201221 if (header -> ctl_table_size == 0 ||
12211222 sysctl_is_perm_empty_ctl_header (header ))
@@ -1466,7 +1467,7 @@ static void put_links(struct ctl_table_header *header)
14661467 struct ctl_table_root * root = header -> root ;
14671468 struct ctl_dir * parent = header -> parent ;
14681469 struct ctl_dir * core_parent ;
1469- struct ctl_table * entry ;
1470+ const struct ctl_table * entry ;
14701471
14711472 if (header -> set == root_set )
14721473 return ;
@@ -1477,7 +1478,7 @@ static void put_links(struct ctl_table_header *header)
14771478
14781479 list_for_each_table_entry (entry , header ) {
14791480 struct ctl_table_header * link_head ;
1480- struct ctl_table * link ;
1481+ const struct ctl_table * link ;
14811482 const char * name = entry -> procname ;
14821483
14831484 link = find_entry (& link_head , core_parent , name , strlen (name ));
0 commit comments