Skip to content
  • Kees Cook's avatar
    treewide: kzalloc() -> kcalloc() · 6396bb22
    Kees Cook authored
    The kzalloc() function has a 2-factor argument form, kcalloc(). This
    patch replaces cases of:
            kzalloc(a * b, gfp)
            kcalloc(a * b, gfp)
    as well as handling cases of:
            kzalloc(a * b * c, gfp)
            kzalloc(array3_size(a, b, c), gfp)
    as it's slightly less ugly than:
            kzalloc_array(array_size(a, b), c, gfp)
    This does, however, attempt to ignore constant size factors like:
            kzalloc(4 * 1024, gfp)
    though any constants defined via macros get caught up in the conversion.
    Any factors with a sizeof() of "unsigned char", "char", and "u8" were
    dropped, since they're redundant.
    The Coccinelle script used for this was:
    // Fix redundant parens around sizeof().
    type TYPE;
    expression THING, E;
    -	(sizeof(TYPE)) * E
    +	sizeof(TYPE) * E
      , ...)
    -	(sizeof(THING)) * E
    +	sizeof(THING) * E
      , ...)
    // Drop single-byte sizes and redundant parens.
    expression COUNT;
    typedef u8;
    typedef __u8;