-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
syzkaller: WARNING in mptcp_token_destroy
#442
Labels
Comments
cpaasch
added
bug
syzkaller
reproducer
Has a simple program to reproduce the bug
labels
Sep 26, 2023
@cpaasch: could you please additionally share the c-repro (possibly as attachment) or test the tentative fix in the following comment? |
should be fixed with:
even simpler:
|
Yes, this works @pabeni |
cpaasch
added a commit
that referenced
this issue
Sep 27, 2023
Signed-off-by: Christoph Paasch <[email protected]>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Sep 28, 2023
Christoph reported a couple of serious splat caused by the mentioned patch. mptcp_set_rcvlowat() can use msk->scaling_ratio, before such field is initialized, causing a divide by zero: we need to init it in the sock constructor. Additionally the same function bogusly cast an msk to a tcp_sock, causing memory corruption. The reproducer likely clears the sk refcount for the next msk allocated into the same slab. The intent was to properly propagate the rcvbuf changes to the subflows. Let's do that explicitly. Signed-off-by: Paolo Abeni <[email protected]> -- Closes: multipath-tcp/mptcp_net-next#442 Closes: multipath-tcp/mptcp_net-next#443 since the above issues are introduced by the squash-to patch, I think we can't have the tag in the final patch.
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this issue
Oct 2, 2023
Christoph reported a couple of serious splat caused by the mentioned patch. mptcp_set_rcvlowat() can use msk->scaling_ratio, before such field is initialized, causing a divide by zero: we need to init it in the sock constructor. Additionally the same function bogusly cast an msk to a tcp_sock, causing memory corruption. The reproducer likely clears the sk refcount for the next msk allocated into the same slab. The intent was to properly propagate the rcvbuf changes to the subflows. Let's do that explicitly. Signed-off-by: Paolo Abeni <[email protected]> -- Closes: multipath-tcp/mptcp_net-next#442 Closes: multipath-tcp/mptcp_net-next#443 since the above issues are introduced by the squash-to patch, I think we can't have the tag in the final patch. v1 -> v2: - use scaling_ratio define (Mat)
cpaasch
added a commit
that referenced
this issue
Oct 3, 2023
Signed-off-by: Christoph Paasch <[email protected]>
matttbe
pushed a commit
that referenced
this issue
Oct 3, 2023
Christoph reported a couple of serious splat caused by the mentioned patch. mptcp_set_rcvlowat() can use msk->scaling_ratio, before such field is initialized, causing a divide by zero: we need to init it in the sock constructor. Additionally the same function bogusly cast an msk to a tcp_sock, causing memory corruption. The reproducer likely clears the sk refcount for the next msk allocated into the same slab. The intent was to properly propagate the rcvbuf changes to the subflows. Let's do that explicitly. Signed-off-by: Paolo Abeni <[email protected]> -- Closes: #442 Closes: #443 since the above issues are introduced by the squash-to patch, I think we can't have the tag in the final patch. v1 -> v2: - use scaling_ratio define (Mat) Link: https://lore.kernel.org/r/21dd84bd44a8d0839564bed351e7d77a16b68474.1696237983.git.pabeni@redhat.com Signed-off-by: Matthieu Baerts <[email protected]>
Fixed by Paolo's patches: New patches for t/upstream:
Tests are now in progress: https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20231003T165758 Cheers, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
syzkaller-id: 5ac39dd915154ec01f83fad890fa594c89a5e207
HEAD: 6a1b099
Crash:
Kconfig:
Kconfig_k7_clean.txt
Reproducer:
C-reproducer available.
The text was updated successfully, but these errors were encountered: