All of lore.kernel.org
 help / color / mirror / Atom feed
From: Massimiliano Hofer <max@nucleus.it>
To: netfilter-devel@lists.netfilter.org
Cc: Patrick McHardy <kaber@trash.net>
Subject: Re: [PATCH] entry_data
Date: Tue, 20 Jun 2006 13:25:01 +0200	[thread overview]
Message-ID: <200606201325.02775.max@nucleus.it> (raw)
In-Reply-To: <44972FB3.5070603@trash.net>

On Tuesday 20 June 2006 1:13 am, Patrick McHardy wrote:

> So I think we should introduce a .priv_size field or something in struct
> xt_match/xt_target and pass memory allocated by xtables to the matches
> and targets.

I changed the API on the (possibly wrong) assumption that most modules will 
need it for shared data (that's what I and at least some other modules need), 
but thinking about it there are other uses (multiple data with different 
sharing, non shared data that has no business in the userspace struct, etc.). 
In other words, you're right.

Following your suggestion I could add a .priv_size field and if it is non zero 
I allocate the requested memory and pass it as void * (the same type passed 
to (*checkentry)(), (*destroy)() and (*match)()).

We have 2 ways to implement this:
- we can allocate priv_size more bytes after data;
- we can separately allocate priv_size bytes and store a pointer in 
u.kernel.entry_data.

Seeing how the initialization code works, the first one is a bit hairy. The 
latter is really easy to implement, but if someone just needs 4 bytes we end 
up storing a pointer to a pointer with no good reason.

-- 
Saluti,
   Massimiliano Hofer
        Nucleus

  reply	other threads:[~2006-06-20 11:25 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-04 22:29 [PATCH] entry_data Massimiliano Hofer
2006-06-11 23:19 ` Massimiliano Hofer
2006-06-12  9:50   ` Pablo Neira Ayuso
2006-06-12 12:45     ` Massimiliano Hofer
2006-06-13 15:19       ` Pablo Neira Ayuso
2006-06-13 20:56         ` Massimiliano Hofer
2006-06-19  0:15           ` Pablo Neira Ayuso
2006-06-19  7:02             ` Massimiliano Hofer
2006-06-19 23:37               ` Pablo Neira Ayuso
2006-06-20  1:39                 ` Patrick McHardy
2006-06-14  9:03 ` Sven Anders
2006-06-17 22:55   ` Massimiliano Hofer
2006-06-19 17:45     ` Patrick McHardy
2006-06-19 23:05       ` Massimiliano Hofer
2006-06-20  1:29         ` Patrick McHardy
2006-06-19 17:34   ` Patrick McHardy
2006-06-19 22:35     ` Massimiliano Hofer
2006-06-19 23:13       ` Patrick McHardy
2006-06-20 11:25         ` Massimiliano Hofer [this message]
2006-06-20 13:17           ` Patrick McHardy
2006-06-21  0:03             ` [PATCH] priv_data (formerly entry_data) Massimiliano Hofer
2006-06-21  0:30               ` Patrick McHardy
2006-06-21  0:45                 ` Massimiliano Hofer
2006-06-21  1:04                   ` Patrick McHardy
2006-06-21  8:31                     ` Massimiliano Hofer
2006-06-21 23:50                 ` Massimiliano Hofer
2006-06-22 15:18                   ` Patrick McHardy
2006-06-21  0:33               ` Massimiliano Hofer
2006-06-21  0:42                 ` Massimiliano Hofer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200606201325.02775.max@nucleus.it \
    --to=max@nucleus.it \
    --cc=kaber@trash.net \
    --cc=netfilter-devel@lists.netfilter.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.