2019-05-19 13:08:20 +01:00
|
|
|
|
2012-03-12 07:03:32 +00:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
2006-07-30 15:41:01 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-26 22:53:58 -07:00
|
|
|
|
2005-10-10 21:11:08 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
2007-10-09 13:33:35 -07:00
|
|
|
|
2007-12-10 16:53:05 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-12-27 02:43:12 -02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
2024-04-10 12:05:01 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-18 13:03:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-18 13:03:36 +08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-18 13:03:36 +08:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-18 13:03:36 +08:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
2016-06-18 13:03:36 +08:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
2016-06-18 13:03:36 +08:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
2016-06-18 13:03:36 +08:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-06-05 14:22:15 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-07-16 15:28:46 -05:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-06-05 14:22:15 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-09-10 17:14:51 +00:00
|
|
|
|
|
|
|
|
|
2026-06-05 14:22:15 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-09-07 18:10:20 -07:00
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-08-22 19:06:59 +00:00
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-04-09 15:59:56 +02:00
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
2025-04-09 15:59:56 +02:00
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-04-09 15:59:57 +02:00
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-05-18 13:04:39 +00:00
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-06 18:22:38 +08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2023-02-06 18:22:38 +08:00
|
|
|
|
2017-12-20 10:41:36 +01:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2017-12-20 10:41:36 +01:00
|
|
|
|
|
|
|
|
|
2018-12-18 17:15:20 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-20 10:41:36 +01:00
|
|
|
|
2018-12-18 17:15:20 +01:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2026-06-05 14:22:15 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2017-12-20 10:41:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
2026-02-24 00:05:14 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-16 11:46:03 +01:00
|
|
|
|
2026-02-24 00:05:14 +01:00
|
|
|
|
2017-12-20 10:41:36 +01:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-18 13:03:36 +08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-18 13:03:36 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-25 14:38:25 +08:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:50 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-06 18:22:38 +08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2023-02-06 18:22:38 +08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
2023-02-06 18:22:21 +08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
2019-03-25 14:30:00 +01:00
|
|
|
|
2024-07-12 10:51:25 +08:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2019-11-25 14:49:01 +01:00
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
2019-11-25 14:49:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-07-10 16:42:34 +03:00
|
|
|
|
2019-11-25 14:49:01 +01:00
|
|
|
|
|
|
|
|
|
2024-07-12 10:51:25 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-04-09 15:59:57 +02:00
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:01 +01:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:01 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2019-03-25 14:30:00 +01:00
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-04-19 20:29:13 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-05-03 08:44:27 +02:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
2019-03-25 14:30:00 +01:00
|
|
|
|
2019-11-25 14:49:01 +01:00
|
|
|
|
2019-03-25 14:30:00 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2026-05-18 17:06:48 +08:00
|
|
|
|
|
|
|
|
|
2022-03-07 13:11:39 +01:00
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2017-08-25 07:34:35 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
esp: downgrade zerocopy managed frags before mutating skb frags
On the out-of-place output path (esp->inplace == false) ESP rewrites the
skb frag array: esp_output_head() appends a trailer frag and
esp_output_tail() replaces the frags with a destination page, both
referenced with get_page().
When the skb carries zerocopy managed frags (SKBFL_MANAGED_FRAG_REFS) the
payload frags are owned by the ubuf and must not be referenced or
unreferenced individually, but ESP mutates the frag array without ever
downgrading the skb. This breaks the managed-frag invariant two ways:
- esp_ssg_unref() walks the source scatterlist and drops a page
reference for every frag, including the ubuf-owned payload frags,
pushing their refcount below the GUP pin bias while the pages are
still pinned, i.e. a use-after-free of the zerocopy pages;
- esp_output_tail() installs its destination page as frag 0 with
get_page() but leaves SKBFL_MANAGED_FRAG_REFS set, so
skb_release_data() takes the skip_unref branch and never drops that
reference, leaking the x->xfrag page at packet rate.
Fix this the way every other frag-mutating site does (__ip_append_data(),
__ip6_append_data(), tcp_sendmsg_locked()) and call
skb_zcopy_downgrade_managed() before ESP touches the frag array: it takes
a real reference on each existing frag and clears SKBFL_MANAGED_FRAG_REFS,
so the per-frag unref in esp_ssg_unref() and the frag release in
skb_release_data() are both balanced and no mixed-ownership frag array is
left behind.
Fixes: 753f1ca4e1e5 ("net: introduce managed frags infrastructure")
Signed-off-by: Maher Azzouzi <maherazz04@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
2026-08-17 14:37:52 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-09 17:18:34 -05:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-25 07:16:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
2022-06-22 18:09:03 +02:00
|
|
|
|
2019-01-28 09:35:35 +01:00
|
|
|
|
2017-06-30 13:08:00 +03:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2017-05-03 08:44:27 +02:00
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2017-05-03 08:44:27 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-24 07:33:56 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-04 04:16:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-13 09:13:30 +02:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-13 09:13:30 +02:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-04 04:16:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-06-05 14:22:15 +02:00
|
|
|
|
|
|
|
|
|
2017-07-13 09:13:30 +02:00
|
|
|
|
2026-06-05 14:22:15 +02:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-10-18 08:00:35 +01:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-30 15:41:01 +10:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2026-06-05 14:22:15 +02:00
|
|
|
|
2007-10-09 13:33:35 -07:00
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-13 09:13:30 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-26 16:00:18 +01:00
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-30 11:30:39 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-09 09:13:37 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-30 11:30:39 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2011-04-22 04:53:02 +00:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2017-04-14 10:06:10 +02:00
|
|
|
|
2013-10-18 12:09:05 +02:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2006-05-27 23:06:13 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2021-03-01 18:46:02 +08:00
|
|
|
|
2017-04-14 10:06:10 +02:00
|
|
|
|
2007-11-13 21:45:58 -08:00
|
|
|
|
2006-07-30 15:41:01 +10:00
|
|
|
|
2007-12-16 15:55:02 -08:00
|
|
|
|
2006-02-27 13:00:01 -08:00
|
|
|
|
2017-08-30 11:30:39 +03:00
|
|
|
|
|
|
|
|
|
2006-02-27 13:00:01 -08:00
|
|
|
|
|
|
|
|
|
2007-04-20 22:47:35 -07:00
|
|
|
|
2006-05-27 23:06:13 -07:00
|
|
|
|
|
|
|
|
|
2006-02-27 13:00:40 -08:00
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
2007-04-10 20:50:43 -07:00
|
|
|
|
2019-11-25 14:49:00 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:00 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-27 13:00:40 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-25 02:14:34 -04:00
|
|
|
|
2006-02-27 13:00:40 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:00 +01:00
|
|
|
|
2006-02-27 13:00:40 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:00 +01:00
|
|
|
|
2007-02-09 23:24:47 +09:00
|
|
|
|
2006-02-27 13:00:40 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-27 13:00:01 -08:00
|
|
|
|
2007-02-09 23:24:47 +09:00
|
|
|
|
2006-02-27 13:00:40 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-10 15:41:41 -07:00
|
|
|
|
2006-02-27 13:00:40 -08:00
|
|
|
|
2006-02-27 13:00:01 -08:00
|
|
|
|
|
|
|
|
|
2017-08-01 12:49:04 +03:00
|
|
|
|
2024-11-14 02:07:02 -05:00
|
|
|
|
|
|
|
|
|
2012-12-28 16:07:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2023-02-06 18:22:38 +08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2023-02-06 18:22:38 +08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-30 14:53:48 +00:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
2021-03-25 14:38:25 +08:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
networking: make skb_push & __skb_push return void pointers
It seems like a historic accident that these return unsigned char *,
and in many places that means casts are required, more often than not.
Make these functions return void * and remove all the casts across
the tree, adding a (u8 *) cast only where the unsigned char pointer
was used directly, all done with the following spatch:
@@
expression SKB, LEN;
typedef u8;
identifier fn = { skb_push, __skb_push, skb_push_rcsum };
@@
- *(fn(SKB, LEN))
+ *(u8 *)fn(SKB, LEN)
@@
expression E, SKB, LEN;
identifier fn = { skb_push, __skb_push, skb_push_rcsum };
type T;
@@
- E = ((T *)(fn(SKB, LEN)))
+ E = fn(SKB, LEN)
@@
expression SKB, LEN;
identifier fn = { skb_push, __skb_push, skb_push_rcsum };
@@
- fn(SKB, LEN)[0]
+ *(u8 *)fn(SKB, LEN)
Note that the last part there converts from push(...)[0] to the
more idiomatic *(u8 *)push(...).
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-06-16 14:29:23 +02:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-06 18:22:38 +08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2023-02-06 18:22:38 +08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
2023-02-06 18:22:21 +08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-10-18 12:09:05 +02:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2018-08-17 15:51:00 +08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-17 15:51:00 +08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-08-17 15:51:00 +08:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-04 23:27:12 +08:00
|
|
|
|
|
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-18 13:03:36 +08:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
2017-06-04 04:16:23 +02:00
|
|
|
|
2017-07-13 09:13:30 +02:00
|
|
|
|
|
|
|
|
|
2017-06-04 04:16:23 +02:00
|
|
|
|
2017-07-13 09:13:30 +02:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
2017-01-17 10:22:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2007-12-16 15:55:02 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-11-25 17:59:27 -08:00
|
|
|
|
2011-04-22 04:53:02 +00:00
|
|
|
|
2008-11-03 00:23:42 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2012-07-11 21:27:49 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
2020-11-20 12:25:57 -06:00
|
|
|
|
2012-07-11 21:27:49 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
2012-07-11 21:27:49 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2011-04-22 04:53:02 +00:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
2012-07-11 21:27:49 -07:00
|
|
|
|
2013-05-27 20:46:31 +00:00
|
|
|
|
2018-09-25 20:56:26 -07:00
|
|
|
|
2013-05-27 20:46:31 +00:00
|
|
|
|
2018-09-25 20:56:27 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-10-18 12:09:05 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-10-18 12:09:05 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2013-10-18 12:09:05 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2017-12-20 10:41:53 +01:00
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-10-18 12:09:05 +02:00
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
|
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
|
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
|
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
2015-05-27 16:03:46 +08:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
|
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
2011-03-08 00:07:14 +00:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2017-12-20 10:41:53 +01:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2013-10-18 12:09:05 +02:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2014-11-05 15:36:08 -08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2009-11-25 00:29:53 +00:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-10-08 17:13:44 -07:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-07-17 17:59:19 +08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-09-27 17:45:29 +02:00
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-10-18 12:09:05 +02:00
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2013-10-18 12:09:05 +02:00
|
|
|
|
2008-01-28 19:37:29 -08:00
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
2006-09-22 15:05:15 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-08-06 02:39:30 -07:00
|
|
|
|
2007-04-09 11:47:58 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-09-27 17:45:31 +02:00
|
|
|
|
2018-01-05 22:12:32 +11:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-25 14:49:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
|
|
|
|
|
2013-10-18 12:09:05 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2008-01-28 19:35:05 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-30 19:11:50 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-08 17:25:53 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-14 10:06:33 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-03-11 18:36:11 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
2012-03-11 18:36:11 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-21 08:41:08 +01:00
|
|
|
|
2012-03-11 18:36:11 +00:00
|
|
|
|
2019-05-03 17:46:19 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-02-08 08:42:41 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-06-26 23:57:49 -07:00
|
|
|
|