From: NeilBrown Date: Mon, 21 May 2018 04:35:12 +0000 (+1000) Subject: staging: lustre: discard cfs_block_sigsinv() X-Git-Tag: v5.15~8661^2~106 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6afe572bc76688cd840032254217a4877b66e916;p=platform%2Fkernel%2Flinux-starfive.git staging: lustre: discard cfs_block_sigsinv() cfs_block_sigsinv() and cfs_restore_sigs() are simple wrappers which save a couple of line of code and hurt readability for people not familiar with them. They aren't used often enough to be worthwhile, so discard them and open-code the functionality. The sigorsets() call isn't needed as or-ing with current->blocked is exactly what sigprocmask(SIG_BLOCK) does. Signed-off-by: NeilBrown Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs.h b/drivers/staging/lustre/include/linux/libcfs/libcfs.h index be40cf4..d9002e7 100644 --- a/drivers/staging/lustre/include/linux/libcfs/libcfs.h +++ b/drivers/staging/lustre/include/linux/libcfs/libcfs.h @@ -93,22 +93,6 @@ #define LNET_ACCEPTOR_MIN_RESERVED_PORT 512 #define LNET_ACCEPTOR_MAX_RESERVED_PORT 1023 -/* Block all signals except for the @sigs */ -static inline void cfs_block_sigsinv(unsigned long sigs, sigset_t *old) -{ - sigset_t new; - - siginitsetinv(&new, sigs); - sigorsets(&new, ¤t->blocked, &new); - sigprocmask(SIG_BLOCK, &new, old); -} - -static inline void -cfs_restore_sigs(sigset_t *old) -{ - sigprocmask(SIG_SETMASK, old, NULL); -} - struct libcfs_ioctl_handler { struct list_head item; int (*handle_ioctl)(unsigned int cmd, struct libcfs_ioctl_hdr *hdr); diff --git a/drivers/staging/lustre/lustre/include/lustre_lib.h b/drivers/staging/lustre/lustre/include/lustre_lib.h index 0053eaf..eec1082 100644 --- a/drivers/staging/lustre/lustre/include/lustre_lib.h +++ b/drivers/staging/lustre/lustre/include/lustre_lib.h @@ -94,31 +94,34 @@ static inline int l_fatal_signal_pending(struct task_struct *p) */ #define l_wait_event_abortable(wq, condition) \ ({ \ - sigset_t __old_blocked; \ + sigset_t __new_blocked, __old_blocked; \ int __ret = 0; \ - cfs_block_sigsinv(LUSTRE_FATAL_SIGS, &__old_blocked); \ + siginitset(&__new_blocked, LUSTRE_FATAL_SIGS); \ + sigprocmask(SIG_BLOCK, &__new_blocked, &__old_blocked); \ __ret = wait_event_interruptible(wq, condition); \ - cfs_restore_sigs(&__old_blocked); \ + sigprocmask(SIG_SETMASK, &__old_blocked, NULL); \ __ret; \ }) #define l_wait_event_abortable_timeout(wq, condition, timeout) \ ({ \ - sigset_t __old_blocked; \ + sigset_t __new_blocked, __old_blocked; \ int __ret = 0; \ - cfs_block_sigsinv(LUSTRE_FATAL_SIGS, &__old_blocked); \ + siginitset(&__new_blocked, LUSTRE_FATAL_SIGS); \ + sigprocmask(SIG_BLOCK, &__new_blocked, &__old_blocked); \ __ret = wait_event_interruptible_timeout(wq, condition, timeout);\ - cfs_restore_sigs(&__old_blocked); \ + sigprocmask(SIG_SETMASK, &__old_blocked, NULL); \ __ret; \ }) #define l_wait_event_abortable_exclusive(wq, condition) \ ({ \ - sigset_t __old_blocked; \ + sigset_t __new_blocked, __old_blocked; \ int __ret = 0; \ - cfs_block_sigsinv(LUSTRE_FATAL_SIGS, &__old_blocked); \ + siginitset(&__new_blocked, LUSTRE_FATAL_SIGS); \ + sigprocmask(SIG_BLOCK, &__new_blocked, &__old_blocked); \ __ret = wait_event_interruptible_exclusive(wq, condition); \ - cfs_restore_sigs(&__old_blocked); \ + sigprocmask(SIG_SETMASK, &__old_blocked, NULL); \ __ret; \ }) #endif /* _LUSTRE_LIB_H */ diff --git a/drivers/staging/lustre/lustre/llite/llite_mmap.c b/drivers/staging/lustre/lustre/llite/llite_mmap.c index 214b075..d7fb553 100644 --- a/drivers/staging/lustre/lustre/llite/llite_mmap.c +++ b/drivers/staging/lustre/lustre/llite/llite_mmap.c @@ -152,7 +152,7 @@ static int ll_page_mkwrite0(struct vm_area_struct *vma, struct page *vmpage, struct vvp_io *vio; int result; u16 refcheck; - sigset_t set; + sigset_t old, new; struct inode *inode; struct ll_inode_info *lli; @@ -177,14 +177,15 @@ static int ll_page_mkwrite0(struct vm_area_struct *vma, struct page *vmpage, 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) { struct inode *inode = file_inode(vma->vm_file); @@ -328,13 +329,14 @@ static int ll_fault(struct vm_fault *vmf) int count = 0; bool printed = false; int result; - sigset_t set; + sigset_t old, new; /* Only SIGKILL and SIGTERM are 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); + siginitsetinv(&new, sigmask(SIGKILL) | sigmask(SIGTERM)); + sigprocmask(SIG_BLOCK, &new, &old); restart: result = ll_fault0(vmf->vma, vmf); @@ -360,7 +362,7 @@ restart: result = VM_FAULT_LOCKED; } - cfs_restore_sigs(&set); + sigprocmask(SIG_SETMASK, &old, NULL); return result; }