Revert "bpf: fix null dereference when computing changes_pkt_data of prog w/o subprogs"
This reverts commit 3a467d938d
which is
commit ac6542ad92759cda383ad62b4e4cbfc28136abc1 upstream.
It breaks the Android kernel abi and can be brought back in the future
in an abi-safe way if it is really needed.
Bug: 161946584
Change-Id: If0aab3edf65fd03fb40a38f49a82f1775dfb9d1d
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
@@ -19940,7 +19940,6 @@ int bpf_check_attach_target(struct bpf_verifier_log *log,
|
||||
}
|
||||
if (tgt_prog) {
|
||||
struct bpf_prog_aux *aux = tgt_prog->aux;
|
||||
bool tgt_changes_pkt_data;
|
||||
|
||||
if (bpf_prog_is_dev_bound(prog->aux) &&
|
||||
!bpf_prog_dev_bound_match(prog, tgt_prog)) {
|
||||
@@ -19969,10 +19968,8 @@ int bpf_check_attach_target(struct bpf_verifier_log *log,
|
||||
"Extension programs should be JITed\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
tgt_changes_pkt_data = aux->func
|
||||
? aux->func[subprog]->aux->changes_pkt_data
|
||||
: aux->changes_pkt_data;
|
||||
if (prog->aux->changes_pkt_data && !tgt_changes_pkt_data) {
|
||||
if (prog->aux->changes_pkt_data &&
|
||||
!aux->func[subprog]->aux->changes_pkt_data) {
|
||||
bpf_log(log,
|
||||
"Extension program changes packet data, while original does not\n");
|
||||
return -EINVAL;
|
||||
|
Reference in New Issue
Block a user