linux_dsm_epyc7002/drivers/net/ethernet/netronome
Jakub Kicinski 26aeb9daa0 nfp: bpf: allow zero-length capabilities
Some BPF capabilities carry no value, they simply indicate feature
is present.  Our capability parsing loop will exit early if last
capability is zero-length because it's looking for more than 8 bytes
of data (8B is our TLV header length).  Allow the last capability to
be zero-length.

This bug would lead to driver failing to probe with the following error
if the last capability FW advertises is zero-length:

    nfp: BPF capabilities left after parsing, parsed:92 total length:100
    nfp: invalid BPF capabilities at offset:92

Note the "parsed" and "length" values are 8 apart.

No shipping FW runs into this issue, but we can't guarantee that will
remain the case.

Fixes: 77a844ee65 ("nfp: bpf: prepare for parsing BPF FW capabilities")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-05-09 18:17:17 +02:00
..
nfp nfp: bpf: allow zero-length capabilities 2018-05-09 18:17:17 +02:00
Kconfig nfp: build the flower offload by default 2017-09-03 21:22:05 -07:00
Makefile nfp: rename the driver and add new main file 2017-02-10 15:52:24 -05:00