Randy Dunlap 586692be69 net: sched: prevent invalid Scell_log shift count
[ Upstream commit bd1248f1ddbc48b0c30565fce897a3b6423313b8 ]

Check Scell_log shift size in red_check_params() and modify all callers
of red_check_params() to pass Scell_log.

This prevents a shift out-of-bounds as detected by UBSAN:
  UBSAN: shift-out-of-bounds in ./include/net/red.h:252:22
  shift exponent 72 is too large for 32-bit type 'int'

Fixes: 8afa10cbe281 ("net_sched: red: Avoid illegal values")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: syzbot+97c5bd9cc81eca63d36e@syzkaller.appspotmail.com
Cc: Nogah Frankel <nogahf@mellanox.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Cong Wang <xiyou.wangcong@gmail.com>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: netdev@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-01-12 19:49:02 +01:00
..
2019-05-08 07:19:07 +02:00
2018-09-29 03:07:30 -07:00
2019-03-23 13:19:44 +01:00
2019-02-23 09:05:59 +01:00
2015-11-18 16:17:38 -05:00
2016-06-27 15:06:17 -04:00
2016-07-08 12:20:57 +02:00
2016-04-25 16:44:27 -04:00
2016-04-25 16:44:27 -04:00
2016-06-09 23:41:03 -07:00
2016-08-26 11:55:18 -07:00
2015-09-17 17:18:37 -07:00
2016-09-23 08:38:50 -04:00
2016-02-16 20:21:48 -05:00
2016-05-20 18:03:16 -04:00
2019-11-10 11:23:31 +01:00
2020-07-22 09:10:48 +02:00
2019-03-13 14:04:53 -07:00
2016-10-14 10:59:15 -04:00
2016-05-20 18:03:17 -04:00
2016-08-17 19:36:23 -04:00
2019-11-25 09:52:18 +01:00
2015-10-23 06:26:42 -07:00
2016-10-03 02:00:22 -04:00
2016-10-04 02:11:51 -04:00
2016-06-15 20:41:23 -07:00
2018-05-16 10:08:41 +02:00
2016-07-08 12:20:57 +02:00
2016-03-23 22:09:58 -04:00
2016-04-07 16:53:30 -04:00
2020-05-02 17:23:08 +02:00
2016-05-03 16:08:14 -04:00
2015-10-26 22:24:22 -07:00
2017-07-21 07:42:18 +02:00