----- Original Message ----- > > also for function audit_list_rules: > when call audit_make_reply fails (will return NULL). > we also need process data->buf, not only data itself. > > please help check, thanks.
struct audit_rule_data { [...] char buf[0]; /* string fields buffer */ }; The last element in the struct is 0 length. But the allocation in audit_krule_to_data() looks like: data = kmalloc(sizeof(*data) + krule->buflen, GFP_KERNEL); So now data->buf appears as an allocation of size krule->buflen. We do not need to free it separately. This is a pretty common C trick. -Eric -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/