|
@@ -185,7 +185,7 @@ static unsigned int nf_iterate(struct sk_buff *skb,
|
|
|
|
|
|
do {
|
|
do {
|
|
repeat:
|
|
repeat:
|
|
- verdict = (*entryp)->ops.hook((*entryp)->ops.priv, skb, state);
|
|
|
|
|
|
+ verdict = nf_hook_entry_hookfn((*entryp), skb, state);
|
|
if (verdict != NF_ACCEPT) {
|
|
if (verdict != NF_ACCEPT) {
|
|
if (verdict != NF_REPEAT)
|
|
if (verdict != NF_REPEAT)
|
|
return verdict;
|
|
return verdict;
|
|
@@ -200,7 +200,6 @@ repeat:
|
|
void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict)
|
|
void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict)
|
|
{
|
|
{
|
|
struct nf_hook_entry *hook_entry = entry->hook;
|
|
struct nf_hook_entry *hook_entry = entry->hook;
|
|
- struct nf_hook_ops *elem = &hook_entry->ops;
|
|
|
|
struct sk_buff *skb = entry->skb;
|
|
struct sk_buff *skb = entry->skb;
|
|
const struct nf_afinfo *afinfo;
|
|
const struct nf_afinfo *afinfo;
|
|
int err;
|
|
int err;
|
|
@@ -209,7 +208,7 @@ void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict)
|
|
|
|
|
|
/* Continue traversal iff userspace said ok... */
|
|
/* Continue traversal iff userspace said ok... */
|
|
if (verdict == NF_REPEAT)
|
|
if (verdict == NF_REPEAT)
|
|
- verdict = elem->hook(elem->priv, skb, &entry->state);
|
|
|
|
|
|
+ verdict = nf_hook_entry_hookfn(hook_entry, skb, &entry->state);
|
|
|
|
|
|
if (verdict == NF_ACCEPT) {
|
|
if (verdict == NF_ACCEPT) {
|
|
afinfo = nf_get_afinfo(entry->state.pf);
|
|
afinfo = nf_get_afinfo(entry->state.pf);
|