On 03/31/2014 09:04 AM, Andi Kleen wrote:
>>              do_initcall_level(level);
>> +
>> +    list_for_each_safe(tmp, next, &blacklisted_initcalls) {
>> +            entry = list_entry(tmp, struct blacklist_entry, next);
>> +            free_bootmem(entry->buf, strlen(entry->buf));
>> +            free_bootmem(entry, sizeof(*entry));
> 
> Does that really work? At this point the bootmem allocator should
> be already finished, so no memory will be freed.

Oh, geez ... that's a good point.  I completely missed that.

> 
> For this case it's probably ok to leak it.

Okay ... maybe that's an option.

> 
> Alternatively you could use static arrays and storing pointer/len.
> 

Yeah, I was thinking about the pros-cons of doing static vs. dynamic.  I was
planning on doing an array of 5 but kept falling into the trap of "how much is
too much or too little?".

Does anyone object to a static array?  If not I'll bang out a static version for
[v3] tomorrow ...

P.

> -Andi
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to