struct vvp_io *vio;
int result;
__u16 refcheck;
- sigset_t set;
+ sigset_t old, new;
struct inode *inode = NULL;
struct ll_inode_info *lli;
ENTRY;
vio->u.fault.ft_vma = vma;
vio->u.fault.ft_vmpage = vmpage;
- cfs_block_sigsinv(sigmask(SIGKILL) | sigmask(SIGTERM), &set);
+ siginitsetinv(&new, sigmask(SIGKILL) | sigmask(SIGTERM));
+ sigprocmask(SIG_BLOCK, &new, &old);
inode = vvp_object_inode(io->ci_obj);
lli = ll_i2info(inode);
result = cl_io_loop(env, io);
- cfs_restore_sigs(&set);
+ sigprocmask(SIG_SETMASK, &old, NULL);
if (result == 0) {
lock_page(vmpage);
bool cached;
vm_fault_t result;
ktime_t kstart = ktime_get();
- sigset_t set;
+ sigset_t old, new;
result = pcc_fault(vma, vmf, &cached);
if (cached)
/* Only SIGKILL and SIGTERM is allowed for fault/nopage/mkwrite
* so that it can be killed by admin but not cause segfault by
- * other signals. */
- cfs_block_sigsinv(sigmask(SIGKILL) | sigmask(SIGTERM), &set);
+ * other signals.
+ */
+ siginitsetinv(&new, sigmask(SIGKILL) | sigmask(SIGTERM));
+ sigprocmask(SIG_BLOCK, &new, &old);
/* make sure offset is not a negative number */
if (vmf->pgoff > (MAX_LFS_FILESIZE >> PAGE_SHIFT))
result |= VM_FAULT_LOCKED;
}
- cfs_restore_sigs(&set);
+ sigprocmask(SIG_SETMASK, &old, NULL);
out:
if (vmf->page && result == VM_FAULT_LOCKED) {