|
@@ -91,9 +91,8 @@ ia64_elf32_init (struct pt_regs *regs)
|
|
|
* it with privilege level 3 because the IVE uses non-privileged accesses to these
|
|
|
* tables. IA-32 segmentation is used to protect against IA-32 accesses to them.
|
|
|
*/
|
|
|
- vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL);
|
|
|
+ vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
|
|
|
if (vma) {
|
|
|
- memset(vma, 0, sizeof(*vma));
|
|
|
vma->vm_mm = current->mm;
|
|
|
vma->vm_start = IA32_GDT_OFFSET;
|
|
|
vma->vm_end = vma->vm_start + PAGE_SIZE;
|
|
@@ -117,9 +116,8 @@ ia64_elf32_init (struct pt_regs *regs)
|
|
|
* code is locked in specific gate page, which is pointed by pretcode
|
|
|
* when setup_frame_ia32
|
|
|
*/
|
|
|
- vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL);
|
|
|
+ vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
|
|
|
if (vma) {
|
|
|
- memset(vma, 0, sizeof(*vma));
|
|
|
vma->vm_mm = current->mm;
|
|
|
vma->vm_start = IA32_GATE_OFFSET;
|
|
|
vma->vm_end = vma->vm_start + PAGE_SIZE;
|
|
@@ -142,9 +140,8 @@ ia64_elf32_init (struct pt_regs *regs)
|
|
|
* Install LDT as anonymous memory. This gives us all-zero segment descriptors
|
|
|
* until a task modifies them via modify_ldt().
|
|
|
*/
|
|
|
- vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL);
|
|
|
+ vma = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
|
|
|
if (vma) {
|
|
|
- memset(vma, 0, sizeof(*vma));
|
|
|
vma->vm_mm = current->mm;
|
|
|
vma->vm_start = IA32_LDT_OFFSET;
|
|
|
vma->vm_end = vma->vm_start + PAGE_ALIGN(IA32_LDT_ENTRIES*IA32_LDT_ENTRY_SIZE);
|
|
@@ -214,12 +211,10 @@ ia32_setup_arg_pages (struct linux_binprm *bprm, int executable_stack)
|
|
|
bprm->loader += stack_base;
|
|
|
bprm->exec += stack_base;
|
|
|
|
|
|
- mpnt = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL);
|
|
|
+ mpnt = kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL);
|
|
|
if (!mpnt)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
- memset(mpnt, 0, sizeof(*mpnt));
|
|
|
-
|
|
|
down_write(¤t->mm->mmap_sem);
|
|
|
{
|
|
|
mpnt->vm_mm = current->mm;
|