RLZ permanently disabled when Guest mode entered directly after OOBE |
|||||||||||||||||
Issue descriptionCrOS version: 10895.56.0 (probably earlier versions as well) What steps will reproduce the problem? (1) Recovery/powerwash device. Put device in dev mode. (2) Go through OOBE. (3) Enter Guest mode before any regular login. (4) Look at /home/chronos/Local State for rlz > brand value. What is the expected result? The expected brand code for the device. For instance, on vayne it should be NPEC. What happens instead? empty string This appears to affect any device where the brand code has been moved from the RO_VPD to mosys as a result of crbug.com/731016 (July 2017). The bug reproduces on vayne and sona. Everything works fine on eve, cave, and maple (hana). This bug permanently disables RLZ because an empty brand code is persisted in Local State and any subsequent user logins will retrieve this brand code which disables the RLZ system. To fix this bug we should make the brand code available in Guest mode somehow. Anyone on CC have thoughts on how to do this? We should also prevent an empty brand code from being written to Local State. This fixes the issue of permanently disabling RLZ if Guest mode is entered right after OOBE and before a regular login. It does not address making the brand code available to Guest mode. Assigning to wzang@ for this relatively easy part. Ideally, this simple fix is merged back to M70 (though it is already branched with Stable being cut soon).
,
Oct 9
Similar to "/mnt/stateful_partition/unencrypted/cache/vpd/filtered.txt", can we create a "/tmp/machine-info-filtered" which contains data that doesn't have privacy concern?
,
Oct 9
Thiemo, I'll assume the reason that machine-info is not available in Guest mode is somehow related to Privacy and the expectations of users in this mode. Prior to crbug.com/731016 , rlz_brand_code was put into the VPD and thus available in Guest mode via filtered.txt which is why devices like eve work. Can I assume there would be no privacy concern to restore this functionality?
,
Oct 9
> hungte@ should have more info on this. We've intentionally removed RLZ from VPD, since we've realized it's really something should be decided by SKU or HW identifiers, not what VPD should provide. So all projects since then won't have RLZ in VPD.
,
Oct 9
Understood. I'm not suggesting we move back to VPD. Just that the brand code should always be available in Guest mode regardless of where the brand code is located. Brand code is currently read through StatisticsProvider.
,
Oct 9
Afaiu, the reason for deleting machine-info is that it contains the serial number that we would not like to expose. I don't particularly like the fact that we make use of RLZ in guest mode, but it's the status quo and until we have decided to change it we should maintain it. In that spirit I'm fine with exposing the brand code in guest mode.
,
Oct 9
,
Oct 9
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5f5b2b565747cc268a6279698158caef5f210556 commit 5f5b2b565747cc268a6279698158caef5f210556 Author: Wenzhao Zang <wzang@chromium.org> Date: Tue Oct 09 19:05:55 2018 cros: Do not store empty brand code to local state SetBrand() should check if the brand is empty before storing it to local state. Otherwise, an empty string will permanently disable RLZ (see bug). When the brand is empty, do not run the callback. Bug: 893451 Change-Id: I7b23b50aa9cd395cc4c79fac3c78a96caa335ced Reviewed-on: https://chromium-review.googlesource.com/c/1271575 Commit-Queue: Wenzhao (Colin) Zang <wzang@chromium.org> Reviewed-by: Peter Kasting <pkasting@chromium.org> Cr-Commit-Position: refs/heads/master@{#598023} [modify] https://crrev.com/5f5b2b565747cc268a6279698158caef5f210556/chrome/browser/google/google_brand_chromeos.cc [modify] https://crrev.com/5f5b2b565747cc268a6279698158caef5f210556/chrome/browser/google/google_brand_chromeos.h
,
Oct 9
,
Oct 9
This bug requires manual review: We are only 6 days from stable. Please contact the milestone owner if you have questions. Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Oct 9
Please mark OS.
,
Oct 9
,
Oct 9
M70 is nearing Stable. Please provide justification on why this needs to make M70 instead of M71? Also how well has this change been tested? Thanks.
,
Oct 9
No need to merge to M71 per offline chat with stephenlin@. Thanks.
,
Oct 9
Sorry, *M70
,
Oct 9
in general we need to stop using /tmp as an IPC mechanism. programs need to get the content from the relevant storage directly instead.
,
Oct 9
Re-opening and re-assigning to Roger to make changes to fix any Chromebook clients that have permanently disabled RLZ by storing an empty brandcode. Roger, in discussions with Colin we should check not just if Local State has prefs::kRLZBrand here: https://codesearch.chromium.org/chromium/src/chrome/browser/chromeos/login/session/user_session_manager.cc?rcl=1aad28fdfd83d1241de2ee0dd24ca10659d9c9d6&l=683 But, also if the value is empty. If the value is empty, then proceed to call InitRlz again. This will fix any existing clients where brand in Local State is empty.
,
Oct 9
,
Oct 12
,
Oct 15
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5d80e3087f51f96491f2a53df786447aa6458287 commit 5d80e3087f51f96491f2a53df786447aa6458287 Author: Roger Tawa <rogerta@chromium.org> Date: Mon Oct 15 15:48:25 2018 Don't clear brand for regular cros sessions. If the brand code persisted in local prefs is empty, reinitialize to correct. Bug: 846033, 893451 Change-Id: I49cc299374d8530d3a46aee93cb7cb2518ff1dee Reviewed-on: https://chromium-review.googlesource.com/c/1272447 Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: Wenzhao (Colin) Zang <wzang@chromium.org> Commit-Queue: Roger Tawa <rogerta@chromium.org> Cr-Commit-Position: refs/heads/master@{#599645} [modify] https://crrev.com/5d80e3087f51f96491f2a53df786447aa6458287/chrome/browser/chromeos/login/session/chrome_session_manager_browsertest.cc [modify] https://crrev.com/5d80e3087f51f96491f2a53df786447aa6458287/chrome/browser/chromeos/login/session/user_session_manager.cc
,
Oct 15
Merge request. This CL is critical to the functionality of this feature.
,
Oct 15
This bug requires manual review: We are only 0 days from stable. Please contact the milestone owner if you have questions. Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Oct 15
Oops, I meant merge request to 71.
,
Oct 15
,
Oct 16
Your change meets the bar and is auto-approved for M71. Please go ahead and merge the CL to branch 3578 manually. Please contact milestone owner if you have questions. Owners: benmason@(Android), kariahda@(iOS), kbleicher@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Oct 16
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/983503bf5d75abcb153fb6ca438ed4840ab2a782 commit 983503bf5d75abcb153fb6ca438ed4840ab2a782 Author: Roger Tawa <rogerta@chromium.org> Date: Tue Oct 16 20:40:39 2018 Don't clear brand for regular cros sessions. If the brand code persisted in local prefs is empty, reinitialize to correct. Bug: 846033, 893451 Change-Id: I49cc299374d8530d3a46aee93cb7cb2518ff1dee Reviewed-on: https://chromium-review.googlesource.com/c/1272447 Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: Wenzhao (Colin) Zang <wzang@chromium.org> Commit-Queue: Roger Tawa <rogerta@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#599645}(cherry picked from commit 5d80e3087f51f96491f2a53df786447aa6458287) Reviewed-on: https://chromium-review.googlesource.com/c/1284532 Reviewed-by: Roger Tawa <rogerta@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#62} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} [modify] https://crrev.com/983503bf5d75abcb153fb6ca438ed4840ab2a782/chrome/browser/chromeos/login/session/chrome_session_manager_browsertest.cc [modify] https://crrev.com/983503bf5d75abcb153fb6ca438ed4840ab2a782/chrome/browser/chromeos/login/session/user_session_manager.cc
,
Oct 18
Confirmed fixed in M71 11151.5.0.
,
Oct 23
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/983503bf5d75abcb153fb6ca438ed4840ab2a782 Commit: 983503bf5d75abcb153fb6ca438ed4840ab2a782 Author: rogerta@chromium.org Commiter: rogerta@chromium.org Date: 2018-10-16 20:40:39 +0000 UTC Don't clear brand for regular cros sessions. If the brand code persisted in local prefs is empty, reinitialize to correct. Bug: 846033, 893451 Change-Id: I49cc299374d8530d3a46aee93cb7cb2518ff1dee Reviewed-on: https://chromium-review.googlesource.com/c/1272447 Reviewed-by: Xiyuan Xia <xiyuan@chromium.org> Reviewed-by: Wenzhao (Colin) Zang <wzang@chromium.org> Commit-Queue: Roger Tawa <rogerta@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#599645}(cherry picked from commit 5d80e3087f51f96491f2a53df786447aa6458287) Reviewed-on: https://chromium-review.googlesource.com/c/1284532 Reviewed-by: Roger Tawa <rogerta@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#62} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} |
|||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||
Comment 1 by stephenlin@chromium.org
, Oct 9