94 lines
3.7 KiB
Plaintext
94 lines
3.7 KiB
Plaintext
From samba.oit.unc.edu!concert!news-feed-1.peachnet.edu!gatech!howland.reston.ans.net!sol.ctr.columbia.edu!caen!batcomputer!bounce-bounce Wed Aug 18 19:49:49 EDT 1993
|
|
Article: 1022 of comp.os.linux.announce
|
|
Path: samba.oit.unc.edu!concert!news-feed-1.peachnet.edu!gatech!howland.reston.ans.net!sol.ctr.columbia.edu!caen!batcomputer!bounce-bounce
|
|
From: torvalds@cc.helsinki.fi (Linus Torvalds)
|
|
Newsgroups: comp.os.linux.announce
|
|
Subject: Very small patch to 0.99pl12
|
|
Followup-To: comp.os.linux
|
|
Date: 18 Aug 1993 09:50:58 -0400
|
|
Organization: University of Helsinki
|
|
Lines: 74
|
|
Sender: mdw@TC.Cornell.EDU
|
|
Approved: linux-announce@tc.cornell.edu (Matt Welsh)
|
|
Message-ID: <24tc42$sf2@theory.TC.Cornell.EDU>
|
|
Reply-To: torvalds@cc.helsinki.fi (Linus Torvalds)
|
|
NNTP-Posting-Host: theory.tc.cornell.edu
|
|
Keywords: kernel patch
|
|
|
|
I hate to put out patches this soon after a release, but there is one
|
|
potentially major problem in pl12 which is very simple to fix.. I'm
|
|
including patches: both in plain ascii and as a uuencoded gzip file
|
|
(it's the same patch - the uuencoded one is in case there is any
|
|
newsserver that messes up whitespace).
|
|
|
|
The main patch is just the change from __get_free_page(GFP_BUFFER) into
|
|
get_free_page(GFP_KERNEL), and the two minor patches just add checks
|
|
that actually enforce the read-only nature of current file mmap'ings so
|
|
that any program that tries to do a write mapping at least will be told
|
|
that it won't work.
|
|
|
|
I'd suggest anybody compiling pl12 should add at least the file_table.c
|
|
patch: thanks to Alexandre Julliard for noticing this one.
|
|
|
|
Linus
|
|
|
|
----------
|
|
diff -u --recursive --new-files pl12/linux/fs/file_table.c linux/fs/file_table.c
|
|
--- pl12/linux/fs/file_table.c Mon Aug 9 17:41:22 1993
|
|
+++ linux/fs/file_table.c Tue Aug 17 18:32:13 1993
|
|
@@ -45,7 +45,7 @@
|
|
struct file * file;
|
|
int i;
|
|
|
|
- file = (struct file*) __get_free_page(GFP_BUFFER);
|
|
+ file = (struct file *) get_free_page(GFP_KERNEL);
|
|
|
|
if (!file)
|
|
return;
|
|
diff -u --recursive --new-files pl12/linux/fs/nfs/mmap.c linux/fs/nfs/mmap.c
|
|
--- pl12/linux/fs/nfs/mmap.c Sun Aug 15 11:46:03 1993
|
|
+++ linux/fs/nfs/mmap.c Tue Aug 17 22:39:38 1993
|
|
@@ -50,6 +50,8 @@
|
|
{
|
|
struct vm_area_struct * mpnt;
|
|
|
|
+ if (prot & PAGE_RW) /* only PAGE_COW or read-only supported now */
|
|
+ return -EINVAL;
|
|
if (off & (inode->i_sb->s_blocksize - 1))
|
|
return -EINVAL;
|
|
if (len > high_memory || off > high_memory - len) /* avoid overflow */
|
|
diff -u --recursive --new-files pl12/linux/mm/mmap.c linux/mm/mmap.c
|
|
--- pl12/linux/mm/mmap.c Mon Aug 9 18:02:33 1993
|
|
+++ linux/mm/mmap.c Tue Aug 17 22:39:38 1993
|
|
@@ -197,6 +197,8 @@
|
|
extern struct vm_operations_struct file_mmap;
|
|
struct buffer_head * bh;
|
|
|
|
+ if (prot & PAGE_RW) /* only PAGE_COW or read-only supported right now */
|
|
+ return -EINVAL;
|
|
if (off & (inode->i_sb->s_blocksize - 1))
|
|
return -EINVAL;
|
|
if (len > high_memory || off > high_memory - len) /* avoid overflow */
|
|
----------
|
|
begin 644 diff.gz
|
|
M'XL( &5&<2P" -637V_:,!3%GY-/<?=2$5*/.H$"04.P":IJ75>Q/WVT KD!
|
|
M:XD=.0YMMW[X.0$UH465JCWM(8Y]?,^U]3M)Q.,82 &$*%P5*N=;-'.!=R3F
|
|
M">:0)=3K)%P4]YTX[Y0:T^$RP?<K.*K:A)!73-87*6!:K &&0/M!EP:>!W0X
|
|
M]&W7=8]WM+X76%EH'^@@\+V ^CO+9 *DVSOM@UN-DXD-5JY5L=)0-H!V]1H9
|
|
ME0L-W$QL8E4['Z#5*&P[P-@:-8L5(LO"-;8NYC?LXX_Y?+9P1K9[S 3&]=+S
|
|
M>;:XGETYY5'FU!A:[\I:QRPLA;I08F1';R(NS).F8=;D76M':->;UK=BQYKV
|
|
M@-*@>QZ<^4=8-PP-TIX7^,/ ']2D>V>GY^":<5"1_E/#WJ8L5!BR_;(-:29T
|
|
MB<"M$&1*:CB!F^G%C"UN':O3!BF2AYWPZ>LM2 7&'I%*S8LLDTIC!$+>0;MC
|
|
MFNS1 9E=7O^<7HWV:*7A> (M+F2$9,Q9OB3CG"T3N?J5\]\&*E"G0?ZY/4$!
|
|
M8]CP]8:EF$KU (^/4/8\% F80@?,I<.MY!'(+:HXV5WM#5&FZ6&,3^OG$3YM
|
|
M'/PJ@^#,!/(BOKKXU>CHL%]F5[YVX5EXK]$@J0.4&:I0<RERUOC(6=E]5">]
|
|
=+.(8%=N8M$S,R\V_AZP,:OT?1/T7_';.!R@% "4
|
|
|
|
end
|
|
|
|
|
|
--
|
|
Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu
|
|
|
|
|