lkml.org 
[lkml]   [2005]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 1/1] tpm: fix cause of SMP stack traces
    From
    Date
    On Tue, 2005-01-18 at 16:37, Chris Wright wrote:
    > * Kylene Hall (kjhall@us.ibm.com) wrote:
    > > There were misplaced spinlock acquires and releases in the probe, open,
    > > close and release paths which were causing might_sleep and schedule while
    > > atomic error messages accompanied by stack traces when the kernel was
    > > compiled with SMP support. Bug reported by Reben Jenster
    > > <ruben@hotheads.de>
    > >
    > > Signed-off-by: Kylene Hall <kjhall@us.ibm.com>
    > > ---
    > > diff -uprN linux-2.6.10/drivers/char/tpm/tpm.c linux-2.6.10-tpm/drivers/char/tpm/tpm.c
    > > --- linux-2.6.10/drivers/char/tpm/tpm.c 2005-01-18 16:42:17.000000000 -0600
    > > +++ linux-2.6.10-tpm/drivers/char/tpm/tpm.c 2005-01-18 12:52:53.000000000 -0600
    > > @@ -373,8 +372,9 @@ int tpm_open(struct inode *inode, struct
    > > {
    > > int rc = 0, minor = iminor(inode);
    > > struct tpm_chip *chip = NULL, *pos;
    > > + unsigned long flags;
    > >
    > > - spin_lock(&driver_lock);
    > > + spin_lock_irqsave(&driver_lock, flags);
    >
    > Hmm, unless I'm missing something, this is only worse (for might sleep
    > warnings). Now you've disabled irq's too.

    I actually had to move the location of some of the locks to remove the
    might sleep warnings. Since I didn't know much about the might sleep
    warnings before, my first course of action was to try using the disable
    irq mechanism and I went ahead and just left them in once it was working
    with the new lock placements. I assume you believe they shouldn't be
    necessary at all?

    Thanks,
    Kylie

    >
    > thanks,
    > -chris

    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 14:09    [W:0.046 / U:62.988 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site