Merge branch 'akpm' (patches from Andrew)
Merge more updates from Andrew Morton: - the rest of MM - procfs updates - various misc things - more y2038 fixes - get_maintainer updates - lib/ updates - checkpatch updates - various epoll updates - autofs updates - hfsplus - some reiserfs work - fatfs updates - signal.c cleanups - ipc/ updates * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (166 commits) ipc/util.c: update return value of ipc_getref from int to bool ipc/util.c: further variable name cleanups ipc: simplify ipc initialization ipc: get rid of ids->tables_initialized hack lib/rhashtable: guarantee initial hashtable allocation lib/rhashtable: simplify bucket_table_alloc() ipc: drop ipc_lock() ipc/util.c: correct comment in ipc_obtain_object_check ipc: rename ipcctl_pre_down_nolock() ipc/util.c: use ipc_rcu_putref() for failues in ipc_addid() ipc: reorganize initialization of kern_ipc_perm.seq ipc: compute kern_ipc_perm.id under the ipc lock init/Kconfig: remove EXPERT from CHECKPOINT_RESTORE fs/sysv/inode.c: use ktime_get_real_seconds() for superblock stamp adfs: use timespec64 for time conversion kernel/sysctl.c: fix typos in comments drivers/rapidio/devices/rio_mport_cdev.c: remove redundant pointer md fork: don't copy inconsistent signal handler state to child signal: make get_signal() return bool signal: make sigkill_pending() return bool ...
This commit is contained in:
@@ -200,15 +200,18 @@ static void scif_mmu_notifier_release(struct mmu_notifier *mn,
|
||||
schedule_work(&scif_info.misc_work);
|
||||
}
|
||||
|
||||
static void scif_mmu_notifier_invalidate_range_start(struct mmu_notifier *mn,
|
||||
static int scif_mmu_notifier_invalidate_range_start(struct mmu_notifier *mn,
|
||||
struct mm_struct *mm,
|
||||
unsigned long start,
|
||||
unsigned long end)
|
||||
unsigned long end,
|
||||
bool blockable)
|
||||
{
|
||||
struct scif_mmu_notif *mmn;
|
||||
|
||||
mmn = container_of(mn, struct scif_mmu_notif, ep_mmu_notifier);
|
||||
scif_rma_destroy_tcw(mmn, start, end - start);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void scif_mmu_notifier_invalidate_range_end(struct mmu_notifier *mn,
|
||||
|
@@ -219,9 +219,10 @@ void gru_flush_all_tlb(struct gru_state *gru)
|
||||
/*
|
||||
* MMUOPS notifier callout functions
|
||||
*/
|
||||
static void gru_invalidate_range_start(struct mmu_notifier *mn,
|
||||
static int gru_invalidate_range_start(struct mmu_notifier *mn,
|
||||
struct mm_struct *mm,
|
||||
unsigned long start, unsigned long end)
|
||||
unsigned long start, unsigned long end,
|
||||
bool blockable)
|
||||
{
|
||||
struct gru_mm_struct *gms = container_of(mn, struct gru_mm_struct,
|
||||
ms_notifier);
|
||||
@@ -231,6 +232,8 @@ static void gru_invalidate_range_start(struct mmu_notifier *mn,
|
||||
gru_dbg(grudev, "gms %p, start 0x%lx, end 0x%lx, act %d\n", gms,
|
||||
start, end, atomic_read(&gms->ms_range_active));
|
||||
gru_flush_tlb_range(gms, start, end - start);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void gru_invalidate_range_end(struct mmu_notifier *mn,
|
||||
|
Reference in New Issue
Block a user