Re: [Cake] [PATCH net 2/2] sch_cake: Make sure we can write the IP header before changing DSCP bits

2019-04-04 Thread Toke Høiland-Jørgensen
Stephen Hemminger writes: > On Thu, 04 Apr 2019 22:44:33 +0200 > Toke Høiland-Jørgensen wrote: > >> Stephen Hemminger writes: >> >> > On Thu, 04 Apr 2019 15:01:33 +0200 >> > Toke Høiland-Jørgensen wrote: >> > >> >> static u8 cake_handle_diffserv(struct sk_buff *skb, u16 wash) >> >> { >>

Re: [Cake] [PATCH net 2/2] sch_cake: Make sure we can write the IP header before changing DSCP bits

2019-04-04 Thread Stephen Hemminger
On Thu, 04 Apr 2019 22:44:33 +0200 Toke Høiland-Jørgensen wrote: > Stephen Hemminger writes: > > > On Thu, 04 Apr 2019 15:01:33 +0200 > > Toke Høiland-Jørgensen wrote: > > > >> static u8 cake_handle_diffserv(struct sk_buff *skb, u16 wash) > >> { > >> + int wlen = skb_network_offset(skb);

Re: [Cake] [PATCH net 2/2] sch_cake: Make sure we can write the IP header before changing DSCP bits

2019-04-04 Thread Toke Høiland-Jørgensen
Stephen Hemminger writes: > On Thu, 04 Apr 2019 15:01:33 +0200 > Toke Høiland-Jørgensen wrote: > >> static u8 cake_handle_diffserv(struct sk_buff *skb, u16 wash) >> { >> +int wlen = skb_network_offset(skb); > > In theory this could be negative, you should handle that? > Rather than

Re: [Cake] [PATCH net 2/2] sch_cake: Make sure we can write the IP header before changing DSCP bits

2019-04-04 Thread Stephen Hemminger
On Thu, 04 Apr 2019 15:01:33 +0200 Toke Høiland-Jørgensen wrote: > static u8 cake_handle_diffserv(struct sk_buff *skb, u16 wash) > { > + int wlen = skb_network_offset(skb); In theory this could be negative, you should handle that? Rather than calling may_pull() with a huge unsigned value.

[Cake] [PATCH net 2/2] sch_cake: Make sure we can write the IP header before changing DSCP bits

2019-04-04 Thread Toke Høiland-Jørgensen
There is not actually any guarantee that the IP headers are valid before we access the DSCP bits of the packets. Fix this using the same approach taken in sch_dsmark. Reported-by: Kevin Darbyshire-Bryant Signed-off-by: Toke Høiland-Jørgensen --- net/sched/sch_cake.c | 11 +++ 1 file