-
由 Hanweidong 提交于
Compute the correct size for test_bits(). qemu_get_ram_ptr() and qemu_safe_ram_ptr() will call xen_map_cache() with size is 0 if the requested address is in the RAM. Then xen_map_cache() will pass the size 0 to test_bits() for checking if the corresponding pfn was mapped in cache. But test_bits() will always return 1 when size is 0 without any bit testing. Actually, for this case, test_bits should check one bit. So this patch introduced a __test_bit_size which is greater than 0 and a multiple of XC_PAGE_SIZE, then test_bits can work correctly with __test_bit_size >> XC_PAGE_SHIFT as its size. Signed-off-by: NZhenguo Wang <wangzhenguo@huawei.com> Signed-off-by: NWeidong Han <hanweidong@huawei.com> Signed-off-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
044d4e1a