From b406f3680f2e84eb7dedbffeeb825267428271b3 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 11 Jan 2021 14:46:16 +0100 Subject: [PATCH] Revert "rwsem: Implement down_read_killable_nested" This reverts commit 1b75a263fbd95f7e03af23921eb3f32086db66f1 which is commit 0f9368b5bf6db0c04afc5454b1be79022a681615 upstream. It breaks the API and we don't need it right now in the 5.4 tree. Bug: 161946584 Signed-off-by: Greg Kroah-Hartman Change-Id: I6796b91eebb961df9501b8867eec76a265724c3c --- include/linux/rwsem.h | 2 -- kernel/locking/rwsem.c | 14 -------------- 2 files changed, 16 deletions(-) diff --git a/include/linux/rwsem.h b/include/linux/rwsem.h index 4c5770f7d40f..cf27ef69c9f0 100644 --- a/include/linux/rwsem.h +++ b/include/linux/rwsem.h @@ -175,7 +175,6 @@ extern void downgrade_write(struct rw_semaphore *sem); * See Documentation/locking/lockdep-design.rst for more details.) */ extern void down_read_nested(struct rw_semaphore *sem, int subclass); -extern int __must_check down_read_killable_nested(struct rw_semaphore *sem, int subclass); extern void down_write_nested(struct rw_semaphore *sem, int subclass); extern int down_write_killable_nested(struct rw_semaphore *sem, int subclass); extern void _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest_lock); @@ -196,7 +195,6 @@ extern void down_read_non_owner(struct rw_semaphore *sem); extern void up_read_non_owner(struct rw_semaphore *sem); #else # define down_read_nested(sem, subclass) down_read(sem) -# define down_read_killable_nested(sem, subclass) down_read_killable(sem) # define down_write_nest_lock(sem, nest_lock) down_write(sem) # define down_write_nested(sem, subclass) down_write(sem) # define down_write_killable_nested(sem, subclass) down_write_killable(sem) diff --git a/kernel/locking/rwsem.c b/kernel/locking/rwsem.c index a459b2b004d2..302870ff5cfe 100644 --- a/kernel/locking/rwsem.c +++ b/kernel/locking/rwsem.c @@ -1632,20 +1632,6 @@ void down_read_nested(struct rw_semaphore *sem, int subclass) } EXPORT_SYMBOL(down_read_nested); -int down_read_killable_nested(struct rw_semaphore *sem, int subclass) -{ - might_sleep(); - rwsem_acquire_read(&sem->dep_map, subclass, 0, _RET_IP_); - - if (LOCK_CONTENDED_RETURN(sem, __down_read_trylock, __down_read_killable)) { - rwsem_release(&sem->dep_map, _RET_IP_); - return -EINTR; - } - - return 0; -} -EXPORT_SYMBOL(down_read_killable_nested); - void _down_write_nest_lock(struct rw_semaphore *sem, struct lockdep_map *nest) { might_sleep();