Back to home page

OSCL-LXR

 
 

    


0001 #!/bin/bash
0002 # SPDX-License-Identifier: GPL-2.0
0003 # Copyright (C) 2018 Joe Lawrence <joe.lawrence@redhat.com>
0004 
0005 . $(dirname $0)/functions.sh
0006 
0007 MOD_TEST=test_klp_shadow_vars
0008 
0009 setup_config
0010 
0011 
0012 # - load a module that exercises the shadow variable API
0013 
0014 start_test "basic shadow variable API"
0015 
0016 load_mod $MOD_TEST
0017 unload_mod $MOD_TEST
0018 
0019 check_result "% modprobe $MOD_TEST
0020 $MOD_TEST: klp_shadow_get(obj=PTR1, id=0x1234) = PTR0
0021 $MOD_TEST:   got expected NULL result
0022 $MOD_TEST: shadow_ctor: PTR3 -> PTR2
0023 $MOD_TEST: klp_shadow_get_or_alloc(obj=PTR1, id=0x1234, size=8, gfp_flags=GFP_KERNEL), ctor=PTR4, ctor_data=PTR2 = PTR3
0024 $MOD_TEST: shadow_ctor: PTR6 -> PTR5
0025 $MOD_TEST: klp_shadow_alloc(obj=PTR1, id=0x1235, size=8, gfp_flags=GFP_KERNEL), ctor=PTR4, ctor_data=PTR5 = PTR6
0026 $MOD_TEST: shadow_ctor: PTR8 -> PTR7
0027 $MOD_TEST: klp_shadow_alloc(obj=PTR9, id=0x1234, size=8, gfp_flags=GFP_KERNEL), ctor=PTR4, ctor_data=PTR7 = PTR8
0028 $MOD_TEST: shadow_ctor: PTR11 -> PTR10
0029 $MOD_TEST: klp_shadow_alloc(obj=PTR9, id=0x1235, size=8, gfp_flags=GFP_KERNEL), ctor=PTR4, ctor_data=PTR10 = PTR11
0030 $MOD_TEST: shadow_ctor: PTR13 -> PTR12
0031 $MOD_TEST: klp_shadow_get_or_alloc(obj=PTR14, id=0x1234, size=8, gfp_flags=GFP_KERNEL), ctor=PTR4, ctor_data=PTR12 = PTR13
0032 $MOD_TEST: shadow_ctor: PTR16 -> PTR15
0033 $MOD_TEST: klp_shadow_alloc(obj=PTR14, id=0x1235, size=8, gfp_flags=GFP_KERNEL), ctor=PTR4, ctor_data=PTR15 = PTR16
0034 $MOD_TEST: klp_shadow_get(obj=PTR1, id=0x1234) = PTR3
0035 $MOD_TEST:   got expected PTR3 -> PTR2 result
0036 $MOD_TEST: klp_shadow_get(obj=PTR1, id=0x1235) = PTR6
0037 $MOD_TEST:   got expected PTR6 -> PTR5 result
0038 $MOD_TEST: klp_shadow_get(obj=PTR9, id=0x1234) = PTR8
0039 $MOD_TEST:   got expected PTR8 -> PTR7 result
0040 $MOD_TEST: klp_shadow_get(obj=PTR9, id=0x1235) = PTR11
0041 $MOD_TEST:   got expected PTR11 -> PTR10 result
0042 $MOD_TEST: klp_shadow_get(obj=PTR14, id=0x1234) = PTR13
0043 $MOD_TEST:   got expected PTR13 -> PTR12 result
0044 $MOD_TEST: klp_shadow_get(obj=PTR14, id=0x1235) = PTR16
0045 $MOD_TEST:   got expected PTR16 -> PTR15 result
0046 $MOD_TEST: klp_shadow_get_or_alloc(obj=PTR1, id=0x1234, size=8, gfp_flags=GFP_KERNEL), ctor=PTR4, ctor_data=PTR2 = PTR3
0047 $MOD_TEST:   got expected PTR3 -> PTR2 result
0048 $MOD_TEST: klp_shadow_get_or_alloc(obj=PTR9, id=0x1234, size=8, gfp_flags=GFP_KERNEL), ctor=PTR4, ctor_data=PTR7 = PTR8
0049 $MOD_TEST:   got expected PTR8 -> PTR7 result
0050 $MOD_TEST: klp_shadow_get_or_alloc(obj=PTR14, id=0x1234, size=8, gfp_flags=GFP_KERNEL), ctor=PTR4, ctor_data=PTR12 = PTR13
0051 $MOD_TEST:   got expected PTR13 -> PTR12 result
0052 $MOD_TEST: shadow_dtor(obj=PTR1, shadow_data=PTR3)
0053 $MOD_TEST: klp_shadow_free(obj=PTR1, id=0x1234, dtor=PTR17)
0054 $MOD_TEST: klp_shadow_get(obj=PTR1, id=0x1234) = PTR0
0055 $MOD_TEST:   got expected NULL result
0056 $MOD_TEST: shadow_dtor(obj=PTR9, shadow_data=PTR8)
0057 $MOD_TEST: klp_shadow_free(obj=PTR9, id=0x1234, dtor=PTR17)
0058 $MOD_TEST: klp_shadow_get(obj=PTR9, id=0x1234) = PTR0
0059 $MOD_TEST:   got expected NULL result
0060 $MOD_TEST: shadow_dtor(obj=PTR14, shadow_data=PTR13)
0061 $MOD_TEST: klp_shadow_free(obj=PTR14, id=0x1234, dtor=PTR17)
0062 $MOD_TEST: klp_shadow_get(obj=PTR14, id=0x1234) = PTR0
0063 $MOD_TEST:   got expected NULL result
0064 $MOD_TEST: klp_shadow_get(obj=PTR1, id=0x1235) = PTR6
0065 $MOD_TEST:   got expected PTR6 -> PTR5 result
0066 $MOD_TEST: klp_shadow_get(obj=PTR9, id=0x1235) = PTR11
0067 $MOD_TEST:   got expected PTR11 -> PTR10 result
0068 $MOD_TEST: klp_shadow_get(obj=PTR14, id=0x1235) = PTR16
0069 $MOD_TEST:   got expected PTR16 -> PTR15 result
0070 $MOD_TEST: klp_shadow_free_all(id=0x1235, dtor=PTR0)
0071 $MOD_TEST: klp_shadow_get(obj=PTR1, id=0x1235) = PTR0
0072 $MOD_TEST:   got expected NULL result
0073 $MOD_TEST: klp_shadow_get(obj=PTR9, id=0x1235) = PTR0
0074 $MOD_TEST:   got expected NULL result
0075 $MOD_TEST: klp_shadow_get(obj=PTR14, id=0x1235) = PTR0
0076 $MOD_TEST:   got expected NULL result
0077 % rmmod $MOD_TEST"
0078 
0079 exit 0