| From 2af37a9258ab6da528a4d4e5c6403b0bf8bc9cda Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 16 Jun 2021 12:23:24 +0800 |
| Subject: samples/bpf: Fix Segmentation fault for xdp_redirect command |
| |
| From: Wang Hai <wanghai38@huawei.com> |
| |
| [ Upstream commit 85102ba58b4125ebad941d7555c3c248b23efd16 ] |
| |
| A Segmentation fault error is caused when the following command |
| is executed. |
| |
| $ sudo ./samples/bpf/xdp_redirect lo |
| Segmentation fault |
| |
| This command is missing a device <IFNAME|IFINDEX> as an argument, resulting |
| in out-of-bounds access from argv. |
| |
| If the number of devices for the xdp_redirect parameter is not 2, |
| we should report an error and exit. |
| |
| Fixes: 24251c264798 ("samples/bpf: add option for native and skb mode for redirect apps") |
| Signed-off-by: Wang Hai <wanghai38@huawei.com> |
| Signed-off-by: Andrii Nakryiko <andrii@kernel.org> |
| Link: https://lore.kernel.org/bpf/20210616042324.314832-1-wanghai38@huawei.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| samples/bpf/xdp_redirect_user.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/samples/bpf/xdp_redirect_user.c b/samples/bpf/xdp_redirect_user.c |
| index 9ca2bf457cda..1ddac4bcf447 100644 |
| --- a/samples/bpf/xdp_redirect_user.c |
| +++ b/samples/bpf/xdp_redirect_user.c |
| @@ -131,7 +131,7 @@ int main(int argc, char **argv) |
| if (!(xdp_flags & XDP_FLAGS_SKB_MODE)) |
| xdp_flags |= XDP_FLAGS_DRV_MODE; |
| |
| - if (optind == argc) { |
| + if (optind + 2 != argc) { |
| printf("usage: %s <IFNAME|IFINDEX>_IN <IFNAME|IFINDEX>_OUT\n", argv[0]); |
| return 1; |
| } |
| -- |
| 2.30.2 |
| |