From owner-svn-soc-all@FreeBSD.ORG Sat Aug 9 15:32:26 2014 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5CDDD10C for ; Sat, 9 Aug 2014 15:32:26 +0000 (UTC) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2F87227CD for ; Sat, 9 Aug 2014 15:32:26 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id s79FWQx4070919 for ; Sat, 9 Aug 2014 15:32:26 GMT (envelope-from op@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id s79FWPjo070732 for svn-soc-all@FreeBSD.org; Sat, 9 Aug 2014 15:32:25 GMT (envelope-from op@FreeBSD.org) Date: Sat, 9 Aug 2014 15:32:25 GMT Message-Id: <201408091532.s79FWPjo070732@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to op@FreeBSD.org using -f From: op@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r272128 - in soc2014/op/freebsd-base/sys: amd64/amd64 kern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Aug 2014 15:32:26 -0000 Author: op Date: Sat Aug 9 15:32:25 2014 New Revision: 272128 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=272128 Log: KSP SMAP: fix alert message in trap, and removed unused code Signed-off-by: Oliver Pinter git: https://github.com/opntr/opBSD/tree/op/gsoc2014/smap+kpatch Modified: soc2014/op/freebsd-base/sys/amd64/amd64/trap.c soc2014/op/freebsd-base/sys/kern/kern_selfpatch.c Modified: soc2014/op/freebsd-base/sys/amd64/amd64/trap.c ============================================================================== --- soc2014/op/freebsd-base/sys/amd64/amd64/trap.c Sat Aug 9 14:33:44 2014 (r272127) +++ soc2014/op/freebsd-base/sys/amd64/amd64/trap.c Sat Aug 9 15:32:25 2014 (r272128) @@ -705,7 +705,7 @@ * value of EFLAGS.AC." - Intel Ref. # 319433-014 9.3.2 */ if (__predict_false(smap_access_violation(frame, usermode))) { - printf("Supervisor Mode Access Prevention\n"); + printf("\nSupervisor Mode Access Prevention\n"); trap_fatal(frame, eva); return(-1); } Modified: soc2014/op/freebsd-base/sys/kern/kern_selfpatch.c ============================================================================== --- soc2014/op/freebsd-base/sys/kern/kern_selfpatch.c Sat Aug 9 14:33:44 2014 (r272127) +++ soc2014/op/freebsd-base/sys/kern/kern_selfpatch.c Sat Aug 9 15:32:25 2014 (r272128) @@ -158,11 +158,7 @@ void lf_selfpatch_apply(linker_file_t lf, struct lf_selfpatch *p) { -#if 0 - vm_paddr_t *pages; -#else vm_paddr_t pages[4]; -#endif vm_offset_t page_offset; int i, page_number; @@ -187,12 +183,10 @@ page_number = (p->patchable_size >> PAGE_SHIFT) + ((page_offset + p->patchable_size) > PAGE_SIZE ? 2 : 1); -#if 0 - pages = malloc(page_number, M_TEMP, M_WAITOK | M_ZERO); -#else + DBG("page_number: %d\n", page_number); + KASSERT(page_number < 4, ("patch size longer than 3 page does not supported yet\n")); -#endif DBG("change mapping attribute from RX to RWX:\n"); for (i=0; ipatchable) + i * PAGE_SIZE; pages[i] = pmap_kextract(kva); + + DBG("kva: %p page: %p\n", (void *)kva, (void *)pages[i]); pmap_kenter_attr(kva, pages[i], VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE); } DBG("done.\n"); @@ -216,10 +212,6 @@ pmap_kenter_attr(kva, pages[i], VM_PROT_READ | VM_PROT_EXECUTE); } DBG("done.\n"); - -#if 0 - free(pages, M_TEMP); -#endif } void