diff options
Diffstat (limited to 'drivers/char/agp/frontend.c')
-rw-r--r-- | drivers/char/agp/frontend.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/char/agp/frontend.c b/drivers/char/agp/frontend.c index 3dfb6648547b..17f520c9d471 100644 --- a/drivers/char/agp/frontend.c +++ b/drivers/char/agp/frontend.c | |||
@@ -189,13 +189,12 @@ static int agp_create_segment(struct agp_client *client, struct agp_region *regi | |||
189 | struct agp_segment *user_seg; | 189 | struct agp_segment *user_seg; |
190 | size_t i; | 190 | size_t i; |
191 | 191 | ||
192 | seg = kmalloc((sizeof(struct agp_segment_priv) * region->seg_count), GFP_KERNEL); | 192 | seg = kzalloc((sizeof(struct agp_segment_priv) * region->seg_count), GFP_KERNEL); |
193 | if (seg == NULL) { | 193 | if (seg == NULL) { |
194 | kfree(region->seg_list); | 194 | kfree(region->seg_list); |
195 | region->seg_list = NULL; | 195 | region->seg_list = NULL; |
196 | return -ENOMEM; | 196 | return -ENOMEM; |
197 | } | 197 | } |
198 | memset(seg, 0, (sizeof(struct agp_segment_priv) * region->seg_count)); | ||
199 | user_seg = region->seg_list; | 198 | user_seg = region->seg_list; |
200 | 199 | ||
201 | for (i = 0; i < region->seg_count; i++) { | 200 | for (i = 0; i < region->seg_count; i++) { |
@@ -332,14 +331,11 @@ static struct agp_controller *agp_create_controller(pid_t id) | |||
332 | { | 331 | { |
333 | struct agp_controller *controller; | 332 | struct agp_controller *controller; |
334 | 333 | ||
335 | controller = kmalloc(sizeof(struct agp_controller), GFP_KERNEL); | 334 | controller = kzalloc(sizeof(struct agp_controller), GFP_KERNEL); |
336 | |||
337 | if (controller == NULL) | 335 | if (controller == NULL) |
338 | return NULL; | 336 | return NULL; |
339 | 337 | ||
340 | memset(controller, 0, sizeof(struct agp_controller)); | ||
341 | controller->pid = id; | 338 | controller->pid = id; |
342 | |||
343 | return controller; | 339 | return controller; |
344 | } | 340 | } |
345 | 341 | ||
@@ -540,12 +536,10 @@ static struct agp_client *agp_create_client(pid_t id) | |||
540 | { | 536 | { |
541 | struct agp_client *new_client; | 537 | struct agp_client *new_client; |
542 | 538 | ||
543 | new_client = kmalloc(sizeof(struct agp_client), GFP_KERNEL); | 539 | new_client = kzalloc(sizeof(struct agp_client), GFP_KERNEL); |
544 | |||
545 | if (new_client == NULL) | 540 | if (new_client == NULL) |
546 | return NULL; | 541 | return NULL; |
547 | 542 | ||
548 | memset(new_client, 0, sizeof(struct agp_client)); | ||
549 | new_client->pid = id; | 543 | new_client->pid = id; |
550 | agp_insert_client(new_client); | 544 | agp_insert_client(new_client); |
551 | return new_client; | 545 | return new_client; |
@@ -709,11 +703,10 @@ static int agp_open(struct inode *inode, struct file *file) | |||
709 | if (minor != AGPGART_MINOR) | 703 | if (minor != AGPGART_MINOR) |
710 | goto err_out; | 704 | goto err_out; |
711 | 705 | ||
712 | priv = kmalloc(sizeof(struct agp_file_private), GFP_KERNEL); | 706 | priv = kzalloc(sizeof(struct agp_file_private), GFP_KERNEL); |
713 | if (priv == NULL) | 707 | if (priv == NULL) |
714 | goto err_out_nomem; | 708 | goto err_out_nomem; |
715 | 709 | ||
716 | memset(priv, 0, sizeof(struct agp_file_private)); | ||
717 | set_bit(AGP_FF_ALLOW_CLIENT, &priv->access_flags); | 710 | set_bit(AGP_FF_ALLOW_CLIENT, &priv->access_flags); |
718 | priv->my_pid = current->pid; | 711 | priv->my_pid = current->pid; |
719 | 712 | ||