Re: [PATCH v5.10] bpf: fix recursive lock when verdict program return SK_PASS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[ Sasha's backport helper bot ]

Hi,

The upstream commit SHA1 provided is correct: 8ca2a1eeadf09862190b2810697702d803ceef2d

WARNING: Author mismatch between patch and upstream commit:
Backport author: Srish Srinivasan<srishwap4@xxxxxxxxx>
Commit author: Jiayuan Chen<mrpre@xxxxxxx>


Status in newer kernel trees:
6.12.y | Present (different SHA1: f84c5ef6ca23)
6.6.y | Present (different SHA1: da2bc8a0c8f3)
6.1.y | Present (different SHA1: 386efa339e08)
5.15.y | Present (different SHA1: 6694f7acd625)
5.10.y | Not found

Note: The patch differs from the upstream commit:
---
1:  8ca2a1eeadf0 ! 1:  3487de836032 bpf: fix recursive lock when verdict program return SK_PASS
    @@ Metadata
      ## Commit message ##
         bpf: fix recursive lock when verdict program return SK_PASS
     
    +    commit 8ca2a1eeadf09862190b2810697702d803ceef2d upstream.
    +
         When the stream_verdict program returns SK_PASS, it places the received skb
         into its own receive queue, but a recursive lock eventually occurs, leading
         to an operating system deadlock. This issue has been present since v6.9.
    @@ Commit message
         Acked-by: Martin KaFai Lau <martin.lau@xxxxxxxxxx>
         Link: https://patch.msgid.link/20241118030910.36230-2-mrpre@xxxxxxx
         Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    +    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
    +    [srish: Apply to stable branch linux-5.10.y]
    +    Signed-off-by: Srish Srinivasan <srishwap4@xxxxxxxxx>
     
      ## net/core/skmsg.c ##
     @@ net/core/skmsg.c: static void sk_psock_strp_data_ready(struct sock *sk)
      		if (tls_sw_has_ctx_rx(sk)) {
    - 			psock->saved_data_ready(sk);
    + 			psock->parser.saved_data_ready(sk);
      		} else {
     -			write_lock_bh(&sk->sk_callback_lock);
     +			read_lock_bh(&sk->sk_callback_lock);
    - 			strp_data_ready(&psock->strp);
    + 			strp_data_ready(&psock->parser.strp);
     -			write_unlock_bh(&sk->sk_callback_lock);
     +			read_unlock_bh(&sk->sk_callback_lock);
      		}
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-5.10.y       |  Success    |  Success   |




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux