1#!/bin/bash 2 3# Copyright 2019 The Chromium OS Authors. All rights reserved. 4# Use of this source code is governed by a BSD-style license that can be 5# found in the LICENSE file. 6 7set -e 8 9# shellcheck source=./common.sh 10. "$(dirname "$(readlink -f "${0}")")/common.sh" 11 12echo "Running test to validate software write protect cannot be disabled when \ 13hardware write protect is enabled" 14 15echo "Making sure all write protect is enabled" 16check_hw_and_sw_write_protect_enabled 17 18echo "Validating initial state" 19check_has_mp_rw_firmware 20check_has_mp_ro_firmware 21check_running_rw_firmware 22check_is_rollback_set_to_initial_val 23 24echo "Reboot to RO" 25reboot_ec_to_ro 26check_has_mp_rw_firmware 27check_has_mp_ro_firmware 28check_running_ro_firmware 29check_hw_and_sw_write_protect_enabled_ro 30 31echo "Disabling software write protect when hardware write protect is enabled \ 32when running RO" 33if (disable_sw_write_protect); then 34 echo "Disabling software write protect should fail" 35 exit 1 36fi 37 38echo "Validating write protection did not change" 39check_hw_and_sw_write_protect_enabled_ro 40 41echo "Reboot to RW" 42reboot_ec 43check_has_mp_rw_firmware 44check_has_mp_ro_firmware 45check_running_rw_firmware 46check_hw_and_sw_write_protect_enabled 47 48echo "Disabling software write protect when hardware write protect is enabled \ 49when running RW" 50if (disable_sw_write_protect); then 51 echo "Disabling software write protect should fail" 52 exit 1 53fi 54 55echo "Validating write protection did not change" 56check_hw_and_sw_write_protect_enabled 57