New issue
Advanced search Search tips

Issue 669520 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on:
issue 618340

Blocking:
issue 618340



Sign in to add a comment

Allow non-enrolled devices to be usable even if VPD is corruped

Project Member Reported by igorcov@chromium.org, Nov 29 2016

Issue description

Version: 56
OS: Chrome OS
What steps will reproduce the problem?
The problem currently is not present, but will appear the moment https://chromium-review.googlesource.com/#/c/383051/ lands.

If VPD is corrupted, the device will try to update check_enrollment with value 0 and fail, thus making users unable to login.

What is the expected result?
Users should be able to use the device.

What happens instead?
Users will be unable to login, provided flashrom is corrupted.

Proposed solution is to ignore the VPD errors if the device is not enrolled.
 
Blocking: 618340
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 1 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/c4fea2ff712842f8b3741d45d548e8f14a5ed986

commit c4fea2ff712842f8b3741d45d548e8f14a5ed986
Author: Igor <igorcov@chromium.org>
Date: Wed Nov 30 15:57:51 2016

login: Ignore VPD error for device owners

As part of chromium:618340 the value zero has to be stored in VPD
for device owners. In case flashrom is corrupted, the update of
VPD fails, making user login impossible. The proposed fix,
implemented in this CL is to ignore the VPD update error in case
the device is not enrolled.

BUG= chromium:669520 
TEST=Manually tested on a reks device.

Change-Id: I9c653b051fd5cb11e36d858a0d7e09c556f339f7
Reviewed-on: https://chromium-review.googlesource.com/414890
Commit-Ready: Igor <igorcov@chromium.org>
Tested-by: Igor <igorcov@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Thiemo Nagel <tnagel@chromium.org>

[modify] https://crrev.com/c4fea2ff712842f8b3741d45d548e8f14a5ed986/login_manager/device_policy_service.cc
[modify] https://crrev.com/c4fea2ff712842f8b3741d45d548e8f14a5ed986/login_manager/vpd_process.h
[modify] https://crrev.com/c4fea2ff712842f8b3741d45d548e8f14a5ed986/login_manager/vpd_process_impl.cc
[modify] https://crrev.com/c4fea2ff712842f8b3741d45d548e8f14a5ed986/login_manager/mock_vpd_process.h
[modify] https://crrev.com/c4fea2ff712842f8b3741d45d548e8f14a5ed986/login_manager/device_policy_service_unittest.cc
[modify] https://crrev.com/c4fea2ff712842f8b3741d45d548e8f14a5ed986/login_manager/vpd_process_impl.h

Status: Fixed (was: Assigned)
Does deleting all strings in vpd file corrupt vpd?
Tried adding special characters in serial_number and deleting rest strings.Could login successfully in M57.
The way I've tested this, was to manually change the script that updates VPD to return 1 and to try to use the device. Also, this makes sense to test only when
the fix for crbug/618340 is included in the code. It doesn't break anything in current functionality, so it's safe to stay in the code.
As per comment#6 this will be tested in M59 together with crbug/618340 fix.
Labels: M-59
Testing regression to ensure that regular FRE still works.
Will be tested when  issue 618340  is fixed. 

Blockedon: 618340

Comment 12 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment