On Wed, May 06, 2020 at 07:50:53PM +0530, ashwin-h wrote: > From: Xin Long <lucien.xin@xxxxxxxxx> > > commit 1033990ac5b2ab6cee93734cb6d301aa3a35bcaa upstream. > > Now when sending packets, sk_mem_charge() and sk_mem_uncharge() have been > used to set sk_forward_alloc. We just need to call sk_wmem_schedule() to > check if the allocated should be raised, and call sk_mem_reclaim() to > check if the allocated should be reduced when it's under memory pressure. > > If sk_wmem_schedule() returns false, which means no memory is allowed to > allocate, it will block and wait for memory to become available. > > Note different from tcp, sctp wait_for_buf happens before allocating any > skb, so memory accounting check is done with the whole msg_len before it > too. > > Reported-by: Matteo Croce <mcroce@xxxxxxxxxx> > Tested-by: Matteo Croce <mcroce@xxxxxxxxxx> > Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> > Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> > Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> > Signed-off-by: Ashwin H <ashwinh@xxxxxxxxxx> > --- > net/sctp/socket.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) <formletter> This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html for how to do this properly. </formletter>