Commit 68a6729
hsr: hold rcu and dev lock for hsr_get_port_ndev
[ Upstream commit 847748f ]
hsr_get_port_ndev calls hsr_for_each_port, which need to hold rcu lock.
On the other hand, before return the port device, we need to hold the
device reference to avoid UaF in the caller function.
Suggested-by: Paolo Abeni <pabeni@redhat.com>
Fixes: 9c10dd8 ("net: hsr: Create and export hsr_get_port_ndev()")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250905091533.377443-4-liuhangbin@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>1 parent 43242ae commit 68a6729
2 files changed
Lines changed: 20 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
691 | 691 | | |
692 | 692 | | |
693 | 693 | | |
694 | | - | |
| 694 | + | |
695 | 695 | | |
696 | 696 | | |
697 | 697 | | |
| |||
700 | 700 | | |
701 | 701 | | |
702 | 702 | | |
703 | | - | |
704 | | - | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
705 | 707 | | |
| 708 | + | |
706 | 709 | | |
707 | 710 | | |
| 711 | + | |
708 | 712 | | |
709 | 713 | | |
710 | 714 | | |
| |||
716 | 720 | | |
717 | 721 | | |
718 | 722 | | |
719 | | - | |
| 723 | + | |
720 | 724 | | |
721 | 725 | | |
722 | 726 | | |
| |||
725 | 729 | | |
726 | 730 | | |
727 | 731 | | |
728 | | - | |
729 | | - | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
730 | 736 | | |
| 737 | + | |
731 | 738 | | |
732 | 739 | | |
| 740 | + | |
733 | 741 | | |
734 | 742 | | |
735 | 743 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
675 | 675 | | |
676 | 676 | | |
677 | 677 | | |
| 678 | + | |
678 | 679 | | |
679 | | - | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
680 | 683 | | |
| 684 | + | |
| 685 | + | |
681 | 686 | | |
682 | 687 | | |
683 | 688 | | |
| |||
0 commit comments