diff options
author | Fenghua Yu <[email protected]> | 2022-02-07 15:02:47 -0800 |
---|---|---|
committer | Borislav Petkov <[email protected]> | 2022-02-14 19:51:47 +0100 |
commit | a6cbd44093ef305b02ad5f80ed54abf0148a696c (patch) | |
tree | a45fd78b4519c5ceb593e751da6e459bd237a693 /net/lapb/lapb_in.c | |
parent | 7a5fbc9bcba5325a45297a4ba00091f39a63a1ed (diff) |
kernel/fork: Initialize mm's PASID
A new mm doesn't have a PASID yet when it's created. Initialize
the mm's PASID on fork() or for init_mm to INVALID_IOASID (-1).
INIT_PASID (0) is reserved for kernel legacy DMA PASID. It cannot be
allocated to a user process. Initializing the process's PASID to 0 may
cause confusion that's why the process uses the reserved kernel legacy
DMA PASID. Initializing the PASID to INVALID_IOASID (-1) explicitly
tells the process doesn't have a valid PASID yet.
Even though the only user of mm_pasid_init() is in fork.c, define it in
<linux/sched/mm.h> as the first of three mm/pasid life cycle functions
(init/set/drop) to keep these all together.
Suggested-by: Dave Hansen <[email protected]>
Signed-off-by: Fenghua Yu <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Reviewed-by: Tony Luck <[email protected]>
Reviewed-by: Thomas Gleixner <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'net/lapb/lapb_in.c')
0 files changed, 0 insertions, 0 deletions