When ODPAT_OUTPUT_GROUP referenced a group that hadn't been created,
output_group() would return a negative number other than -1.
execute_actions() would pass this later to do_output(), which would then
use it as a bogus array index, accessing invalid memory.
This commit fixes it by making it return -1 instead, which the caller
interprets correctly.
Thanks to Justin for leading me to scrutinize this code.
int i;
if (!g)
- return -EINVAL;
+ return -1;
for (i = 0; i < g->n_ports; i++) {
struct net_bridge_port *p = dp->ports[g->ports[i]];
if (!p || skb->dev == p->dev)