Refreshed all patches. Fixes: - CVE-2019-14896 - CVE-2019-14897 Remove upstreamed: - 023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch - 950-0202-staging-bcm2835-camera-fix-module-autoloading.patch - 001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 1d418f7e88035ed7a94073f6354246c66e9193e9 Mon Sep 17 00:00:00 2001
 | |
| From: Felix Fietkau <nbd@nbd.name>
 | |
| Date: Fri, 7 Jul 2017 17:22:58 +0200
 | |
| Subject: fq_codel: switch default qdisc from pfifo_fast to fq_codel and remove pfifo_fast
 | |
| 
 | |
| Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | |
| ---
 | |
|  include/net/sch_generic.h | 3 ++-
 | |
|  net/sched/Kconfig         | 3 ++-
 | |
|  net/sched/sch_api.c       | 2 +-
 | |
|  net/sched/sch_fq_codel.c  | 3 ++-
 | |
|  net/sched/sch_generic.c   | 4 ++--
 | |
|  5 files changed, 9 insertions(+), 6 deletions(-)
 | |
| 
 | |
| --- a/include/net/sch_generic.h
 | |
| +++ b/include/net/sch_generic.h
 | |
| @@ -487,12 +487,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
 | |
|  extern struct Qdisc_ops pfifo_fast_ops;
 | |
|  extern struct Qdisc_ops mq_qdisc_ops;
 | |
|  extern struct Qdisc_ops noqueue_qdisc_ops;
 | |
| +extern struct Qdisc_ops fq_codel_qdisc_ops;
 | |
|  extern const struct Qdisc_ops *default_qdisc_ops;
 | |
|  static inline const struct Qdisc_ops *
 | |
|  get_default_qdisc_ops(const struct net_device *dev, int ntx)
 | |
|  {
 | |
|  	return ntx < dev->real_num_tx_queues ?
 | |
| -			default_qdisc_ops : &pfifo_fast_ops;
 | |
| +			default_qdisc_ops : &fq_codel_qdisc_ops;
 | |
|  }
 | |
|  
 | |
|  struct Qdisc_class_common {
 | |
| --- a/net/sched/Kconfig
 | |
| +++ b/net/sched/Kconfig
 | |
| @@ -3,8 +3,9 @@
 | |
|  #
 | |
|  
 | |
|  menuconfig NET_SCHED
 | |
| -	bool "QoS and/or fair queueing"
 | |
| +	def_bool y
 | |
|  	select NET_SCH_FIFO
 | |
| +	select NET_SCH_FQ_CODEL
 | |
|  	---help---
 | |
|  	  When the kernel has several packets to send out over a network
 | |
|  	  device, it has to decide which ones to send first, which ones to
 | |
| --- a/net/sched/sch_api.c
 | |
| +++ b/net/sched/sch_api.c
 | |
| @@ -2162,7 +2162,7 @@ static int __init pktsched_init(void)
 | |
|  		return err;
 | |
|  	}
 | |
|  
 | |
| -	register_qdisc(&pfifo_fast_ops);
 | |
| +	register_qdisc(&fq_codel_qdisc_ops);
 | |
|  	register_qdisc(&pfifo_qdisc_ops);
 | |
|  	register_qdisc(&bfifo_qdisc_ops);
 | |
|  	register_qdisc(&pfifo_head_drop_qdisc_ops);
 | |
| --- a/net/sched/sch_fq_codel.c
 | |
| +++ b/net/sched/sch_fq_codel.c
 | |
| @@ -714,7 +714,7 @@ static const struct Qdisc_class_ops fq_c
 | |
|  	.walk		=	fq_codel_walk,
 | |
|  };
 | |
|  
 | |
| -static struct Qdisc_ops fq_codel_qdisc_ops __read_mostly = {
 | |
| +struct Qdisc_ops fq_codel_qdisc_ops __read_mostly = {
 | |
|  	.cl_ops		=	&fq_codel_class_ops,
 | |
|  	.id		=	"fq_codel",
 | |
|  	.priv_size	=	sizeof(struct fq_codel_sched_data),
 | |
| @@ -729,6 +729,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
 | |
|  	.dump_stats =	fq_codel_dump_stats,
 | |
|  	.owner		=	THIS_MODULE,
 | |
|  };
 | |
| +EXPORT_SYMBOL(fq_codel_qdisc_ops);
 | |
|  
 | |
|  static int __init fq_codel_module_init(void)
 | |
|  {
 | |
| --- a/net/sched/sch_generic.c
 | |
| +++ b/net/sched/sch_generic.c
 | |
| @@ -35,7 +35,7 @@
 | |
|  #include <net/xfrm.h>
 | |
|  
 | |
|  /* Qdisc to use by default */
 | |
| -const struct Qdisc_ops *default_qdisc_ops = &pfifo_fast_ops;
 | |
| +const struct Qdisc_ops *default_qdisc_ops = &fq_codel_qdisc_ops;
 | |
|  EXPORT_SYMBOL(default_qdisc_ops);
 | |
|  
 | |
|  /* Main transmission queue. */
 | |
| @@ -1025,7 +1025,7 @@ static void attach_one_default_qdisc(str
 | |
|  				     void *_unused)
 | |
|  {
 | |
|  	struct Qdisc *qdisc;
 | |
| -	const struct Qdisc_ops *ops = default_qdisc_ops;
 | |
| +	const struct Qdisc_ops *ops = &fq_codel_qdisc_ops;
 | |
|  
 | |
|  	if (dev->priv_flags & IFF_NO_QUEUE)
 | |
|  		ops = &noqueue_qdisc_ops;
 |