Take PF_CONFIG_LOCK() when pf_free_rule() is called. The assert being
hit was added in bd7762c86986537a5b393537b85de31b1556735b.
When adding a new rule through DIOCCHANGERULE it's possible the new rule
will be freed. This can happen if an error occurs or when the new rule
is to be added before/after a given rule number that doesn't exist.
It is the latter scenario that syzkaller found.
Reported by: syzbot+ba6bcae2eabec42983f6@syzkaller.appspotmail.com