lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <0F10A59FDFFDFD4E9BEBD7365DE6725502007EFA@uk-email.terastack.bluearc.com>
Date:	Thu, 17 Jul 2008 15:36:33 +0100
From:	"Andy Chittenden" <andyc@...earc.com>
To:	<linux-kernel@...r.kernel.org>
Subject: why doesn't /proc/self/maps mtime change when memory's allocated?

Here's a ruby script that when run on 2.6.25 demonstrates that although
the contents of /proc/self/maps changes, its mtime doesn't.

--- start ruby script ---
#!/usr/bin/ruby -w

mapfile = "/proc/self/maps"

oldmtime = File.stat(mapfile).mtime
oldmaps = File.read(mapfile)

arr = Array.new()

for k in 1...10*1024*1024
    arr.push(k)
end

newmaps = File.read(mapfile)
newmtime = File.stat(mapfile).mtime

if (oldmaps != newmaps)
    if (oldmtime == newmtime)
        puts("oldmaps mtime = #{oldmtime}")
        puts(oldmaps)
        puts("newmaps mtime = #{newmtime}")
        puts(newmaps)
    end
end
--- end ruby script ---

When I run it, I get this output (the lines with the word [heap] against
them are different (along with others)):

# ./checkmaps.rb 
oldmaps mtime = Thu Jul 17 15:32:53 +0100 2008
00400000-00401000 r-xp 00000000 08:01 832446
/usr/bin/ruby1.8
00600000-00601000 rw-p 00000000 08:01 832446
/usr/bin/ruby1.8
00694000-006f7000 rw-p 00694000 00:00 0
[heap]
7f7f64de9000-7f7f64f33000 r-xp 00000000 08:01 57195
/lib/libc-2.7.so
7f7f64f33000-7f7f65133000 ---p 0014a000 08:01 57195
/lib/libc-2.7.so
7f7f65133000-7f7f65136000 r--p 0014a000 08:01 57195
/lib/libc-2.7.so
7f7f65136000-7f7f65138000 rw-p 0014d000 08:01 57195
/lib/libc-2.7.so
7f7f65138000-7f7f6513d000 rw-p 7f7f65138000 00:00 0 
7f7f6513d000-7f7f651bf000 r-xp 00000000 08:01 57184
/lib/libm-2.7.so
7f7f651bf000-7f7f653be000 ---p 00082000 08:01 57184
/lib/libm-2.7.so
7f7f653be000-7f7f653c0000 rw-p 00081000 08:01 57184
/lib/libm-2.7.so
7f7f653c0000-7f7f653c8000 r-xp 00000000 08:01 57196
/lib/libcrypt-2.7.so
7f7f653c8000-7f7f655c8000 ---p 00008000 08:01 57196
/lib/libcrypt-2.7.so
7f7f655c8000-7f7f655ca000 rw-p 00008000 08:01 57196
/lib/libcrypt-2.7.so
7f7f655ca000-7f7f655f8000 rw-p 7f7f655ca000 00:00 0 
7f7f655f8000-7f7f655fa000 r-xp 00000000 08:01 57197
/lib/libdl-2.7.so
7f7f655fa000-7f7f657fa000 ---p 00002000 08:01 57197
/lib/libdl-2.7.so
7f7f657fa000-7f7f657fc000 rw-p 00002000 08:01 57197
/lib/libdl-2.7.so
7f7f657fc000-7f7f65812000 r-xp 00000000 08:01 57199
/lib/libpthread-2.7.so
7f7f65812000-7f7f65a12000 ---p 00016000 08:01 57199
/lib/libpthread-2.7.so
7f7f65a12000-7f7f65a14000 rw-p 00016000 08:01 57199
/lib/libpthread-2.7.so
7f7f65a14000-7f7f65a18000 rw-p 7f7f65a14000 00:00 0 
7f7f65a18000-7f7f65afa000 r-xp 00000000 08:01 831874
/usr/lib/libruby1.8.so.1.8.7
7f7f65afa000-7f7f65cfa000 ---p 000e2000 08:01 831874
/usr/lib/libruby1.8.so.1.8.7
7f7f65cfa000-7f7f65cfe000 rw-p 000e2000 08:01 831874
/usr/lib/libruby1.8.so.1.8.7
7f7f65cfe000-7f7f65d1c000 rw-p 7f7f65cfe000 00:00 0 
7f7f65d1c000-7f7f65d38000 r-xp 00000000 08:01 57191
/lib/ld-2.7.so
7f7f65eb6000-7f7f65f1c000 rw-p 7f7f65eb6000 00:00 0 
7f7f65f33000-7f7f65f37000 rw-p 7f7f65f33000 00:00 0 
7f7f65f37000-7f7f65f39000 rw-p 0001b000 08:01 57191
/lib/ld-2.7.so
7fff6df23000-7fff6df39000 rw-p 7ffffffe9000 00:00 0
[stack]
7fff6dffe000-7fff6e000000 r-xp 7fff6dffe000 00:00 0
[vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0
[vsyscall]
newmaps mtime = Thu Jul 17 15:32:53 +0100 2008
00400000-00401000 r-xp 00000000 08:01 832446
/usr/bin/ruby1.8
00600000-00601000 rw-p 00000000 08:01 832446
/usr/bin/ruby1.8
00694000-00714000 rw-p 00694000 00:00 0
[heap]
7f7f590e7000-7f7f5fa09000 rw-p 7f7f65e8d000 00:00 0 
7f7f64de9000-7f7f64f33000 r-xp 00000000 08:01 57195
/lib/libc-2.7.so
7f7f64f33000-7f7f65133000 ---p 0014a000 08:01 57195
/lib/libc-2.7.so
7f7f65133000-7f7f65136000 r--p 0014a000 08:01 57195
/lib/libc-2.7.so
7f7f65136000-7f7f65138000 rw-p 0014d000 08:01 57195
/lib/libc-2.7.so
7f7f65138000-7f7f6513d000 rw-p 7f7f65138000 00:00 0 
7f7f6513d000-7f7f651bf000 r-xp 00000000 08:01 57184
/lib/libm-2.7.so
7f7f651bf000-7f7f653be000 ---p 00082000 08:01 57184
/lib/libm-2.7.so
7f7f653be000-7f7f653c0000 rw-p 00081000 08:01 57184
/lib/libm-2.7.so
7f7f653c0000-7f7f653c8000 r-xp 00000000 08:01 57196
/lib/libcrypt-2.7.so
7f7f653c8000-7f7f655c8000 ---p 00008000 08:01 57196
/lib/libcrypt-2.7.so
7f7f655c8000-7f7f655ca000 rw-p 00008000 08:01 57196
/lib/libcrypt-2.7.so
7f7f655ca000-7f7f655f8000 rw-p 7f7f655ca000 00:00 0 
7f7f655f8000-7f7f655fa000 r-xp 00000000 08:01 57197
/lib/libdl-2.7.so
7f7f655fa000-7f7f657fa000 ---p 00002000 08:01 57197
/lib/libdl-2.7.so
7f7f657fa000-7f7f657fc000 rw-p 00002000 08:01 57197
/lib/libdl-2.7.so
7f7f657fc000-7f7f65812000 r-xp 00000000 08:01 57199
/lib/libpthread-2.7.so
7f7f65812000-7f7f65a12000 ---p 00016000 08:01 57199
/lib/libpthread-2.7.so
7f7f65a12000-7f7f65a14000 rw-p 00016000 08:01 57199
/lib/libpthread-2.7.so
7f7f65a14000-7f7f65a18000 rw-p 7f7f65a14000 00:00 0 
7f7f65a18000-7f7f65afa000 r-xp 00000000 08:01 831874
/usr/lib/libruby1.8.so.1.8.7
7f7f65afa000-7f7f65cfa000 ---p 000e2000 08:01 831874
/usr/lib/libruby1.8.so.1.8.7
7f7f65cfa000-7f7f65cfe000 rw-p 000e2000 08:01 831874
/usr/lib/libruby1.8.so.1.8.7
7f7f65cfe000-7f7f65d1c000 rw-p 7f7f65cfe000 00:00 0 
7f7f65d1c000-7f7f65d38000 r-xp 00000000 08:01 57191
/lib/ld-2.7.so
7f7f65eb6000-7f7f65f1c000 rw-p 7f7f65eb6000 00:00 0 
7f7f65f33000-7f7f65f37000 rw-p 7f7f65f33000 00:00 0 
7f7f65f37000-7f7f65f39000 rw-p 0001b000 08:01 57191
/lib/ld-2.7.so
7fff6df23000-7fff6df39000 rw-p 7ffffffe9000 00:00 0
[stack]
7fff6dffe000-7fff6e000000 r-xp 7fff6dffe000 00:00 0
[vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0
[vsyscall]

-- 
Andy, BlueArc Engineering


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ