home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC-Online 1996 May
/
PCOnline_05_1996.bin
/
linux
/
source
/
kernel-s
/
v1.2
/
patch-1.000
/
patch-1.2.13
Wrap
Text File
|
1995-08-02
|
3KB
|
119 lines
diff -u --recursive --new-file v1.2.12/linux/Makefile linux/Makefile
--- v1.2.12/linux/Makefile Tue Jul 25 12:39:54 1995
+++ linux/Makefile Wed Jul 26 09:43:44 1995
@@ -1,6 +1,6 @@
VERSION = 1
PATCHLEVEL = 2
-SUBLEVEL = 12
+SUBLEVEL = 13
ARCH = i386
diff -u --recursive --new-file v1.2.12/linux/drivers/net/ppp.c linux/drivers/net/ppp.c
--- v1.2.12/linux/drivers/net/ppp.c Tue Jul 25 12:39:54 1995
+++ linux/drivers/net/ppp.c Thu Jul 27 09:08:11 1995
@@ -1262,6 +1262,12 @@
} else goto wait;
}
+ i = verify_area (VERIFY_WRITE,buf,nr);
+ if (i != 0) {
+ ppp->us_rbuff_lock = 0;
+ return i;
+ }
+
/* reset the time of the last read operation */
ppp->ddinfo.nip_rjiffies = jiffies;
@@ -1303,6 +1309,12 @@
current->timeout = 0;
PRINTKN (3,(KERN_DEBUG "ppp_read: sleeping\n"));
interruptible_sleep_on (&ppp->read_wait);
+
+ /* Ensure that the ppp device is still attached. */
+ ppp = ppp_find(tty);
+ if (!ppp || ppp->magic != PPP_MAGIC || !ppp->inuse)
+ return 0;
+
if (current->signal & ~current->blocked)
return -EINTR;
} while (1);
@@ -1354,6 +1366,10 @@
nr = ppp->mtu;
}
+ i = verify_area (VERIFY_READ,buf,nr);
+ if (i != 0)
+ return i;
+
if (ppp_debug >= 3)
ppp_print_buffer ("write frame", buf, nr, USER_DS);
@@ -1363,6 +1379,12 @@
current->timeout = 0;
PRINTKN (3,(KERN_DEBUG "ppp_write: sleeping\n"));
interruptible_sleep_on(&ppp->write_wait);
+
+ /* Ensure that the ppp device is still attached. */
+ ppp = ppp_find(tty);
+ if (!ppp || ppp->magic != PPP_MAGIC || !ppp->inuse)
+ return 0;
+
if (current->signal & ~current->blocked)
return -EINTR;
}
diff -u --recursive --new-file v1.2.12/linux/fs/block_dev.c linux/fs/block_dev.c
--- v1.2.12/linux/fs/block_dev.c Mon Jan 23 23:04:09 1995
+++ linux/fs/block_dev.c Tue Aug 1 10:05:32 1995
@@ -197,6 +197,9 @@
if (offset > size)
left = 0;
+ /* size - offset might not fit into left, so check explicitly. */
+ else if (size - offset > INT_MAX)
+ left = INT_MAX;
else
left = size - offset;
if (left > count)
diff -u --recursive --new-file v1.2.12/linux/fs/hpfs/hpfs_fs.c linux/fs/hpfs/hpfs_fs.c
--- v1.2.12/linux/fs/hpfs/hpfs_fs.c Sun Feb 5 14:44:32 1995
+++ linux/fs/hpfs/hpfs_fs.c Wed Jul 26 09:43:32 1995
@@ -1297,7 +1297,7 @@
/*
* name not found.
*/
-
+ brelse4(qbh);
return 0;
}
diff -u --recursive --new-file v1.2.12/linux/fs/nfs/dir.c linux/fs/nfs/dir.c
--- v1.2.12/linux/fs/nfs/dir.c Mon Jan 23 10:38:29 1995
+++ linux/fs/nfs/dir.c Wed Aug 2 09:52:08 1995
@@ -248,7 +248,7 @@
entry->fhandle = *fhandle;
entry->fattr = *fattr;
entry->expiration_date = jiffies + (S_ISDIR(fattr->mode)
- ? NFS_SERVER(dir)->acdirmax : NFS_SERVER(dir)->acregmax);
+ ? NFS_SERVER(dir)->acdirmin : NFS_SERVER(dir)->acregmin);
}
static void nfs_lookup_cache_remove(struct inode *dir, struct inode *inode,
diff -u --recursive --new-file v1.2.12/linux/fs/proc/inode.c linux/fs/proc/inode.c
--- v1.2.12/linux/fs/proc/inode.c Tue Jul 25 12:39:54 1995
+++ linux/fs/proc/inode.c Tue Aug 1 13:06:57 1995
@@ -194,10 +194,9 @@
return;
}
ino &= 0x0000ffff;
- if (ino == PROC_PID_INO ||
- (p->dumpable && p->uid == p->euid && p->gid == p->egid)) {
- inode->i_uid = p->uid;
- inode->i_gid = p->gid;
+ if (ino == PROC_PID_INO || p->dumpable) {
+ inode->i_uid = p->euid;
+ inode->i_gid = p->egid;
}
switch (ino) {
case PROC_PID_INO: