mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Linux Audit Discussion <linux-audit@redhat.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.6.12-rc4-mm2 - sleeping function called from invalid context at mm/slab.c:2502
Date: Tue, 17 May 2005 18:04:23 +0100	[thread overview]
Message-ID: <1116349464.23972.118.camel@hades.cambridge.redhat.com> (raw)
In-Reply-To: <20050517165528.GB27549@shell0.pdx.osdl.net>

On Tue, 2005-05-17 at 09:55 -0700, Chris Wright wrote:
> Here and up we are in netlink code which does netlink_trim to reduce
> the skb data size before queing to socket.  This does skb_clone with
> gfp_any() flag.  We aren't in softirq, so we get GFP_KERNEL flag set
> even though in_atomic() is true (spin_lock held I'm assuming).

netlink_unicast() is only calling skb_clone() because we artificially
increased the refcount on the skb in question. 

As I understand it, we do that in order to prevent the skb from being
lost if netlink_unicast() returns an error -- it normally frees the skb
before returning in that case. Am I alone in thinking that behaviour is
strange?

I'm really not fond of the refcount trick -- I suspect I'd be happier if
we were just to try to keep track of sk_rmem_alloc so we never hit the
condition in netlink_attachskb() which might cause it to fail.

-- 
dwmw2


  reply	other threads:[~2005-05-17 17:15 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-17 16:24 Valdis.Kletnieks
2005-05-17 16:55 ` Chris Wright
2005-05-17 17:04   ` David Woodhouse [this message]
2005-05-17 17:43     ` Chris Wright
2005-05-18  8:30       ` Herbert Xu
2005-05-18 17:00         ` Chris Wright
2005-05-18 17:52           ` David Woodhouse
2005-05-18 21:29             ` Herbert Xu
2005-05-17 18:01   ` Valdis.Kletnieks
2005-05-19 11:34 ` David Woodhouse
2005-05-19 18:45   ` Valdis.Kletnieks
2005-05-20 14:30     ` Valdis.Kletnieks
2005-05-20 14:59       ` David Woodhouse
2005-05-20 15:09         ` Stephen Smalley
2005-05-20 15:36           ` David Woodhouse
2005-05-20 16:40             ` Stephen Smalley
2005-05-20 16:55               ` David Woodhouse
2005-05-20 16:58                 ` Stephen Smalley
2005-05-20 17:26                 ` Stephen Smalley
2005-05-20 23:27                   ` David Woodhouse
2005-05-20 17:01               ` Chris Wright
2005-05-20 17:05                 ` Stephen Smalley
2005-05-20 17:19                   ` Chris Wright
2005-05-20 17:05               ` David Woodhouse
2005-05-20 17:06                 ` Stephen Smalley
2005-05-20 16:41             ` Chris Wright

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=1116349464.23972.118.camel@hades.cambridge.redhat.com \
    --to=dwmw2@infradead.org \
    --cc=linux-audit@redhat.com \
    --cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®