mirror of
https://github.com/adulau/aha.git
synced 2024-12-30 20:56:23 +00:00
IPoIB: Fix oops with raw sockets
ipoib_hard_header() needs to handle the case that daddr is NULL. This can happen when packets are injected via a raw socket, and IPoIB shouldn't oops in this case. Reported by Anton Blanchard <anton@samba.org> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
a07bacca7b
commit
ef12d45619
1 changed files with 1 additions and 1 deletions
|
@ -723,7 +723,7 @@ static int ipoib_hard_header(struct sk_buff *skb,
|
|||
* destination address onto the front of the skb so we can
|
||||
* figure out where to send the packet later.
|
||||
*/
|
||||
if (!skb->dst || !skb->dst->neighbour) {
|
||||
if ((!skb->dst || !skb->dst->neighbour) && daddr) {
|
||||
struct ipoib_pseudoheader *phdr =
|
||||
(struct ipoib_pseudoheader *) skb_push(skb, sizeof *phdr);
|
||||
memcpy(phdr->hwaddr, daddr, INFINIBAND_ALEN);
|
||||
|
|
Loading…
Reference in a new issue