All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Anton Ivanov <anton.ivanov@kot-begemot.co.uk>,
	linux-um@lists.infradead.org
Subject: Re: [PATCH 0/7 um: IRQ handling cleanups
Date: Tue, 24 Nov 2020 19:32:56 +0100	[thread overview]
Message-ID: <76d96967160a7c1d3ea328df7236f290aa84aae2.camel@sipsolutions.net> (raw)
In-Reply-To: <b7a40102-fbc3-308a-fc55-332e6696b1b3@kot-begemot.co.uk>

On Tue, 2020-11-24 at 17:07 +0000, Anton Ivanov wrote:
> 
> Looks like chan_kern.c handles it now. It schedules delayed work
> itself instead of trying to kill the IRQ out of IRQ context.
> 
> So the ->purge in irq.c and everything dealing with it should not be
> necessary any more.

Aha, ok, great :)

Looking at the commit, I don't think I even had to care about ->purge
because it's basically just there to avoid possible use-after-free? And
then even if you did remove it from IRQ context, we'd not be freeing the
data anyway, we'd only be setting some data?

And actually, wouldn't it have been broken before, because
garbage_collect_entries() was still called in free_irq_by_irq_and_dev()?
So it's not like it wouldn't have been freed in the interrupt handler if
you were going to call that from within the interrupt handler? Or did I
misunderstand?

I guess what I'm trying to say is that since I removed the dynamic
allocation of what was previously "struct irq_fd", and
garbage_collect_entries() was called in the relevant places and would
free it, I didn't really see how that was any different?
do_free_by_irq_and_dev() previously marked as purge,
but garbage_collect_irq_entries() was immediately called ...

johannes


_______________________________________________
linux-um mailing list
linux-um@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-um


  reply	other threads:[~2020-11-24 18:33 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-23 19:56 [PATCH 0/7 um: IRQ handling cleanups Johannes Berg
2020-11-23 19:56 ` [PATCH 1/7] um: support dynamic IRQ allocation Johannes Berg
2020-11-30 11:26   ` Anton Ivanov
2020-11-23 19:56 ` [PATCH 2/7] um: virtio: use " Johannes Berg
2020-11-30 13:45   ` Anton Ivanov
2020-11-23 19:56 ` [PATCH 3/7] um: clean up alarm IRQ chip name Johannes Berg
2020-11-30 13:54   ` Anton Ivanov
2020-11-23 19:56 ` [PATCH 4/7] um: irq: clean up and rename struct irq_fd Johannes Berg
2020-11-30 14:01   ` Anton Ivanov
2020-11-23 19:56 ` [PATCH 5/7] um: irq: reduce irq_reg allocation Johannes Berg
2020-11-23 19:56 ` [PATCH 6/7] um: remove IRQ_NONE type Johannes Berg
2020-11-30 14:31   ` Anton Ivanov
2020-11-23 19:56 ` [PATCH 7/7] um: simplify IRQ handling code Johannes Berg
2020-11-24 21:50   ` Anton Ivanov
2020-11-24 21:58     ` Johannes Berg
2020-11-24 22:36       ` Anton Ivanov
2020-11-30 12:00         ` Johannes Berg
2020-11-30 13:40           ` Anton Ivanov
2020-11-30 16:30   ` Anton Ivanov
2020-12-01 20:15     ` Johannes Berg
2020-12-02  9:03       ` Anton Ivanov
2020-12-02 11:29         ` Johannes Berg
2020-12-02 11:31           ` Anton Ivanov
2020-12-02 11:32             ` Johannes Berg
2020-12-02 11:56               ` Anton Ivanov
2020-12-02 11:58                 ` Johannes Berg
2020-12-02 11:43           ` Johannes Berg
2020-12-02 11:49     ` Johannes Berg
2020-12-02 11:54   ` Johannes Berg
2020-12-02 11:58     ` Anton Ivanov
2020-11-24  8:14 ` [PATCH 0/7 um: IRQ handling cleanups Anton Ivanov
2020-11-24  8:55   ` Johannes Berg
2020-11-24  8:58     ` Johannes Berg
2020-11-24  9:06       ` Anton Ivanov
2020-11-24 16:34         ` Anton Ivanov
2020-11-24 16:39           ` Johannes Berg
2020-11-24 16:42             ` Anton Ivanov
2020-11-24 16:45             ` Anton Ivanov
2020-11-24 16:46               ` Johannes Berg
2020-11-24 17:07                 ` Anton Ivanov
2020-11-24 18:32                   ` Johannes Berg [this message]
2020-11-24 21:11 ` Johannes Berg

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=76d96967160a7c1d3ea328df7236f290aa84aae2.camel@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=anton.ivanov@kot-begemot.co.uk \
    --cc=linux-um@lists.infradead.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.