From: Paolo Abeni <pabeni@redhat.com>
To: Steven Rostedt <rostedt@goodmis.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
Stephen Boyd <sboyd@kernel.org>,
Guenter Roeck <linux@roeck-us.net>,
Anna-Maria Gleixner <anna-maria@linutronix.de>,
Andrew Morton <akpm@linux-foundation.org>,
Julia Lawall <Julia.Lawall@inria.fr>,
linux-sh@vger.kernel.org, cgroups@vger.kernel.org,
linux-block@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-atm-general@lists.sourceforge.net, netdev@vger.kernel.org,
drbd-dev@lists.linbit.com, linux-bluetooth@vger.kernel.org,
intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-input@vger.kernel.org, linux-leds@vger.kernel.org,
linux-media@vger.kernel.org, intel-wired-lan@lists.osuosl.org,
linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org,
brcm80211-dev-list.pdl@broadcom.com,
SHA-cyfmac-dev-list@infineon.com, linux-scsi@vger.kernel.org,
linux-staging@lists.linux.dev, linux-ext4@vger.kernel.org,
linux-nilfs@vger.kernel.org, bridge@lists.linux-foundation.org,
netfilter-devel@vger.kernel.org, coreteam@netfilter.org,
lvs-devel@vger.kernel.org, linux-nfs@vger.kernel.org,
tipc-discussion@lists.sourceforge.net,
alsa-devel@alsa-project.org
Subject: Re: [PATCH] treewide: Convert del_timer*() to timer_shutdown*()
Date: Thu, 22 Dec 2022 11:02:01 +0100 [thread overview]
Message-ID: <8d91ab13f56e88af0f6133130808f9623b3adb2e.camel@redhat.com> (raw)
In-Reply-To: <20221220134519.3dd1318b@gandalf.local.home>
On Tue, 2022-12-20 at 13:45 -0500, Steven Rostedt wrote:
> [
> Linus,
>
> I ran the script against your latest master branch:
> commit b6bb9676f2165d518b35ba3bea5f1fcfc0d969bf
>
> As the timer_shutdown*() code is now in your tree, I figured
> we can start doing the conversions. At least add the trivial ones
> now as Thomas suggested that this gets applied at the end of the
> merge window, to avoid conflicts with linux-next during the
> development cycle. I can wait to Friday to run it again, and
> resubmit.
>
> What is the best way to handle this?
> ]
>
> From: "Steven Rostedt (Google)" <rostedt@goodmis.org>
>
> Due to several bugs caused by timers being re-armed after they are
> shutdown and just before they are freed, a new state of timers was added
> called "shutdown". After a timer is set to this state, then it can no
> longer be re-armed.
>
> The following script was run to find all the trivial locations where
> del_timer() or del_timer_sync() is called in the same function that the
> object holding the timer is freed. It also ignores any locations where the
> timer->function is modified between the del_timer*() and the free(), as
> that is not considered a "trivial" case.
>
> This was created by using a coccinelle script and the following commands:
>
> $ cat timer.cocci
> @@
> expression ptr, slab;
> identifier timer, rfield;
> @@
> (
> - del_timer(&ptr->timer);
> + timer_shutdown(&ptr->timer);
> >
> - del_timer_sync(&ptr->timer);
> + timer_shutdown_sync(&ptr->timer);
> )
> ... when strict
> when != ptr->timer
> (
> kfree_rcu(ptr, rfield);
> >
> kmem_cache_free(slab, ptr);
> >
> kfree(ptr);
> )
>
> $ spatch timer.cocci . > /tmp/t.patch
> $ patch -p1 < /tmp/t.patch
>
> Link: https://lore.kernel.org/lkml/20221123201306.823305113@linutronix.de/
>
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
For the networking bits:
> drivers/net/ethernet/intel/i40e/i40e_main.c | 6 +++---
> drivers/net/ethernet/marvell/sky2.c | 2 +-
> drivers/net/ethernet/sun/sunvnet.c | 2 +-
> drivers/net/usb/sierra_net.c | 2 +-
> net/802/garp.c | 2 +-
> net/802/mrp.c | 4 ++--
> net/bridge/br_multicast.c | 8 ++++----
> net/bridge/br_multicast_eht.c | 4 ++--
> net/core/gen_estimator.c | 2 +-
> net/ipv4/ipmr.c | 2 +-
> net/ipv6/ip6mr.c | 2 +-
> net/mac80211/mesh_pathtbl.c | 2 +-
> net/netfilter/ipset/ip_set_list_set.c | 2 +-
> net/netfilter/ipvs/ip_vs_lblc.c | 2 +-
> net/netfilter/ipvs/ip_vs_lblcr.c | 2 +-
> net/netfilter/xt_IDLETIMER.c | 4 ++--
> net/netfilter/xt_LED.c | 2 +-
> net/sched/cls_flow.c | 2 +-
> net/sunrpc/svc.c | 2 +-
> net/tipc/discover.c | 2 +-
> net/tipc/monitor.c | 2 +-
Acked-by: Paolo Abeni <pabeni@redhat.com>
next prev parent reply other threads:[~2022-12-22 10:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-20 18:45 [PATCH] treewide: Convert del_timer*() to timer_shutdown*() Steven Rostedt
2022-12-20 19:39 ` Pavel Machek
2022-12-21 18:47 ` Kalle Valo
2022-12-22 10:02 ` Paolo Abeni [this message]
2022-12-23 15:41 ` Steven Rostedt
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=8d91ab13f56e88af0f6133130808f9623b3adb2e.camel@redhat.com \
--to=pabeni@redhat.com \
--cc=Julia.Lawall@inria.fr \
--cc=SHA-cyfmac-dev-list@infineon.com \
--cc=akpm@linux-foundation.org \
--cc=alsa-devel@alsa-project.org \
--cc=anna-maria@linutronix.de \
--cc=brcm80211-dev-list.pdl@broadcom.com \
--cc=bridge@lists.linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=coreteam@netfilter.org \
--cc=drbd-dev@lists.linbit.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-atm-general@lists.sourceforge.net \
--cc=linux-block@vger.kernel.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-nilfs@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=linux-usb@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=lvs-devel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=sboyd@kernel.org \
--cc=tglx@linutronix.de \
--cc=tipc-discussion@lists.sourceforge.net \
--cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).