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

From: Tigran Aivazian (tigran@veritas.com)
Date: Thu Aug 24 2000 - 01:41:22 EST


On Wed, 23 Aug 2000, Andries Brouwer wrote:

> 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 *).
>

It is a small thing, Andries, but I still think otherwise than you. It is
better for code to be smaller than to be slightly more fool-proof. And,
such owner of "human eyes", must be a fool indeed, who declares a variable
and immediately forgets the type thereof...

Regards,
Tigran

-
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 : Thu Aug 31 2000 - 21:00:12 EST