io_uring: fix io_wqe->work_list corruption
[linux-2.6-microblaze.git] / fs / io-wq.h
index be21c50..75113bc 100644 (file)
@@ -17,6 +17,7 @@ enum {
        IO_WQ_WORK_MM           = 128,
        IO_WQ_WORK_CREDS        = 256,
        IO_WQ_WORK_BLKCG        = 512,
+       IO_WQ_WORK_FSIZE        = 1024,
 
        IO_WQ_HASH_SHIFT        = 24,   /* upper 8 bits are used for hash key */
 };
@@ -58,6 +59,7 @@ static inline void wq_list_add_tail(struct io_wq_work_node *node,
                list->last->next = node;
                list->last = node;
        }
+       node->next = NULL;
 }
 
 static inline void wq_list_cut(struct io_wq_work_list *list,
@@ -128,7 +130,6 @@ static inline bool io_wq_is_hashed(struct io_wq_work *work)
 }
 
 void io_wq_cancel_all(struct io_wq *wq);
-enum io_wq_cancel io_wq_cancel_work(struct io_wq *wq, struct io_wq_work *cwork);
 
 typedef bool (work_cancel_fn)(struct io_wq_work *, void *);