All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-5.0 0/6] Several error use-after-free
@ 2020-03-24 15:36 Vladimir Sementsov-Ogievskiy
  2020-03-24 15:36 ` [PATCH 1/6] scripts/coccinelle: add error-use-after-free.cocci Vladimir Sementsov-Ogievskiy
                   ` (7 more replies)
  0 siblings, 8 replies; 39+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2020-03-24 15:36 UTC (permalink / raw)
  To: qemu-devel
  Cc: kwolf, vsementsov, zhang.zhanghailiang, qemu-block, quintela,
	armbru, dgilbert, mreitz, den, marcandre.lureau, jsnow, mdroth

Hi all!

I accidentally found use-after-free of local_err in mirror, and decided
to search for similar cases with help of small coccinelle script
(patch 01). Happily, there no many cases.

Better to fix zero Error* pointer after each freeing everywhere, but
this is too much for 5.0 and most of these cases will be covered by
error-auto-propagation series.

Note also, that there are still a lot of use-after-free cases possible
when error is not local variable but field of some structure, shared by
several functions.

Vladimir Sementsov-Ogievskiy (6):
  scripts/coccinelle: add error-use-after-free.cocci
  block/mirror: fix use after free of local_err
  dump/win_dump: fix use after free of err
  migration/colo: fix use after free of local_err
  migration/ram: fix use after free of local_err
  qga/commands-posix: fix use after free of local_err

 scripts/coccinelle/error-use-after-free.cocci | 52 +++++++++++++++++++
 block/mirror.c                                |  1 +
 dump/win_dump.c                               |  4 +-
 migration/colo.c                              |  1 +
 migration/ram.c                               |  1 +
 qga/commands-posix.c                          |  3 ++
 MAINTAINERS                                   |  1 +
 7 files changed, 60 insertions(+), 3 deletions(-)
 create mode 100644 scripts/coccinelle/error-use-after-free.cocci

-- 
2.21.0



^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2020-04-04 12:19 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-24 15:36 [PATCH for-5.0 0/6] Several error use-after-free Vladimir Sementsov-Ogievskiy
2020-03-24 15:36 ` [PATCH 1/6] scripts/coccinelle: add error-use-after-free.cocci Vladimir Sementsov-Ogievskiy
2020-03-31  9:00   ` Markus Armbruster
2020-03-31  9:12     ` Vladimir Sementsov-Ogievskiy
2020-03-31 13:14       ` Markus Armbruster
2020-03-31 13:49         ` Vladimir Sementsov-Ogievskiy
2020-03-31 18:38           ` Markus Armbruster
2020-03-31 18:56     ` Peter Maydell
2020-04-01  5:07       ` Markus Armbruster
2020-04-01 11:04         ` Peter Maydell
2020-04-01 14:44           ` Markus Armbruster
2020-04-01 16:12             ` Peter Maydell
2020-04-02  6:55               ` Markus Armbruster
2020-04-02  8:19                 ` Peter Maydell
2020-04-02  8:36                   ` Markus Armbruster
2020-03-24 15:36 ` [PATCH 2/6] block/mirror: fix use after free of local_err Vladimir Sementsov-Ogievskiy
2020-03-24 15:57   ` Eric Blake
2020-03-24 17:10   ` John Snow
2020-03-25 11:11   ` Max Reitz
2020-03-25 11:29     ` Max Reitz
2020-03-25 11:47     ` Vladimir Sementsov-Ogievskiy
2020-03-25 12:00       ` Max Reitz
2020-03-31  9:12         ` Markus Armbruster
2020-03-25 13:01     ` Eric Blake
2020-03-25 12:01   ` Max Reitz
2020-03-24 15:36 ` [PATCH 3/6] dump/win_dump: fix use after free of err Vladimir Sementsov-Ogievskiy
2020-03-30 15:54   ` Markus Armbruster
2020-03-24 15:36 ` [PATCH 4/6] migration/colo: fix use after free of local_err Vladimir Sementsov-Ogievskiy
2020-03-24 19:40   ` Dr. David Alan Gilbert
2020-03-24 15:36 ` [PATCH 5/6] migration/ram: " Vladimir Sementsov-Ogievskiy
2020-03-24 19:41   ` Dr. David Alan Gilbert
2020-03-24 15:36 ` [PATCH 6/6] qga/commands-posix: " Vladimir Sementsov-Ogievskiy
2020-03-24 20:03   ` Eric Blake
2020-03-25  4:28     ` Vladimir Sementsov-Ogievskiy
2020-03-31 11:46       ` Markus Armbruster
2020-03-31 12:04         ` Vladimir Sementsov-Ogievskiy
2020-03-31  8:13     ` Markus Armbruster
2020-03-24 15:50 ` [PATCH for-5.0 0/6] Several error use-after-free Richard Henderson
2020-04-04 12:18 ` Markus Armbruster

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.