0
|
1 |
--- src/tspi/tsp_policy.c.old Wed Aug 5 12:54:26 2009
|
|
2 |
+++ src/tspi/tsp_policy.c Wed Aug 5 12:55:35 2009
|
|
3 |
@@ -87,6 +87,8 @@
|
|
4 |
LogWarn("Not pinning secrets in memory due to insufficient perms.");
|
|
5 |
return 0;
|
|
6 |
}
|
|
7 |
+ len += (uintptr_t)addr & PAGEOFFSET;
|
|
8 |
+ addr = (void *)((uintptr_t)addr & PAGEMASK);
|
|
9 |
|
|
10 |
if (mlock(addr, len) == -1) {
|
|
11 |
LogError("mlock: %s", strerror(errno));
|
|
12 |
@@ -104,6 +106,8 @@
|
|
13 |
if (getuid() != (uid_t)0) {
|
|
14 |
return 0;
|
|
15 |
}
|
|
16 |
+ len += (uintptr_t)addr & PAGEOFFSET;
|
|
17 |
+ addr = (void *)((uintptr_t)addr & PAGEMASK);
|
|
18 |
|
|
19 |
if (munlock(addr, len) == -1) {
|
|
20 |
LogError("mlock: %s", strerror(errno));
|