2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2016 Google, Inc. All Rights Reserved.
5 # FS QA Test generic/396
7 # Test that FS_IOC_SET_ENCRYPTION_POLICY correctly validates the fscrypt_policy
8 # structure that userspace passes to it.
11 _begin_fstest auto quick encrypt
13 # Import common functions.
17 # real QA test starts here
19 _require_scratch_encryption
21 _scratch_mkfs_encrypted &>> $seqres.full
26 echo -e "\n*** Invalid contents encryption mode ***"
27 _set_encpolicy $dir -c 0xFF |& _filter_scratch
29 echo -e "\n*** Invalid filenames encryption mode ***"
30 _set_encpolicy $dir -n 0xFF |& _filter_scratch
32 echo -e "\n*** Invalid flags ***"
33 _set_encpolicy $dir -f 0xFF |& _filter_scratch
35 echo -e "\n*** Invalid policy version ***"
36 _set_encpolicy $dir -v 0xFF |& _filter_scratch
38 # Currently, the only supported combination of modes is AES-256-XTS for contents
39 # and AES-256-CTS for filenames. Nothing else should be accepted.
40 echo -e "\n*** Invalid combinations of modes ***"
41 _set_encpolicy $dir -c AES-256-CTS -n AES-256-CTS |& _filter_scratch
42 _set_encpolicy $dir -c AES-256-CTS -n AES-256-XTS |& _filter_scratch
43 _set_encpolicy $dir -c AES-256-XTS -n AES-256-XTS |& _filter_scratch