[SRU OEM-6.1,Lunar 3/5] net: remove osize variable in __alloc_skb()
Thadeu Lima de Souza Cascardo
cascardo at canonical.com
Wed Sep 27 00:40:23 UTC 2023
From: Eric Dumazet <edumazet at google.com>
This is a cleanup patch, to prepare following change.
Signed-off-by: Eric Dumazet <edumazet at google.com>
Acked-by: Soheil Hassas Yeganeh <soheil at google.com>
Acked-by: Paolo Abeni <pabeni at redhat.com>
Reviewed-by: Alexander Duyck <alexanderduyck at fb.com>
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
(cherry picked from commit 65998d2bf857b9ae5acc1f3b70892bd1b429ccab)
CVE-2023-42752
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at canonical.com>
---
net/core/skbuff.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index beb53b103728..94444244dc16 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -534,7 +534,6 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
{
struct kmem_cache *cache;
struct sk_buff *skb;
- unsigned int osize;
bool pfmemalloc;
u8 *data;
@@ -560,16 +559,15 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
* Both skb->head and skb_shared_info are cache line aligned.
*/
size = SKB_HEAD_ALIGN(size);
- osize = kmalloc_size_roundup(size);
- data = kmalloc_reserve(osize, gfp_mask, node, &pfmemalloc);
+ size = kmalloc_size_roundup(size);
+ data = kmalloc_reserve(size, gfp_mask, node, &pfmemalloc);
if (unlikely(!data))
goto nodata;
/* kmalloc_size_roundup() might give us more room than requested.
* Put skb_shared_info exactly at the end of allocated zone,
* to allow max possible filling before reallocation.
*/
- size = SKB_WITH_OVERHEAD(osize);
- prefetchw(data + size);
+ prefetchw(data + SKB_WITH_OVERHEAD(size));
/*
* Only clear those fields we need to clear, not those that we will
@@ -577,7 +575,7 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
* the tail pointer in struct sk_buff!
*/
memset(skb, 0, offsetof(struct sk_buff, tail));
- __build_skb_around(skb, data, osize);
+ __build_skb_around(skb, data, size);
skb->pfmemalloc = pfmemalloc;
if (flags & SKB_ALLOC_FCLONE) {
--
2.34.1
More information about the kernel-team
mailing list