Changeset 25
- Timestamp:
- 01/05/06 10:25:50 (6 years ago)
- Files:
-
- arch/i386/kernel/callgate.c (modified) (3 diffs)
- .version (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
arch/i386/kernel/callgate.c
r24 r25 111 111 return tsk->currentaddr; 112 112 } 113 if (!tsk->ring) 114 return current; 113 115 tsk->currentaddr=(struct task_struct*) map_struct(tsk, sizeof(*tsk)+PAGE_SIZE, tsk->ring, &tsk->origcurrentaddr); 114 116 tsk->currentmapped=1; … … 449 451 struct vm_area_struct *vma; 450 452 unsigned long addr=0; 453 int res1, res2; 451 454 if (!kernel_struct || !size) 452 455 return -EINVAL; … … 465 468 466 469 vma->vm_mm=&init_mm; 467 // SetPageReserved(pfn_to_page(__pa(kernel_struct) >> PAGE_SHIFT)); 468 469 // SetPageReserved(pfn_to_page((__pa(kernel_struct) >> PAGE_SHIFT) + 1)); 470 res1=PageReserved(pfn_to_page(__pa(kernel_struct) >> PAGE_SHIFT)); 471 res2=PageReserved(pfn_to_page(__pa(kernel_struct) >> PAGE_SHIFT)+1); 472 if (!res1) 473 SetPageReserved(pfn_to_page(__pa(kernel_struct) >> PAGE_SHIFT)); 474 if (!res2) 475 SetPageReserved(pfn_to_page((__pa(kernel_struct) >> PAGE_SHIFT) + 1)); 470 476 remap_page_range(vma, addr, __pa(kernel_struct), size, PAGE_KERNEL); 477 if (!res1) 478 ClearPageReserved(pfn_to_page(__pa(kernel_struct) >> PAGE_SHIFT)); 479 if (!res2) 480 ClearPageReserved(pfn_to_page((__pa(kernel_struct) >> PAGE_SHIFT) + 1)); 471 481 addr+=(unsigned long) kernel_struct & (PAGE_SIZE -1); 472 482 .version
r24 r25 1 29 41 297
