kernel/param.c: add_sysfs_param memset?
Looks wrong to me.
static __modinit int add_sysfs_param(struct module_kobject *mk,
const struct kernel_param *kp, const char *name)
{
struct module_param_attrs *new;
struct attribute **attrs;
[]
if (!mk->mp) {
num = 0;
attrs = NULL;
} else {
num = mk->mp->num;
attrs = mk->mp->grp.attrs;
}
/* Enlarge. */
[]
attrs = krealloc(attrs, sizeof(new->grp.attrs[0])*(num+2), GFP_KERNEL);
[]
memset(&attrs[num], 0, sizeof(attrs[num]));sizeof(attrs[num]) is a pointer.
I presume this should be
memset(&attrs[num], 0, sizeof(*attrs[num])); or memset(&attrs[num], 0, sizeof(struct attribute));
If it's really just to set the pointer, a set to NULL is better.
attrs[num] = NULL;