Re: [PATCH] sd.c: handling resource allocation failure

From: Andries Brouwer (aeb@veritas.com)
Date: Wed Aug 23 2000 - 15:33:37 EST


On Wed, Aug 23, 2000 at 07:15:40PM +0100, Tigran Aivazian wrote:

> > rscsi_disks = (Scsi_Disk *)
> > kmalloc(sd_template.dev_max * sizeof(Scsi_Disk), GFP_ATOMIC);
>
> no need to cast return from kmalloc, it returns (void *) and typecasts are
> tiresome to eyes (human eyes, i.e.).

Hmm. I am not sure I agree.

Usually type casts are bad, because they tell the compiler
not to check, and therefore may hide problems.

In a case like this, where a (void *) is returned, casting
to the proper pointer type is meaningful: it allows the compiler
to check the type, and the human eye to check that the right
amount of memory is allocated.

If you just write
        foo = kmalloc(n * sizeof(some_type), GFP_x);
then neither the compiler nor the human eye can check
easily that things are right, i.e. that foo really is
a (some_type *).

Andries
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Aug 23 2000 - 21:00:09 EST