Skip to content

turn mm->exe_file into mm->exe_path

Oleg Nesterov lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest1 patch 7 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/1turn mm->exe_file into mm->exe_pathfs/exec.c fs/proc/base.c include/linux/mm.h +2 more+42 -430 replies

Reviews trailers per patch

The patch has no Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchMatt Helsley
SeriesA-b
1/1

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/1] turn mm->exe_file into mm->exe_path

I think the patch is simple and self-explanatory, it simply does s/mm->exe_file/mm->exe_path/.

Why do we need mm->exe_file? IIUC, there are 2 reasons:

1. we do not want O(n) proc/pid/exe looking for the 1st VM_EXECUTABLE vma.

2. we do not want to rely on vma->vm_file->f_path, bprm->file->f_op->mmap can change ->vm_file.

Unless there was another subtle reason, "struct path *exe_path" can equally work but it looks more clear.

And can't we also remove added_exe_file_vma/removed_exe_file_vma? Why do we need mm->num_exe_file_vmas? Afaics it is only needed to "free" mm->exe_file if the application unmaps all these vmas. Say, to allow to unmount fs.

Can't we simply add PR_CLEAR_MM_EXE_PATH instead? Of course it is not enough if ->vm_file still has a reference. But c/r people want PR_SET_MM_EXE_FILE anyway, see http://marc.info/?t=133052865500016
So perhaps we can add PR_SET_MM_EXE_PATH which accepts NULL as well and kill this counter?

Oleg.