lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 13 Jul 2015 19:46:55 -0700 From: Greg Kroah-Hartman <gregkh@...uxfoundation.org> To: green@...uxhacker.ru Cc: devel@...verdev.osuosl.org, Andreas Dilger <andreas.dilger@...el.com>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org> Subject: Re: [PATCH 18/20] staging/lustre/libcfs: get rid of debugfs/lnet/debug_mb On Mon, Jul 06, 2015 at 12:48:56PM -0400, green@...uxhacker.ru wrote: > From: Oleg Drokin <green@...uxhacker.ru> > > It's just a fancy libcfs_debug_mb module parameter wrapper, > so just add debug buffer size check and resizing and the same > functionality now would be accessible via > /sys/module/libcfs/parameters/libcfs_debug_mb > > Also add a symlink for backwards compatibility. > > Signed-off-by: Oleg Drokin <green@...uxhacker.ru> > --- > drivers/staging/lustre/lustre/libcfs/debug.c | 37 ++++++++++++++++++++++-- > drivers/staging/lustre/lustre/libcfs/module.c | 32 ++------------------ > drivers/staging/lustre/lustre/libcfs/tracefile.c | 12 -------- > drivers/staging/lustre/lustre/libcfs/tracefile.h | 1 - > 4 files changed, 37 insertions(+), 45 deletions(-) > > diff --git a/drivers/staging/lustre/lustre/libcfs/debug.c b/drivers/staging/lustre/lustre/libcfs/debug.c > index 5ae7b65..e4c7129 100644 > --- a/drivers/staging/lustre/lustre/libcfs/debug.c > +++ b/drivers/staging/lustre/lustre/libcfs/debug.c > @@ -57,8 +57,39 @@ module_param(libcfs_debug, int, 0644); > MODULE_PARM_DESC(libcfs_debug, "Lustre kernel debug mask"); > EXPORT_SYMBOL(libcfs_debug); > > +static int libcfs_param_debug_mb_set(const char *val, > + const struct kernel_param *kp) > +{ > + int rc; > + unsigned num; > + > + rc = kstrtouint(val, 0, &num); > + if (rc == -EINVAL) > + return -EINVAL; > + > + if (!*((unsigned int *)kp->arg)) { > + *((unsigned int *)kp->arg) = num; > + return 0; > + } > + > + rc = cfs_trace_set_debug_mb(num); > + > + if (!rc) > + *((unsigned int *)kp->arg) = cfs_trace_get_debug_mb(); > + > + return rc; > +} > + > +static struct kernel_param_ops param_ops_debugmb = { > + .set = libcfs_param_debug_mb_set, > + .get = param_get_uint, > +}; > + > +#define param_check_debugmb(name, p) \ > + __param_check(name, p, unsigned int) > + > static unsigned int libcfs_debug_mb; > -module_param(libcfs_debug_mb, uint, 0644); > +module_param(libcfs_debug_mb, debugmb, 0644); module_param wants a variable type as the second option, not a variable name, how is this working? thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists