{"push_id":1007108679,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d690e4cf8e8dccd8e1a6d1b84b742ffb2693172a","before":"cca02d77cf5fd563409946a32b264aa72c9df25e","commits":[{"sha":"d690e4cf8e8dccd8e1a6d1b84b742ffb2693172a","author":{"email":"b702a20f0628efd8f619b9c92a0cb3de4b542e20@hotmail.com","name":"UpInTheAir"},"message":"cifs: enable mounting cifs drives visible to all apps [tomkasick]\n\nRestrict slave mountspace so Dalvik apps can mount system-wide volumes\n\nAndroid 4.2 implements multi-user storage using per-process mount\nnamespaces. Everything under \"/\" (the entire filesystem hierarchy) is\nmarked as a recursive-slave mountspace for all zygote instances. This is\ndone so that user-storage sandbox mounts under /storage/emulated are hidden\nfrom other apps and users.\n\nUnfortunately this means that any Dalvik app (actually, any program whose\nclone/fork ancestry includes a Dalvik zygote, which is everything except\nservices spawned directly from init) cannot mount system-wide volumes.\nThus, apps like CifsManager are effectively broken in Android 4.2, since\nits cifs mounts are only visible to the CifsManager app itself. All other\napps see empty mountpoints instead of the mounted volume. Furthermore,\nLinux provides no provision for a process to \"escape\" a recursive-slave\nmountspace in versions prior to Linux 3.8 (setns syscall).\n\nHere, we restrict rootfs-slave calls to /storage (and, due to a possible\nkernel bug, /mnt/shell/emulated) so that Dalvik apps can mount system-wide\nvolumes elsewhere (with appropriate permission, as in earlier versions of\nAndroid), while retaining full multi-user storage compatibility. It is\nmade available as a kernel-based workaround for instances where libdvm can\nnot be modified.\n\nThis change requires that a tmpfs volume is mounted as /storage in init.rc.\nIf this volume is unavailable, then we falls back to the previous behavior\nof marking the entire filesystem hierarchy as slave.\n\n*** Do not commit to CyanogenMod Project kernels, as a similar workaround\nfor this problem is patched in Zygote/Dalvik/libdvm instead. ***\n\nConflicts:\n\tfs/Kconfig","distinct":true,"url":"https://api.github.com/repos/voltch/14.4/commits/d690e4cf8e8dccd8e1a6d1b84b742ffb2693172a"}]}