Message ID | 1479479809-10798-1-git-send-email-andrew.boyer@dell.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
On 11/18/2016 06:36 AM, Andrew Boyer wrote: > Avoid smashing the stack when an ICRC error occurs on an IPv6 network. > > Signed-off-by: Andrew Boyer <andrew.boyer@dell.com> > --- > drivers/infiniband/sw/rxe/rxe_recv.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/infiniband/sw/rxe/rxe_recv.c b/drivers/infiniband/sw/rxe/rxe_recv.c > index 46f0628..b40ab8d 100644 > --- a/drivers/infiniband/sw/rxe/rxe_recv.c > +++ b/drivers/infiniband/sw/rxe/rxe_recv.c > @@ -391,7 +391,7 @@ int rxe_rcv(struct sk_buff *skb) > payload_size(pkt)); > calc_icrc = cpu_to_be32(~calc_icrc); > if (unlikely(calc_icrc != pack_icrc)) { > - char saddr[sizeof(struct in6_addr)]; > + char saddr[64]; > > if (skb->protocol == htons(ETH_P_IPV6)) > sprintf(saddr, "%pI6", &ipv6_hdr(skb)->saddr); Hello Andrew, Since you are touching this code please also switch from sprintf() to snprintf(). Thanks, Bart. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/infiniband/sw/rxe/rxe_recv.c b/drivers/infiniband/sw/rxe/rxe_recv.c index 46f0628..b40ab8d 100644 --- a/drivers/infiniband/sw/rxe/rxe_recv.c +++ b/drivers/infiniband/sw/rxe/rxe_recv.c @@ -391,7 +391,7 @@ int rxe_rcv(struct sk_buff *skb) payload_size(pkt)); calc_icrc = cpu_to_be32(~calc_icrc); if (unlikely(calc_icrc != pack_icrc)) { - char saddr[sizeof(struct in6_addr)]; + char saddr[64]; if (skb->protocol == htons(ETH_P_IPV6)) sprintf(saddr, "%pI6", &ipv6_hdr(skb)->saddr);
Avoid smashing the stack when an ICRC error occurs on an IPv6 network. Signed-off-by: Andrew Boyer <andrew.boyer@dell.com> --- drivers/infiniband/sw/rxe/rxe_recv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)