blob: dbd12b79ad89a3fa5098ca30aae146f55e6671e4 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?><manifest revision="267a0935f202464987ffa427cb204381b6d1ef2c">
<notice>Your sources have been sync'd successfully.</notice>
<remote fetch="https://android.googlesource.com" name="aosp" review="https://android-review.googlesource.com"/>
<remote alias="cros" fetch="https://chromium.googlesource.com/" name="chromium"/>
<remote fetch="https://chromium.googlesource.com" name="cros" review="https://chromium-review.googlesource.com"/>
<default remote="cros" revision="refs/heads/master" sync-j="8"/>
<project name="aosp/platform/external/dbus-binding-generator" path="src/aosp/external/dbus-binding-generator" revision="bce0483dd09f592d6f9f989f0e34fc930d206810" upstream="refs/heads/master"/>
<project name="aosp/platform/external/libbrillo" path="src/aosp/external/libbrillo" revision="16c285d16813172eaacd12d3396df90a3894cbc5" upstream="refs/heads/master"/>
<project name="aosp/platform/external/libchrome" path="src/aosp/external/libchrome" revision="4ba5a9a6b07148b0b812ed34f8cdfe3a738a4dd4" upstream="refs/heads/master"/>
<project name="aosp/platform/external/minijail" path="src/aosp/external/minijail" revision="7a569073b95af7532892dc726c2f33cd40edfb57" upstream="refs/heads/master"/>
<project name="aosp/platform/external/modp_b64" path="src/third_party/modp_b64" revision="99dc13926931cedfd2e4e582c33ef657d0645c5c" upstream="refs/heads/master"/>
<project name="aosp/platform/system/connectivity/apmanager" path="src/aosp/system/connectivity/apmanager" revision="b606f03ee5a4d7a5f5f78cc980a447f08d94f9df" upstream="refs/heads/master"/>
<project name="aosp/platform/system/connectivity/shill" path="src/aosp/system/connectivity/shill" revision="496f396f9178b2830a60e3f667321f7eae5c482c" upstream="refs/heads/master"/>
<project name="aosp/platform/system/firewalld" path="src/aosp/system/firewalld" revision="90c4a0d3a66a84270aa8a8b4d46a97e6172074e9" upstream="refs/heads/master"/>
<project name="aosp/platform/system/tpm" path="src/aosp/system/tpm" revision="a6f1627c725e3218305afb47a215dc1564d8103d" upstream="refs/heads/master"/>
<project name="aosp/platform/system/update_engine" path="src/aosp/system/update_engine" revision="696faf4dffebca4d15959251cf3fb88b0727d801" upstream="refs/heads/master"/>
<project name="aosp/platform/system/webservd" path="src/aosp/system/webservd" revision="b470b41a117a213f5b8cf2d7badcc208da001b72" upstream="refs/heads/master"/>
<project name="chromium/deps/libmtp" path="chromium/src/third_party/libmtp" revision="0680a2d0c4cec58f8163fe115de80cff8852fd8b" upstream="refs/heads/master"/>
<project name="chromium/src/third_party/hwcplus" revision="e66a31e54e12906e86dc59f95b458889f025c505" upstream="refs/heads/master"/>
<project groups="minilayout,buildtools" name="chromium/tools/depot_tools" revision="9d20675998f69ae543c3ebed4bcc14f748f3797e"/>
<project groups="minilayout,buildtools,labtools" name="chromiumos/chromite" path="chromite" revision="8f2c7dfd01585b97cf9e36c59a107defcf4056eb" upstream="refs/heads/master">
<copyfile dest="AUTHORS" src="AUTHORS"/>
<copyfile dest="LICENSE" src="LICENSE"/>
</project>
<project name="chromiumos/manifest" path="manifest" revision="49ef9671d35ef92f1e2f0eea163ef17a4e167f12" upstream="refs/heads/master"/>
<project groups="minilayout" name="chromiumos/overlays/board-overlays" path="src/overlays" revision="826570bdd958792571ac4a1d6b6c14f7aab38315" upstream="refs/heads/master"/>
<project groups="minilayout,labtools" name="chromiumos/overlays/chromiumos-overlay" path="src/third_party/chromiumos-overlay" revision="58998070c33d227be137074c954d950cdb7df2c9" sync-c="true" upstream="refs/heads/master"/>
<project groups="minilayout,labtools" name="chromiumos/overlays/eclass-overlay" path="src/third_party/eclass-overlay" revision="161edc9f4dddd54a867ae6ce521a32971ba48f30" upstream="refs/heads/master"/>
<project groups="minilayout,labtools" name="chromiumos/overlays/portage-stable" path="src/third_party/portage-stable" revision="6b67343eb5c26cb57a9ab0a2ddff2d7733e13c56" upstream="refs/heads/master"/>
<project name="chromiumos/platform/assets" path="src/platform/assets" revision="5fc15dee29d1d967ccc46071a732d802d3b34655" upstream="refs/heads/master"/>
<project name="chromiumos/platform/audiotest" path="src/platform/audiotest" revision="547ee7b5c86235308527c0ddd5e43c1673e7fcf1" upstream="refs/heads/master"/>
<project name="chromiumos/platform/battery_updater" path="src/platform/battery_updater" revision="32463c6de8e8c98d4b1711937bc7678afc121a85" upstream="refs/heads/master"/>
<project name="chromiumos/platform/bmpblk" path="src/platform/bmpblk" revision="563ac6b7db7e742045b02ed29cc5ecc81ff58531" upstream="refs/heads/master"/>
<project name="chromiumos/platform/bootcache" path="src/platform/bootcache" revision="ebe3a0995e90026433ffc62b7aeed6cad1f28694" upstream="refs/heads/master"/>
<project name="chromiumos/platform/btsocket" path="src/platform/btsocket" revision="1b65449a647c99556511df30b8ab660b98acce7f" upstream="refs/heads/master"/>
<project name="chromiumos/platform/chameleon" path="src/platform/chameleon" revision="5d067bf2f813e81e2cf2b5f0db22c3307be37cea" upstream="refs/heads/master"/>
<project name="chromiumos/platform/chromiumos-assets" path="src/platform/chromiumos-assets" revision="05ce8d3c59a2d8e765b3beb2e1a69e7fcf59e5ba" upstream="refs/heads/master"/>
<project groups="minilayout,buildtools" name="chromiumos/platform/crostestutils" path="src/platform/crostestutils" revision="0d4ff6c83c9f6ce674e49bf461f370ec77de6809" upstream="refs/heads/master"/>
<project groups="minilayout,buildtools,labtools" name="chromiumos/platform/crosutils" path="src/scripts" revision="691778827ade02c0e1c1ce1d3b992228fca5b282" upstream="refs/heads/master"/>
<project name="chromiumos/platform/depthcharge" path="src/platform/depthcharge" revision="5a502649369e524a36bbf9884af25e6cae7ce412" upstream="refs/heads/master"/>
<project groups="minilayout,buildtools" name="chromiumos/platform/dev-util" path="src/platform/dev" revision="338baee8d01efce080fd752c310c8e3700924798" upstream="refs/heads/master"/>
<project name="chromiumos/platform/dm-verity" path="src/platform/verity" revision="c4df284b32558f631862f79c75fc03af4f5ca68a" upstream="refs/heads/master"/>
<project name="chromiumos/platform/drm-tests" path="src/platform/drm-tests" revision="fa0547a876bf0e1ac3740ea2a9cf8c7999acb87f" upstream="refs/heads/master"/>
<project name="chromiumos/platform/ec" path="src/platform/ec" revision="f6c7abb503f04bd16071534aae7af541ea328d27" upstream="refs/heads/master"/>
<project name="chromiumos/platform/factory" path="src/platform/factory" revision="aaa918be47adbe5a4d6756f490615ff8b6b50041" upstream="refs/heads/master"/>
<project name="chromiumos/platform/factory_installer" path="src/platform/factory_installer" revision="312f06df6f921915f15f976f936eea335c51b236" upstream="refs/heads/master"/>
<project name="chromiumos/platform/firmware" path="src/platform/firmware" revision="70f79da7a3bd18c942fa65a6b21fea589bbb5516" upstream="refs/heads/master"/>
<project name="chromiumos/platform/frecon" path="src/platform/frecon" revision="607e4dcf6dbc983272bee14f8e8c1300d6a1eecd" upstream="refs/heads/master"/>
<project name="chromiumos/platform/gestures" path="src/platform/gestures" revision="9d27a36fdd3727d7fdebe96fd24013bc601a58df" upstream="refs/heads/master"/>
<project name="chromiumos/platform/glbench/images" path="src/platform2/glbench/images" revision="5fd5ce655833f65d46b1950bec4eedeb4e96959b" upstream="refs/heads/master"/>
<project name="chromiumos/platform/go-seccomp" path="src/platform/go-seccomp" revision="0280326e5bd212fcfbe3696e113730045debae74" upstream="refs/heads/master"/>
<project name="chromiumos/platform/google-breakpad" path="src/third_party/breakpad" revision="67d5567177301d0c24303f26ad119ab7bd7fab40" upstream="refs/heads/master"/>
<project name="chromiumos/platform/imageloader" path="src/platform/imageloader" revision="d5eb65afd5f9da10a3fa86f65d357a817221717e" upstream="refs/heads/master"/>
<project name="chromiumos/platform/initramfs" path="src/platform/initramfs" revision="1a710721263b8b93ab49af6a6f749a778483f3df" upstream="refs/heads/master"/>
<project name="chromiumos/platform/inputcontrol" path="src/platform/inputcontrol" revision="ae0b15dc322bab9bf6d7c4fcd5f77d488766a275" upstream="refs/heads/master"/>
<project name="chromiumos/platform/jabra_vold" path="src/platform/jabra_vold" revision="5ee665e7c68856d3b6ce8bb0f610d43503e603af" upstream="refs/heads/master"/>
<project name="chromiumos/platform/libevdev" path="src/platform/libevdev" revision="61f882f395b9f39478d7164209e7134cccdcb72b" upstream="refs/heads/master"/>
<project name="chromiumos/platform/memento_softwareupdate" path="src/platform/memento_softwareupdate" revision="3c7204287bbc8f4341f546857216389bdff58e51" upstream="refs/heads/master"/>
<project name="chromiumos/platform/microbenchmark" path="src/platform/microbenchmark" revision="d5ea30febe406c5b486325dfae926564f3a46efd" upstream="refs/heads/master"/>
<project name="chromiumos/platform/minigbm" path="src/platform/minigbm" revision="f9e7c4c8e91fb354abf714c7a5c89b4990814ff3" upstream="refs/heads/master"/>
<project name="chromiumos/platform/monitor_reconfig" path="src/platform/monitor_reconfig" revision="f022d19d84f232290b596beeb26347f62442e7eb" upstream="refs/heads/master"/>
<project name="chromiumos/platform/mosys" path="src/platform/mosys" revision="f7f088cb046603ff434c4b550a856dd3d01311b2" upstream="refs/heads/master"/>
<project name="chromiumos/platform/mtpd" path="src/platform/mtpd" revision="44148fe605b952132644f0d0e5ccea7cfcc6d6c8" upstream="refs/heads/master"/>
<project name="chromiumos/platform/mtplot" path="src/platform/mtplot" revision="5e4f631e633384751f582bd9db5f4d6eb2112494" upstream="refs/heads/master"/>
<project name="chromiumos/platform/mttools" path="src/platform/mttools" revision="9efd0e1723cd45709bd0d34e8e7bbfd15967f0d5" upstream="refs/heads/master"/>
<project name="chromiumos/platform/punybench" path="src/platform/punybench" revision="5a230ee17756dc43ff732932dcb52899c06a4d09" upstream="refs/heads/master"/>
<project name="chromiumos/platform/system_api" path="src/platform/system_api" revision="c74bf51d2bc256adf09b6cfb2e353262fa43a736" upstream="refs/heads/master"/>
<project name="chromiumos/platform/touch_firmware_test" path="src/platform/touch_firmware_test" revision="1973ced7b023bdb4d095dff3e779bb4afacfe4f4" upstream="refs/heads/master"/>
<project name="chromiumos/platform/touch_noise_filter" path="src/platform/touch_noise_filter" revision="6b0aba12a385f4d3a7a47641a3a919018032f6f8" upstream="refs/heads/master"/>
<project name="chromiumos/platform/touch_updater" path="src/platform/touch_updater" revision="3f379a2b8808a435dc14a333f3f7ad82e54e2511" upstream="refs/heads/master"/>
<project name="chromiumos/platform/touchbot" path="src/platform/touchbot" revision="75d8f1bfbbb3dfc870fcbc22f53cd16b66ac7f23" upstream="refs/heads/master"/>
<project name="chromiumos/platform/touchpad-tests" path="src/platform/touchpad-tests" revision="d2e7d94a834b54511ca57e6359839f9ca86d6d04" upstream="refs/heads/master"/>
<project name="chromiumos/platform/tpm" path="src/third_party/tpm" revision="0cba6cadd1bea1ce3717779201d594c4c9131dc2" upstream="refs/heads/master"/>
<project name="chromiumos/platform/tpm_lite" path="src/platform/tpm_lite" revision="066c7f963b3ef733716251b666e0af0afd03b4fe" upstream="refs/heads/master"/>
<project name="chromiumos/platform/trunks" path="src/platform/trunks" revision="92dbe8c9e7fcf8acf67805fd5e25e85aa371f673" upstream="refs/heads/master"/>
<project name="chromiumos/platform/uboot-env" path="src/platform/uboot-env" revision="108ebbfac4d13d11e1940216434c368384ee0c0b" upstream="refs/heads/master"/>
<project groups="buildtools" name="chromiumos/platform/vboot" path="src/platform/vboot" revision="2d30a2f5b1c81eb61de4bf82180a910d45f22e81" upstream="refs/heads/master"/>
<project groups="buildtools" name="chromiumos/platform/vboot_reference" path="src/platform/vboot_reference" revision="d5820a79fc1354d68ead43a3bf88bdee8a6a2f3d" upstream="refs/heads/master"/>
<project name="chromiumos/platform/vpd" path="src/platform/vpd" revision="3e4cf4867fff44491b4f4c294eee9c77b92d4440" upstream="refs/heads/master"/>
<project name="chromiumos/platform/webplot" path="src/platform/webplot" revision="bbd5ea22ef9f8e109e363b26958d9a2fc8921f0f" upstream="refs/heads/master"/>
<project name="chromiumos/platform/wireless_automation" path="src/platform/wireless_automation" revision="d7177dbd464f2952e10309bf1eef56bb31a7f8ad" upstream="refs/heads/master"/>
<project name="chromiumos/platform/workarounds" path="src/platform/workarounds" revision="30cab56de921f5be2d24c2e83bcd4ad5631b2d9b" upstream="refs/heads/master"/>
<project name="chromiumos/platform/xf86-input-cmt" path="src/platform/xf86-input-cmt" revision="3f2ffc921952e57a4343463b0679d90b80b51fc7" upstream="refs/heads/master"/>
<project name="chromiumos/platform/xorg-conf" path="src/platform/xorg-conf" revision="141199fa101370af0aed16a44f7122fea43f7c30" upstream="refs/heads/master"/>
<project name="chromiumos/platform2" path="src/platform2" revision="7c30b74f89cad68c52bf27f98a627b1490728b3c" upstream="refs/heads/master"/>
<project groups="minilayout,buildtools,labtools" name="chromiumos/repohooks" path="src/repohooks" revision="fdbac8e95ef6153ab23370ea1586a86f462dbe5f" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/adhd" path="src/third_party/adhd" revision="305b2e610ce5d023aa8cda7adee571c5da8bcc0b" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/android_mtdutils" path="src/third_party/android_mtdutils" revision="9bcfc3ee238f16925e9aaa4573129784ebb397e7" upstream="chromeos"/>
<project name="chromiumos/third_party/arm-trusted-firmware" path="src/third_party/arm-trusted-firmware" revision="a7e530331d7cf4b58618f0715e61b5a872176f07">
<annotation name="branch-mode" value="create"/>
</project>
<project name="chromiumos/third_party/atheros" path="src/third_party/atheros" revision="52a5bdaa8930c14ee42518354de3e5ec09911c6b" upstream="refs/heads/master"/>
<project groups="buildtools,labtools" name="chromiumos/third_party/autotest" path="src/third_party/autotest/files" revision="6bb3b1087468c9cfe46cd86b1382d68f1741dcd1" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/bluez" path="src/third_party/bluez" revision="58d9cf6e6ebbb1ce60e6da37943bb252b5c28557" upstream="refs/heads/chromeos-5.39"/>
<project name="chromiumos/third_party/bootstub" path="src/third_party/bootstub" revision="5ac54e8d3d305c2c6c7297e8e54d3cf7e4629b29" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/broadcom" path="src/third_party/broadcom" revision="4070e7161f2f1a1a22027a744eb868500688f0b6" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/cbootimage" path="src/third_party/cbootimage" revision="b7d5b2d6a6dd05874d86ee900ff441d261f9034c" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/chrontel" path="src/third_party/chrontel" revision="7bcd0328d0eeef6a0539bd0ba80cd9a545e6cf4a" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/coreboot" path="src/third_party/coreboot" revision="83a4c8ff68ab24a103f2166e948eb23624ea97f7" upstream="refs/heads/chromeos-2016.05"/>
<project name="chromiumos/third_party/coreboot/blobs" path="src/third_party/coreboot/3rdparty/blobs" revision="9ba07035ed0acb28902cce826ea833cf531d57c1" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/cryptoc" path="src/third_party/cryptoc" revision="5319e836704fcf2df75c7425addebb89bb973714" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/cypress-tools" path="src/third_party/cypress-tools" revision="043fba1c35f89cce95f804bf6d4f01cfc23a6c21" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/daisydog" path="src/third_party/daisydog" revision="3182aa85c087446e4358370549adc45db21ec124" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/dbus-cplusplus" path="src/third_party/dbus-c++" revision="f140c0aa430e1db1c0f31d23d3eb2397d47f209e" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/dbus-spy" path="src/third_party/dbus-spy" revision="0e04421c73b24536de7fcc1886da469d8b7a2a41" upstream="refs/heads/master"/>
<project groups="minilayout,buildtools" name="chromiumos/third_party/dpkt" path="chromite/third_party/dpkt" revision="f5259728b1294412bee945df9708efba09ea9160">
<annotation name="branch-mode" value="pin"/>
</project>
<project name="chromiumos/third_party/edk2" path="src/third_party/edk2" revision="0aa39d284043be61b5f1222afdffd39a5abaf3aa" upstream="refs/heads/chromeos-2014.04"/>
<project name="chromiumos/third_party/em100" path="src/third_party/em100" revision="6e60dbae5bf62cd0ffffb9fc5ca9ba93e831ee88" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/flashmap" path="src/third_party/flashmap" revision="aaaf66654dba797f152066df4d1dc4144b492c66" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/flashrom" path="src/third_party/flashrom" revision="d75cd67ac2c9e04c3e7722bb4d28a888ac9fa911" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/gcc" path="src/third_party/gcc" revision="a2bc87ab8851051e765d60626a6997f63ddfe00e" upstream="refs/heads/master"/>
<project groups="minilayout,buildtools" name="chromiumos/third_party/gdata" path="chromite/third_party/gdata" revision="fe7e5c90a9827feb66ed446b2d297a1618b25272" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/gdmwimax" path="src/third_party/gdmwimax" revision="e8236b4b2d66b1972e4f84955a238134acd7f6a1" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/gobi3k-sdk" path="src/third_party/gobi3k-sdk" revision="69702c400e274984a24d08fcaefe3952d5dcb36e" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/grub2" path="src/third_party/grub2" revision="df6034c59cb2d847f9e780cf2def30c5c9b8305f" upstream="refs/heads/master"/>
<project groups="labtools" name="chromiumos/third_party/hdctools" path="src/third_party/hdctools" revision="bf62ddd64bad2b64c2d9f7e56b187eaf5590762c" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/hostap" path="src/third_party/wpa_supplicant" revision="6fcb866534544ea8ce69c2134871cfcbdc1eb6d3" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/hwcplus-drm" path="src/third_party/hwcplus-drm" revision="7376a8da1c961115a61d7a3cb23bb13e4153583d" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/ibus-chewing" path="src/third_party/ibus-chewing/files" revision="7a9514a0844eb5eb90ab96f62484a6af9e4a0d6d" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/ibus-xkb-layouts" path="src/third_party/ibus-xkb-layouts/files" revision="6af015110aa92dc2eed88a9f704634c3eff53b14" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v3.8" revision="74c1be9358d02d760004bf7ff2cabc107aa071f4" upstream="refs/heads/chromeos-3.8"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v3.10" revision="5c0d6ed87102bac50c26c7a3733363a6c650f830" upstream="refs/heads/chromeos-3.10"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v3.14" revision="3c92db6e35c258f1ba0a6628a839e3f6660bd4fe" upstream="refs/heads/chromeos-3.14"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v3.18" revision="4ce948c38e1dba059f1fcd7b06ab0a1c7a8aa9cd" upstream="refs/heads/chromeos-3.18"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v4.4" revision="b7dc424608153741a92a88450a83269ee49d14c2" upstream="refs/heads/chromeos-4.4"/>
<project name="chromiumos/third_party/khronos" path="src/third_party/khronos" revision="dceee6ef99b968fd11d9c6058448202db835bc0f" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libc-bench" path="src/third_party/libc-bench" revision="76793dd4b09191a78a78180012718e72d792717f" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libdrm" path="src/third_party/libdrm" revision="2c25afb719347a151657f8637ad62a5df42e247e" upstream="refs/heads/chromeos-2.4.66"/>
<project name="chromiumos/third_party/libmbim" path="src/third_party/libmbim" revision="c4e2949edeed01ca3b810729a7af0d265c49629b" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libqmi" path="src/third_party/libqmi" revision="a436c551cf226af66cdb3dd74ee3971d0b1dae04" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libresample" path="src/third_party/libresample" revision="cc9f20f439396b7d45e94b8301edd95d33f26a46" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libscrypt" path="src/third_party/libscrypt" revision="b45c53f9418a6eff2c8ed98703a55f96029304b1" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libsigrok" path="src/third_party/libsigrok" revision="199fe31115c76231746f5953271795d58679561c" upstream="refs/heads/chromeos"/>
<project name="chromiumos/third_party/libsigrok-cli" path="src/third_party/sigrok-cli" revision="c9edfa218e5a5972531b6f4a3ece8d33a44ae1b5" upstream="refs/heads/chromeos"/>
<project name="chromiumos/third_party/libsigrokdecode" path="src/third_party/libsigrokdecode" revision="3279c2825684c7009775b731d0a9e37815778282" upstream="refs/heads/chromeos"/>
<project name="chromiumos/third_party/libv4lplugins" path="src/third_party/libv4lplugins" revision="61eb2eceaed6f66a36aa9fc3ed2bd55b8aa3eafe" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/linux-firmware" path="src/third_party/linux-firmware" revision="13556f5f77128189571ecd2ffabd985ca837ff29" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/ltp" path="src/third_party/ltp" revision="7fea30a4ad5b7b4e99865afcee8b6bfd19ec8b03" upstream="refs/heads/chromeos-20150119"/>
<project name="chromiumos/third_party/marvell" path="src/third_party/marvell" revision="db05d126a42a1540a503a2e5b49c3746c03df77d" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/memtest" path="src/third_party/memtest" revision="3d4be6e3bfd819856e38a82e35c206fec4551851" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/mesa" path="src/third_party/arc-mesa" revision="b2b27d09c1d7f694a37a80f7b04e4f79df557b1f" upstream="refs/heads/arc-11.3.0-pre1"/>
<project name="chromiumos/third_party/mesa" path="src/third_party/mesa" revision="6ef50efc1079e544d7fe912aba219e8907cb0cbd" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/mesa" path="src/third_party/mesa-img" revision="129178893b2260df22db96327c5ca9c2ce7db046" upstream="refs/heads/mesa-img"/>
<project name="chromiumos/third_party/minifakedns" path="src/third_party/miniFakeDns" revision="6184bea119dea53da539727fe8c2a116f98cef24" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/mmc-utils" path="src/third_party/mmc-utils" revision="bcc3e2e4246431be511be3959a11cd9733bedd29" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/modemmanager-next" path="src/third_party/modemmanager-next" revision="d759387adb6b4079241f7d1f2a145738acad929b" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/opencryptoki" path="src/third_party/opencryptoki" revision="b67690aeeb4174b2253db18a9c1b19eeb219a4ef" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/ply-image" path="src/third_party/ply-image" revision="6cf4e4cd968bb72ade54e423e2b97eb3a80c6de9" upstream="refs/heads/master"/>
<project groups="minilayout,buildtools" name="chromiumos/third_party/pyelftools" path="chromite/third_party/pyelftools" revision="19b3e610c86fcadb837d252c794cb5e8008826ae" upstream="refs/heads/master-0.22"/>
<project name="chromiumos/third_party/rootdev" path="src/third_party/rootdev" revision="5d7d7ff513315abd103d0c95e92ae646c1a7688c" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/seabios" path="src/third_party/seabios" revision="3004147dd3707e600772ec6c5d37beac7f4b8eb4" upstream="refs/heads/chromeos-2014.11.03"/>
<project name="chromiumos/third_party/sysbios" path="src/third_party/sysbios" revision="33e1db34b8162de72a5e9bbbc44e6bce38978396" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/tegra-power-query" path="src/third_party/tegra-power-query" revision="66f1f0d949f4ca4836c1a65b622629205240e37a" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/tegrastats" path="src/third_party/tegrastats" revision="1be161a89525d840e1f6d1f21b3f45645a7dedb3" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/tlsdate" path="src/third_party/tlsdate" revision="0c4b13bf15b8e5773b79e6317121fba5e97a154f" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/tpm-emulator" path="src/third_party/tpm-emulator" revision="310a21ef24ace14b4d6e8095172445494f54ff25" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/tpm2" path="src/third_party/tpm2" revision="716a46a8f2e9516bd9ac64674a5811374f446792" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/trousers" path="src/third_party/trousers" revision="416d30f74a9c1dc08b95b907d8b7e81edf6c9db0" upstream="refs/heads/master-0.3.13"/>
<project name="chromiumos/third_party/u-boot" path="src/third_party/u-boot/files" revision="cc72f5c47c758892b0f41257b0dd441a506ffdcd" upstream="refs/heads/chromeos-v2013.06"/>
<project name="chromiumos/third_party/u-boot" path="src/third_party/u-boot/next" revision="b30f38206f17aa73cda0a2fdaf4dc705527315ba" upstream="refs/heads/chromeos-v2015.07-rc1"/>
<project name="chromiumos/third_party/whining" path="src/third_party/whining" revision="bcf721d62d6a4c4c162c63714371fa4349df53bc" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/xf86-video-armsoc" path="src/third_party/xf86-video-armsoc" revision="30370e9dbf7ba0e457ee7de297d2ad6c269a00be" upstream="refs/heads/master"/>
<project groups="minilayout,buildtools" name="external/swarming.client" path="chromite/third_party/swarming.client" revision="715861067a7cc8d20d2d629b6d76d796c004feb4"/>
<project name="linux-syscall-support" path="src/third_party/breakpad/src/third_party/lss" revision="9292030109847793f7a6689adac1ddafb412fe14"/>
<project name="platform/bootable/recovery" path="src/aosp/bootable/recovery" remote="aosp" revision="a82ee456bbb2fdcd77b782d52500650bd06d04e9" upstream="refs/heads/master"/>
<project name="platform/external/bsdiff" path="src/aosp/external/bsdiff" remote="aosp" revision="58632a3b7c85b2c0157d6f4d250ad397bd8fbe44" upstream="refs/heads/master"/>
<project name="platform/hardware/libhardware" path="src/platform/libhardware" remote="aosp" revision="69ed5d9a8306ee0427f378abe85cabfc5c3c1f17" upstream="refs/heads/master"/>
<project name="platform/system/bt" path="src/platform/bt" remote="aosp" revision="3a2dc880ce9b84b94e2ca53cb61b34c3aba19fc8" upstream="refs/heads/master"/>
<project name="platform/system/core" path="src/platform/core" remote="aosp" revision="a17427cb1e9caaeb4dde7184b05dfa4b3b1f7172" upstream="refs/heads/master"/>
<project name="toolchain/binutils" path="src/aosp/toolchain/binutils" remote="aosp" revision="6422a80df992e4542dbd4fb70a04f316065674af" upstream="refs/heads/master"/>
<project name="toolchain/gcc" path="src/aosp/toolchain/gcc" remote="aosp" revision="fe767fbb6d580458aeea609ac5c82b600acce63d"/>
<repo-hooks enabled-list="pre-upload" in-project="chromiumos/repohooks"/>
<pending_commit branch="chromeos-3.14" change_id="Idc0d4ea5af31423cd329a90cbf517f75650a7fac" commit="a3452f73b04707751cdc5ca39680a6bb058f06db" commit_message="UPSTREAM: cgroup: make flags and subsys_masks unsigned int There's no reason to use atomic bitops for cgroup_subsys_state-&gt;flags, cgroup_root-&gt;flags and various subsys_masks. This patch updates those to use bitwise and/or operations instead and converts them form unsigned long to unsigned int. This makes the fields occupy (marginally) smaller space and makes it clear that they don't require atomicity. This patch doesn't cause any behavior difference. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 69dfa00ccb72a37f3810687ca110e5a8154c6eed) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Idc0d4ea5af31423cd329a90cbf517f75650a7fac Reviewed-on: https://chromium-review.googlesource.com/359770 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359770" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/70/359770/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I0c0ba05be4ba96f9ba7b06d0136aebd485c22d77" commit="3059ac92377f5301b36e0c0e1cd9d441a2c52841" commit_message="UPSTREAM: cgroup, memcg: allocate cgroup ID from 1 Currently, cgroup-&gt;id is allocated from 0, which is always assigned to the root cgroup; unfortunately, memcg wants to use ID 0 to indicate invalid IDs and ends up incrementing all IDs by one. It's reasonable to reserve 0 for special purposes. This patch updates cgroup core so that ID 0 is not used and the root cgroups get ID 1. The ID incrementing is removed form memcg. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Michal Hocko &lt;mhocko@suse.cz&gt; Cc: Johannes Weiner &lt;hannes@cmpxchg.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 7d699ddb2b181a2c76e5ea18b1bdf102c4bebe4b) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I0c0ba05be4ba96f9ba7b06d0136aebd485c22d77 Reviewed-on: https://chromium-review.googlesource.com/359771 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359771" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/71/359771/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I89b44d9e3cba674920954c8cb860628432327b56" commit="51d91b0df5db3fc4518f4418a4198feacfffb4c2" commit_message="UPSTREAM: cgroup: protect cgroup_root-&gt;cgroup_idr with a spinlock Currently, cgroup_root-&gt;cgroup_idr is protected by cgroup_mutex, which ends up requiring cgroup_put() to be invoked under sleepable context. This is okay for now but is an unusual requirement and we'll soon add css-&gt;id which will have the same problem but won't be able to simply grab cgroup_mutex as removal will have to happen from css_release() which can't sleep. Introduce cgroup_idr_lock and idr_alloc/replace/remove() wrappers which protects the idr operations with the lock and use them for cgroup_root-&gt;cgroup_idr. cgroup_put() no longer needs to grab cgroup_mutex and css_from_id() is updated to always require RCU read lock instead of either RCU read lock or cgroup_mutex, which doesn't affect the existing users. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 6fa4918d03c39351aef3573ac3e7958d6a5ad9b6) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I89b44d9e3cba674920954c8cb860628432327b56 Reviewed-on: https://chromium-review.googlesource.com/359772 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359772" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/72/359772/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="Ic6c5c506fcb9422534c9850b6cc0eae8df126055" commit="cc0c232109f083cc681ae66bfd7e6ad4b82fde1a" commit_message="UPSTREAM: cgroup: use RCU free in create_css() failure path Currently, when create_css() fails in the middle, the half-initialized css is freed by invoking cgroup_subsys-&gt;css_free() directly. This patch updates the function so that it invokes RCU free path instead. As the RCU free path puts the parent css and owning cgroup, their references are now acquired right after a new css is successfully allocated. This doesn't make any visible difference now but is to enable implementing css-&gt;id and RCU protected lookup by such IDs. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit a2bed8209a3afc3b2cf1c28383fb48155c1fea46) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Ic6c5c506fcb9422534c9850b6cc0eae8df126055 Reviewed-on: https://chromium-review.googlesource.com/359773 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359773" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/73/359773/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="Ic88a17e044a49e5cc39005249ae4de75d871babe" commit="1747ef04f9a1b2f088f3d54c4e06ae153a6d02dd" commit_message="UPSTREAM: cgroup: update init_css() into init_and_link_css() init_css() takes the cgroup the new css belongs to as an argument and initializes the new css's -&gt;cgroup and -&gt;parent pointers but doesn't acquire the matching reference counts. After the previous patch, create_css() puts init_css() and reference acquisition right next to each other. Let's move reference acquistion into init_css() and rename the function to init_and_link_css(). This makes sense and is easier to follow. This makes the root csses to hold a reference on cgrp_dfl_root.cgrp, which is harmless. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit ddfcadab35dda6e5bc23ccf1c3055ecb63a71e49) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Ic88a17e044a49e5cc39005249ae4de75d871babe Reviewed-on: https://chromium-review.googlesource.com/359774 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359774" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/74/359774/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I154497961ee14e6c865994db14c7f10d07a9b6ea" commit="dca066a5ff10eff2690472df93af01e82b411f69" commit_message="UPSTREAM: cgroup, memcg: implement css-&gt;id and convert css_from_id() to use it Until now, cgroup-&gt;id has been used to identify all the associated csses and css_from_id() takes cgroup ID and returns the matching css by looking up the cgroup and then dereferencing the css associated with it; however, now that the lifetimes of cgroup and css are separate, this is incorrect and breaks on the unified hierarchy when a controller is disabled and enabled back again before the previous instance is released. This patch adds css-&gt;id which is a subsystem-unique ID and converts css_from_id() to look up by the new css-&gt;id instead. memcg is the only user of css_from_id() and also converted to use css-&gt;id instead. For traditional hierarchies, this shouldn't make any functional difference. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Michal Hocko &lt;mhocko@suse.cz&gt; Cc: Johannes Weiner &lt;hannes@cmpxchg.org&gt; Cc: Jianyu Zhan &lt;nasa4836@gmail.com&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 15a4c835e4ed3e60dd68727cd1907e3dd89563f4) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I154497961ee14e6c865994db14c7f10d07a9b6ea Reviewed-on: https://chromium-review.googlesource.com/359775 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359775" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/75/359775/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="Iccdabfd59b0fd8e01e893d98129d9e115082c2b4" commit="fb42f986d6a9e640006a495431b04231c9113cf7" commit_message="UPSTREAM: kernel/cgroup.c: fix 2 kernel-doc warnings Fix typo and variable name. tj: Updated @cgrp argument description in cgroup_destroy_css_killed() Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt; Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt; Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 60106946ca7f63396680130b25511ccf6b7d5bff) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Iccdabfd59b0fd8e01e893d98129d9e115082c2b4 Reviewed-on: https://chromium-review.googlesource.com/359776 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359776" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/76/359776/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="If158267f9482e0e67ae393ce75f1e263641e25f1" commit="af74b160b1ca875b42ef4d98781ac2746abd8a1f" commit_message="UPSTREAM: device_cgroup: rework device access check and exception checking Whenever a device file is opened and checked against current device cgroup rules, it uses the same function (may_access()) as when a new exception rule is added by writing devices.{allow,deny}. And in both cases, the algorithm is the same, doesn't matter the behavior. First problem is having device access to be considered the same as rule checking. Consider the following structure: A (default behavior: allow, exceptions disallow access) \ B (default behavior: allow, exceptions disallow access) A new exception is added to B by writing devices.deny: c 12:34 rw When checking if that exception is allowed in may_access(): if (dev_cgroup-&gt;behavior == DEVCG_DEFAULT_ALLOW) { if (behavior == DEVCG_DEFAULT_ALLOW) { /* the exception will deny access to certain devices */ return true; Which is ok, since B is not getting more privileges than A, it doesn't matter and the rule is accepted Now, consider it's a device file open check and the process belongs to cgroup B. The access will be generated as: behavior: allow exception: c 12:34 rw The very same chunk of code will allow it, even if there's an explicit exception telling to do otherwise. A simple test case: # mkdir new_group # cd new_group # echo $$ &gt;tasks # echo &quot;c 1:3 w&quot; &gt;devices.deny # echo &gt;/dev/null # echo $? 0 This is a serious bug and was introduced on c39a2a3018f8 devcg: prepare may_access() for hierarchy support To solve this problem, the device file open function was split from the new exception check. Second problem is how exceptions are processed by may_access(). The first part of the said function tries to match fully with an existing exception: list_for_each_entry_rcu(ex, &amp;dev_cgroup-&gt;exceptions, list) { if ((refex-&gt;type &amp; DEV_BLOCK) &amp;&amp; !(ex-&gt;type &amp; DEV_BLOCK)) continue; if ((refex-&gt;type &amp; DEV_CHAR) &amp;&amp; !(ex-&gt;type &amp; DEV_CHAR)) continue; if (ex-&gt;major != ~0 &amp;&amp; ex-&gt;major != refex-&gt;major) continue; if (ex-&gt;minor != ~0 &amp;&amp; ex-&gt;minor != refex-&gt;minor) continue; if (refex-&gt;access &amp; (~ex-&gt;access)) continue; match = true; break; } That means the new exception should be contained into an existing one to be considered a match: New exception Existing match? notes b 12:34 rwm b 12:34 rwm yes b 12:34 r b *:34 rw yes b 12:34 rw b 12:34 w no extra &quot;r&quot; b *:34 rw b 12:34 rw no too broad &quot;*&quot; b *:34 rw b *:34 rwm yes Which is fine in some cases. Consider: A (default behavior: deny, exceptions allow access) \ B (default behavior: deny, exceptions allow access) In this case the full match makes sense, the new exception cannot add more access than the parent allows But this doesn't always work, consider: A (default behavior: allow, exceptions disallow access) \ B (default behavior: deny, exceptions allow access) In this case, a new exception in B shouldn't match any of the exceptions in A, after all you can't allow something that was forbidden by A. But consider this scenario: New exception Existing in A match? outcome b 12:34 rw b 12:34 r no exception is accepted Because the new exception has &quot;w&quot; as extra, it doesn't match, so it'll be added to B's exception list. The same problem can happen during a file access check. Consider a cgroup with allow as default behavior: Access Exception match? b 12:34 rw b 12:34 r no In this case, the access didn't match any of the exceptions in the cgroup, which is required since exceptions will disallow access. To solve this problem, two new functions were created to match an exception either fully or partially. In the example above, a partial check will be performed and it'll produce a match since at least &quot;b 12:34 r&quot; from &quot;b 12:34 rw&quot; access matches. Cc: cgroups@vger.kernel.org Cc: Tejun Heo &lt;tj@kernel.org&gt; Cc: Serge Hallyn &lt;serge.hallyn@canonical.com&gt; Cc: Li Zefan &lt;lizefan@huawei.com&gt; Cc: stable@vger.kernel.org Signed-off-by: Aristeu Rozanski &lt;arozansk@redhat.com&gt; Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 79d719749d23234e9b725098aa49133f3ef7299d) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: If158267f9482e0e67ae393ce75f1e263641e25f1 Reviewed-on: https://chromium-review.googlesource.com/359777 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359777" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/77/359777/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="Icbac6d0d06149b2ec0ccbea73225cdd1c66bb2df" commit="67336389521ec8f80146170e36f51d01b4d3c16f" commit_message="UPSTREAM: device_cgroup: fix the comment format for recently added functions Moving more extensive explanations to the end of the comment. Cc: Li Zefan &lt;lizefan@huawei.com&gt; Signed-off-by: Aristeu Rozanski &lt;arozansk@redhat.com&gt; Acked-by: Serge Hallyn &lt;serge.hallyn@canonical.com&gt; Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit f5f3cf6f7e49b9529fc00a2c4629fa92cf2755fe) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Icbac6d0d06149b2ec0ccbea73225cdd1c66bb2df Reviewed-on: https://chromium-review.googlesource.com/359778 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359778" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/78/359778/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I849965a6b349ab4f1542801f2e7c8b77f9a2f385" commit="7ab0ec78eba4c19748f303417f9897622ef947c3" commit_message="UPSTREAM: device_cgroup: check if exception removal is allowed [PATCH v3 1/2] device_cgroup: check if exception removal is allowed When the device cgroup hierarchy was introduced in bd2953ebbb53 - devcg: propagate local changes down the hierarchy a specific case was overlooked. Consider the hierarchy bellow: A default policy: ALLOW, exceptions will deny access \ B default policy: ALLOW, exceptions will deny access There's no need to verify when an new exception is added to B because in this case exceptions will deny access to further devices, which is always fine. Hierarchy in device cgroup only makes sure B won't have more access than A. But when an exception is removed (by writing devices.allow), it isn't checked if the user is in fact removing an inherited exception from A, thus giving more access to B. Example: # echo 'a' &gt;A/devices.allow # echo 'c 1:3 rw' &gt;A/devices.deny # echo $$ &gt;A/B/tasks # echo &gt;/dev/null -bash: /dev/null: Operation not permitted # echo 'c 1:3 w' &gt;A/B/devices.allow # echo &gt;/dev/null # This shouldn't be allowed and this patch fixes it by making sure to never allow exceptions in this case to be removed if the exception is partially or fully present on the parent. v3: missing '*' in function description v2: improved log message and formatting fixes Cc: cgroups@vger.kernel.org Cc: Li Zefan &lt;lizefan@huawei.com&gt; Cc: stable@vger.kernel.org Signed-off-by: Aristeu Rozanski &lt;arozansk@redhat.com&gt; Acked-by: Serge Hallyn &lt;serge.hallyn@canonical.com&gt; Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit d2c2b11cfa134f4fbdcc34088824da26a084d8de) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I849965a6b349ab4f1542801f2e7c8b77f9a2f385 Reviewed-on: https://chromium-review.googlesource.com/359779 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359779" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/79/359779/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="Iab521fe30c49780c2548fa82a847013e10379b13" commit="e4146a78301e33ba9095522ebe2d46b324a915c5" commit_message="UPSTREAM: blkcg: use trylock on blkcg_pol_mutex in blkcg_reset_stats() During the recent conversion of cgroup to kernfs, cgroup_tree_mutex which nests above both the kernfs s_active protection and cgroup_mutex is added to synchronize cgroup file type operations as cgroup_mutex needed to be grabbed from some file operations and thus can't be put above s_active protection. While this arrangement mostly worked for cgroup, this triggered the following lockdep warning. ====================================================== [ INFO: possible circular locking dependency detected ] 3.15.0-rc3-next-20140430-sasha-00016-g4e281fa-dirty #429 Tainted: G W ------------------------------------------------------- trinity-c173/9024 is trying to acquire lock: (blkcg_pol_mutex){+.+.+.}, at: blkcg_reset_stats (include/linux/spinlock.h:328 block/blk-cgroup.c:455) but task is already holding lock: (s_active#89){++++.+}, at: kernfs_fop_write (fs/kernfs/file.c:283) which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -&gt; #2 (s_active#89){++++.+}: lock_acquire (arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3602) __kernfs_remove (arch/x86/include/asm/atomic.h:27 fs/kernfs/dir.c:352 fs/kernfs/dir.c:1024) kernfs_remove_by_name_ns (fs/kernfs/dir.c:1219) cgroup_addrm_files (include/linux/kernfs.h:427 kernel/cgroup.c:1074 kernel/cgroup.c:2899) cgroup_clear_dir (kernel/cgroup.c:1092 (discriminator 2)) rebind_subsystems (kernel/cgroup.c:1144) cgroup_setup_root (kernel/cgroup.c:1568) cgroup_mount (kernel/cgroup.c:1716) mount_fs (fs/super.c:1094) vfs_kern_mount (fs/namespace.c:899) do_mount (fs/namespace.c:2238 fs/namespace.c:2561) SyS_mount (fs/namespace.c:2758 fs/namespace.c:2729) tracesys (arch/x86/kernel/entry_64.S:746) -&gt; #1 (cgroup_tree_mutex){+.+.+.}: lock_acquire (arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3602) mutex_lock_nested (kernel/locking/mutex.c:486 kernel/locking/mutex.c:587) cgroup_add_cftypes (include/linux/list.h:76 kernel/cgroup.c:3040) blkcg_policy_register (block/blk-cgroup.c:1106) throtl_init (block/blk-throttle.c:1694) do_one_initcall (init/main.c:789) kernel_init_freeable (init/main.c:854 init/main.c:863 init/main.c:882 init/main.c:1003) kernel_init (init/main.c:935) ret_from_fork (arch/x86/kernel/entry_64.S:552) -&gt; #0 (blkcg_pol_mutex){+.+.+.}: __lock_acquire (kernel/locking/lockdep.c:1840 kernel/locking/lockdep.c:1945 kernel/locking/lockdep.c:2131 kernel/locking/lockdep.c:3182) lock_acquire (arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3602) mutex_lock_nested (kernel/locking/mutex.c:486 kernel/locking/mutex.c:587) blkcg_reset_stats (include/linux/spinlock.h:328 block/blk-cgroup.c:455) cgroup_file_write (kernel/cgroup.c:2714) kernfs_fop_write (fs/kernfs/file.c:295) vfs_write (fs/read_write.c:532) SyS_write (fs/read_write.c:584 fs/read_write.c:576) tracesys (arch/x86/kernel/entry_64.S:746) other info that might help us debug this: Chain exists of: blkcg_pol_mutex --&gt; cgroup_tree_mutex --&gt; s_active#89 Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(s_active#89); lock(cgroup_tree_mutex); lock(s_active#89); lock(blkcg_pol_mutex); *** DEADLOCK *** 4 locks held by trinity-c173/9024: #0: (&amp;f-&gt;f_pos_lock){+.+.+.}, at: __fdget_pos (fs/file.c:714) #1: (sb_writers#18){.+.+.+}, at: vfs_write (include/linux/fs.h:2255 fs/read_write.c:530) #2: (&amp;of-&gt;mutex){+.+.+.}, at: kernfs_fop_write (fs/kernfs/file.c:283) #3: (s_active#89){++++.+}, at: kernfs_fop_write (fs/kernfs/file.c:283) stack backtrace: CPU: 3 PID: 9024 Comm: trinity-c173 Tainted: G W 3.15.0-rc3-next-20140430-sasha-00016-g4e281fa-dirty #429 ffffffff919687b0 ffff8805f6373bb8 ffffffff8e52cdbb 0000000000000002 ffffffff919d8400 ffff8805f6373c08 ffffffff8e51fb88 0000000000000004 ffff8805f6373c98 ffff8805f6373c08 ffff88061be70d98 ffff88061be70dd0 Call Trace: dump_stack (lib/dump_stack.c:52) print_circular_bug (kernel/locking/lockdep.c:1216) __lock_acquire (kernel/locking/lockdep.c:1840 kernel/locking/lockdep.c:1945 kernel/locking/lockdep.c:2131 kernel/locking/lockdep.c:3182) lock_acquire (arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3602) mutex_lock_nested (kernel/locking/mutex.c:486 kernel/locking/mutex.c:587) blkcg_reset_stats (include/linux/spinlock.h:328 block/blk-cgroup.c:455) cgroup_file_write (kernel/cgroup.c:2714) kernfs_fop_write (fs/kernfs/file.c:295) vfs_write (fs/read_write.c:532) SyS_write (fs/read_write.c:584 fs/read_write.c:576) This is a highly unlikely but valid circular dependency between &quot;echo 1 &gt; blkcg.reset_stats&quot; and cfq module [un]loading. cgroup is going through further locking update which will remove this complication but for now let's use trylock on blkcg_pol_mutex and retry the file operation if the trylock fails. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Reported-by: Sasha Levin &lt;sasha.levin@oracle.com&gt; References: http://lkml.kernel.org/g/5363C04B.4010400@oracle.com BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 36c38fb7144aa941dc072ba8f58b2dbe509c0345) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Iab521fe30c49780c2548fa82a847013e10379b13 Reviewed-on: https://chromium-review.googlesource.com/359780 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359780" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/80/359780/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I2d967f56a4586ddac1d7028ed6542ebc619bd804" commit="6190d7ed27fb7009b8fa9141e306fe756a59773d" commit_message="UPSTREAM: cgroup: introduce task_css_is_root() Determining the css of a task usually requires RCU read lock as that's the only thing which keeps the returned css accessible till its reference is acquired; however, testing whether a task belongs to the root can be performed without dereferencing the returned css by comparing the returned pointer against the root one in init_css_set[] which never changes. Implement task_css_is_root() which can be invoked in any context. This will be used by the scheduled cgroup_freezer change. v2: cgroup no longer supports modular controllers. No need to export init_css_set. Pointed out by Li. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 5024ae29cd285ce9e736776414da645d3a91828c) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I2d967f56a4586ddac1d7028ed6542ebc619bd804 Reviewed-on: https://chromium-review.googlesource.com/359781 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359781" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/81/359781/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I1d379580ed6b39a2f0c2c7a30b9b911c16210f2e" commit="90759f9d33bfec8f9f84d5c91ad50e744614c3e6" commit_message="UPSTREAM: cgroup_freezer: replace freezer-&gt;lock with freezer_mutex After 96d365e0b86e (&quot;cgroup: make css_set_lock a rwsem and rename it to css_set_rwsem&quot;), css task iterators requires sleepable context as it may block on css_set_rwsem. I missed that cgroup_freezer was iterating tasks under IRQ-safe spinlock freezer-&gt;lock. This leads to errors like the following on freezer state reads and transitions. BUG: sleeping function called from invalid context at /work /os/work/kernel/locking/rwsem.c:20 in_atomic(): 0, irqs_disabled(): 0, pid: 462, name: bash 5 locks held by bash/462: #0: (sb_writers#7){.+.+.+}, at: [&lt;ffffffff811f0843&gt;] vfs_write+0x1a3/0x1c0 #1: (&amp;of-&gt;mutex){+.+.+.}, at: [&lt;ffffffff8126d78b&gt;] kernfs_fop_write+0xbb/0x170 #2: (s_active#70){.+.+.+}, at: [&lt;ffffffff8126d793&gt;] kernfs_fop_write+0xc3/0x170 #3: (freezer_mutex){+.+...}, at: [&lt;ffffffff81135981&gt;] freezer_write+0x61/0x1e0 #4: (rcu_read_lock){......}, at: [&lt;ffffffff81135973&gt;] freezer_write+0x53/0x1e0 Preemption disabled at:[&lt;ffffffff81104404&gt;] console_unlock+0x1e4/0x460 CPU: 3 PID: 462 Comm: bash Not tainted 3.15.0-rc1-work+ #10 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 ffff88000916a6d0 ffff88000e0a3da0 ffffffff81cf8c96 0000000000000000 ffff88000e0a3dc8 ffffffff810cf4f2 ffffffff82388040 ffff880013aaf740 0000000000000002 ffff88000e0a3de8 ffffffff81d05974 0000000000000246 Call Trace: [&lt;ffffffff81cf8c96&gt;] dump_stack+0x4e/0x7a [&lt;ffffffff810cf4f2&gt;] __might_sleep+0x162/0x260 [&lt;ffffffff81d05974&gt;] down_read+0x24/0x60 [&lt;ffffffff81133e87&gt;] css_task_iter_start+0x27/0x70 [&lt;ffffffff8113584d&gt;] freezer_apply_state+0x5d/0x130 [&lt;ffffffff81135a16&gt;] freezer_write+0xf6/0x1e0 [&lt;ffffffff8112eb88&gt;] cgroup_file_write+0xd8/0x230 [&lt;ffffffff8126d7b7&gt;] kernfs_fop_write+0xe7/0x170 [&lt;ffffffff811f0756&gt;] vfs_write+0xb6/0x1c0 [&lt;ffffffff811f121d&gt;] SyS_write+0x4d/0xc0 [&lt;ffffffff81d08292&gt;] system_call_fastpath+0x16/0x1b freezer-&gt;lock used to be used in hot paths but that time is long gone and there's no reason for the lock to be IRQ-safe spinlock or even per-cgroup. In fact, given the fact that a cgroup may contain large number of tasks, it's not a good idea to iterate over them while holding IRQ-safe spinlock. Let's simplify locking by replacing per-cgroup freezer-&gt;lock with global freezer_mutex. This also makes the comments explaining the intricacies of policy inheritance and the locking around it as the states are protected by a common mutex. The conversion is mostly straight-forward. The followings are worth mentioning. * freezer_css_online() no longer needs double locking. * freezer_attach() now performs propagation simply while holding freezer_mutex. update_if_frozen() race no longer exists and the comment is removed. * freezer_fork() now tests whether the task is in root cgroup using the new task_css_is_root() without doing rcu_read_lock/unlock(). If not, it grabs freezer_mutex and performs the operation. * freezer_read() and freezer_change_state() grab freezer_mutex across the whole operation and pin the css while iterating so that each descendant processing happens in sleepable context. Fixes: 96d365e0b86e (&quot;cgroup: make css_set_lock a rwsem and rename it to css_set_rwsem&quot;) Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit e5ced8ebb10c20a3b349bd798b69ccabd3b25d21) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I1d379580ed6b39a2f0c2c7a30b9b911c16210f2e Reviewed-on: https://chromium-review.googlesource.com/359782 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359782" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/82/359782/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I379b75c3aca7351893a720e64a040bc17b9e6c0d" commit="eddc156578a6818b76e0230a15074687e225d1ee" commit_message="UPSTREAM: cgroup: fix rcu_read_lock() leak in update_if_frozen() While updating cgroup_freezer locking, 68fafb77d827 (&quot;cgroup_freezer: replace freezer-&gt;lock with freezer_mutex&quot;) introduced a bug in update_if_frozen() where it returns with rcu_read_lock() held. Fix it by adding rcu_read_unlock() before returning. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Reported-by: kbuild test robot &lt;fengguang.wu@intel.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 36e9d2ebcc15d029b33f42a36146ab5a5bcfcfe7) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I379b75c3aca7351893a720e64a040bc17b9e6c0d Reviewed-on: https://chromium-review.googlesource.com/359783 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359783" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/83/359783/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I96424777da87146a4f3ce40edf157b8ec93bf8bc" commit="3313d7b9858d7fc9e4f586262aa80891e795f8c6" commit_message="UPSTREAM: kernel/cpuset.c: kernel-doc fixes This patch also converts seq_printf to seq_puts Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt; Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit fc34ac1dc52f02a7cf1862960c24771e4883e39b) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I96424777da87146a4f3ce40edf157b8ec93bf8bc Reviewed-on: https://chromium-review.googlesource.com/359784 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359784" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/84/359784/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I9fdbfd60890a21e8d775409d756fb06856a936e5" commit="a13b99ede9e8a0d6d6238d2da12c870b6114ca77" commit_message="UPSTREAM: kernel/cpuset.c: convert printk to pr_foo() Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt; Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 12d3089c192c3a762fed098988d99f4b8ff33266) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I9fdbfd60890a21e8d775409d756fb06856a936e5 Reviewed-on: https://chromium-review.googlesource.com/359785 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359785" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/85/359785/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I7396cc18409927e2396c1bd2c6aa1a9fb4298741" commit="868f1dfa3c4aa042a3f040e8d9c88913136b7ff3" commit_message="UPSTREAM: cgroup: remove unused CGRP_SANE_BEHAVIOR This cgroup flag has never been used. Only CGRP_ROOT_SANE_BEHAVIOR is used. Remove it. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 2b53f41fa8604845f4f7c538723694a453088b15) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I7396cc18409927e2396c1bd2c6aa1a9fb4298741 Reviewed-on: https://chromium-review.googlesource.com/359786 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359786" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/86/359786/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="Ia5d04d631602e3b765dad7fe9281cf5dfcba9cc6" commit="268b3b8b9248b859dc836d2f5457386a377e7b2b" commit_message="UPSTREAM: percpu-refcount: rename percpu_ref_tryget() to percpu_ref_tryget_live() percpu_ref_tryget() is different from the usual tryget semantics in that it fails if the refcnt is in its dying stage even if the refcnt hasn't reached zero yet. We're about to introduce the more conventional tryget and the current one has only one user. Let's rename it to percpu_ref_tryget_live() so that it explicitly signifies the peculiarities of its semantics. This is pure rename. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Kent Overstreet &lt;kmo@daterainc.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 2070d50e1cbe3d7f157cbf8e63279c893f375d7f) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Ia5d04d631602e3b765dad7fe9281cf5dfcba9cc6 Reviewed-on: https://chromium-review.googlesource.com/359787 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359787" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/87/359787/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="Iafc82ab96266f7f079fd6c600cff55b8e8771aa5" commit="f3ea93c1c0a10334d2d67d4bb1d2adb94273aed6" commit_message="UPSTREAM: percpu-refcount: implement percpu_ref_tryget() Implement percpu_ref_tryget() which fails if the refcnt already reached zero. Note that this is different from the recently renamed percpu_ref_tryget_live() which fails if the refcnt has been killed and is draining the remaining references. percpu_ref_tryget() succeeds on a killed refcnt as long as its current refcnt is above zero. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Kent Overstreet &lt;kmo@daterainc.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 4fb6e25049cb6fa0accc7f1b7c192b952fad7ac8) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Iafc82ab96266f7f079fd6c600cff55b8e8771aa5 Reviewed-on: https://chromium-review.googlesource.com/359788 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359788" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/88/359788/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="Ib4578c723edca43f24b8098f13f9ccdb69b92f05" commit="03f909779ad6a8406d710d3e96a5771964835ed0" commit_message="UPSTREAM: cgroup: fix offlining child waiting in cgroup_subtree_control_write() cgroup_subtree_control_write() waits for offline to complete child-by-child before enabling a controller; however, it has a couple bugs. * It doesn't initialize the wait_queue_t. This can lead to infinite hang on the following schedule() among other things. * It forgets to pin the child before releasing cgroup_tree_mutex and performing schedule(). The child may already be gone by the time it wakes up and invokes finish_wait(). Pin the child being waited on. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 0cee8b7786467907e12d1d8f872e6dc73bc95204) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Ib4578c723edca43f24b8098f13f9ccdb69b92f05 Reviewed-on: https://chromium-review.googlesource.com/359789 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="2" gerrit_number="359789" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/89/359789/1" remote="cros" total_fail_count="2"/><pending_commit branch="chromeos-3.14" change_id="I142eff891756628ea189754d2a8f6023f8661295" commit="9c4a6904ffe517b793bfd115f9dad763718483cb" commit_message="UPSTREAM: cgroup: cgroup_idr_lock should be bh cgroup_idr_remove() can be invoked from bh leading to lockdep detecting possible AA deadlock (IN_BH/ON_BH). Make the lock bh-safe. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 54504e977ceee0bea6fbe8b632eceea771b18c6c) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I142eff891756628ea189754d2a8f6023f8661295 Reviewed-on: https://chromium-review.googlesource.com/359790 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="5" gerrit_number="359790" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/90/359790/1" remote="cros" total_fail_count="5"/><pending_commit branch="chromeos-3.14" change_id="Id917cc3b1006fc0c8b9bf28fdf5623591e384879" commit="9b8248b28312507922eb104dbdbfe113a1caec97" commit_message="UPSTREAM: cgroup: css_release() shouldn't clear cgroup-&gt;subsys[] c1a71504e971 (&quot;cgroup: don't recycle cgroup id until all csses' have been destroyed&quot;) made cgroup ID persist until a cgroup is released and add cgroup-&gt;subsys[] clearing to css_release() so that css_from_id() doesn't return a css which has already been released which happens before cgroup release; however, the right change here was updating offline_css() to clear cgroup-&gt;subsys[] which was done by e32978031016 (&quot;cgroup: cgroup-&gt;subsys[] should be cleared after the css is offlined&quot;) instead of clearing it from css_release(). We're now clearing cgroup-&gt;subsys[] twice. This is okay for traditional hierarchies as a css's lifetime is the same as its cgroup's; however, this confuses unified hierarchy and turning on and off a controller repeatedly using &quot;cgroup.subtree_control&quot; can lead to an oops like the following which happens because cgroup-&gt;subsys[] is incorrectly cleared asynchronously by css_release(). BUG: unable to handle kernel NULL pointer dereference at 00000000000000 08 IP: [&lt;ffffffff81130c11&gt;] kill_css+0x21/0x1c0 PGD 1170d067 PUD f0ab067 PMD 0 Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC Modules linked in: CPU: 2 PID: 459 Comm: bash Not tainted 3.15.0-rc2-work+ #5 Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 task: ffff880009296710 ti: ffff88000e198000 task.ti: ffff88000e198000 RIP: 0010:[&lt;ffffffff81130c11&gt;] [&lt;ffffffff81130c11&gt;] kill_css+0x21/0x1c0 RSP: 0018:ffff88000e199dc8 EFLAGS: 00010202 RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000000000001 RDX: 0000000000000001 RSI: ffffffff8238a968 RDI: ffff880009296f98 RBP: ffff88000e199de0 R08: 0000000000000001 R09: 02b0000000000000 R10: 0000000000000000 R11: ffff880009296fc0 R12: 0000000000000001 R13: ffff88000db6fc58 R14: 0000000000000001 R15: ffff8800139dcc00 FS: 00007ff9160c5740(0000) GS:ffff88001fb00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000008 CR3: 0000000013947000 CR4: 00000000000006e0 Stack: ffff88000e199de0 ffffffff82389160 0000000000000001 ffff88000e199e80 ffffffff8113537f 0000000000000007 ffff88000e74af00 ffff88000e199e48 ffff880009296710 ffff88000db6fc00 ffffffff8239c100 0000000000000002 Call Trace: [&lt;ffffffff8113537f&gt;] cgroup_subtree_control_write+0x85f/0xa00 [&lt;ffffffff8112fd18&gt;] cgroup_file_write+0x38/0x1d0 [&lt;ffffffff8126fc97&gt;] kernfs_fop_write+0xe7/0x170 [&lt;ffffffff811f2ae6&gt;] vfs_write+0xb6/0x1c0 [&lt;ffffffff811f35ad&gt;] SyS_write+0x4d/0xc0 [&lt;ffffffff81d0acd2&gt;] system_call_fastpath+0x16/0x1b Code: 5c 41 5d 41 5e 41 5f 5d c3 90 0f 1f 44 00 00 55 48 89 e5 41 54 53 48 89 fb 48 83 ec 08 8b 05 37 ad 29 01 85 c0 0f 85 df 00 00 00 &lt;48&gt; 8b 43 08 48 8b 3b be 01 00 00 00 8b 48 5c d3 e6 e8 49 ff ff RIP [&lt;ffffffff81130c11&gt;] kill_css+0x21/0x1c0 RSP &lt;ffff88000e199dc8&gt; CR2: 0000000000000008 ---[ end trace e7aae1f877c4e1b4 ]--- Remove the unnecessary cgroup-&gt;subsys[] clearing from css_release(). Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 0ab7a60dea71c285dfbb65e344d895b9c4f7bcb9) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Id917cc3b1006fc0c8b9bf28fdf5623591e384879 Reviewed-on: https://chromium-review.googlesource.com/359791 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="4" gerrit_number="359791" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/91/359791/1" remote="cros" total_fail_count="4"/><pending_commit branch="chromeos-3.14" change_id="Ia86f5e5759cd2f8461b37b077e96cfd914227dad" commit="d633e1104af299e7c9ccf53c34caf670115a1fb3" commit_message="UPSTREAM: cgroup: update and fix parsing of &quot;cgroup.subtree_control&quot; I was confused that strsep() was equivalent to strtok_r() in skipping over consecutive delimiters. strsep() just splits at the first occurrence of one of the delimiters which makes the parsing very inflexible, which makes allowing multiple whitespace chars as delimters kinda moot. Let's just be consistently strict and require list of tokens separated by spaces. This is what Documentation/cgroups/unified-hierarchy.txt describes too. Also, parsing may access beyond the end of the string if the string ends with spaces or is zero-length. Make sure it skips zero-length tokens. Note that this also ensures that the parser doesn't puke on multiple consecutive spaces. v2: Add zero-length token skipping. v3: Added missing space after &quot;==&quot;. Spotted by Li. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit d37167ab7b3d67d53519585a44c47416e6758ed2) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Ia86f5e5759cd2f8461b37b077e96cfd914227dad Reviewed-on: https://chromium-review.googlesource.com/359792 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="4" gerrit_number="359792" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/92/359792/1" remote="cros" total_fail_count="4"/><pending_commit branch="chromeos-3.14" change_id="I7dc173c78d4ced27b5ac56d28a0510e8c8f6c508" commit="be5fb5464d51d75aed0fcf5d3a77ff2a63aaf3b1" commit_message="UPSTREAM: cgroup: use restart_syscall() for retries after offline waits in cgroup_subtree_control_write() After waiting for a child to finish offline, cgroup_subtree_control_write() jumps up to retry from after the input parsing and active protection breaking. This retry makes the scheduled locking update - removal of cgroup_tree_mutex - more difficult. Let's simplify it by returning with restart_syscall() for retries. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 7d331fa985d3a39d5b8cb60caf016d3e53e57c91) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I7dc173c78d4ced27b5ac56d28a0510e8c8f6c508 Reviewed-on: https://chromium-review.googlesource.com/359793 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="4" gerrit_number="359793" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/93/359793/1" remote="cros" total_fail_count="4"/><pending_commit branch="chromeos-3.14" change_id="I49139bcbf65d9badf48be0b49ed7dfc40d8cf8f6" commit="da91476dd9fffecfba15835265132027c969005e" commit_message="UPSTREAM: cgroup: use release_agent_path_lock in cgroup_release_agent_show() release_path is now protected by release_agent_path_lock to allow accessing it without grabbing cgroup_mutex; however, cgroup_release_agent_show() was still grabbing cgroup_mutex. Let's convert it to release_agent_path_lock so that we don't have to worry about this one for the planned locking updates. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 46cfeb043b04f5878154bea36714709d46028495) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I49139bcbf65d9badf48be0b49ed7dfc40d8cf8f6 Reviewed-on: https://chromium-review.googlesource.com/359794 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="4" gerrit_number="359794" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/94/359794/1" remote="cros" total_fail_count="4"/><pending_commit branch="chromeos-3.14" change_id="I8dd89de46d74af713dbc62b1d5f7fade80c8eb6c" commit="5b32bcd93c273636f41a2ea6e6a4651dafe53c41" commit_message="UPSTREAM: memcg: get_mem_cgroup_from_mm() Instead of returning NULL from try_get_mem_cgroup_from_mm() when the mm owner is exiting, just return root_mem_cgroup. This makes sense for all callsites and gets rid of some of them having to fallback manually. [fengguang.wu@intel.com: fix warnings] Signed-off-by: Johannes Weiner &lt;hannes@cmpxchg.org&gt; Signed-off-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt; Acked-by: Michal Hocko &lt;mhocko@suse.cz&gt; Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt; Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit df381975463996178d685f6ef7d3555c5f887201) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I8dd89de46d74af713dbc62b1d5f7fade80c8eb6c Reviewed-on: https://chromium-review.googlesource.com/359795 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="4" gerrit_number="359795" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/95/359795/1" remote="cros" total_fail_count="4"/><pending_commit branch="chromeos-3.14" change_id="I73d00263f386a8ee9ed1eb24b65a1ffc1e9e6652" commit="f4008ce8501f1f2d3b00730a2d474175e79cf5fc" commit_message="UPSTREAM: cgroup: rename css_tryget*() to css_tryget_online*() Unlike the more usual refcnting, what css_tryget() provides is the distinction between online and offline csses instead of protection against upping a refcnt which already reached zero. cgroup is planning to provide actual tryget which fails if the refcnt already reached zero. Let's rename the existing trygets so that they clearly indicate that they're onliness. I thought about keeping the existing names as-are and introducing new names for the planned actual tryget; however, given that each controller participates in the synchronization of the online state, it seems worthwhile to make it explicit that these functions are about on/offline state. Rename css_tryget() to css_tryget_online() and css_tryget_from_dir() to css_tryget_online_from_dir(). This is pure rename. v2: cgroup_freezer grew new usages of css_tryget(). Update accordingly. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Johannes Weiner &lt;hannes@cmpxchg.org&gt; Acked-by: Michal Hocko &lt;mhocko@suse.cz&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; Cc: Vivek Goyal &lt;vgoyal@redhat.com&gt; Cc: Jens Axboe &lt;axboe@kernel.dk&gt; Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt; Cc: Paul Mackerras &lt;paulus@samba.org&gt; Cc: Ingo Molnar &lt;mingo@redhat.com&gt; Cc: Arnaldo Carvalho de Melo &lt;acme@kernel.org&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit ec903c0c858e4963a9e0724bdcadfa837253341c) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I73d00263f386a8ee9ed1eb24b65a1ffc1e9e6652 Reviewed-on: https://chromium-review.googlesource.com/359796 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="4" gerrit_number="359796" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/96/359796/1" remote="cros" total_fail_count="4"/><pending_commit branch="chromeos-3.14" change_id="I5fbaff8ffb1439b11363c833a92babe38a09b066" commit="19dc82995f7591908c8844f89b864a34c5c5b6e0" commit_message="UPSTREAM: cgroup: implement cftype-&gt;write() During the recent conversion to kernfs, cftype's seq_file operations are updated so that they are directly mapped to kernfs operations and thus can fully access the associated kernfs and cgroup contexts; however, write path hasn't seen similar updates and none of the existing write operations has access to, for example, the associated kernfs_open_file. Let's introduce a new operation cftype-&gt;write() which maps directly to the kernfs write operation and has access to all the arguments and contexts. This will replace -&gt;write_string() and -&gt;trigger() and ease manipulation of kernfs active protection from cgroup file operations. Two accessors - of_cft() and of_css() - are introduced to enable accessing the associated cgroup context from cftype-&gt;write() which only takes kernfs_open_file for the context information. The accessors for seq_file operations - seq_cft() and seq_css() - are rewritten to wrap the of_ accessors. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit b41686401e501430ffe93b575ef7959d2ecc6f2e) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I5fbaff8ffb1439b11363c833a92babe38a09b066 Reviewed-on: https://chromium-review.googlesource.com/359797 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="4" gerrit_number="359797" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/97/359797/1" remote="cros" total_fail_count="4"/><pending_commit branch="chromeos-3.14" change_id="I165c99680f3562207adbe3213cef03d2f99aa543" commit="0237bf1307937a461316cc3348d63da6a62d31bc" commit_message="UPSTREAM: cgroup: replace cftype-&gt;write_string() with cftype-&gt;write() Convert all cftype-&gt;write_string() users to the new cftype-&gt;write() which maps directly to kernfs write operation and has full access to kernfs and cgroup contexts. The conversions are mostly mechanical. * @css and @cft are accessed using of_css() and of_cft() accessors respectively instead of being specified as arguments. * Should return @nbytes on success instead of 0. * @buf is not trimmed automatically. Trim if necessary. Note that blkcg and netprio don't need this as the parsers already handle whitespaces. cftype-&gt;write_string() has no user left after the conversions and removed. While at it, remove unnecessary local variable @p in cgroup_subtree_control_write() and stale comment about CGROUP_LOCAL_BUFFER_SIZE in cgroup_freezer.c. This patch doesn't introduce any visible behavior changes. v2: netprio was missing from conversion. Converted. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Aristeu Rozanski &lt;arozansk@redhat.com&gt; Acked-by: Vivek Goyal &lt;vgoyal@redhat.com&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; Cc: Jens Axboe &lt;axboe@kernel.dk&gt; Cc: Johannes Weiner &lt;hannes@cmpxchg.org&gt; Cc: Michal Hocko &lt;mhocko@suse.cz&gt; Cc: Neil Horman &lt;nhorman@tuxdriver.com&gt; Cc: &quot;David S. Miller&quot; &lt;davem@davemloft.net&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 451af504df0c62f695a69b83c250486e77c66378) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I165c99680f3562207adbe3213cef03d2f99aa543 Reviewed-on: https://chromium-review.googlesource.com/359798 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="4" gerrit_number="359798" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/98/359798/1" remote="cros" total_fail_count="4"/><pending_commit branch="chromeos-3.14" change_id="I52afe83afa4679b618fb156f169074a33676758b" commit="2ddddbc7ed158b8206cc929f81866bc4ba58d385" commit_message="UPSTREAM: cgroup: replace cftype-&gt;trigger() with cftype-&gt;write() cftype-&gt;trigger() is pointless. It's trivial to ignore the input buffer from a regular -&gt;write() operation. Convert all -&gt;trigger() users to -&gt;write() and remove -&gt;trigger(). This patch doesn't introduce any visible behavior changes. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; Cc: Johannes Weiner &lt;hannes@cmpxchg.org&gt; Cc: Michal Hocko &lt;mhocko@suse.cz&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit 6770c64e5c8da4705d1f0973bdeb5c2bf4f3a404) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: I52afe83afa4679b618fb156f169074a33676758b Reviewed-on: https://chromium-review.googlesource.com/359799 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="4" gerrit_number="359799" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/99/359799/1" remote="cros" total_fail_count="4"/><pending_commit branch="chromeos-3.14" change_id="Ifa582a4291652452ffe6dd1e3bfc0a18d0dc1830" commit="71028ed80c860abb169a670200b87a7800625bc5" commit_message="UPSTREAM: cgroup: convert &quot;tasks&quot; and &quot;cgroup.procs&quot; handle to use cftype-&gt;write() cgroup_tasks_write() and cgroup_procs_write() are currently using cftype-&gt;write_u64(). This patch converts them to use cftype-&gt;write() instead. This allows access to the associated kernfs_open_file which will be necessary to implement the planned kernfs active protection manipulation for these files. This shifts buffer parsing to attach_task_by_pid() and makes it return @nbytes on success. Let's rename it to __cgroup_procs_write() to clearly indicate that this is a write handler implementation. This patch doesn't introduce any visible behavior changes. Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt; Acked-by: Li Zefan &lt;lizefan@huawei.com&gt; BUG=b:29259708 TEST=Built and booted Minnie (cherry picked from commit acbef755f40e204b8a6503fa79958d51a898762a) Signed-off-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; Change-Id: Ifa582a4291652452ffe6dd1e3bfc0a18d0dc1830 Reviewed-on: https://chromium-review.googlesource.com/359800 Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="4" gerrit_number="359800" owner_email="dtor@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/00/359800/1" remote="cros" total_fail_count="4"/><pending_commit branch="chromeos-3.14" change_id="Ib313b3cd54918d92dbf9348e4980515dd6cc733b" commit="6a7ed78eaa196c15e465bd9d6e662ab995d894cd" commit_message="UPSTREAM: net/usb/r8152: add device id for Lenovo TP USB 3.0 Ethernet This device is sold as 'Lenovo Tinkpad USB 3.0 Ethernet 4X90E51405'. Chipset is RTL8153 and works with r8152. Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit 347eec348a9b0ba6968145cc7b1995d2475ae31b) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: Ib313b3cd54918d92dbf9348e4980515dd6cc733b Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360397 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360397" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/97/360397/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="I42c2d2e179687bae750bfefca37c89ad69324772" commit="6ac5cabcde32bc74d6d126ee1bfe0fd2105fbed8" commit_message="UPSTREAM: drivers/net/usb: Add support for 'Lenovo OneLink Pro Dock' This device is sold as 'Lenovo OneLink Pro Dock'. Chipset is RTL8153 and works with r8152. Signed-off-by: Vasily Titskiy &lt;qehgt0@gmail.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit 1006da19ea6603135773a79f09e4e931be460429) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: I42c2d2e179687bae750bfefca37c89ad69324772 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360398 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360398" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/98/360398/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="Ib67aeed02a87ece8140f8ffa5c2031dcb55ff90b" commit="63a569d60e6a0445350e3df92541c42c8762d3d2" commit_message="UPSTREAM: drivers/net/usb: add device id for NVIDIA Tegra USB 3.0 Ethernet This device is sold as 'NVIDIA Tegra USB 3.0 Ethernet'. Chipset is RTL8153 and works with r8152. Signed-off-by: Zheng Liu &lt;zhliu@nvidia.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit d065c3c17dae95832badf6329512dd057c905890) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: Ib67aeed02a87ece8140f8ffa5c2031dcb55ff90b Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360399 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360399" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/99/360399/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="Ie3982fe286592bdc7f69b17d98ff0c742a3b4324" commit="08d4c0920f35a9f16361f2897f3fd7dfbceca482" commit_message="UPSTREAM: r8152: support the new RTL8153 chip Support the new USB gigabit ethernet. Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit fb02eb4a29303295f2fed8a69d9aa703792c834b) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: Ie3982fe286592bdc7f69b17d98ff0c742a3b4324 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360400 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360400" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/00/360400/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="Ie395a84a2f0287ed20f166672d4a6543b46e1018" commit="088430dd2e5313f3b6c995fa787934373c41a3ec" commit_message="UPSTREAM: r8152: fix the issue about U1/U2 - Disable U1/U2 during initialization. - Disable lpm when linking is on, and enable it when linking is off. - Disable U1/U2 when enabling runtime suspend. It is possible to let hw stop working, if the U1/U2 request occurs during some situations. The patch is used to avoid it. Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit b214396fb5890af58ff04b42deba7de5a2686338) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: Ie395a84a2f0287ed20f166672d4a6543b46e1018 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360401 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360401" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/01/360401/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="I600f47b2a132106b7d2135214ef5144c3c9a8f14" commit="ffd0bf64c42edcb66c345a02bdc3b0472dff1b08" commit_message="UPSTREAM: r8152: fix wakeup settings Avoid the driver to enable WOL if the device doesn't support it. Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit 7daed8dc2a4b48c5a7ea5b3243d01837ec1aed0a) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: I600f47b2a132106b7d2135214ef5144c3c9a8f14 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360402 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360402" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/02/360402/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="I8ad0674c0c6ae9ec59864948ab8c3292226e4aa4" commit="8a7297a27e0517ffd29dd85df7977f9aa2e0b45e" commit_message="UPSTREAM: r8152: don't enable napi before rx ready Adjust napi_disable() and napi_enable() to avoid r8152_poll() start working before rx ready. Otherwise, it may have race condition for rx_agg. Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit 41cec84cf2858b59121a1cec5e9b09fc1bf1d882) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: I8ad0674c0c6ae9ec59864948ab8c3292226e4aa4 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360403 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360403" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/03/360403/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="I5b69b0fceff8ce42dc60f6010878bc747b75ca74" commit="dd58766df3d07209dd5ff6bdac2741abc183c3a2" commit_message="UPSTREAM: r8152: add pre_reset and post_reset Add rtl8152_pre_reset() and rtl8152_post_reset() which are used when calling usb_reset_device(). The two functions could reduce the time of reset when calling usb_reset_device() after probe(). Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit e501139a515018f913761d3bf4239313c87e721c) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: I5b69b0fceff8ce42dc60f6010878bc747b75ca74 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360404 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360404" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/04/360404/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="I6cb2aa90e7e42959738990d8ffe690b384046d60" commit="d3751984b6896c34f1841e342a8a0881cbb5f06c" commit_message="UPSTREAM: r8152: reset device when tx timeout The device reset is necessary if the hw becomes abnormal and stops transmitting packets. Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit 37608f3e57dda037a230afb7dc8da9a63f100e06) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: I6cb2aa90e7e42959738990d8ffe690b384046d60 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360405 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360405" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/05/360405/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="I1d80cb70216b4b3f9f01aa980fb03a2d6f5b83cb" commit="7fc2124524ffab67a462ed728c425ed2a33ffd50" commit_message="UPSTREAM: r8152: disable the capability of zero length The UEFI driver would enable zero length, and the Linux driver doesn't need it. Zero length let the hw complete the transfer with length 0, when there is no received packet. It would add the load of USB host controller and reduce the performance. Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit e90fba8d9f6067cd511f7b855518eebda6bf2532) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: I1d80cb70216b4b3f9f01aa980fb03a2d6f5b83cb Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360406 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360406" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/06/360406/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="Icf87a5d3b169741eaada06db21f3314d0c2d7d7c" commit="33f6dd57eacc83523cd475f484c5e4b8a6d23f81" commit_message="UPSTREAM: r8152: split DRIVER_VERSION Split DRIVER_VERSION into NETNEXT_VERSION and NET_VERSION. Then, according to the value of DRIVER_VERSION, we could know which patches are used generally without comparing the source code. Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit d0942473e3ca4629a40bbf0c9fd74fc0c7ff2a79) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: Icf87a5d3b169741eaada06db21f3314d0c2d7d7c Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360407 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360407" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/07/360407/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="I9371c39eccf09ce50c2e7b30175e516e7e30b669" commit="a23c120f3990b1953fe4276cc096be46ff9e0806" commit_message="UPSTREAM: r8152: fix the runtime suspend issues Fix the runtime suspend issues result from the linking change. Case 1: a) link down occurs. b) driver disable tx/rx. c) autosuspend occurs. d) hw linking up. e) device suspends without enabling tx/rx. f) couldn't wake up when receiving packets. Case 2: a) Nway results in linking down. b) autosuspend occurs. c) device suspends. d) device may not wake up when linking up. Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit 2dd49e0f16fb0e07c6fcc1322ebba310f5827072) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: I9371c39eccf09ce50c2e7b30175e516e7e30b669 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360408 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360408" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/08/360408/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="Idabc01feadd7d19132860c9d671a2b0fd4028420" commit="2acc767339e358b18639b2a5c8b6d1cdabe164fb" commit_message="UPSTREAM: r8152: fix lockup when runtime PM is enabled When an interface is brought up which was previously suspended (via runtime PM), it would hang. This happens because napi_disable is called before napi_enable. Solve this by avoiding napi_enable in the resume during open function (netif_running is true when open is called, IFF_UP is set after a successful open; netif_running is false when close is called, but IFF_UP is then still set). While at it, remove WORK_ENABLE check from rtl8152_open (introduced with the original change) because it cannot happen: - After this patch, runtime resume will not set it during rtl8152_open. - When link is up, rtl8152_open is not called. - When link is down during system/auto suspend/resume, it is not set. Fixes: 41cec84cf285 (&quot;r8152: don't enable napi before rx ready&quot;) Link: https://lkml.kernel.org/r/20151205105912.GA1766@al Signed-off-by: Peter Wu &lt;peter@lekensteyn.nl&gt; Acked-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit 90186af404ada5a47b875bf3c16d0b02bb023ea0) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: Idabc01feadd7d19132860c9d671a2b0fd4028420 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360409 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360409" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/09/360409/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="I052f3a46965156c20be1bf1001e76459b5124d9b" commit="75ab403e794b41d298bccda320573348acde0dc1" commit_message="UPSTREAM: r8152: add reset_resume function When the reset_resume() is called, the flag of SELECTIVE_SUSPEND should be cleared and reinitialize the device, whether the SELECTIVE_SUSPEND is set or not. If reset_resume() is called, it means the power supply is cut or the device is reset. That is, the device wouldn't be in runtime suspend state and the reinitialization is necessary. Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit 7ec2541aa7a026874930d6117e86fe2e76fb1587) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: I052f3a46965156c20be1bf1001e76459b5124d9b Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360410 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360410" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/10/360410/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="I2e7eedb11b18f0bbdab9b6c47918f9e63a006ea0" commit="03c1ba686168976f156e5a0507975cf9069c02d8" commit_message="UPSTREAM: r8152: fix the wake event When the autosuspend is enabled and occurs before system suspend, we should wake the device before running system syspend. Then, we could change the wake event for system suspend. Otherwise, the device would resume the system when receiving any packet. Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit 5ee3c60c8d3b88cab6496c9b7d49a01576dd9cf9) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: I2e7eedb11b18f0bbdab9b6c47918f9e63a006ea0 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360411 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360411" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/11/360411/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="Ia97ff801a4795d36bd44c58ef641001be0576b6f" commit="39d99cab0d90a6a4fa0d8924c9728654a0d7f171" commit_message="UPSTREAM: r8152: use test_and_clear_bit Replace test_bit() followed by clear_bit() with test_and_clear_bit(). Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit 216a8349d3a0dd1bc2afbcc821e374c8f929bd62) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: Ia97ff801a4795d36bd44c58ef641001be0576b6f Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360412 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360412" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/12/360412/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="Ie3797cbed0da4e9973604ac2541cfdd6c70519af" commit="a2ada183d3f0759983299885c0c80337be4625ce" commit_message="UPSTREAM: r8152: adjust ALDPS function Replace disable_aldps() and enable_aldps() with aldps_en(). Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt; Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt; (cherry picked from commit cda9fb01dc3cafd718b2865b447e869bf6624ddd) BUG=chrome-os-partner:622013 TEST=built/installed on gale and sentry. iperf no longer TX timeouts. Change-Id: Ie3797cbed0da4e9973604ac2541cfdd6c70519af Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360413 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360413" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/13/360413/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="I38aa53b9ef891b5b95041976fdac1e20e33f44f9" commit="68b19d4a2b1da6119836c742ca0df5eb6218dff0" commit_message="CHROMIUM: r8152: add support for version 0x6010 Booting with new RTL8153 device and r8152 is complaining with: r8152 2-1:1.0 (unnamed net_device) (uninitialized): Unknown version 0x6010 r8152 2-1:1.0 (unnamed net_device) (uninitialized): Unknown Device For now, treat it the same as RTL_VER_06. BUG=chrome-os-partner:622013 TEST=boot gale with AG-15 to verify eth0 appears Change-Id: I38aa53b9ef891b5b95041976fdac1e20e33f44f9 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360414 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360414" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/14/360414/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.14" change_id="Ifcd51c693b588b05db46b8b3248c9233d0ce4887" commit="026a8dbda918cec3b865b175c3c9f7dac0900d41" commit_message="CHROMIUM: r8152: add MODULE_VERSION ethtool -i provides a driver version that is hard coded. Export the same value via &quot;modinfo&quot;. BUG=chrome-os-partner:622013 TEST=build/boot and check &quot;modinfo r8152&quot; output for version field. Change-Id: Ifcd51c693b588b05db46b8b3248c9233d0ce4887 Signed-off-by: Grant Grundler &lt;grundler@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/360415 Reviewed-by: Dmitry Torokhov &lt;dtor@chromium.org&gt; " fail_count="0" gerrit_number="360415" owner_email="grundler@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/15/360415/1" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I63a1e7a17dab9ee14530dc6c5238f5bf16719dbc" commit="b77feeaa04251fff4f6368cbdcc868d51cf88400" commit_message="quipper: Read normal DSO buildids ourselves. This does not yet handle kernel modules or DSOs in containers. TEST=Not yet. The full implemenation is tested in a later change. BUG=none Change-Id: I63a1e7a17dab9ee14530dc6c5238f5bf16719dbc Reviewed-on: https://chromium-review.googlesource.com/354244 Commit-Ready: David Sharp &lt;dhsharp@chromium.org&gt; Tested-by: David Sharp &lt;dhsharp@chromium.org&gt; Reviewed-by: Chong Jiang &lt;chongjiang@chromium.org&gt; " fail_count="0" gerrit_number="354244" owner_email="dhsharp@chromium.org" pass_count="0" patch_number="8" project="chromiumos/platform2" project_url="https://chromium-review.googlesource.com/chromiumos/platform2" ref="refs/changes/44/354244/8" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="I81411bcbd27720ea2b338584bf2218124a6f2cda" commit="e3ad6cf52221c8aba806b335d1ef84b8156cc3e6" commit_message="quipper: PerfParser: Read kernel module buildids out of /sys/module. TEST=none BUG=none Change-Id: I81411bcbd27720ea2b338584bf2218124a6f2cda Reviewed-on: https://chromium-review.googlesource.com/354245 Commit-Ready: David Sharp &lt;dhsharp@chromium.org&gt; Tested-by: David Sharp &lt;dhsharp@chromium.org&gt; Reviewed-by: Chong Jiang &lt;chongjiang@chromium.org&gt; " fail_count="0" gerrit_number="354245" owner_email="dhsharp@chromium.org" pass_count="0" patch_number="8" project="chromiumos/platform2" project_url="https://chromium-review.googlesource.com/chromiumos/platform2" ref="refs/changes/45/354245/8" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="Icf3ee9ef4b57a4a6d6a71f7393a65e38366372b8" commit="2aa6a19406af0ff115402a7876f253b9cc72cbd5" commit_message="quipper: PerfParser: Record device and inode information in DSOInfo Also add device major/minor/inode numbers to ExampleMmap2Event, which will be used in an upcoming test. TEST=tested in an upcoming change. BUG=none Change-Id: I7d8cc47444c5cd95f34036ed7521c60ee8266013 TEST=none BUG=none Change-Id: Icf3ee9ef4b57a4a6d6a71f7393a65e38366372b8 Reviewed-on: https://chromium-review.googlesource.com/354246 Commit-Ready: David Sharp &lt;dhsharp@chromium.org&gt; Tested-by: David Sharp &lt;dhsharp@chromium.org&gt; Reviewed-by: Chong Jiang &lt;chongjiang@chromium.org&gt; " fail_count="0" gerrit_number="354246" owner_email="dhsharp@chromium.org" pass_count="0" patch_number="8" project="chromiumos/platform2" project_url="https://chromium-review.googlesource.com/chromiumos/platform2" ref="refs/changes/46/354246/8" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="I24262f7494cf222ad8e504390bf8155227319c52" commit="0378b3d05bcbac934e188b4f82536f3bca34d7c9" commit_message="quipper: Read buildids of non-kernel DSOs out of /proc/&lt;tid&gt;/root Reading from proc/&lt;tid&gt;/root accounts for the thread's mnt namespace and chroot, without the complication of entering a container. If not found (likely the thread has exited), also tries reading from /proc/&lt;pid&gt;/root, and finally also tries reading it directly. If the DSO mapping is from a MMAP2 record, then the file's device major, minor, and inode numbers must match those in the MMAP2 record. If it is not identified as the same file, the DSO is not examined for a buildid. If the device/inode info are not available, then the file is tried anyway. TEST=Added extensive unit tests. BUG=none Change-Id: I24262f7494cf222ad8e504390bf8155227319c52 Reviewed-on: https://chromium-review.googlesource.com/354247 Commit-Ready: David Sharp &lt;dhsharp@chromium.org&gt; Tested-by: David Sharp &lt;dhsharp@chromium.org&gt; Reviewed-by: Chong Jiang &lt;chongjiang@chromium.org&gt; " fail_count="0" gerrit_number="354247" owner_email="dhsharp@chromium.org" pass_count="0" patch_number="8" project="chromiumos/platform2" project_url="https://chromium-review.googlesource.com/chromiumos/platform2" ref="refs/changes/47/354247/8" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="Ifb49660ea23daecaa897ffba264380efec986b27" commit="8749ce159b5647dfd68972a60dae28089bc6f1a7" commit_message="quipper: perf_parser_test: Check CAP_SYS_ADMIN capability to call unshare() Calling unshare(CLONE_NEWNS) requires privilege. Check for this privilege before running the test, and skip the test if not available. TEST=Ran unit tests as non-root user. BUG=none Change-Id: Ifb49660ea23daecaa897ffba264380efec986b27 Reviewed-on: https://chromium-review.googlesource.com/354248 Commit-Ready: David Sharp &lt;dhsharp@chromium.org&gt; Tested-by: David Sharp &lt;dhsharp@chromium.org&gt; Reviewed-by: Simon Que &lt;sque@chromium.org&gt; " fail_count="0" gerrit_number="354248" owner_email="dhsharp@chromium.org" pass_count="0" patch_number="8" project="chromiumos/platform2" project_url="https://chromium-review.googlesource.com/chromiumos/platform2" ref="refs/changes/48/354248/8" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="I949885f01e2722270c356c8c8499d01db648356d" commit="8f339deec6d46ddb8c6687643395cfa5aeb20291" commit_message="[Autotest] Move arc_common/util.py to public repository There is no reason to keep these files private, and they break partner testing. BUG=b:28937952 BUG=chrome-os-partner:55067 TEST=Move away autotest-tests-cheets, test_that --board=oak 172.30.251.250 power_LoadTest CQ-DEPEND=CL:*269096 Change-Id: I949885f01e2722270c356c8c8499d01db648356d Reviewed-on: https://chromium-review.googlesource.com/360052 Commit-Ready: Nicolas Boichat &lt;drinkcat@chromium.org&gt; Tested-by: Nicolas Boichat &lt;drinkcat@chromium.org&gt; Reviewed-by: Victor Hsieh &lt;victorhsieh@chromium.org&gt; " fail_count="1" gerrit_number="360052" owner_email="drinkcat@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/52/360052/1" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="Idf1484c2767f4fe0ac860360985c02b9bd635023" commit="3dfbe7e77ac5a0ca20411ca0da7c5333a9367ec2" commit_message="power_IdleSuspend: guarantee OOBE completed before suspend. power manager ignores idle action if OOBE is not completed. To guarantee that, control file now runs login_LoginSuccess prior to executing power_IdleSuspend. BUG=chromium:627363 TEST=test_that $dut power_IdleSuspend No longer raises exception 'timed out waiting for suspend' No longer see this log message in powerd log '[state_controller.cc(857)] Not performing idle action without OOBE completed' Change-Id: Idf1484c2767f4fe0ac860360985c02b9bd635023 Reviewed-on: https://chromium-review.googlesource.com/359614 Commit-Ready: Todd Broch &lt;tbroch@chromium.org&gt; Tested-by: Todd Broch &lt;tbroch@chromium.org&gt; Reviewed-by: Dan Erat &lt;derat@chromium.org&gt; " fail_count="5" gerrit_number="359614" owner_email="tbroch@chromium.org" pass_count="0" patch_number="2" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/14/359614/2" remote="cros" total_fail_count="5"/><pending_commit branch="master" change_id="I7dd0bd5a7c8e196dd7dce5a0682aadf452a17ed8" commit="89fc798d515ab73341f3eca72ed79bf04c15f565" commit_message="power_IdleSuspend: Allow suspend-to-idle. Devices that support suspend-to-idle will echo 'freeze' to /sys/power/state instead of 'mem'. Make change to support either string. Also fixed some pylint docstring failures. BUG=chromium:627363 TEST=test_that $dut power_IdleSuspend on device that supports suspend-to-idle (AKA 'freeze') passes. Change-Id: I7dd0bd5a7c8e196dd7dce5a0682aadf452a17ed8 Reviewed-on: https://chromium-review.googlesource.com/359615 Commit-Ready: Todd Broch &lt;tbroch@chromium.org&gt; Tested-by: Todd Broch &lt;tbroch@chromium.org&gt; Reviewed-by: Dan Erat &lt;derat@chromium.org&gt; " fail_count="5" gerrit_number="359615" owner_email="tbroch@chromium.org" pass_count="0" patch_number="2" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/15/359615/2" remote="cros" total_fail_count="5"/><pending_commit branch="master" change_id="I8b045a8f03e0924f8c6a175c2261151a4fff2ee2" commit="4821c78d1c0d500b2afdc2c5bd3d3503645a3452" commit_message="Include config from DOTCONFIG instead of redefinition This includes config from DOTCONFIG instead of redefining its path. In addition to removing the duplication and increasing clarity, this also allows providing the DOTCONFIG path via the make command line. BUG=None TEST=build depthcharge for veyron_speedy in tree and out of tree BRANCH=None Change-Id: I8b045a8f03e0924f8c6a175c2261151a4fff2ee2 Signed-off-by: Paul Kocialkowski &lt;contact@paulk.fr&gt; Reviewed-on: https://chromium-review.googlesource.com/359482 Reviewed-by: Julius Werner &lt;jwerner@chromium.org&gt; " fail_count="0" gerrit_number="359482" owner_email="contact@paulk.fr" pass_count="0" patch_number="3" project="chromiumos/platform/depthcharge" project_url="https://chromium-review.googlesource.com/chromiumos/platform/depthcharge" ref="refs/changes/82/359482/3" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I239640cb4d285040d3ea81dd47d8501fb80e4a15" commit="56d9f377b33136e05f3fd03abad8ba99194ce8bd" commit_message="dt: Remove unused wifi device mapping array This removes the if_to_address structure that is no longer used. Commit 34b7ddb1a8a1b1bffd20e50efcfa04c8e0f6db6d (dt: function to copy WiFi calibration data into the device tree) removed any use for this structure. Thus, it may trigger a compiler warning in some setups. BUG=None BRANCH=None TEST=build depthcharge for veyron_speedy and run it up to the system Change-Id: I239640cb4d285040d3ea81dd47d8501fb80e4a15 Signed-off-by: Paul Kocialkowski &lt;contact@paulk.fr&gt; Reviewed-on: https://chromium-review.googlesource.com/360111 Reviewed-by: Julius Werner &lt;jwerner@chromium.org&gt; " fail_count="0" gerrit_number="360111" owner_email="contact@paulk.fr" pass_count="0" patch_number="2" project="chromiumos/platform/depthcharge" project_url="https://chromium-review.googlesource.com/chromiumos/platform/depthcharge" ref="refs/changes/11/360111/2" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="Iaa80dbeb8266f8bd50bdac70d91d36f72d1a4c8e" commit="1ae13a04898e43527162051cbf9b94acf2b69518" commit_message="[Android_Nightly]Removing duplicate entry from scheduler. BUG=None TEST=None Change-Id: Iaa80dbeb8266f8bd50bdac70d91d36f72d1a4c8e Reviewed-on: https://chromium-review.googlesource.com/359923 Commit-Ready: Bindu Mahadev &lt;bmahadev@chromium.org&gt; Tested-by: Bindu Mahadev &lt;bmahadev@chromium.org&gt; Reviewed-by: Bindu Mahadev &lt;bmahadev@chromium.org&gt; " fail_count="1" gerrit_number="359923" owner_email="bmahadev@chromium.org" pass_count="0" patch_number="3" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/23/359923/3" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-2016.05" change_id="If2ac815c4fd5c5ae15443348a49eb31449b724b1" commit="8ca811b95508d1afd48c4f7013b898b365329529" commit_message="mt8173: elm: initialize touchscreen reset gpio In order to save power in S3, we remove reset gpio setting in kernel. We still need to initialize touchscreen ic. Do it by pulling low reset gpio for 500us and then pulling high in firmware. BRANCH=none BUG=chrome-os-partner:55170 TEST=build on elm. Change-Id: If2ac815c4fd5c5ae15443348a49eb31449b724b1 Signed-off-by: YH Huang &lt;yh.huang@mediatek.com&gt; Reviewed-on: https://chromium-review.googlesource.com/360312 Reviewed-by: Julius Werner &lt;jwerner@chromium.org&gt; Reviewed-by: Yidi Lin &lt;yidi.lin@mediatek.com&gt; Reviewed-by: Johnny Chuang &lt;johnny.chuang@emc.com.tw&gt; " fail_count="0" gerrit_number="360312" owner_email="yh.huang@mediatek.com" pass_count="0" patch_number="2" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/12/360312/2" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I36b20432d6768a7e845004329e4e30c6af4bcd36" commit="227492dd790d5ee8cdceaceb289843d3fdb29677" commit_message="frecon: Don't print debug spew for drmModeDirtyFB() if it is implemented drmModeDirtyFB() issues the DRM_IOCTL_MODE_DIRTYFB ioctl. This ioctl is optional for DRM display drivers. If the driver doesn't implement it, the kernel returns -ENOSYS (as implemented by the default hanlder, drm_mode_dirtyfb_ioctl()). In this case, do no log error spew to the syslog. Signed-off-by: Daniel Kurtz &lt;djkurtz@chromium.org&gt; BUG=chrome-os-partner:55262 TEST=On elm (or any device that does not implement drmModeDirtyFB()) [1] Ctrl-Alt-F1 =&gt; VT2/frecon [2] log in [3] tail -F /var/log/messages =&gt; screen does not fill up with messages like: frecon(687): drmModeDirtyFB failed: Function not implemented Change-Id: I36b20432d6768a7e845004329e4e30c6af4bcd36 Reviewed-on: https://chromium-review.googlesource.com/360015 Commit-Ready: Daniel Kurtz &lt;djkurtz@chromium.org&gt; Tested-by: Daniel Kurtz &lt;djkurtz@chromium.org&gt; Reviewed-by: Dominik Behr &lt;dbehr@google.com&gt; " fail_count="1" gerrit_number="360015" owner_email="djkurtz@chromium.org" pass_count="0" patch_number="2" project="chromiumos/platform/frecon" project_url="https://chromium-review.googlesource.com/chromiumos/platform/frecon" ref="refs/changes/15/360015/2" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="I3787b624ccecca9aa0e84322e47b395129e9eb6b" commit="13f790b0a653950719d4e65979c944f25583476b" commit_message="autotest: add a guard around special task duration metric BUG=None TEST=None Change-Id: I3787b624ccecca9aa0e84322e47b395129e9eb6b Reviewed-on: https://chromium-review.googlesource.com/360253 Commit-Ready: Aviv Keshet &lt;akeshet@chromium.org&gt; Tested-by: Aviv Keshet &lt;akeshet@chromium.org&gt; Reviewed-by: Dan Shi &lt;dshi@google.com&gt; " fail_count="2" gerrit_number="360253" owner_email="akeshet@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/53/360253/1" remote="cros" total_fail_count="2"/><pending_commit branch="master" change_id="I5c012eb031d7c7191bf56c2c6ec9e1021c7b23e2" commit="15e5f990acd171622a1db58efa13a1b390a48355" commit_message="Adding methods to get and set channel width. The supported channel widths are set using the method get_supported_channel_width() and later set on the router using the method set_channel_width() BUG=624034 TEST=None Change-Id: I5c012eb031d7c7191bf56c2c6ec9e1021c7b23e2 Reviewed-on: https://chromium-review.googlesource.com/356720 Commit-Ready: Ashakiran Byrappa &lt;abyrappa@google.com&gt; Tested-by: Ashakiran Byrappa &lt;abyrappa@google.com&gt; Reviewed-by: Tien Chang &lt;tienchang@chromium.org&gt; " fail_count="1" gerrit_number="356720" owner_email="abyrappa@google.com" pass_count="0" patch_number="3" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/20/356720/3" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="I39f49e916065d2d298562838973260af4e059b5b" commit="93f864eae3119dfdab341b3f410ca4409b40396c" commit_message="Netgear WNR1000V4 Configurator. Dynamic Configurator for single band Netgear WNR1000V4 Router. BUG=620780 TEST=None Change-Id: I39f49e916065d2d298562838973260af4e059b5b Reviewed-on: https://chromium-review.googlesource.com/349801 Commit-Ready: Ashakiran Byrappa &lt;abyrappa@google.com&gt; Tested-by: Ashakiran Byrappa &lt;abyrappa@google.com&gt; Reviewed-by: Tien Chang &lt;tienchang@chromium.org&gt; " fail_count="1" gerrit_number="349801" owner_email="abyrappa@google.com" pass_count="0" patch_number="8" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/01/349801/8" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="I2139738978226af53b1ab55759ed7843a2b53409" commit="dacc2db1d6d18113e4abe875375c36a16a62af0f" commit_message="[Autotest] New util function for enterprise_policy_base. Add a function to get a policy value that does not involve passing in a tab already pointing to chrome://policy. Allows other tests to get a single policy value in one line. BUG=None TEST=ran it Change-Id: I2139738978226af53b1ab55759ed7843a2b53409 Reviewed-on: https://chromium-review.googlesource.com/359351 Commit-Ready: Katherine Threlkeld &lt;kathrelkeld@chromium.org&gt; Tested-by: Katherine Threlkeld &lt;kathrelkeld@chromium.org&gt; Reviewed-by: Scott Cunningham &lt;scunningham@chromium.org&gt; Reviewed-by: danny chan &lt;dchan@chromium.org&gt; " fail_count="1" gerrit_number="359351" owner_email="kathrelkeld@chromium.org" pass_count="0" patch_number="2" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/51/359351/2" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="Icbfb9ed9f7ad2668404cce1890f510bf1106ade5" commit="abcc9517275965eb1ebe7f70a877bda798c825c6" commit_message="Add code to register and copy components. This code registers and copies a component in the stateful storage. It does not currenty support querying or loading of components. BUG=chromium:588220 TEST=emerge imageloader and run the test client with the test data Change-Id: Icbfb9ed9f7ad2668404cce1890f510bf1106ade5 Reviewed-on: https://chromium-review.googlesource.com/358120 Commit-Ready: Greg Kerr &lt;kerrnel@chromium.org&gt; Tested-by: Greg Kerr &lt;kerrnel@chromium.org&gt; Reviewed-by: Andrew de los Reyes &lt;adlr@chromium.org&gt; " fail_count="0" gerrit_number="358120" owner_email="kerrnel@chromium.org" pass_count="0" patch_number="17" project="chromiumos/platform/imageloader" project_url="https://chromium-review.googlesource.com/chromiumos/platform/imageloader" ref="refs/changes/20/358120/17" remote="cros" total_fail_count="0"/><lkgm version="8589.0.0-rc1"/></manifest>