From owner-freebsd-arch Sat Jun 29 15:14:42 2002 Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5D81C37B400 for ; Sat, 29 Jun 2002 15:14:39 -0700 (PDT) Received: from gull.mail.pas.earthlink.net (gull.mail.pas.earthlink.net [207.217.120.84]) by mx1.FreeBSD.org (Postfix) with ESMTP id 097D543E09 for ; Sat, 29 Jun 2002 15:14:39 -0700 (PDT) (envelope-from tlambert2@mindspring.com) Received: from pool0102.cvx22-bradley.dialup.earthlink.net ([209.179.198.102] helo=mindspring.com) by gull.mail.pas.earthlink.net with esmtp (Exim 3.33 #2) id 17OQUI-0007LQ-00 for arch@freebsd.org; Sat, 29 Jun 2002 15:14:38 -0700 Message-ID: <3D1E3126.C96FFAA5@mindspring.com> Date: Sat, 29 Jun 2002 15:13:58 -0700 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: arch@freebsd.org Subject: Time to make the stack non-executable? References: <3D1E28ED.B67A5271@FreeBSD.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Doug Barton wrote: > Subject: We're famous >http://story.news.yahoo.com/news?tmpl=story&ncid=70&e=2&cid=70&u=/cn/20020629/tc_cn/940585 Sean Eric Fagan and I discussed this several years ago, and we discussed it again the other day, before this attack hit. It looks like it's an idea whose time has come. We've identified a number of issues that might make doing this problematic, and on which there needs to be feedback: o Java; specifically, JITs may rely on an executable stack. Neither of us knows if this is true, for sure. o FORTH? Same question. o Signals o Julian's new threads patches o Multiple architecture support Right now, SEF points out (and I concur) that the only portion of the system that seems to care about having an executable stack is the signal trampoline. I would imagine that the trampoline for the user space threads scheduler for KSE based threading will (does) have the same problem. For signals, this is easy: copy SVR4, and modify the signal functions to pass in a return address, then disable the execute bits on stack pages and see whose head blows up. Frankly, I'm very surprised to discover that OpenBSD has not already done this. Opinions? Patches from people who know and love the signals facility on Alpha, SPARC64, PPC, etc.? -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message