All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chandra Seetharaman <sekharan@us.ibm.com>
To: Keith Owens <kaos@ocs.com.au>, Alan Stern <stern@rowland.harvard.edu>
Cc: Kernel development list <linux-kernel@vger.kernel.org>
Subject: Re: Notifier chains are unsafe
Date: Thu, 27 Oct 2005 18:34:17 -0700	[thread overview]
Message-ID: <1130463257.3586.278.camel@linuxchandra> (raw)
In-Reply-To: <6933.1130460480@ocs3.ocs.com.au>

On Fri, 2005-10-28 at 10:48 +1000, Keith Owens wrote:
> On Thu, 27 Oct 2005 16:02:08 -0700, 
> Chandra Seetharaman <sekharan@us.ibm.com> wrote:
> >On Thu, 2005-10-27 at 17:21 -0400, Alan Stern wrote:
> >> The other problem is that you violated Keith's statement that 
> >> notifier_call_chain shouldn't take any locks.  On the other hand, if we
> >
> >I would interpret Keith's comment like this: callout should not be
> >called with any locks held (because that would limit the callouts from
> >blocking). 
> 
> We should be able to call notifier_call_chain() from any context.  That
> includes oops, panic, NMI and other unmaskable machine check events.
> If you can call notifier_call_chain() from an unmaskable context then
> it follows that the callbacks cannot take any locks.  Locks are not
> safe in NMI context.

Thanks Keith.

That really ties our hands down.

So, requirements to fix the bug are:
	- no sleeping in register/unregister(if we want to keep the
          current way of use. We can change it and make the relevant
          changes in the kernel code, if it is agreeable)
	- notifier_call_chain could be called from any context
	- callout function could sleep
	- no acquiring locks in notifier_call_chain
        - make sure the list is consistent :) (which is problem Alan
          started to fix)
	- anything else ?

Alan, i think your solution of maintaining two notifier chains satisfies
all the needs mentioned. Will look at it more closely and respond
tomorrow.

Thanks & Regards,

chandra

> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
> 
-- 

----------------------------------------------------------------------
    Chandra Seetharaman               | Be careful what you choose....
              - sekharan@us.ibm.com   |      .......you may get it.
----------------------------------------------------------------------



  reply	other threads:[~2005-10-28  1:34 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-24 20:48 Notifier chains are unsafe Alan Stern
2005-10-25 16:59 ` Joe Seigh
2005-10-25 23:30 ` Chandra Seetharaman
2005-10-26 18:46   ` Alan Stern
2005-10-26 19:05     ` Andreas Kleen
2005-10-26 20:40       ` Alan Stern
2005-10-26 21:44         ` Andi Kleen
2005-10-26 23:20           ` Chandra Seetharaman
2005-10-27  1:17             ` Joe Seigh
2005-10-28  1:36               ` Chandra Seetharaman
2005-10-27 14:13           ` Alan Stern
2005-10-26 22:40     ` Chandra Seetharaman
2005-10-27 15:28       ` Alan Stern
2005-10-27 20:43         ` Chandra Seetharaman
2005-10-27 21:21           ` Alan Stern
2005-10-27 23:02             ` Chandra Seetharaman
2005-10-28  0:48               ` Keith Owens
2005-10-28  1:34                 ` Chandra Seetharaman [this message]
2005-10-28 14:23                   ` Alan Stern
2005-10-28 22:15                     ` Chandra Seetharaman
2005-10-29 14:51                       ` Alan Stern
2005-10-31 22:22                         ` Chandra Seetharaman
2005-11-01 15:24                           ` Alan Stern
2005-11-01 20:20                             ` Chandra Seetharaman
2005-11-01 21:20                               ` Alan Stern
2005-11-02  9:50                                 ` Keith Owens
2005-11-02 16:03                                   ` Alan Stern
     [not found]               ` <mailman.1130460600.30060.linux-kernel2news@redhat.com>
2005-10-28  4:35                 ` Pete Zaitcev
2005-10-25 23:43 ` Andi Kleen
2005-10-26  0:01   ` Chandra Seetharaman
2005-10-26 17:11     ` Andreas Kleen
2005-10-27  2:46       ` Herbert Xu
2005-10-29 12:25         ` Joe Seigh
2005-10-26  6:11 ` Keith Owens

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=1130463257.3586.278.camel@linuxchandra \
    --to=sekharan@us.ibm.com \
    --cc=kaos@ocs.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /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.