Simplify mcryptd_opportunistic_flush() with list_first_entry_or_null().

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 crypto/mcryptd.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/crypto/mcryptd.c b/crypto/mcryptd.c
index fe5b495a..f78d4fc 100644
--- a/crypto/mcryptd.c
+++ b/crypto/mcryptd.c
@@ -128,13 +128,9 @@ static void mcryptd_opportunistic_flush(void)
        flist = per_cpu_ptr(mcryptd_flist, smp_processor_id());
        while (single_task_running()) {
                mutex_lock(&flist->lock);
-               if (list_empty(&flist->list)) {
-                       mutex_unlock(&flist->lock);
-                       return;
-               }
-               cstate = list_entry(flist->list.next,
+               cstate = list_first_entry_or_null(&flist->list,
                                struct mcryptd_alg_cstate, flush_list);
-               if (!cstate->flusher_engaged) {
+               if (!cstate || !cstate->flusher_engaged) {
                        mutex_unlock(&flist->lock);
                        return;
                }
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to