I am writing an embedded real-time application and using mlockall(MCL_CURRENT | MCL_FUTURE) to prevent paging.
But, I noticed the application's memory usage creeping up despite
the fact that the valgrind tool shows no memory leaks.
So, I took a look at the /proc/<PID>/map entries and noticed
that new entries (see below) were appearing each time I re-invoked a routine.

Can anyone tell me the significance of /proc/<PID>/map entries such as
aa1c3000-aa1c4000 ---p aa1c3000 00:00 0
aa1c4000-aabc4000 rw-p aa1c4000 00:00 0
aabc4000-aabc5000 ---p aabc4000 00:00 0

Why is there an entry with device 00:00 (what device is that)?
And why would a page only have a ---p (privater) permission?