I have an even more interesting case of ls disagreeing with du:
These files were created by netdump on linux. The filesystem type is ext3.
So it basically looks like I have a 16GB file that only occupied about 1GB of disk space.
Is vmcore a so-called "sparse file"?
I've only seen something similar once before, those were vmlog files created by vmware ESX host on an NFS mount (du would report 0 but ls would show a 1GB file).