diff options
author | Gaurav Shah <gauravsh@chromium.org> | 2012-04-09 15:45:12 -0700 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-04-09 17:28:23 -0700 |
commit | d170a9d542dd4770c25d5ed82429a55391d88218 (patch) | |
tree | 69c032e78cc2cdbfefba5edb650715cefc1601e5 | |
parent | 036922ed8a2a7f2b7de4d5d8e0fc8aff072dce3d (diff) | |
download | vboot-d170a9d542dd4770c25d5ed82429a55391d88218.tar.gz |
signer scripts: unmount loop devices without -d arg to umount
Investigations in crosbug.com/26483 revealed a bug in loop device handling
if 'umount -d' was called on loop devices mounted using 'mount -o loop'.
This CL changes all invocations of umount to remove the -d option since they
are always in the context of a loop device creating using -o loop.
BUG=chrome-os-partner:8156
TEST=none
Change-Id: I96f30664c3f9148d3b57d430002512d8e94b66bc
Reviewed-on: https://gerrit.chromium.org/gerrit/19858
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Gaurav Shah <gauravsh@chromium.org>
Tested-by: Gaurav Shah <gauravsh@chromium.org>
-rwxr-xr-x | scripts/image_signing/align_rootfs.sh | 6 | ||||
-rwxr-xr-x | scripts/image_signing/common_minimal.sh | 2 | ||||
-rwxr-xr-x | scripts/image_signing/convert_recovery_to_full_ssd.sh | 2 | ||||
-rwxr-xr-x | scripts/image_signing/convert_recovery_to_ssd.sh | 2 | ||||
-rwxr-xr-x | scripts/image_signing/remove_test_label.sh | 2 | ||||
-rwxr-xr-x | scripts/image_signing/set_chronos_password.sh | 2 | ||||
-rwxr-xr-x | scripts/image_signing/set_lsb_release.sh | 4 | ||||
-rwxr-xr-x | scripts/image_signing/sign_official_build.sh | 8 | ||||
-rwxr-xr-x | scripts/image_signing/tag_image.sh | 2 |
9 files changed, 15 insertions, 15 deletions
diff --git a/scripts/image_signing/align_rootfs.sh b/scripts/image_signing/align_rootfs.sh index 5af62020..420dafbe 100755 --- a/scripts/image_signing/align_rootfs.sh +++ b/scripts/image_signing/align_rootfs.sh @@ -120,12 +120,12 @@ copy_root_fs() { local src_root_fs_dir=$(mktemp -d "/tmp/align_root_fs_src_mount_dir.XXXX") add_cleanup_action "sudo rm -rf \"${src_root_fs_dir}\"" mount_image_partition_ro "${src_image}" 3 "${src_root_fs_dir}" - add_cleanup_action "sudo umount -d \"${src_root_fs_dir}\"" + add_cleanup_action "sudo umount \"${src_root_fs_dir}\"" local dst_root_fs_dir=$(mktemp -d "/tmp/align_root_fs_dst_mount_dir.XXXX") add_cleanup_action "sudo rm -rf \"${dst_root_fs_dir}\"" sudo mount -o loop "${dst_root_fs}" "${dst_root_fs_dir}" -o loop - add_cleanup_action "sudo umount -d \"${dst_root_fs_dir}\"" + add_cleanup_action "sudo umount \"${dst_root_fs_dir}\"" # Temporarily make immutable files on the dst rootfs mutable. # We'll need to track these files in ${immutable_files} so we can make them @@ -165,7 +165,7 @@ zero_root_fs_free_space() { local root_fs_dir=$(mktemp -d "/tmp/align_rootfs_zero_free_space_dir.XXXX") add_cleanup_action "sudo rm -rf \"${root_fs_dir}\"" mount_image_partition "${image}" 3 "${root_fs_dir}" - add_cleanup_action "sudo umount -d \"${root_fs_dir}\"" + add_cleanup_action "sudo umount \"${root_fs_dir}\"" info "Zeroing free space in rootfs" sudo dd if=/dev/zero of="${root_fs_dir}/filler" oflag=sync bs=4096 || true diff --git a/scripts/image_signing/common_minimal.sh b/scripts/image_signing/common_minimal.sh index e5f520d4..32f2d6ab 100755 --- a/scripts/image_signing/common_minimal.sh +++ b/scripts/image_signing/common_minimal.sh @@ -93,7 +93,7 @@ cleanup_temps_and_mounts() { if has_needs_to_be_resigned_tag "$i"; then echo "Warning: image may be modified. Please resign image." fi - sudo umount -d $i 2>/dev/null + sudo umount $i 2>/dev/null rm -rf $i fi done diff --git a/scripts/image_signing/convert_recovery_to_full_ssd.sh b/scripts/image_signing/convert_recovery_to_full_ssd.sh index 1c5b6811..c249a4f7 100755 --- a/scripts/image_signing/convert_recovery_to_full_ssd.sh +++ b/scripts/image_signing/convert_recovery_to_full_ssd.sh @@ -66,7 +66,7 @@ sudo cp ${stateful_dir}/vmlinuz_hd.vblock ${tmp_vblock} echo "Overwriting kernel vblock with SSD kernel vblock" sudo dd if=${tmp_vblock} of=${SSD_IMAGE} seek=${kerna_offset} bs=512 \ conv=notrunc -sudo umount -d ${stateful_dir} +sudo umount ${stateful_dir} # Zero out Kernel B partition. echo "Zeroing out Kernel partition B" diff --git a/scripts/image_signing/convert_recovery_to_ssd.sh b/scripts/image_signing/convert_recovery_to_ssd.sh index 748522c8..200efee0 100755 --- a/scripts/image_signing/convert_recovery_to_ssd.sh +++ b/scripts/image_signing/convert_recovery_to_ssd.sh @@ -72,7 +72,7 @@ tmp_vblock=$(make_temp_file) mount_image_partition_ro ${IMAGE} 1 ${stateful_dir} sudo cp ${stateful_dir}/vmlinuz_hd.vblock ${tmp_vblock} # Unmount before overwriting image to avoid sync issues. -sudo umount -d ${stateful_dir} +sudo umount ${stateful_dir} echo "Overwriting kernel partition A vblock with SSD vblock" sudo dd if=${tmp_vblock} of=${IMAGE} seek=${kerna_offset} bs=512 conv=notrunc diff --git a/scripts/image_signing/remove_test_label.sh b/scripts/image_signing/remove_test_label.sh index 241f9da7..976f5e6d 100755 --- a/scripts/image_signing/remove_test_label.sh +++ b/scripts/image_signing/remove_test_label.sh @@ -15,5 +15,5 @@ image=$1 rootfs=$(mktemp -d) mount_image_partition ${image} 3 ${rootfs} -trap "umount -d ${rootfs}; rm -rf ${rootfs}" EXIT +trap "umount ${rootfs}; rm -rf ${rootfs}" EXIT sed -i 's/test//' "${rootfs}/etc/lsb-release" diff --git a/scripts/image_signing/set_chronos_password.sh b/scripts/image_signing/set_chronos_password.sh index e3a33553..a5742305 100755 --- a/scripts/image_signing/set_chronos_password.sh +++ b/scripts/image_signing/set_chronos_password.sh @@ -42,7 +42,7 @@ main() { exit 1 fi # Prepare for remounting read/write. - sudo umount -d $rootfs + sudo umount $rootfs fi mount_image_partition "$image" 3 "$rootfs" change_chronos_password "$rootfs" "$chronos_password" diff --git a/scripts/image_signing/set_lsb_release.sh b/scripts/image_signing/set_lsb_release.sh index 9af0047a..3299d5bf 100755 --- a/scripts/image_signing/set_lsb_release.sh +++ b/scripts/image_signing/set_lsb_release.sh @@ -49,9 +49,9 @@ EOF local rootfs=$(mktemp -d) mount_image_partition_ro "$image" 3 "$rootfs" - trap "sudo umount -d $rootfs; rm -rf $rootfs" EXIT + trap "sudo umount $rootfs; rm -rf $rootfs" EXIT if [ -n "$key" ]; then - sudo umount -d "$rootfs" + sudo umount "$rootfs" mount_image_partition "$image" 3 "$rootfs" set_lsb_release_keyval "$rootfs" "$key" "$value" touch "$image" # Updates the image modification time. diff --git a/scripts/image_signing/sign_official_build.sh b/scripts/image_signing/sign_official_build.sh index 9b67ade1..bab99264 100755 --- a/scripts/image_signing/sign_official_build.sh +++ b/scripts/image_signing/sign_official_build.sh @@ -203,11 +203,11 @@ update_rootfs_hash() { mount_image_partition_ro "${image}" 3 "${rootfs_dir}" if has_needs_to_be_resigned_tag "${rootfs_dir}"; then # remount as RW - sudo umount -d "${rootfs_dir}" + sudo umount "${rootfs_dir}" mount_image_partition "${image}" 3 "${rootfs_dir}" sudo rm -f "${rootfs_dir}/${TAG_NEEDS_TO_BE_SIGNED}" fi - sudo umount -d "${rootfs_dir}" + sudo umount "${rootfs_dir}" local rootfs_image=$(make_temp_file) extract_image_partition ${image} 3 ${rootfs_image} @@ -331,7 +331,7 @@ resign_firmware_payload() { local rootfs_dir=$(make_temp_dir) mount_image_partition ${image} 3 ${rootfs_dir} # Force unmount of the rootfs on function exit as it is needed later. - trap "sudo umount -d ${rootfs_dir}" RETURN + trap "sudo umount ${rootfs_dir}" RETURN local firmware_bundle="${rootfs_dir}/usr/sbin/chromeos-firmwareupdate" local shellball_dir=$(make_temp_dir) @@ -522,7 +522,7 @@ sign_for_recovery() { local stateful_dir=$(make_temp_dir) mount_image_partition ${image_bin} 1 ${stateful_dir} sudo cp ${temp_out_vb} ${stateful_dir}/vmlinuz_hd.vblock - sudo umount -d "${stateful_dir}" + sudo umount "${stateful_dir}" # Update the Kernel B hash in Kernel A command line local old_kerna_config=$(grab_kernel_config "${image_bin}" 2) diff --git a/scripts/image_signing/tag_image.sh b/scripts/image_signing/tag_image.sh index 8ef7ff47..aa19871c 100755 --- a/scripts/image_signing/tag_image.sh +++ b/scripts/image_signing/tag_image.sh @@ -215,7 +215,7 @@ process_all_lsb_mods "${rootfs}" ${FLAGS_FALSE} if [ ${g_modified} = ${FLAGS_TRUE} ]; then # remount as RW (we can't use mount -o rw,remount because of loop device) - sudo umount -d "${rootfs}" + sudo umount "${rootfs}" mount_image_partition "${IMAGE}" 3 "${rootfs}" # second round, apply the modification to image. |