From naota @ elisp.net Tue Mar 1 17:45:42 2011 From: naota @ elisp.net (Naohiro Aota) Date: Tue, 01 Mar 2011 17:45:42 +0900 Subject: [Tomoyo-dev 1284] Re: =?iso-2022-jp?b?dG9tb3lvLXRvb2xzIDIuMi4wcDIvMi4zLjBwMSA=?= =?iso-2022-jp?b?GyRCJHIlaiVqITwlOSQ3JF4kNyQ/ISMbKEI=?= In-Reply-To: <201102112313.IBG65122.PPVGNPTFSNtPTStZU@I-love.SAKURA.ne.jp> (Tetsuo Handa's message of "Fri, 11 Feb 2011 23:13:21 +0900") References: <201102112313.IBG65122.PPVGNPTFSNtPTStZU@I-love.SAKURA.ne.jp> Message-ID: <874o7nb555.fsf@elisp.net> 青田です。 Tetsuo Handa writes: > TOMOYO 2.2.0/2.3.0 用のツールパッケージがアップデートされました。 2.3.x/tomoyo-tools/usr_sbin/Makefile でのコンパイルで libtomoyotools.so を使っているようですが、依存関係に反映されていないため並行ビルドが失敗し ます。 とりあえず、以下のパッチで並行でもビルドが成功することを確認しました。 Index: 2.3.x/tomoyo-tools/usr_sbin/Makefile =================================================================== --- 2.3.x/tomoyo-tools/usr_sbin/Makefile (revision 4662) +++ 2.3.x/tomoyo-tools/usr_sbin/Makefile (working copy) @@ -24,6 +24,8 @@ tomoyo-queryd: tomoyotools.h tomoyo-queryd.c readline.h /usr/include/curses.h libtomoyotools.so $(CC) $(CFLAGS) -o tomoyo-queryd tomoyo-queryd.c -lncurses -ltomoyotools -L. +$(BUILD_FILES): libtomoyotools.so + install: all mkdir -p $(INSTALLDIR)/usr/sbin $(INSTALLDIR)/usr/lib cp -af --remove-destination $(BUILD_FILES) $(INSTALLDIR)/usr/sbin/ -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/pgp-signature サイズ: 197 バイト 説明: 無し URL: http://lists.sourceforge.jp/mailman/archives/tomoyo-dev/attachments/20110301/82939dcb/attachment.pgp From from-tomoyo-dev @ I-love.SAKURA.ne.jp Tue Mar 1 20:45:13 2011 From: from-tomoyo-dev @ I-love.SAKURA.ne.jp (Tetsuo Handa) Date: Tue, 1 Mar 2011 20:45:13 +0900 Subject: [Tomoyo-dev 1285] Re: =?iso-2022-jp?b?dG9tb3lvLXRvb2xzIDIuMi4wcDIvMi4zLjBwMSA=?= =?iso-2022-jp?b?GyRCJHIlaiVqITwlOSQ3JF4kNyQ/ISMbKEI=?= In-Reply-To: <874o7nb555.fsf@elisp.net> References: <201102112313.IBG65122.PPVGNPTFSNtPTStZU@I-love.SAKURA.ne.jp> <874o7nb555.fsf@elisp.net> Message-ID: <201103012045.AFJ34865.NPtFPNGEZPWtSUP@I-love.SAKURA.ne.jp> Naohiro Aota さんは書きました: > 2.3.x/tomoyo-tools/usr_sbin/Makefile でのコンパイルで libtomoyotools.so > を使っているようですが、依存関係に反映されていないため並行ビルドが失敗し > ます。 ありがとうございます。 Revision 4671 で修正しました。 From from-tomoyo-users @ I-love.SAKURA.ne.jp Wed Mar 2 16:47:46 2011 From: from-tomoyo-users @ I-love.SAKURA.ne.jp (Tetsuo Handa) Date: Wed, 02 Mar 2011 16:47:46 +0900 Subject: [Tomoyo-dev 1286] =?iso-2022-jp?b?VE9NT1lPIDIuMyAbJEIkTiVhJWIlaiVqITwlLxsoQg==?= Message-ID: <201103020747.p227lk51076298@www262.sakura.ne.jp> カーネル 2.6.36 以降に含まれている TOMOYO 2.3 にメモリリークが見つかりました。 ファイルのオープン時にパーミッションをチェックする tomoyo_check_open_permission() の中で、 allow_rewrite パーミッションの チェック時に既に導出済みのパス名を再度導出してしまっていました。 int tomoyo_check_open_permission(struct tomoyo_domain_info *domain, struct path *path, const int flag) { const u8 acc_mode = ACC_MODE(flag); int error = -ENOMEM; struct tomoyo_path_info buf; struct tomoyo_request_info r; int idx; if (!path->mnt || (path->dentry->d_inode && S_ISDIR(path->dentry->d_inode->i_mode))) return 0; buf.name = NULL; r.mode = TOMOYO_CONFIG_DISABLED; idx = tomoyo_read_lock(); if (!tomoyo_get_realpath(&buf, path)) goto out; error = 0; /* * If the filename is specified by "deny_rewrite" keyword, * we need to check "allow_rewrite" permission when the filename is not * opened for append mode or the filename is truncated at open time. */ if ((acc_mode & MAY_WRITE) && !(flag & O_APPEND) && tomoyo_init_request_info(&r, domain, TOMOYO_MAC_FILE_REWRITE) != TOMOYO_CONFIG_DISABLED) { if (!tomoyo_get_realpath(&buf, path)) { error = -ENOMEM; goto out; } if (tomoyo_no_rewrite_file(&buf)) error = tomoyo_path_permission(&r, TOMOYO_TYPE_REWRITE, &buf); } (...snipped...) } そのため、ファイルが O_APPEND フラグを指定しないで書き込みモードでオープン された場合にメモリリークが発生します。また、プロファイルの設定に関係なく (つまり CONFIG={ mode=disabled } の場合であっても)パス名を導出してしまって いるためパフォーマンス低下が生じています。 このメモリリークおよびパフォーマンス低下を修正するためには以下のパッチを 適用して再コンパイルおよび再起動してください。 --- security/tomoyo/file.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) --- linux-2.6.38-rc7.orig/security/tomoyo/file.c +++ linux-2.6.38-rc7/security/tomoyo/file.c @@ -927,7 +927,7 @@ int tomoyo_check_open_permission(struct struct path *path, const int flag) { const u8 acc_mode = ACC_MODE(flag); - int error = -ENOMEM; + int error = 0; struct tomoyo_path_info buf; struct tomoyo_request_info r; int idx; @@ -938,9 +938,6 @@ int tomoyo_check_open_permission(struct buf.name = NULL; r.mode = TOMOYO_CONFIG_DISABLED; idx = tomoyo_read_lock(); - if (!tomoyo_get_realpath(&buf, path)) - goto out; - error = 0; /* * If the filename is specified by "deny_rewrite" keyword, * we need to check "allow_rewrite" permission when the filename is not すぐに再起動できない場合には、以下の内容を /etc/tomoyo/profile.conf および /sys/kernel/security/tomoyo/profile へと追加する( allow_rewrite パーミッション のチェックを無効化する)ことでメモリリークを回避できます。 0-CONFIG::file::rewrite={ mode=disabled } 1-CONFIG::file::rewrite={ mode=disabled } 2-CONFIG::file::rewrite={ mode=disabled } 3-CONFIG::file::rewrite={ mode=disabled } From from-tomoyo-users @ I-love.SAKURA.ne.jp Mon Mar 21 14:38:50 2011 From: from-tomoyo-users @ I-love.SAKURA.ne.jp (Tetsuo Handa) Date: Mon, 21 Mar 2011 14:38:50 +0900 Subject: [Tomoyo-dev 1287] FW: [tomoyo-users-en 264] new project: tomld (tomoyo learning daemon) References: <20110320193525.194a2d97@dell.andras> Message-ID: <201103211438.ECF87555.SVPNPUFZNGTPtTtPS@I-love.SAKURA.ne.jp>  Horvath Andras さんが TOMOYO 2.2 用のポリシー作成支援ツールを開発されました。 Python で記述された CUI プログラムです。ドメイン名の最後のプログラム名部分だけで 扱うなど、 AppArmor に似た操作性を目指しているという印象を受けました。 (下記メール中の .ovg は VLC メディアプレーヤーなどで再生できます。) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dear Members, I'd like to announce my new project that i created recently buuilding on Tomoyo module. The goal is a fully automatic MAC configuration solution. My site: http://log69.com/tomld_en.html Screenshot: http://log69.com/images/tomld013.png You can find tutorial videos too: http://log69.com/extras/tomld_usage_demo.ogv http://log69.com/extras/tomld_access_demo.ogv The code is still in alpha status, but i'm already using and testing it in a smaller production environment. Every suggestion is welcome! Greetings, Andras -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iEYEARECAAYFAk2GSO0ACgkQAx9+mHylNBh+VQCgjwwbXYVyE7cPgYjS9K+zxGbU qi8An2tiAV1K0tqk9UI95exH6JzWHLVr =DATX -----END PGP SIGNATURE-----