From: Jiang Liu <liuj97@gmail.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>,
Dimitri Sivanich <sivanich@sgi.com>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org, Yinghai Lu <yinghai@kernel.org>,
Naga Chumbalkar <nagananda.chumbalkar@hp.com>,
Jacob Pan <jacob.jun.pan@linux.intel.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86: check for valid irq_cfg pointer in smp_irq_move_cleanup_interrupt
Date: Sun, 27 May 2012 09:41:26 +0800 [thread overview]
Message-ID: <4FC18646.8010301@gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.02.1205261216160.3231@ionos>
I have realized the same issue with typical usages of for_each_irq_desc(),
which may access freed memory with SPARSE_IRQ. My naive solution was to
avoid freeing irq_desc even SPARSE_IRQ_ is enabled.
for_each_irq_desc(i, desc) {
raw_spin_lock_irq(&desc->lock);
On 05/26/2012 06:18 PM, Thomas Gleixner wrote:
> On Fri, 25 May 2012, Suresh Siddha wrote:
>> On Thu, 2012-05-24 at 21:16 +0200, Thomas Gleixner wrote:
>> There are other (not-so common) irq desc references, like in the
>> show_interrupts() (cat /proc/interrupts path) etc, that does things like
>> this in the process context:
>>
>> desc = irq_to_desc(i);
>> if (!desc)
>> return 0;
>>
>> raw_spin_lock_irqsave(&desc->lock, flags);
>>
>> May be we should introduce something like
>> get_irq_desc_locked()/put_irq_desc_locked() that can safely access the
>> irq desc with pre-emption/irq's disabled and lock it etc. And the
>> synchronize_sched() will enable the destroy_irq()/free_desc() to free it
>> safely etc.
>
> I want to avoid that and instead use proper refcounting. The reason is
> that we want to move the irq descriptor when the affinity changes
> nodes, and for that we need refcounting anyway.
>
> Thanks,
>
> tglx
> --
> 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/
next prev parent reply other threads:[~2012-05-27 1:41 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-21 16:49 [PATCH] x86: check for valid irq_cfg pointer in smp_irq_move_cleanup_interrupt Dimitri Sivanich
2012-05-21 21:05 ` Suresh Siddha
2012-05-21 21:09 ` Dimitri Sivanich
2012-05-21 21:10 ` Suresh Siddha
2012-05-22 2:41 ` Dimitri Sivanich
2012-05-21 21:07 ` Thomas Gleixner
2012-05-21 21:19 ` Dimitri Sivanich
2012-05-21 21:34 ` Thomas Gleixner
2012-05-23 18:16 ` Dimitri Sivanich
2012-05-23 19:04 ` Dimitri Sivanich
2012-05-23 19:24 ` Thomas Gleixner
2012-05-23 19:24 ` Suresh Siddha
2012-05-23 20:02 ` Dimitri Sivanich
2012-05-23 23:49 ` Suresh Siddha
2012-05-24 1:40 ` Dimitri Sivanich
2012-05-24 14:37 ` Dimitri Sivanich
2012-05-24 18:19 ` Suresh Siddha
2012-05-24 19:16 ` Thomas Gleixner
2012-05-26 0:23 ` Suresh Siddha
2012-05-26 10:18 ` Thomas Gleixner
2012-05-27 1:41 ` Jiang Liu [this message]
2012-05-30 13:46 ` Dimitri Sivanich
2012-05-24 14:53 ` Thomas Gleixner
2012-05-24 15:36 ` Dimitri Sivanich
-- strict thread matches above, loose matches on Subject: below --
2012-10-16 12:50 Dimitri Sivanich
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=4FC18646.8010301@gmail.com \
--to=liuj97@gmail.com \
--cc=hpa@zytor.com \
--cc=jacob.jun.pan@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=nagananda.chumbalkar@hp.com \
--cc=sivanich@sgi.com \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=yinghai@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.