All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hideo AOKI <haoki@redhat.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: netdev <netdev@vger.kernel.org>,
	David Miller <davem@davemloft.net>,
	haoki@redhat.com
Subject: Re: [RFC] [NET] [0/2] pskb_expand_head() bugfix
Date: Wed, 26 Mar 2008 16:47:35 -0400	[thread overview]
Message-ID: <47EAB667.6010308@redhat.com> (raw)
In-Reply-To: <20080325235536.GB30298@gondor.apana.org.au>

Hello Herbert,

Thank you for your quick response.

Herbert Xu wrote:
> On Tue, Mar 25, 2008 at 02:39:04PM -0400, Hideo AOKI wrote:
>>
>> Current pskb_expand_head() doesn't change truesize, while it
>> reallocates memory. Then, if argument nhead or ntail aren't 0, caller
>> must update truesize.
>>
>> We had this bug at audit_expand() in January and fixed it as commit
>> 406a1d868001423c85a3165288e566e65f424fe6. However, some drivers and
>> subsystems still use pskb_expand_head() without updating truesize.
> 
> Drivers usually aren't supposed to change truesize so doing
> this would actually create bugs.

I understood your point. 

Since keeping correct truesize is important to network memory
accounting, I want to fix network subsystem part at least.

I think that it is inconvenient for caller functions to need
updateing truesize by themselves. How about this change to
avoid the inconvenience?

 - Current implementation is renamed to __pskb_expand_head().
 - Drivers call __pskb_expand_head() instead of pskb_expand_head().
 - New pskb_expand_head() updates truesize after calling 
  __pskb_expand_head(). 

Or, should I simply add truesize calculation after
pskb_expand_head() calls which change truesize?
 
>> In addition, there is another problem to update truesise. Since
>> pskb_expand_head() aligns memory size before reallocation, caller
>> functions may not update turesize correctly if they just add nhaad
>> and ntail to turesize.
> 
> That should be fixable by making sure that nhead + ntail is
> aligned.

I see.

Regards,
Hideo

-- 
Hitachi Computer Products (America) Inc.


  reply	other threads:[~2008-03-26 20:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-25 18:39 [RFC] [NET] [0/2] pskb_expand_head() bugfix Hideo AOKI
2008-03-25 18:41 ` [RFC PATCH] [NET] [1/2] revert audit_expand() Hideo AOKI
2008-03-25 18:41 ` [RFC PATCH] [NET] [2/2] pskb_expand_head() updates truesize Hideo AOKI
2008-03-25 23:55 ` [RFC] [NET] [0/2] pskb_expand_head() bugfix Herbert Xu
2008-03-26 20:47   ` Hideo AOKI [this message]
2008-03-27  0:13     ` Herbert Xu
2008-03-29  1:01       ` Hideo AOKI
2008-03-27 23:49     ` David Miller
2008-03-29  1:14       ` Hideo AOKI
2008-03-27 23:48 ` David Miller
2008-03-29  1:02   ` Hideo AOKI
2008-03-29  1:11     ` David Miller
2008-03-29  1:21       ` Hideo AOKI

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=47EAB667.6010308@redhat.com \
    --to=haoki@redhat.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=netdev@vger.kernel.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.