From owner-freebsd-hackers@FreeBSD.ORG Sun Jul 23 09:31:34 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BEC2716A4E1 for ; Sun, 23 Jul 2006 09:31:34 +0000 (UTC) (envelope-from shangjie.li@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.169]) by mx1.FreeBSD.org (Postfix) with ESMTP id 232D543D46 for ; Sun, 23 Jul 2006 09:31:33 +0000 (GMT) (envelope-from shangjie.li@gmail.com) Received: by ug-out-1314.google.com with SMTP id j3so1840176ugf for ; Sun, 23 Jul 2006 02:31:33 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=UBXRgHFHR7B9z+ve+Y51Zh9Kab50B4BV/BaawB27JwJrgwPSILLP6nftReF7u5wRU9jOHaEzwD/1HxxVZLKt/Suvl23GmKibPhwwG9dRY0dVC1uMou6BoAtNgY+dsRjxcuNG4WmZp84gLO4R+L2eHyIlHrcN59YM6XNvvwTpgcw= Received: by 10.78.122.11 with SMTP id u11mr1064285huc; Sun, 23 Jul 2006 02:31:33 -0700 (PDT) Received: by 10.78.127.20 with HTTP; Sun, 23 Jul 2006 02:31:32 -0700 (PDT) Message-ID: Date: Sun, 23 Jul 2006 17:31:32 +0800 From: "=?GB2312?B?wO7J0L3c?=" To: freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: An error about IPC permission checking X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Jul 2006 09:31:34 -0000 in the source code kern/sysv_shm.c: 729 error = ipcperm(td, &shmseg->u.shm_perm, mode); 730 #ifdef MAC 731 error = mac_check_sysv_shmget(td->td_ucred, shmseg, uap->shmflg); 732 if (error != 0) 733 MPRINTF(("mac_check_sysv_shmget returned %d\n", error)); 734 #endif 735 if (error) 736 return (error); The return value of ipcperm() call is not be checked in time, and interrupted by mac checking, if Mac is enabled. -- -- |Best regards. |Shangjie, Li (Ph.D candidate) |Institute of Software, Chinese Academy of Sciences, |P.O. Box 8718, Beijing 100080, CHINA |Phone: (8610)62561197/62635158-1008(O), 82680528(H) |Email: shangjie02@ios.cn >---------------------------------------------------<