« 「京都寺町三条のホームズ」を読んで | トップページ | 「Scala福岡2016」に行ってきた »

2016年3月22日 (火)

システムプロパティのガードの仕組み on Android 6.0

久々にシステムプロパティの仕組みを見てみたら、
ちょっとずつ変わってるのね。

adb shell getprop [<name>]
adb shell setprop <name> <value>
で見たり、変えたりできるけど、 変えるのはいろいろ制限がある。

そして、ここもSELinux対応のときに、
SELinxuの仕組みでガードがかかるように変わってるらしい。

組み合わせに使ってるbionicのほうも、
C++化して読むのがつらくなってるし、なんだかな。。。


仕組みは、ファイルを共有形式でメモリにマッピングして、
各プロセスから見る感じ。
書き込みに関しては、initさんが制御するので、
ソケットを経由して、initさんがいろいろチェックする。
LSM導入前は、ガードがuid/gidのチェックだったのに、
LSMの仕組みを利用したチェックになったのね。

bionic側の比重も高くなってる気もするけど、
共通部分を考えるとそんなものかなぁ。

C++を少しはやらないと、置いて行かれるな
(プレイスメントnewとは初めて知った・・)

initさん側は、system/core/init/property_service.cpp 辺り。
bionicさん側は、bionic/libc/bionic/system_properties.cpp 辺りを見て、
もごもごしてた。



|

« 「京都寺町三条のホームズ」を読んで | トップページ | 「Scala福岡2016」に行ってきた »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/97274/64577114

この記事へのトラックバック一覧です: システムプロパティのガードの仕組み on Android 6.0:

« 「京都寺町三条のホームズ」を読んで | トップページ | 「Scala福岡2016」に行ってきた »