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

From: Abramo Bagnara (abramo@alsa-project.org)
Date: Thu Aug 24 2000 - 01:18:39 EST


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

Then you need to propose:
#define Kmalloc(type, n, flag) (type *)kmalloc(sizeof(type)*n, flag)

-- 
Abramo Bagnara                       mailto:abramo@alsa-project.org

Opera Unica Via Emilia Interna, 140 Phone: +39.0546.656023 48014 Castel Bolognese (RA) - Italy Fax: +39.0546.656023

ALSA project is http://www.alsa-project.org sponsored by SuSE Linux http://www.suse.com

It sounds good! - 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