On Wed, 21 Feb 2007, Pekka J Enberg wrote:

> +void *krealloc(const void *p, size_t new_size, gfp_t flags)
> +{
> +     void *ret;
> +
> +     if (unlikely(!p))
> +             return kmalloc_track_caller(new_size, flags);
> +
> +     if (unlikely(!new_size)) {
> +             kfree(p);
> +             return NULL;
> +     }
> +
> +     ret = kmalloc_track_caller(new_size, flags);
> +     if (!ret)
> +             return NULL;
> +
> +     memcpy(ret, p, min(new_size, ksize(p)));
> +     kfree(p);
> +     return ret;
> +}
> +EXPORT_SYMBOL(krealloc);

Well could you check ksize for the old object first and if ksize <= new 
size then just skip the copy? I think this may allow you 
to get rid of the ksize callers.


-
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