On 05/09/2018 04:42 AM, Jakub Kicinski wrote:
> 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: 77a844ee650c ("nfp: bpf: prepare for parsing BPF FW capabilities")
> Signed-off-by: Jakub Kicinski <[email protected]>
> Reviewed-by: Quentin Monnet <[email protected]>
Applied to bpf tree, thanks!