Skip to contentSkip to conversation

send uses_interp=1 to arch_setup_additional_pages

PATCH Applied Serge E. Hallyn 2 participants 2 messages Feb 24, 2010 – Mar 1, 2010 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 send uses_interp=1 to arch_setup_additional_pages

Because the s390 version won't set up vdso if it is 0. It is safe to assume that if we are calling special_mapping_restore() then there is a vdso in the checkpoint image, and if that is the case then the checkpointed program was dynamically linked.

Other architectures ignore uses_interp so this shouldn't matter to them.

---
 mm/mmap.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
mm/mmap.c +1 -1
index 6aa606a..9cded98 100644
@@ -2404,7 +2404,7 @@ int special_mapping_restore(struct ckpt_ctx *ctx,
 	if (test_thread_flag(TIF_IA32))
 		return syscall32_setup_pages(NULL, h->vm_start, 0);
 #endif
-	return arch_setup_additional_pages(NULL, h->vm_start, 0);
+	return arch_setup_additional_pages(NULL, h->vm_start, 1);
 }
 #else /* !CONFIG_CHECKPOINT */
 #define special_mapping_checkpoint NULL
Signature · 1 line
1.6.1

A message that is not in the archive (sent off-list or not yet received): 20100224213322.GA3502-r/[email protected]

Applied
#2 lore raw

Applied.

I added the commit comment to the code, because when (and if) we fold this to v20, the commit message will be gone.

Oren.

Quoted 26 lines · Serge E. Hallyn

Because the s390 version won't set up vdso if it is 0. It is safe to assume that if we are calling special_mapping_restore() then there is a vdso in the checkpoint image, and if that is the case then the checkpointed program was dynamically linked.

Other architectures ignore uses_interp so this shouldn't matter to them.

---
 mm/mmap.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
mm/mmap.c +1 -1
index 6aa606a..9cded98 100644
@@ -2404,7 +2404,7 @@ int special_mapping_restore(struct ckpt_ctx *ctx,
 	if (test_thread_flag(TIF_IA32))
 		return syscall32_setup_pages(NULL, h->vm_start, 0);
 #endif
-	return arch_setup_additional_pages(NULL, h->vm_start, 0);
+	return arch_setup_additional_pages(NULL, h->vm_start, 1);
 }
 #else /* !CONFIG_CHECKPOINT */
 #define special_mapping_checkpoint NULL