Lines Matching defs:k_ptr
361 * @k_ptr: pointer to kernel variable
362 * @u_ptr_op: execute this function before assigning to k_ptr
364 * Uses WRITE_ONCE to assign value to k_ptr. Executes u_ptr_op if
370 int proc_uint_u2k_conv_uop(const ulong *u_ptr, uint *k_ptr,
377 WRITE_ONCE(*k_ptr, u);
385 * @k_ptr: pointer to kernel variable
391 int proc_uint_k2u_conv(ulong *u_ptr, const uint *k_ptr)
393 uint val = READ_ONCE(*k_ptr);
402 * @k_ptr: pointer to kernel variable
405 * @k_ptr_range_check: Check range for k_ptr when %TRUE
410 * When direction is user to kernel, then the k_ptr is modified.
414 int proc_uint_conv(ulong *u_ptr, uint *k_ptr, int dir,
416 int (*user_to_kern)(const ulong *u_ptr, uint *k_ptr),
417 int (*kern_to_user)(ulong *u_ptr, const uint *k_ptr))
420 return kern_to_user(u_ptr, k_ptr);
436 WRITE_ONCE(*k_ptr, tmp_k);
438 return user_to_kern(u_ptr, k_ptr);
442 static int proc_uint_u2k_conv(const ulong *u_ptr, uint *k_ptr)
444 return proc_uint_u2k_conv_uop(u_ptr, k_ptr, NULL);
447 static int do_proc_uint_conv(ulong *u_ptr, uint *k_ptr, int dir,
450 return proc_uint_conv(u_ptr, k_ptr, dir, tbl, false,
454 static int do_proc_uint_conv_minmax(ulong *u_ptr, uint *k_ptr, int dir,
457 return proc_uint_conv(u_ptr, k_ptr, dir, tbl, true,
464 * @k_ptr: pointer to kernel variable
469 * Uses READ_ONCE to get value from k_ptr. Executes k_ptr_op before assigning
474 int proc_int_k2u_conv_kop(ulong *u_ptr, const int *k_ptr, bool *negp,
477 int val = READ_ONCE(*k_ptr);
492 * @k_ptr: pointer to kernel variable
494 * @u_ptr_op: execute this function before assigning to k_ptr
496 * Uses WRITE_ONCE to assign value to k_ptr. Executes u_ptr_op if
501 int proc_int_u2k_conv_uop(const ulong *u_ptr, int *k_ptr, const bool *negp,
509 WRITE_ONCE(*k_ptr, -u);
513 WRITE_ONCE(*k_ptr, u);
518 int proc_int_conv(bool *negp, ulong *u_ptr, int *k_ptr, int dir,
520 int (*user_to_kern)(const bool *negp, const ulong *u_ptr, int *k_ptr),
521 int (*kern_to_user)(bool *negp, ulong *u_ptr, const int *k_ptr))
524 return kern_to_user(negp, u_ptr, k_ptr);
537 WRITE_ONCE(*k_ptr, tmp_k);
539 return user_to_kern(negp, u_ptr, k_ptr);
546 int *k_ptr)
548 return proc_int_u2k_conv_uop(u_ptr, k_ptr, negp, NULL);
551 static int sysctl_kern_to_user_int_conv(bool *negp, ulong *u_ptr, const int *k_ptr)
553 return proc_int_k2u_conv_kop(u_ptr, k_ptr, negp, NULL);
556 static int do_proc_int_conv(bool *negp, unsigned long *u_ptr, int *k_ptr,
559 return proc_int_conv(negp, u_ptr, k_ptr, dir, tbl, false,
565 static int do_proc_int_conv_minmax(bool *negp, unsigned long *u_ptr, int *k_ptr,
568 return proc_int_conv(negp, u_ptr, k_ptr, dir, tbl, true,
577 int (*conv)(bool *negp, unsigned long *u_ptr, int *k_ptr,
650 unsigned int *k_ptr, int dir,
703 unsigned int *k_ptr, int dir,
733 unsigned int *k_ptr, int dir,
781 int (*conv)(unsigned long *u_ptr, unsigned int *k_ptr,
1090 int (*conv)(bool *negp, unsigned long *u_ptr, int *k_ptr,
1289 int proc_uint_k2u_conv(ulong *u_ptr, const uint *k_ptr)
1294 int proc_uint_u2k_conv_uop(const ulong *u_ptr, uint *k_ptr,
1300 int proc_uint_conv(ulong *u_ptr, uint *k_ptr, int dir,
1302 int (*user_to_kern)(const ulong *u_ptr, uint *k_ptr),
1303 int (*kern_to_user)(ulong *u_ptr, const uint *k_ptr))
1329 int (*conv)(bool *negp, unsigned long *u_ptr, int *k_ptr,