Lines Matching full:write
107 * enum sysctl_writes_mode - supported sysctl write modes
109 * @SYSCTL_WRITES_LEGACY: each write syscall must fully contain the sysctl value
117 * sent to the write syscall. If dealing with strings respect the file
122 * These write modes control how current file position affects the behavior of
123 * updating sysctl values through the proc interface on each write.
147 static int _proc_do_string(char *data, int maxlen, int write, in _proc_do_string() argument
158 if (write) { in _proc_do_string()
246 * @write: %TRUE if this is a write to the sysctl file
260 int proc_dostring(struct ctl_table *table, int write, in proc_dostring() argument
263 if (write) in proc_dostring()
266 return _proc_do_string(table->data, table->maxlen, write, buffer, lenp, in proc_dostring()
430 int write, void *data) in do_proc_dobool_conv() argument
432 if (write) { in do_proc_dobool_conv()
445 int write, void *data) in do_proc_dointvec_conv() argument
447 if (write) { in do_proc_dointvec_conv()
472 int write, void *data) in do_proc_douintvec_conv() argument
474 if (write) { in do_proc_douintvec_conv()
488 int write, void *buffer, in __do_proc_dointvec() argument
491 int write, void *data), in __do_proc_dointvec()
498 if (!tbl_data || !table->maxlen || !*lenp || (*ppos && !write)) { in __do_proc_dointvec()
510 if (write) { in __do_proc_dointvec()
523 if (write) { in __do_proc_dointvec()
548 if (!write && !first && left && !err) in __do_proc_dointvec()
550 if (write && !err && left) in __do_proc_dointvec()
552 if (write && first) in __do_proc_dointvec()
560 static int do_proc_dointvec(struct ctl_table *table, int write, in do_proc_dointvec() argument
563 int write, void *data), in do_proc_dointvec()
566 return __do_proc_dointvec(table->data, table, write, in do_proc_dointvec()
576 int write, void *data), in do_proc_douintvec_w() argument
631 int write, void *data), in do_proc_douintvec_r() argument
659 int write, void *buffer, in __do_proc_douintvec() argument
663 int write, void *data), in __do_proc_douintvec()
668 if (!tbl_data || !table->maxlen || !*lenp || (*ppos && !write)) { in __do_proc_douintvec()
688 if (write) in __do_proc_douintvec()
694 int do_proc_douintvec(struct ctl_table *table, int write, in do_proc_douintvec() argument
698 int write, void *data), in do_proc_douintvec()
701 return __do_proc_douintvec(table->data, table, write, in do_proc_douintvec()
706 * proc_dobool - read/write a bool
708 * @write: %TRUE if this is a write to the sysctl file
718 int proc_dobool(struct ctl_table *table, int write, void *buffer, in proc_dobool() argument
721 return do_proc_dointvec(table, write, buffer, lenp, ppos, in proc_dobool()
728 * @write: %TRUE if this is a write to the sysctl file
738 int proc_dointvec(struct ctl_table *table, int write, void *buffer, in proc_dointvec() argument
741 return do_proc_dointvec(table, write, buffer, lenp, ppos, NULL, NULL); in proc_dointvec()
746 int write, void *buffer, size_t *lenp, loff_t *ppos) in proc_dointvec_minmax_warn_RT_change() argument
750 if (!IS_ENABLED(CONFIG_PREEMPT_RT) || !write) in proc_dointvec_minmax_warn_RT_change()
751 return proc_dointvec_minmax(table, write, buffer, lenp, ppos); in proc_dointvec_minmax_warn_RT_change()
754 ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos); in proc_dointvec_minmax_warn_RT_change()
768 * @write: %TRUE if this is a write to the sysctl file
778 int proc_douintvec(struct ctl_table *table, int write, void *buffer, in proc_douintvec() argument
781 return do_proc_douintvec(table, write, buffer, lenp, ppos, in proc_douintvec()
789 static int proc_taint(struct ctl_table *table, int write, in proc_taint() argument
796 if (write && !capable(CAP_SYS_ADMIN)) in proc_taint()
801 err = proc_doulongvec_minmax(&t, write, buffer, lenp, ppos); in proc_taint()
805 if (write) { in proc_taint()
844 int write, void *data) in do_proc_dointvec_minmax_conv() argument
852 int *ip = write ? &tmp : valp; in do_proc_dointvec_minmax_conv()
854 ret = do_proc_dointvec_conv(negp, lvalp, ip, write, data); in do_proc_dointvec_minmax_conv()
858 if (write) { in do_proc_dointvec_minmax_conv()
871 * @write: %TRUE if this is a write to the sysctl file
882 * Returns 0 on success or -EINVAL on write when the range check fails.
884 int proc_dointvec_minmax(struct ctl_table *table, int write, in proc_dointvec_minmax() argument
891 return do_proc_dointvec(table, write, buffer, lenp, ppos, in proc_dointvec_minmax()
911 int write, void *data) in do_proc_douintvec_minmax_conv() argument
916 /* write via temporary local uint for bounds-checking */ in do_proc_douintvec_minmax_conv()
917 unsigned int *up = write ? &tmp : valp; in do_proc_douintvec_minmax_conv()
919 ret = do_proc_douintvec_conv(lvalp, up, write, data); in do_proc_douintvec_minmax_conv()
923 if (write) { in do_proc_douintvec_minmax_conv()
937 * @write: %TRUE if this is a write to the sysctl file
951 * Returns 0 on success or -ERANGE on write when the range check fails.
953 int proc_douintvec_minmax(struct ctl_table *table, int write, in proc_douintvec_minmax() argument
960 return do_proc_douintvec(table, write, buffer, lenp, ppos, in proc_douintvec_minmax()
967 * @write: %TRUE if this is a write to the sysctl file
979 * Returns 0 on success or an error on write when the range check fails.
981 int proc_dou8vec_minmax(struct ctl_table *table, int write, in proc_dou8vec_minmax() argument
1013 res = do_proc_douintvec(&tmp, write, buffer, lenp, ppos, in proc_dou8vec_minmax()
1017 if (write) in proc_dou8vec_minmax()
1024 static int sysrq_sysctl_handler(struct ctl_table *table, int write, in sysrq_sysctl_handler() argument
1031 ret = __do_proc_dointvec(&tmp, table, write, buffer, in sysrq_sysctl_handler()
1033 if (ret || !write) in sysrq_sysctl_handler()
1036 if (write) in sysrq_sysctl_handler()
1044 int write, void *buffer, size_t *lenp, loff_t *ppos, in __do_proc_doulongvec_minmax() argument
1052 if (!data || !table->maxlen || !*lenp || (*ppos && !write)) { in __do_proc_doulongvec_minmax()
1063 if (write) { in __do_proc_doulongvec_minmax()
1075 if (write) { in __do_proc_doulongvec_minmax()
1104 if (!write && !first && left && !err) in __do_proc_doulongvec_minmax()
1106 if (write && !err) in __do_proc_doulongvec_minmax()
1108 if (write && first) in __do_proc_doulongvec_minmax()
1116 static int do_proc_doulongvec_minmax(struct ctl_table *table, int write, in do_proc_doulongvec_minmax() argument
1120 return __do_proc_doulongvec_minmax(table->data, table, write, in do_proc_doulongvec_minmax()
1127 * @write: %TRUE if this is a write to the sysctl file
1140 int proc_doulongvec_minmax(struct ctl_table *table, int write, in proc_doulongvec_minmax() argument
1143 return do_proc_doulongvec_minmax(table, write, buffer, lenp, ppos, 1l, 1l); in proc_doulongvec_minmax()
1149 * @write: %TRUE if this is a write to the sysctl file
1163 int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int write, in proc_doulongvec_ms_jiffies_minmax() argument
1166 return do_proc_doulongvec_minmax(table, write, buffer, in proc_doulongvec_ms_jiffies_minmax()
1173 int write, void *data) in do_proc_dointvec_jiffies_conv() argument
1175 if (write) { in do_proc_dointvec_jiffies_conv()
1199 int write, void *data) in do_proc_dointvec_userhz_jiffies_conv() argument
1201 if (write) { in do_proc_dointvec_userhz_jiffies_conv()
1222 int write, void *data) in do_proc_dointvec_ms_jiffies_conv() argument
1224 if (write) { in do_proc_dointvec_ms_jiffies_conv()
1246 int *valp, int write, void *data) in do_proc_dointvec_ms_jiffies_minmax_conv() argument
1254 int *ip = write ? &tmp : valp; in do_proc_dointvec_ms_jiffies_minmax_conv()
1256 ret = do_proc_dointvec_ms_jiffies_conv(negp, lvalp, ip, write, data); in do_proc_dointvec_ms_jiffies_minmax_conv()
1260 if (write) { in do_proc_dointvec_ms_jiffies_minmax_conv()
1272 * @write: %TRUE if this is a write to the sysctl file
1284 int proc_dointvec_jiffies(struct ctl_table *table, int write, in proc_dointvec_jiffies() argument
1287 return do_proc_dointvec(table,write,buffer,lenp,ppos, in proc_dointvec_jiffies()
1291 int proc_dointvec_ms_jiffies_minmax(struct ctl_table *table, int write, in proc_dointvec_ms_jiffies_minmax() argument
1298 return do_proc_dointvec(table, write, buffer, lenp, ppos, in proc_dointvec_ms_jiffies_minmax()
1305 * @write: %TRUE if this is a write to the sysctl file
1317 int proc_dointvec_userhz_jiffies(struct ctl_table *table, int write, in proc_dointvec_userhz_jiffies() argument
1320 return do_proc_dointvec(table, write, buffer, lenp, ppos, in proc_dointvec_userhz_jiffies()
1327 * @write: %TRUE if this is a write to the sysctl file
1340 int proc_dointvec_ms_jiffies(struct ctl_table *table, int write, void *buffer, in proc_dointvec_ms_jiffies() argument
1343 return do_proc_dointvec(table, write, buffer, lenp, ppos, in proc_dointvec_ms_jiffies()
1347 static int proc_do_cad_pid(struct ctl_table *table, int write, void *buffer, in proc_do_cad_pid() argument
1356 r = __do_proc_dointvec(&tmp, table, write, buffer, in proc_do_cad_pid()
1358 if (r || !write) in proc_do_cad_pid()
1370 * proc_do_large_bitmap - read/write from/to a large bitmap
1372 * @write: %TRUE if this is a write to the sysctl file
1386 int proc_do_large_bitmap(struct ctl_table *table, int write, in proc_do_large_bitmap() argument
1396 if (!bitmap || !bitmap_len || !left || (*ppos && !write)) { in proc_do_large_bitmap()
1401 if (write) { in proc_do_large_bitmap()
1502 if (write) { in proc_do_large_bitmap()
1518 int proc_dostring(struct ctl_table *table, int write, in proc_dostring() argument
1524 int proc_dobool(struct ctl_table *table, int write, in proc_dobool() argument
1530 int proc_dointvec(struct ctl_table *table, int write, in proc_dointvec() argument
1536 int proc_douintvec(struct ctl_table *table, int write, in proc_douintvec() argument
1542 int proc_dointvec_minmax(struct ctl_table *table, int write, in proc_dointvec_minmax() argument
1548 int proc_douintvec_minmax(struct ctl_table *table, int write, in proc_douintvec_minmax() argument
1554 int proc_dou8vec_minmax(struct ctl_table *table, int write, in proc_dou8vec_minmax() argument
1560 int proc_dointvec_jiffies(struct ctl_table *table, int write, in proc_dointvec_jiffies() argument
1566 int proc_dointvec_ms_jiffies_minmax(struct ctl_table *table, int write, in proc_dointvec_ms_jiffies_minmax() argument
1572 int proc_dointvec_userhz_jiffies(struct ctl_table *table, int write, in proc_dointvec_userhz_jiffies() argument
1578 int proc_dointvec_ms_jiffies(struct ctl_table *table, int write, in proc_dointvec_ms_jiffies() argument
1584 int proc_doulongvec_minmax(struct ctl_table *table, int write, in proc_doulongvec_minmax() argument
1590 int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int write, in proc_doulongvec_ms_jiffies_minmax() argument
1596 int proc_do_large_bitmap(struct ctl_table *table, int write, in proc_do_large_bitmap() argument
1605 int proc_do_static_key(struct ctl_table *table, int write, in proc_do_static_key() argument
1619 if (write && !capable(CAP_SYS_ADMIN)) in proc_do_static_key()
1624 ret = proc_dointvec_minmax(&tmp, write, buffer, lenp, ppos); in proc_do_static_key()
1625 if (write && !ret) { in proc_do_static_key()