- Feb 27, 2015
-
-
Nick Kralevich authored
clatd calls mmap(MAP_LOCKED) with a 1M buffer. MAP_LOCKED first checks capable(CAP_IPC_LOCK), and then checks to see the requested amount is under RLIMIT_MEMLOCK. The latter check succeeds. As a result, clatd does not need CAP_IPC_LOCK, so we suppress any denials we see from clatd asking for this capability. See https://android-review.googlesource.com/127940 Suppresses the following denial: type=1400 audit(1424916750.163:7): avc: denied { ipc_lock } for pid=3458 comm="clatd" capability=14 scontext=u:r:clatd:s0 tcontext=u:r:clatd:s0 tclass=capability Change-Id: Ica108f66010dfc6a5431efa0b4e58f6a784672d1
-
- Feb 26, 2015
-
-
Nick Kralevich authored
-
- Feb 25, 2015
-
-
Nick Kralevich authored
Vold opens ASEC containsers on the sdcard, or OBB files from app's home directories, both of which are supplied by vold. We need to allow kernel threads to access those file descriptors. Addresses the following denial: loop0 : type=1400 audit(0.0:28): avc: denied { use } for path="/mnt/secure/asec/smdl1159865753.tmp.asec" dev="mmcblk1" ino=19 scontext=u:r:kernel:s0 tcontext=u:r:vold:s0 tclass=fd permissive=0 Bug: 19516891 Change-Id: I5a3607b48f5e0e504e4b3fcaec19152c3784f49d
-
Mohamad Ayyash authored
Change-Id: Icfa4b2cac6a960ef47e928308e4c6c9bd797d180 Signed-off-by:
Mohamad Ayyash <mkayyash@google.com>
-
Nick Kralevich authored
Revert the tightening of /proc/net access. These changes are causing a lot of denials, and I want additional time to figure out a better solution. Addresses the following denials (and many more): avc: denied { read } for comm="SyncAdapterThre" name="stats" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file avc: denied { read } for comm="facebook.katana" name="iface_stat_fmt" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file avc: denied { read } for comm="IntentService[C" name="if_inet6" dev="proc" ino=X scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file avc: denied { read } for comm="dumpstate" name="iface_stat_all" dev="proc" ino=X scontext=u:r:dumpstate:s0 tcontext=u:object_r:proc_net:s0 tclass=file This reverts commit 0f0324cc and commit 99940d1a Bug: 9496886 Bug: 19034637 Change-Id: I436a6e3638ac9ed49afbee214e752fe2b0112868
-
Nick Kralevich authored
Addresses the following auditallow messages: avc: granted { find } for service=accessibility scontext=u:r:su:s0 tcontext=u:object_r:accessibility_service:s0 tclass=service_manager avc: granted { find } for service=activity scontext=u:r:su:s0 tcontext=u:object_r:activity_service:s0 tclass=service_manager avc: granted { find } for service=package scontext=u:r:su:s0 tcontext=u:object_r:package_service:s0 tclass=service_manager avc: granted { find } for service=user scontext=u:r:su:s0 tcontext=u:object_r:user_service:s0 tclass=service_manager avc: granted { find } for service=window scontext=u:r:su:s0 tcontext=u:object_r:window_service:s0 tclass=service_manager Change-Id: Ie58ad3347e9ef1aacd39670cfec7d095875e237b
-
Nick Kralevich authored
Addresses post-review comment in https://android-review.googlesource.com/130620 Change-Id: I427ba99d63724eb526d41da47b95cc0ae038acdd
-
- Feb 24, 2015
-
-
Nick Kralevich authored
-
Nick Kralevich authored
-
Stephen Smalley authored
The recovery partition has been assigned a recovery_block_device type for the AOSP devices, so install_recovery should not need rw access to the generic block_device type. Remove it. Change-Id: I31621a8157998102859a6e9eb76d405caf6d5f0d Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
Nick Kralevich authored
-
Stephen Smalley authored
SELinux policy booleans are prohibited in AOSP, so we can drop the support for the sebool= input selector. Change-Id: I5ae31247b2f68d90f6ae4c8830458f22c4ffc854 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
Stephen Smalley authored
Presently it ignores duplicate keys in seapp_contexts entries, e.g. if you were to specify: user=system seinfo=platform user=bluetooth domain=system_app type=system_app_data_file checkseapp would ignore the duplicate and libselinux would end up using the last value defined for the key in each line. Change-Id: I18cadb0c1bf5a907e6fc6513df65aafed91d76fe Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
Nick Kralevich authored
-
- Feb 23, 2015
-
-
Nick Kralevich authored
Add a compile time assertion that no SELinux rule exists which allows mounting on top of symbolic links, fifo files, or socket files. Remove the capability from unconfined domains. Change-Id: I6d7cc95cd17e2e5f165fa5948563800ed206bb71
-
Stephen Smalley authored
The README jumped directly into using the BOARD_SEPOLICY_* variables for device-specific policy; add a short introduction describing what external/sepolicy contains and noting where to put device-specific policy. Change-Id: I3c800df93d70074384da993a689a5a0771ecb314 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
Yongqin Liu authored
allow the bootchart to create dir and files at init, also allow user to create the stop and start file under /data/bootchart directory to start and stop bootchart Change-Id: Icfee8dcd17366383eef00fbe3139744bf4427a6b Signed-off-by:
Yongqin Liu <yongqin.liu@linaro.org>
-
- Feb 20, 2015
-
-
Stephen Smalley authored
Exempt unnamed pipes from the MLS constraints so that they can be used for cross-user communications when passed over binder or local socket IPC. Addresses denials such as: avc: denied { read } for path="pipe:[59071]" dev="pipefs" ino=59071 scontext=u:r:untrusted_app:s0:c522,c768 tcontext=u:r:untrusted_app:s0:c512,c768 tclass=fifo_file Bug: 19087939 Change-Id: I77d494c4a38bf473fec05b728eaf253484deeaf8 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Feb 18, 2015
-
-
Sami Tolvanen authored
On dm-verity errors, we catch uevents in ueventd and set the value for a matching verity.* property. Allow ueventd to actually change property values. Needed by changes from Ibb82953594d234f81ad21c40f524190b88e4ac8f Change-Id: I79bc90733edf8a45b27e64795f4adfbb3bc028dc
-
- Feb 13, 2015
-
-
Stephen Smalley authored
Presently it only detects complete duplicates if you specify -s (strict), which is not used in the external/sepolicy Makefile, and it allows overriding earlier entries that have the same input selectors (e.g. user=, seinfo=) with different values for the output selectors (e.g. domain=, type=). Thus, a device/<vendor>/<board>/sepolicy/seapp_contexts file can override the external/sepolicy definitions, and even a single seapp_contexts file can contain duplicated or conflicting definitions. Make it always check strictly, and prohibit either duplicates on the input selectors (i.e. overrides) or complete duplicates (redundant). Change-Id: Id1e38133cbe31b796253101cfe3b111d1826bc8c Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Feb 12, 2015
-
-
dcashman authored
Address the following denial: 02-12 07:51:42.702: E/SELinux(158): avc: denied { find } for service=SurfaceFlinger scontext=u:r:bluetooth:s0 tcontext=u:object_r:surfaceflinger_service:s0 tclass=service_manager which occurs when the remote service starts up. 02-12 07:51:42.702: E/ServiceManager(158): find_service('SurfaceFlinger') uid=1002 - PERMISSION DENIED 02-12 07:51:42.702: I/ServiceManager(2827): Waiting for service SurfaceFlinger... 02-12 07:51:42.959: E/ActivityManager(469): ANR in com.google.android.remote.tv.services 02-12 07:51:42.959: E/ActivityManager(469): PID: 2827 02-12 07:51:42.959: E/ActivityManager(469): Reason: executing service com.google.android.tv.remote/.RemoteService Bug: 19268019 Change-Id: I2d415c2ea2f70cf71851147253cf6e1906fd0940
-
Nick Kralevich authored
14d5619a added a neverallow rule for System V IPC calls. Since this was still allowed for unconfined domains, this broke user builds. Remove System V IPC stuff from unconfined and fix the build. Change-Id: Iea66a9f97a90f8db496f6fa34b5e9642ee926fe6
-
- Feb 11, 2015
-
-
Nick Kralevich authored
-
Nick Kralevich authored
Android doesn't want to support System V IPC classes. Ensure that it isn't supported by adding a neverallow rule (compile time assertion). Change-Id: I278d45960ee557917584f9137323b4cabfe140a9
-
dcashman authored
This was observed when attempting to change volume for a bluetooth device supporting AVRCP volume control. Addresses the following denials: avc: denied { find } for service=media.audio_flinger scontext=u:r:bluetooth:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager avc: denied { find } for service=media.audio_policy scontext=u:r:bluetooth:s0 tcontext=u:object_r:mediaserver_service:s0 tclass=service_manager Bug: 19341236 Change-Id: If7f2ff1ea9fc694bad700cf59f400f2d2df8c2dd
-
Nick Kralevich authored
Commit a833763b enabled per-user isolation, which requires that any files / processes which cross user boundaries be marked with the mlstrustedsubject attribute. system_app_data_file, used for storing a user's profile photos, is not marked as such. As a result, users are unable to add profile photos. Addresses the following denial: avc: denied { write } for path="/data/data/com.android.settings/cache/TakeEditUserPhoto2.jpg" dev="mmcblk0p28" ino=82184 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:system_app_data_file:s0 tclass=file Steps to reproduce: 1.Flash & Factory the Deb device with tip-of-tree build 2.Go to 'Settings-Users' 3.Under users&profiles,click on Owner to add profile photo. 4.Select 'Choose photo from Gallery' and select a photo. 5.Then click the 'Done' button. 6.Device showed the message as 'Unable to save the photo edits'. OBSERVED RESULTS: Unable to add user's profile photo id. This issue is coming for all users(Restricted user,second user)also. EXPECTED RESULTS: Device should allow to add profile photo id. Bug: 19170844 Change-Id: If657dc09dd391e63ca85320f9cc1728580e51a15
-
- Feb 10, 2015
-
-
Stephen Smalley authored
Addresses denials such as: avc: denied { search } for pid=143 comm="e2fsck" name="block" dev="tmpfs" ino=5987 scontext=u:r:fsck:s0 tcontext=u:object_r:block_device:s0 tclass=dir Change-Id: Ieb72fc5e28146530c2f3b235ce74f2f397e49c56 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
Stephen Smalley authored
Change-Id: If414cf8d973270a91628d64442a6d82e546f18f3 Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
Stephen Smalley authored
Change-Id: I70529f83ccba57fae20742827737a300a9f0733f Signed-off-by:
Stephen Smalley <sds@tycho.nsa.gov>
-
- Feb 09, 2015
-
-
dcashman authored
Address the following denial: SELinux : avc: denied { find } for service=android.security.keystore scontext=u:r:bluetooth:s0 tcontext=u:object_r:keystore_service:s0 tclass=service_manager Encountered when remote service attempts access: 02-04 00:15:19.174 E/AndroidRuntime(10847): FATAL EXCEPTION: main 02-04 00:15:19.174 E/AndroidRuntime(10847): Process: com.google.android.remote.tv.services, PID: 10847 02-04 00:15:19.174 E/AndroidRuntime(10847): java.lang.RuntimeException: Unable to create service com.google.android.tv.remote.RemoteService: java.lang.NullPointerException: Attempt to invoke interface method 'int android.security.IKeystoreService.exist(java.lang.String, int)' on a null object reference 02-04 00:15:19.174 E/AndroidRuntime(10847): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2801) Bug: 19268019 Change-Id: I86f85cb19c5540bf041c82ec9a8088aacae67792
-
- Feb 08, 2015
-
-
Nick Kralevich authored
We allow chmod/chown of files / directories by init, but don't allow init to search into subdirectories. Feels wrong. Addresses the following denial: avc: denied { search } for pid=1 comm="init" name="/" dev="pstore" ino=5570 scontext=u:r:init:s0 tcontext=u:object_r:pstorefs:s0 tclass=dir permissive=1 which results from the following init.rc statement: # pstore/ramoops previous console log mount pstore pstore /sys/fs/pstore chown system log /sys/fs/pstore/console-ramoops chmod 0440 /sys/fs/pstore/console-ramoops chown system log /sys/fs/pstore/pmsg-ramoops-0 chmod 0440 /sys/fs/pstore/pmsg-ramoops-0 Bug: 19050686 Change-Id: I0528ecb17686891b66262de1f3c229cc68a56830
-
- Feb 07, 2015
-
-
Elliott Hughes authored
Change-Id: I40a3d089a4a2325abcd1e12aa57b1fd97a1f7902
-
- Feb 06, 2015
-
-
dcashman authored
The shell domain is already allowed to list and find all service_manager objects, so extra auditing is pointless. Bug: 18106000 Change-Id: I8dbf674fa7ea7b05e48e5bbc352b0c9593f2b627
-
- Feb 05, 2015
-
-
Nick Kralevich authored
Change-Id: If311f53b9e5a1020f188ae2346dbf6466e6129ac
-
- Feb 04, 2015
-
-
Christopher Ferris authored
Without this change, any selinux warning you might get when running dumpstate from init do not show up when running from the shell as root. This change makes them run the same. Change-Id: I6b74e0f6f48f47952a2dbe7728b1853008f60dbb
-
- Feb 02, 2015
-
-
dcashman authored
Address the following denial: SELinux E avc: denied { find } for service=drm.drmManager scontext=u:r:radio:s0 tcontext=u:object_r:drmserver_service:s0 which occurs when a non-default SMS app sends an MMS. The message would be stored into system automatically in MMS service (from phone process and phone UID). The storing of the message involves the creation of android.drm.DrmManagerClient instance. Change-Id: Ic4e493f183c9ce7f7ac3f74f6ea062893ea67608
-
- Jan 30, 2015
-
-
Nick Kralevich authored
Add an SELinux neverallow rule (compile time assertion) that only authorized SELinux domains are writing to files in /data/dalvik-cache. Currently, SELinux policy only allows the following SELinux domains to perform writes to files in /data/dalvik-cache * init * zygote * installd * dex2oat For zygote, installd, and dex2oat, these accesses make sense. For init, we could further restrict init to just relabelfrom on /data/dalvik-cache files, and { create, write, setattr } on /data/dalvik-cache directories. Currently init has full write access, which can be reduced over time. This change was motivated by the discussion in https://android-review.googlesource.com/127582 Remove /data/dalvik-cache access from the unconfined domain. This domain is only used by init, kernel, and fsck on user builds. The kernel and fsck domains have no need to access files in /data/dalvik-cache. Init has a need to relabel files, but that rule is already granted in init.te. The neverallow rule is intended to prevent regressions. Neverallow rules are CTS tested, so regressions won't appear on our devices or partner devices. Change-Id: I15e7d17b1121c556463114d1c6c49557a57911cd
-
Nick Kralevich authored
system_server should never be executing dex2oat. This is either a bug (for example, bug 16317188), or represents an attempt by system server to dynamically load a dex file, something we don't want to allow. This change adds a compile time assertion which will detect if an allow rule granting this access is ever added. No new rules are added or deleted as a result of this change. This neverallow rule is automatically enforced via CTS. Bug: 16317188 Change-Id: Id783e05d9f48d48642dbb89d9c78be4aae8af70c
-
- Jan 29, 2015
-
-
Ruben Brunk authored
Bug: 19186859 Change-Id: Ic08858f346d6b66e7bfc9da6faa2c6e38d9b2e82
-
Nick Kralevich authored
Relax the neverallow netlink restrictions for app domains. In particular, some non-AOSP app domains may use netlink sockets to communicate with a kernel driver. Continue to neverallow generic netlink sockets for untrusted_app. The intention here is that only app domains which explicitly need this functionality should be able to request it. This change does not add or remove any SELinux rules. Rather, it just changes SELinux compile time assertions, as well as allowing this behavior in CTS. Modify other neverallow rules to use "domain" instead of "self". Apps shouldn't be able to handle netlink sockets, even those created in other SELinux domains. Change-Id: I40de0ae28134ce71e808e5ef4a39779b71897571
-