summaryrefslogtreecommitdiffstats
path: root/arch/s390x
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2001-04-05 04:55:58 +0000
committerRalf Baechle <ralf@linux-mips.org>2001-04-05 04:55:58 +0000
commit74a9f2e1b4d3ab45a9f72cb5b556c9f521524ab3 (patch)
tree7c4cdb103ab1b388c9852a88bd6fb1e73eba0b5c /arch/s390x
parentee6374c8b0d333c08061c6a97bc77090d7461225 (diff)
Merge with Linux 2.4.3.
Note that mingetty does no longer work with serial console, you have to switch to another getty like getty_ps. This commit also includes a fix for a setitimer bug which did prevent getty_ps from working on older kernels.
Diffstat (limited to 'arch/s390x')
-rw-r--r--arch/s390x/kernel/binfmt_elf32.c4
-rw-r--r--arch/s390x/kernel/entry.S2
-rw-r--r--arch/s390x/kernel/exec32.c5
-rw-r--r--arch/s390x/kernel/linux32.c4
-rw-r--r--arch/s390x/kernel/sys_s390.c4
-rw-r--r--arch/s390x/mm/fault.c10
-rw-r--r--arch/s390x/tools/dasdfmt/dasdfmt.c2
7 files changed, 15 insertions, 16 deletions
diff --git a/arch/s390x/kernel/binfmt_elf32.c b/arch/s390x/kernel/binfmt_elf32.c
index b08f0f686..d21f6966b 100644
--- a/arch/s390x/kernel/binfmt_elf32.c
+++ b/arch/s390x/kernel/binfmt_elf32.c
@@ -193,11 +193,11 @@ elf_map32 (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int p
if(!addr)
addr = 0x40000000;
- down(&current->mm->mmap_sem);
+ down_write(&current->mm->mmap_sem);
map_addr = do_mmap(filep, ELF_PAGESTART(addr),
eppnt->p_filesz + ELF_PAGEOFFSET(eppnt->p_vaddr), prot, type,
eppnt->p_offset - ELF_PAGEOFFSET(eppnt->p_vaddr));
- up(&current->mm->mmap_sem);
+ up_write(&current->mm->mmap_sem);
return(map_addr);
}
diff --git a/arch/s390x/kernel/entry.S b/arch/s390x/kernel/entry.S
index c5fbdd61f..0dddf63c7 100644
--- a/arch/s390x/kernel/entry.S
+++ b/arch/s390x/kernel/entry.S
@@ -724,7 +724,7 @@ pgm_no_sv:
stosm 48(%r15),0x03 # reenable interrupts
lghi %r3,0x7f
nr %r3,%r8 # clear per-event-bit & move to r3
- je pgm_dn # none of Martins exceptions occured bypass
+ je pgm_dn # none of Martins exceptions occurred bypass
sll %r3,3
larl %r9,pgm_check_table
lg %r9,0(%r3,%r9) # load address of handler routine
diff --git a/arch/s390x/kernel/exec32.c b/arch/s390x/kernel/exec32.c
index 3e6f44558..8c517456a 100644
--- a/arch/s390x/kernel/exec32.c
+++ b/arch/s390x/kernel/exec32.c
@@ -54,7 +54,7 @@ int setup_arg_pages32(struct linux_binprm *bprm)
if (!mpnt)
return -ENOMEM;
- down(&current->mm->mmap_sem);
+ down_write(&current->mm->mmap_sem);
{
mpnt->vm_mm = current->mm;
mpnt->vm_start = PAGE_MASK & (unsigned long) bprm->p;
@@ -73,12 +73,11 @@ int setup_arg_pages32(struct linux_binprm *bprm)
struct page *page = bprm->page[i];
if (page) {
bprm->page[i] = NULL;
- current->mm->rss++;
put_dirty_page(current,page,stack_base);
}
stack_base += PAGE_SIZE;
}
- up(&current->mm->mmap_sem);
+ up_write(&current->mm->mmap_sem);
return 0;
}
diff --git a/arch/s390x/kernel/linux32.c b/arch/s390x/kernel/linux32.c
index 668ac46c4..c567d4b49 100644
--- a/arch/s390x/kernel/linux32.c
+++ b/arch/s390x/kernel/linux32.c
@@ -4184,9 +4184,9 @@ static inline long do_mmap2(
goto out;
}
- down(&current->mm->mmap_sem);
+ down_write(&current->mm->mmap_sem);
error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
- up(&current->mm->mmap_sem);
+ up_write(&current->mm->mmap_sem);
if (file)
fput(file);
diff --git a/arch/s390x/kernel/sys_s390.c b/arch/s390x/kernel/sys_s390.c
index 4c06bd326..e05a8be0b 100644
--- a/arch/s390x/kernel/sys_s390.c
+++ b/arch/s390x/kernel/sys_s390.c
@@ -61,9 +61,9 @@ static inline long do_mmap2(
goto out;
}
- down(&current->mm->mmap_sem);
+ down_write(&current->mm->mmap_sem);
error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
- up(&current->mm->mmap_sem);
+ up_write(&current->mm->mmap_sem);
if (file)
fput(file);
diff --git a/arch/s390x/mm/fault.c b/arch/s390x/mm/fault.c
index 4c324b690..cd60eb61d 100644
--- a/arch/s390x/mm/fault.c
+++ b/arch/s390x/mm/fault.c
@@ -122,7 +122,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code)
* task's user address space, so we search the VMAs
*/
- down(&mm->mmap_sem);
+ down_read(&mm->mmap_sem);
vma = find_vma(mm, address);
if (!vma) {
@@ -176,7 +176,7 @@ good_area:
goto out_of_memory;
}
- up(&mm->mmap_sem);
+ up_read(&mm->mmap_sem);
return;
/*
@@ -184,7 +184,7 @@ good_area:
* Fix it, but check if it's kernel or user first..
*/
bad_area:
- up(&mm->mmap_sem);
+ up_read(&mm->mmap_sem);
/* User mode accesses just cause a SIGSEGV */
if (psw_mask & PSW_PROBLEM_STATE) {
@@ -243,14 +243,14 @@ no_context:
* us unable to handle the page fault gracefully.
*/
out_of_memory:
- up(&mm->mmap_sem);
+ up_read(&mm->mmap_sem);
printk("VM: killing process %s\n", tsk->comm);
if (psw_mask & PSW_PROBLEM_STATE)
do_exit(SIGKILL);
goto no_context;
do_sigbus:
- up(&mm->mmap_sem);
+ up_read(&mm->mmap_sem);
/*
* Send a sigbus, regardless of whether we were in kernel
diff --git a/arch/s390x/tools/dasdfmt/dasdfmt.c b/arch/s390x/tools/dasdfmt/dasdfmt.c
index 2820fc91d..560feff6b 100644
--- a/arch/s390x/tools/dasdfmt/dasdfmt.c
+++ b/arch/s390x/tools/dasdfmt/dasdfmt.c
@@ -477,7 +477,7 @@ do_format_dasd(char *dev_name,format_data_t format_params,int testmode,
rc=stat(dev_name,&stat_buf);
if (rc) {
- ERRMSG_EXIT(EXIT_FAILURE,"%s: error occured during stat: " \
+ ERRMSG_EXIT(EXIT_FAILURE,"%s: error occurred during stat: " \
"%s\n",prog_name,strerror(errno));
} else {
if (!S_ISBLK(stat_buf.st_mode))