num_pols = svc->srv_parts[0]->scp_nrs_reg.nrs_num_pols;
spin_unlock(&nrs->nrs_lock);
- OBD_ALLOC(infos, num_pols * sizeof(*infos));
+ OBD_ALLOC_PTR_ARRAY(infos, num_pols);
if (infos == NULL)
GOTO(out, rc = -ENOMEM);
again:
out:
if (infos)
- OBD_FREE(infos, num_pols * sizeof(*infos));
+ OBD_FREE_PTR_ARRAY(infos, num_pols);
mutex_unlock(&nrs_core.nrs_mutex);
ssize_t ping_store(struct kobject *kobj, struct attribute *attr,
const char *buffer, size_t count)
{
- return ping_show(kobj, attr, (char *)buffer);
+ int rc = ping_show(kobj, attr, (char *)buffer);
+
+ return (rc < 0) ? rc : count;
}
EXPORT_SYMBOL(ping_store);