Hi Neale,
> Is this the same bit of logic in 2.4.7:
Indeed:

diff -urN linux-2.4.7/arch/s390/mm/fault.c linux-2.4.7-s390/arch/s390/mm/fault.c
--- linux-2.4.7/arch/s390/mm/fault.c      Thu May 23 10:04:50 2002
+++ linux-2.4.7-s390/arch/s390/mm/fault.c Wed May 22 20:13:04 2002
@@ -163,6 +163,8 @@

         switch (error_code & 0xFF) {
                 case 0x04:                                /* write, present*/
+                        if (!(vma->vm_flags & VM_WRITE))
+                                goto bad_area;
                         write = 1;
                         break;
                 case 0x10:                                   /* not present*/
diff -urN linux-2.4.7/arch/s390x/mm/fault.c linux-2.4.7-s390/arch/s390x/mm/fault.c
--- linux-2.4.7/arch/s390x/mm/fault.c     Thu May 23 10:04:59 2002
+++ linux-2.4.7-s390/arch/s390x/mm/fault.c      Wed May 22 20:13:04 2002
@@ -163,6 +163,8 @@

         switch (error_code & 0xFF) {
                 case 0x04:                                /* write, present*/
+                        if (!(vma->vm_flags & VM_WRITE))
+                                goto bad_area;
                         write = 1;
                         break;
                 case 0x10:                                   /* not present*/

blue skies,
   Martin

Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Sch�naicherstr. 220, D-71032 B�blingen, Telefon: 49 - (0)7031 - 16-2247
E-Mail: [EMAIL PROTECTED]

Reply via email to