From mboxrd@z Thu Jan 1 00:00:00 1970 From: guido@trentalancia.com (Guido Trentalancia) Date: Wed, 16 Feb 2011 07:00:56 +0100 Subject: [refpolicy] [PATCH 4/34]: patch to make cpufreqselector usable with dbus Message-ID: <1297836056.3205.33.camel@tesla.lan> To: refpolicy@oss.tresys.com List-Id: refpolicy.oss.tresys.com This patch adds a new interface to the cpufreqselector module to allow dbus chat. It then uses such interface to allow dbus chat with system_dbusd_t and xdm_t. This patch also adds some other permissions needed to run cpufreqselector. diff -pruN refpolicy-git-02022011-test-apply/policy/modules/apps/cpufreqselector.if refpolicy-git-02022011-test-apply2/policy/modules/apps/cpufreqselector.if --- refpolicy-git-02022011-test-apply/policy/modules/apps/cpufreqselector.if 2011-01-08 19:07:21.176730930 +0100 +++ refpolicy-git-02022011-test-apply2/policy/modules/apps/cpufreqselector.if 2011-02-07 00:44:07.572642438 +0100 @@ -1 +1,22 @@ ## Command-line CPU frequency settings. + +######################################## +## +## Send and receive messages from +## cpufreq-selector over dbus. +## +## +## +## Domain allowed access. +## +## +# +interface(`cpufreqselector_dbus_chat',` + gen_require(` + type cpufreqselector_t; + class dbus send_msg; + ') + + allow $1 cpufreqselector_t:dbus send_msg; + allow cpufreqselector_t $1:dbus send_msg; +') diff -pruN refpolicy-git-02022011-test-apply/policy/modules/apps/cpufreqselector.te refpolicy-git-02022011-test-apply2/policy/modules/apps/cpufreqselector.te --- refpolicy-git-02022011-test-apply/policy/modules/apps/cpufreqselector.te 2011-01-08 19:07:21.177731088 +0100 +++ refpolicy-git-02022011-test-apply2/policy/modules/apps/cpufreqselector.te 2011-02-07 00:44:07.573642603 +0100 @@ -15,8 +15,11 @@ application_domain(cpufreqselector_t, cp # allow cpufreqselector_t self:capability { sys_nice sys_ptrace }; +allow cpufreqselector_t self:process getsched; allow cpufreqselector_t self:fifo_file rw_fifo_file_perms; +kernel_read_system_state(cpufreqselector_t) + files_read_etc_files(cpufreqselector_t) files_read_usr_files(cpufreqselector_t) diff -pruN refpolicy-git-02022011-test-apply/policy/modules/services/dbus.te refpolicy-git-02022011-test-apply2/policy/modules/services/dbus.te --- refpolicy-git-02022011-test-apply/policy/modules/services/dbus.te 2011-01-08 19:07:21.238740722 +0100 +++ refpolicy-git-02022011-test-apply2/policy/modules/services/dbus.te 2011-02-07 00:45:11.917246756 +0100 @@ -141,6 +141,10 @@ optional_policy(` ') optional_policy(` + cpufreqselector_dbus_chat(system_dbusd_t) +') + +optional_policy(` policykit_dbus_chat(system_dbusd_t) policykit_domtrans_auth(system_dbusd_t) policykit_search_lib(system_dbusd_t) diff -pruN refpolicy-git-02022011-test-apply/policy/modules/services/xserver.te refpolicy-git-02022011-test-apply2/policy/modules/services/xserver.te --- refpolicy-git-02022011-test-apply/policy/modules/services/xserver.te 2011-01-08 19:07:21.344757464 +0100 +++ refpolicy-git-02022011-test-apply2/policy/modules/services/xserver.te 2011-02-07 00:46:02.605388279 +0100 @@ -516,6 +516,10 @@ optional_policy(` ') optional_policy(` + cpufreqselector_dbus_chat(xdm_t) +') + +optional_policy(` # Talk to the console mouse server. gpm_stream_connect(xdm_t) gpm_setattr_gpmctl(xdm_t)