Root/
| 1 | --- a/net/bridge/br_input.c |
| 2 | +++ b/net/bridge/br_input.c |
| 3 | @@ -50,7 +50,7 @@ int br_handle_frame_finish(struct sk_buf |
| 4 | br = p->br; |
| 5 | br_fdb_update(br, p, eth_hdr(skb)->h_source); |
| 6 | |
| 7 | - if (p->state == BR_STATE_LEARNING) |
| 8 | + if ((p->state == BR_STATE_LEARNING) && skb->protocol != htons(ETH_P_PAE)) |
| 9 | goto drop; |
| 10 | |
| 11 | /* The packet skb2 goes to the local host (NULL to skip). */ |
| 12 |
