diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-03-03 01:22:27 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-03-03 01:22:27 +0000 |
commit | f9bbe9da79dbc8557c74efeb158b431cd67ace52 (patch) | |
tree | 3220d014a35f9d88a48668a1468524e988daebff /kernel | |
parent | 3d697109c1ff85ef563aec3d5e113ef225ed2792 (diff) |
Upgrade to 2.1.73.
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/ksyms.c | 2 | ||||
-rw-r--r-- | kernel/printk.c | 9 | ||||
-rw-r--r-- | kernel/signal.c | 5 |
3 files changed, 13 insertions, 3 deletions
diff --git a/kernel/ksyms.c b/kernel/ksyms.c index c9cf990e2..a66acd361 100644 --- a/kernel/ksyms.c +++ b/kernel/ksyms.c @@ -202,6 +202,7 @@ EXPORT_SYMBOL(put_cached_page); EXPORT_SYMBOL(prune_dcache); EXPORT_SYMBOL(shrink_dcache_sb); EXPORT_SYMBOL(shrink_dcache_parent); +EXPORT_SYMBOL(find_inode_number); #if !defined(CONFIG_NFSD) && defined(CONFIG_NFSD_MODULE) EXPORT_SYMBOL(do_nfsservctl); @@ -239,6 +240,7 @@ EXPORT_SYMBOL(make_request); EXPORT_SYMBOL(tq_disk); EXPORT_SYMBOL(efind_buffer); EXPORT_SYMBOL(init_buffer); +EXPORT_SYMBOL(max_sectors); /* tty routines */ EXPORT_SYMBOL(tty_hangup); diff --git a/kernel/printk.c b/kernel/printk.c index c67c4d748..91bc771f2 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -109,7 +109,7 @@ __initfunc(void console_setup(char *str, int *ints)) */ asmlinkage int sys_syslog(int type, char * buf, int len) { - unsigned long i, j, count; + unsigned long i, j, count, flags; int do_clear = 0; char c; int error = -EPERM; @@ -170,12 +170,19 @@ asmlinkage int sys_syslog(int type, char * buf, int len) error = verify_area(VERIFY_WRITE,buf,len); if (error) goto out; + /* + * The logged_chars, log_start, and log_size values may + * change from an interrupt, so we disable interrupts. + */ + __save_flags(flags); + __cli(); count = len; if (count > LOG_BUF_LEN) count = LOG_BUF_LEN; if (count > logged_chars) count = logged_chars; j = log_start + log_size - count; + __restore_flags(flags); for (i = 0; i < count; i++) { c = *((char *) log_buf+(j++ & (LOG_BUF_LEN-1))); __put_user(c, buf++); diff --git a/kernel/signal.c b/kernel/signal.c index 03e64eed6..25168d989 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -118,14 +118,15 @@ printk("SIG dequeue (%s:%d): %d ", current->comm, current->pid, case 2: if ((x = s[0] &~ m[0]) != 0) sig = 1; - else if ((x = s[1] &~ m[0]) != 0) + else if ((x = s[1] &~ m[1]) != 0) sig = _NSIG_BPW + 1; else break; sig += ffz(~x); break; - case 1: if ((x = *s &~ *m) != 0) sig = ffz(~x) + 1; + case 1: if ((x = *s &~ *m) != 0) + sig = ffz(~x) + 1; break; } |