Avi Kivity
782c6a208a
Merge 'cql3: mutation_fragments_select_statement: keep erm alive for duration of the query' from Botond Dénes
...
Said statement keeps a reference to erm indirectly, via a topology node pointer, but doesn't keep erm alive. This can result in use-after-free. Furthermore, it allows for vnodes being pulled from under the query's feet, as it is running.
To prevent this, keep the erm alive for the duration of the query.
Also, use `host_id` instead of `node`, the node pointer is not needed really, as the statement only uses the host id from it.
Fixes : #15802
Closes scylladb/scylladb#15808
* github.com:scylladb/scylladb:
cql3: mutation_fragments_select_statement: use host_id instead of node
cql3: mutation_fragments_select_statement: pin erm reference
2023-10-25 15:03:07 +03:00
..
2023-10-19 10:56:38 +03:00
2023-09-21 20:18:49 +03:00
2023-07-19 21:46:03 +03:00
2023-07-03 19:45:17 +03:00
2023-10-24 03:12:58 -04:00
2023-09-26 17:26:14 +03:00
2023-06-22 14:21:03 +03:00
2023-03-08 16:18:23 +02:00
2023-04-27 10:24:46 +03:00
2022-05-13 07:11:58 +02:00
2023-02-28 22:26:43 +02:00
2023-10-24 12:40:20 +08:00
2023-07-03 19:45:17 +03:00
2023-07-03 19:45:17 +03:00
2022-05-13 07:11:58 +02:00
2023-02-19 21:05:45 +02:00
2023-07-14 15:42:58 +03:00
2023-07-14 15:42:58 +03:00
2023-05-10 19:10:29 +03:00
2023-03-12 14:04:34 +02:00
2022-01-18 12:15:18 +01:00
2023-08-17 15:52:48 +03:00
2023-09-25 17:18:53 +02:00
2023-05-02 11:23:58 +03:00
2022-05-13 07:11:58 +02:00
2022-05-13 07:11:58 +02:00
2022-05-13 07:11:58 +02:00
2022-05-13 07:11:58 +02:00
2022-05-13 07:11:58 +02:00
2023-06-22 14:21:03 +03:00
2023-06-12 10:41:04 +03:00
2023-06-22 14:21:03 +03:00
2023-06-12 10:41:04 +03:00
2022-05-13 07:11:58 +02:00
2023-07-14 15:42:58 +03:00
2023-07-14 15:42:58 +03:00
2023-09-25 17:18:53 +02:00
2023-09-25 17:18:53 +02:00
2023-04-27 10:24:46 +03:00
2022-01-18 12:15:18 +01:00
2023-02-04 02:13:34 +02:00
2023-01-16 21:10:56 +02:00
2023-09-19 15:02:39 +03:00
2023-09-08 13:23:50 +03:00
2023-05-07 17:17:36 +03:00
2023-05-07 17:17:36 +03:00
2023-05-07 17:17:36 +03:00
2022-05-13 07:11:58 +02:00
2022-05-13 07:11:58 +02:00
2023-06-22 14:21:03 +03:00
2023-06-12 10:41:04 +03:00
2023-09-04 19:22:17 +03:00
2023-10-05 22:26:08 +03:00
2023-02-19 21:05:45 +02:00
2023-08-04 07:37:12 +02:00
2023-05-10 15:03:12 +03:00
2023-06-22 14:21:03 +03:00
2023-03-08 16:18:23 +02:00
2023-06-22 14:21:03 +03:00
2023-06-12 10:41:04 +03:00
2023-03-23 01:41:58 +01:00
2023-03-23 01:41:58 +01:00
2023-06-22 14:21:03 +03:00
2023-07-14 18:33:06 +03:00
2023-01-16 21:10:56 +02:00
2023-02-19 21:05:45 +02:00