net/nat: g_nat_lock can be used recursively#18571
net/nat: g_nat_lock can be used recursively#18571masc2008 wants to merge 1 commit intoapache:masterfrom
Conversation
|
All CI Builds have been failing since 18 hours ago. @simbit18 Would you know how to check the GitHub Actions allowed by ASF Infra Team? Wonder if they blocked something due to yesterday's Trivy Security Incident. https://github.com/apache/nuttx/actions/runs/23389990049
Update: Found the allowed GitHub Actions. It's updated recently, lemme see what they blocked...
Hmmm why did ASF Infra Team insist on docker/login-action@v3.7.0? Lemme submit a patch to roll back. docker/login-action:
c94ce9fb468520275223c153574b00df6fe4bcc9:
tag: v3.7.0
|
|
This patch should fix our CI Builds:
Yep the ASF Policy Change is due to the Trivy Security Incident. Yesterday somehow I failed to understand the meaning of the exact words when I read this broadcast email (maybe
|
All CI Builds have been failing since 18 hours ago: - apache/nuttx#18571 (comment) - https://github.com/apache/nuttx/actions/runs/23389990049 > _The action docker/login-action@v4 is not allowed in apache/nuttx because all actions must be from a repository owned by your enterprise, created by GitHub, or match one of the patterns: 1Password/load-secrets-action@13f58ee, 1Password/load-secrets-action@8d0d610, 1Password/load-secrets-action@dafbe7c, AdoptOpenJDK/install-jdk@*, BobAnkh/auto-generate-changelog@*, DavidAnson/markdownlint-cli2-action@07035fd, DavidAnson/markdownlint-cli2-action@30a0e04, EnricoMi/publish-unit-test-result-action@*, JamesIves/github-pages-deploy-action@4a3abc7, JamesIves/github-pages-deploy-action@d92aa23, Jimver/cuda-toolkit@6008063, Jimver/cuda-toolkit@b6fc3a9, JustinBeckwith/linkinator-action@af984b9f30f63e796..._ That's because ASF Infrastructure Team has mandated that we use the Specific Versions of GitHub Actions for Docker, stated below: - https://github.com/apache/infrastructure-actions/blob/main/actions.yml - Which generates: https://github.com/apache/infrastructure-actions/blob/main/approved_patterns.yml ```yaml docker/build-push-action: 10e90e3645eae34f1e60eeb005ba3a3d33f178e8: tag: v6.19.2 docker/login-action: c94ce9fb468520275223c153574b00df6fe4bcc9: tag: v3.7.0 docker/metadata-action: c299e40c65443455700f0fdfc63efafe5b349051: tag: v5.10.0 docker/setup-buildx-action: 8d2750c68a42422c14e847fe6c8ac0403b4cbd6f: tag: v3.12.0 ``` This PR reverts our GitHub Actions for Docker to the versions stated above. Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
|
Oops I need to pin to a Specific Hash, not just the Specific Version. Lemme resubmit the patch... |
All CI Builds have been failing since 18 hours ago: - apache#18571 (comment) - https://github.com/apache/nuttx/actions/runs/23389990049 > _The action docker/login-action@v4 is not allowed in apache/nuttx because all actions must be from a repository owned by your enterprise, created by GitHub, or match one of the patterns: 1Password/load-secrets-action@13f58ee, 1Password/load-secrets-action@8d0d610, 1Password/load-secrets-action@dafbe7c, AdoptOpenJDK/install-jdk@*, BobAnkh/auto-generate-changelog@*, DavidAnson/markdownlint-cli2-action@07035fd, DavidAnson/markdownlint-cli2-action@30a0e04, EnricoMi/publish-unit-test-result-action@*, JamesIves/github-pages-deploy-action@4a3abc7, JamesIves/github-pages-deploy-action@d92aa23, Jimver/cuda-toolkit@6008063, Jimver/cuda-toolkit@b6fc3a9, JustinBeckwith/linkinator-action@af984b9f30f63e796..._ That's because ASF Infrastructure Team has mandated that we use the Hash Versions of GitHub Actions for Docker, stated below: - https://github.com/apache/infrastructure-actions/blob/main/actions.yml - Which generates: https://github.com/apache/infrastructure-actions/blob/main/approved_patterns.yml - Due to: apache/infrastructure-actions#547 ```yaml docker/build-push-action: 10e90e3645eae34f1e60eeb005ba3a3d33f178e8: tag: v6.19.2 docker/login-action: c94ce9fb468520275223c153574b00df6fe4bcc9: tag: v3.7.0 docker/metadata-action: c299e40c65443455700f0fdfc63efafe5b349051: tag: v5.10.0 docker/setup-buildx-action: 8d2750c68a42422c14e847fe6c8ac0403b4cbd6f: tag: v3.12.0 ``` This PR reverts our GitHub Actions for Docker to the hash versions stated above. Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
All CI Builds have been failing since 18 hours ago: - apache/nuttx#18571 (comment) - https://github.com/apache/nuttx/actions/runs/23389990049 > _The action docker/login-action@v4 is not allowed in apache/nuttx because all actions must be from a repository owned by your enterprise, created by GitHub, or match one of the patterns: 1Password/load-secrets-action@13f58ee, 1Password/load-secrets-action@8d0d610, 1Password/load-secrets-action@dafbe7c, AdoptOpenJDK/install-jdk@*, BobAnkh/auto-generate-changelog@*, DavidAnson/markdownlint-cli2-action@07035fd, DavidAnson/markdownlint-cli2-action@30a0e04, EnricoMi/publish-unit-test-result-action@*, JamesIves/github-pages-deploy-action@4a3abc7, JamesIves/github-pages-deploy-action@d92aa23, Jimver/cuda-toolkit@6008063, Jimver/cuda-toolkit@b6fc3a9, JustinBeckwith/linkinator-action@af984b9f30f63e796..._ That's because ASF Infrastructure Team has mandated that we use the Hash Versions of GitHub Actions for Docker, stated below: - https://github.com/apache/infrastructure-actions/blob/main/actions.yml - Which generates: https://github.com/apache/infrastructure-actions/blob/main/approved_patterns.yml - Due to: apache/infrastructure-actions#547 ```yaml docker/build-push-action: 10e90e3645eae34f1e60eeb005ba3a3d33f178e8: tag: v6.19.2 docker/login-action: c94ce9fb468520275223c153574b00df6fe4bcc9: tag: v3.7.0 docker/metadata-action: c299e40c65443455700f0fdfc63efafe5b349051: tag: v5.10.0 docker/setup-buildx-action: 8d2750c68a42422c14e847fe6c8ac0403b4cbd6f: tag: v3.12.0 ``` This PR reverts our GitHub Actions for Docker to the hash versions stated above. Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
All CI Builds have been failing since 18 hours ago: - #18571 (comment) - https://github.com/apache/nuttx/actions/runs/23389990049 > _The action docker/login-action@v4 is not allowed in apache/nuttx because all actions must be from a repository owned by your enterprise, created by GitHub, or match one of the patterns: 1Password/load-secrets-action@13f58ee, 1Password/load-secrets-action@8d0d610, 1Password/load-secrets-action@dafbe7c, AdoptOpenJDK/install-jdk@*, BobAnkh/auto-generate-changelog@*, DavidAnson/markdownlint-cli2-action@07035fd, DavidAnson/markdownlint-cli2-action@30a0e04, EnricoMi/publish-unit-test-result-action@*, JamesIves/github-pages-deploy-action@4a3abc7, JamesIves/github-pages-deploy-action@d92aa23, Jimver/cuda-toolkit@6008063, Jimver/cuda-toolkit@b6fc3a9, JustinBeckwith/linkinator-action@af984b9f30f63e796..._ That's because ASF Infrastructure Team has mandated that we use the Hash Versions of GitHub Actions for Docker, stated below: - https://github.com/apache/infrastructure-actions/blob/main/actions.yml - Which generates: https://github.com/apache/infrastructure-actions/blob/main/approved_patterns.yml - Due to: apache/infrastructure-actions#547 ```yaml docker/build-push-action: 10e90e3645eae34f1e60eeb005ba3a3d33f178e8: tag: v6.19.2 docker/login-action: c94ce9fb468520275223c153574b00df6fe4bcc9: tag: v3.7.0 docker/metadata-action: c299e40c65443455700f0fdfc63efafe5b349051: tag: v5.10.0 docker/setup-buildx-action: 8d2750c68a42422c14e847fe6c8ac0403b4cbd6f: tag: v3.12.0 ``` This PR reverts our GitHub Actions for Docker to the hash versions stated above. Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
All CI Builds have been failing since 18 hours ago: - apache/nuttx#18571 (comment) - https://github.com/apache/nuttx/actions/runs/23389990049 > _The action docker/login-action@v4 is not allowed in apache/nuttx because all actions must be from a repository owned by your enterprise, created by GitHub, or match one of the patterns: 1Password/load-secrets-action@13f58ee, 1Password/load-secrets-action@8d0d610, 1Password/load-secrets-action@dafbe7c, AdoptOpenJDK/install-jdk@*, BobAnkh/auto-generate-changelog@*, DavidAnson/markdownlint-cli2-action@07035fd, DavidAnson/markdownlint-cli2-action@30a0e04, EnricoMi/publish-unit-test-result-action@*, JamesIves/github-pages-deploy-action@4a3abc7, JamesIves/github-pages-deploy-action@d92aa23, Jimver/cuda-toolkit@6008063, Jimver/cuda-toolkit@b6fc3a9, JustinBeckwith/linkinator-action@af984b9f30f63e796..._ That's because ASF Infrastructure Team has mandated that we use the Hash Versions of GitHub Actions for Docker, stated below: - https://github.com/apache/infrastructure-actions/blob/main/actions.yml - Which generates: https://github.com/apache/infrastructure-actions/blob/main/approved_patterns.yml - Due to: apache/infrastructure-actions#547 ```yaml docker/build-push-action: 10e90e3645eae34f1e60eeb005ba3a3d33f178e8: tag: v6.19.2 docker/login-action: c94ce9fb468520275223c153574b00df6fe4bcc9: tag: v3.7.0 docker/metadata-action: c299e40c65443455700f0fdfc63efafe5b349051: tag: v5.10.0 docker/setup-buildx-action: 8d2750c68a42422c14e847fe6c8ac0403b4cbd6f: tag: v3.12.0 ``` This PR reverts our GitHub Actions for Docker to the hash versions stated above. Signed-off-by: Lup Yuen Lee <luppy@appkaki.com>
|
@masc2008 Can you Rebase with Master Branch to trigger the CI Build? Thanks :-) |
case: when rndis receive a packet and this packet is going to be forwarded. 1. first lock happen when ipv4_dev_forward call ipv4_nat_outbound; 2. next lock is: ipv4_nat_outbound_entry_find --> nat_port_select --> tcp_selectport --> nat_port_inuse Signed-off-by: Jerry Ma <shichunma@bestechnic.com>
I just did: "git pull upstream" and "git push", the "rebase" should be finished, am I correct? |
|
Yep it's building now thanks :-) |
| ****************************************************************************/ | ||
|
|
||
| static mutex_t g_nat_lock = NXMUTEX_INITIALIZER; | ||
| static mutex_t g_nat_lock = NXRMUTEX_INITIALIZER; |
There was a problem hiding this comment.
| static mutex_t g_nat_lock = NXRMUTEX_INITIALIZER; | |
| static rmutex_t g_nat_lock = NXRMUTEX_INITIALIZER; |

Note: Please adhere to Contributing Guidelines.
Summary
case: when rndis receive a packet and this packet is going to be forwarded.
Impact
fix assert when NET_NAT is enabled, and packet forwards from one net device to another.
Testing
without this code, it has below assert:
