mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 14:41:27 +00:00
Merge branch 'stable-4.8' of git://git.infradead.org/users/pcmoore/audit
Pull audit fixes from Paul Moore: "Two small patches to fix some bugs with the audit-by-executable functionality we introduced back in v4.3 (both patches are marked for the stable folks)" * 'stable-4.8' of git://git.infradead.org/users/pcmoore/audit: audit: fix exe_file access in audit_exe_compare mm: introduce get_task_exe_file
This commit is contained in:
commit
511a8cdb65
4 changed files with 30 additions and 9 deletions
|
@ -798,6 +798,29 @@ struct file *get_mm_exe_file(struct mm_struct *mm)
|
|||
}
|
||||
EXPORT_SYMBOL(get_mm_exe_file);
|
||||
|
||||
/**
|
||||
* get_task_exe_file - acquire a reference to the task's executable file
|
||||
*
|
||||
* Returns %NULL if task's mm (if any) has no associated executable file or
|
||||
* this is a kernel thread with borrowed mm (see the comment above get_task_mm).
|
||||
* User must release file via fput().
|
||||
*/
|
||||
struct file *get_task_exe_file(struct task_struct *task)
|
||||
{
|
||||
struct file *exe_file = NULL;
|
||||
struct mm_struct *mm;
|
||||
|
||||
task_lock(task);
|
||||
mm = task->mm;
|
||||
if (mm) {
|
||||
if (!(task->flags & PF_KTHREAD))
|
||||
exe_file = get_mm_exe_file(mm);
|
||||
}
|
||||
task_unlock(task);
|
||||
return exe_file;
|
||||
}
|
||||
EXPORT_SYMBOL(get_task_exe_file);
|
||||
|
||||
/**
|
||||
* get_task_mm - acquire a reference to the task's mm
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue