Description of problem: It appears that unmap_mapping_range() actually takes a 'size' as its third argument rather than a location, the current calling fashion causes unnecessary amount of unmapping to occur. Additional info: upstream: https://github.com/torvalds/linux/commit/4d75136be8bf3ae01b0bc3e725b2cdc921e103bd
https://gitee.com/anolis/cloud-kernel/pulls/1448