Re: [PATCH 5.4 000/328] 5.4.291-rc1 review
From: Greg Kroah-Hartman
Date: Wed Mar 12 2025 - 04:05:57 EST
On Tue, Mar 11, 2025 at 11:38:29AM -0700, Florian Fainelli wrote:
> On 3/11/25 07:56, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.4.291 release.
> > There are 328 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Thu, 13 Mar 2025 14:56:14 +0000.
> > Anything received after that time might be too late.
> >
> > The whole patch series can be found in one patch at:
> > https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.291-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
>
> On ARCH_BRCMSTB using 32-bit and 64-bit ARM kernels, build tested on
> BMIPS_GENERIC:
>
> Tested-by: Florian Fainelli <florian.fainelli@xxxxxxxxxxxx>
>
> Please note that "udp: gso: do not drop small packets when PMTU reduces"
> does cause the following build warning:
>
> In file included from ./include/linux/uio.h:8,
> from ./include/linux/socket.h:8,
> from net/ipv6/udp.c:22:
> net/ipv6/udp.c: In function 'udp_v6_send_skb':
> ./include/linux/kernel.h:843:43: warning: comparison of distinct pointer
> types lacks a cast
> 843 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
> | ^~
> ./include/linux/kernel.h:857:18: note: in expansion of macro '__typecheck'
> 857 | (__typecheck(x, y) && __no_side_effects(x, y))
> | ^~~~~~~~~~~
> ./include/linux/kernel.h:867:31: note: in expansion of macro '__safe_cmp'
> 867 | __builtin_choose_expr(__safe_cmp(x, y), \
> | ^~~~~~~~~~
> ./include/linux/kernel.h:876:25: note: in expansion of macro '__careful_cmp'
> 876 | #define min(x, y) __careful_cmp(x, y, <)
> | ^~~~~~~~~~~~~
> net/ipv6/udp.c:1144:28: note: in expansion of macro 'min'
> 1144 | if (hlen + min(datalen, cork->gso_size) >
> cork->fragsize) {
> |
>
> we need a more targeting fix for 5.4 which replaces the use of min, with
> min_t:
>
> diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
> index 58793dd7ac2c..db948e3a9bdc 100644
> --- a/net/ipv6/udp.c
> +++ b/net/ipv6/udp.c
> @@ -1141,7 +1141,7 @@ static int udp_v6_send_skb(struct sk_buff *skb, struct
> flowi6 *fl6,
> const int hlen = skb_network_header_len(skb) +
> sizeof(struct udphdr);
>
> - if (hlen + min(datalen, cork->gso_size) > cork->fragsize) {
> + if (hlen + min_t(int, datalen, cork->gso_size) >
> cork->fragsize) {
> kfree_skb(skb);
> return -EMSGSIZE;
> }
>
> Thanks!
Thanks, that worked! I'll go make this change to both 5.10.y and 5.4.y.
greg k-h