int retval = 0;
        int i;
 
-       tables = kmalloc((nr_tables + 1) * sizeof(struct amd_page_map *),
-                        GFP_KERNEL);
+       tables = kzalloc((nr_tables + 1) * sizeof(struct amd_page_map *),GFP_KERNEL);
        if (tables == NULL)
                return -ENOMEM;
 
-       memset (tables, 0, sizeof(struct amd_page_map *) * (nr_tables + 1));
        for (i = 0; i < nr_tables; i++) {
-               entry = kmalloc(sizeof(struct amd_page_map), GFP_KERNEL);
+               entry = kzalloc(sizeof(struct amd_page_map), GFP_KERNEL);
                if (entry == NULL) {
                        retval = -ENOMEM;
                        break;
                }
-               memset (entry, 0, sizeof(struct amd_page_map));
                tables[i] = entry;
                retval = amd_create_page_map(entry);
                if (retval != 0)
 
        int retval = 0;
        int i;
 
-       tables = kmalloc((nr_tables + 1) * sizeof(ati_page_map *),
-                        GFP_KERNEL);
+       tables = kzalloc((nr_tables + 1) * sizeof(ati_page_map *),GFP_KERNEL);
        if (tables == NULL)
                return -ENOMEM;
 
-       memset(tables, 0, sizeof(ati_page_map *) * (nr_tables + 1));
        for (i = 0; i < nr_tables; i++) {
-               entry = kmalloc(sizeof(ati_page_map), GFP_KERNEL);
+               entry = kzalloc(sizeof(ati_page_map), GFP_KERNEL);
                if (entry == NULL) {
                        while (i>0) {
                                kfree (tables[i-1]);
                        retval = -ENOMEM;
                        break;
                }
-               memset(entry, 0, sizeof(ati_page_map));
                tables[i] = entry;
                retval = ati_create_page_map(entry);
                if (retval != 0) break;
 
 
 struct agp_bridge_data *agp_alloc_bridge(void)
 {
-       struct agp_bridge_data *bridge = kmalloc(sizeof(*bridge), GFP_KERNEL);
-
+       struct agp_bridge_data *bridge;
+       
+       bridge = kzalloc(sizeof(*bridge), GFP_KERNEL);
        if (!bridge)
                return NULL;
 
-       memset(bridge, 0, sizeof(*bridge));
        atomic_set(&bridge->agp_in_use, 0);
        atomic_set(&bridge->current_memory_agp, 0);
 
 
        struct agp_segment *user_seg;
        size_t i;
 
-       seg = kmalloc((sizeof(struct agp_segment_priv) * region->seg_count), GFP_KERNEL);
+       seg = kzalloc((sizeof(struct agp_segment_priv) * region->seg_count), GFP_KERNEL);
        if (seg == NULL) {
                kfree(region->seg_list);
                region->seg_list = NULL;
                return -ENOMEM;
        }
-       memset(seg, 0, (sizeof(struct agp_segment_priv) * region->seg_count));
        user_seg = region->seg_list;
 
        for (i = 0; i < region->seg_count; i++) {
 {
        struct agp_controller *controller;
 
-       controller = kmalloc(sizeof(struct agp_controller), GFP_KERNEL);
-
+       controller = kzalloc(sizeof(struct agp_controller), GFP_KERNEL);
        if (controller == NULL)
                return NULL;
 
-       memset(controller, 0, sizeof(struct agp_controller));
        controller->pid = id;
-
        return controller;
 }
 
 {
        struct agp_client *new_client;
 
-       new_client = kmalloc(sizeof(struct agp_client), GFP_KERNEL);
-
+       new_client = kzalloc(sizeof(struct agp_client), GFP_KERNEL);
        if (new_client == NULL)
                return NULL;
 
-       memset(new_client, 0, sizeof(struct agp_client));
        new_client->pid = id;
        agp_insert_client(new_client);
        return new_client;
        if (minor != AGPGART_MINOR)
                goto err_out;
 
-       priv = kmalloc(sizeof(struct agp_file_private), GFP_KERNEL);
+       priv = kzalloc(sizeof(struct agp_file_private), GFP_KERNEL);
        if (priv == NULL)
                goto err_out_nomem;
 
-       memset(priv, 0, sizeof(struct agp_file_private));
        set_bit(AGP_FF_ALLOW_CLIENT, &priv->access_flags);
        priv->my_pid = current->pid;
 
 
 {
        struct agp_memory *new;
 
-       new = kmalloc(sizeof(struct agp_memory), GFP_KERNEL);
-
+       new = kzalloc(sizeof(struct agp_memory), GFP_KERNEL);
        if (new == NULL)
                return NULL;
 
-       memset(new, 0, sizeof(struct agp_memory));
        new->key = agp_get_key();
 
        if (new->key < 0) {
 
         */
        if (I460_IO_PAGE_SHIFT > PAGE_SHIFT) {
                size = current_size->num_entries * sizeof(i460.lp_desc[0]);
-               i460.lp_desc = kmalloc(size, GFP_KERNEL);
+               i460.lp_desc = kzalloc(size, GFP_KERNEL);
                if (!i460.lp_desc)
                        return -ENOMEM;
-               memset(i460.lp_desc, 0, size);
        }
        return 0;
 }
        }
 
        map_size = ((I460_KPAGES_PER_IOPAGE + BITS_PER_LONG - 1) & -BITS_PER_LONG)/8;
-       lp->alloced_map = kmalloc(map_size, GFP_KERNEL);
+       lp->alloced_map = kzalloc(map_size, GFP_KERNEL);
        if (!lp->alloced_map) {
                free_pages((unsigned long) lpage, order);
                printk(KERN_ERR PFX "Out of memory, we're in trouble...\n");
                return -ENOMEM;
        }
-       memset(lp->alloced_map, 0, map_size);
 
        lp->paddr = virt_to_gart(lpage);
        lp->refcount = 0;
 
        int retval = 0;
        int i;
 
-       tables = kmalloc((nr_tables + 1) * sizeof(struct serverworks_page_map *), 
+       tables = kzalloc((nr_tables + 1) * sizeof(struct serverworks_page_map *), 
                         GFP_KERNEL);
-       if (tables == NULL) {
+       if (tables == NULL)
                return -ENOMEM;
-       }
-       memset(tables, 0, sizeof(struct serverworks_page_map *) * (nr_tables + 1));
+
        for (i = 0; i < nr_tables; i++) {
-               entry = kmalloc(sizeof(struct serverworks_page_map), GFP_KERNEL);
+               entry = kzalloc(sizeof(struct serverworks_page_map), GFP_KERNEL);
                if (entry == NULL) {
                        retval = -ENOMEM;
                        break;
                }
-               memset(entry, 0, sizeof(struct serverworks_page_map));
                tables[i] = entry;
                retval = serverworks_create_page_map(entry);
                if (retval != 0) break;