sctp: delete free member from struct sctp_sched_ops
After commit 9ed7bfc795 ("sctp: fix memory leak in
sctp_stream_outq_migrate()"), sctp_sched_set_sched() is the only
place calling sched->free(), and it can actually be replaced by
sched->free_sid() on each stream, and yet there's already a loop
to traverse all streams in sctp_sched_set_sched().
This patch adds a function sctp_sched_free_sched() where it calls
sched->free_sid() for each stream to replace sched->free() calls
in sctp_sched_set_sched() and then deletes the unused free member
from struct sctp_sched_ops.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Link: https://lore.kernel.org/r/e10aac150aca2686cb0bd0570299ec716da5a5c0.1669849471.git.lucien.xin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -28,8 +28,6 @@ struct sctp_sched_ops {
|
||||
int (*init_sid)(struct sctp_stream *stream, __u16 sid, gfp_t gfp);
|
||||
/* free a stream */
|
||||
void (*free_sid)(struct sctp_stream *stream, __u16 sid);
|
||||
/* Frees the entire thing */
|
||||
void (*free)(struct sctp_stream *stream);
|
||||
|
||||
/* Enqueue a chunk */
|
||||
void (*enqueue)(struct sctp_outq *q, struct sctp_datamsg *msg);
|
||||
|
||||
Reference in New Issue
Block a user