lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171220173524.25874-1-aring@mojatatu.com>
Date:   Wed, 20 Dec 2017 12:35:10 -0500
From:   Alexander Aring <aring@...atatu.com>
To:     jhs@...atatu.com
Cc:     xiyou.wangcong@...il.com, jiri@...nulli.us, davem@...emloft.net,
        netdev@...r.kernel.org, kernel@...atatu.com,
        Alexander Aring <aring@...atatu.com>,
        David Ahern <dsahern@...il.com>
Subject: [PATCHv4 net-next 00/14] net: sched: sch: introduce extack support 

Hi,

this patch series basically add support for extack in common qdisc handling.
Additional it adds extack pointer to common qdisc callback handling this
offers per qdisc implementation to setting the extack message for each
failure over netlink.

The extack message will be set deeper in qdisc functions but going not
deeper as net core api. For qdisc module callback handling, the extack
will not be set. This will be part of per qdisc extack handling.

I also want to prepare patches to handle extack per qdisc module...
so there will come a lot of more patches, just cut them down to make
it reviewable.

There are some above 80-chars width warnings, which I ignore because
it looks more ugly otherwise.

This patch-series based on patches by David Ahern which gave me some
hints how to deal with extack support.

Cc: David Ahern <dsahern@...il.com>

changes since v4:
 - rebase on current net-next/master
 - fix several typos (also David Ahren to Ahern, I am sorry)
 - Add acked by Jamal

changes since v3:
 - remove patch 2/2 lib: nlattr: set extack msg if validate_nla fails since
   David Ahern has a better solution
 - Remove check on net admin permission since -EPERM indicates it already
 - Change rtab to "rate table" - this is what it's stands for
 - Fix cbs *not* support messages
 - Fix tcf block error message for allocation, allocation will be still there
   because there are multiple places which returns -ENOMEM
 - Finnally also took care about sch_atm, sorry somehow I forgot this one and
   I hope I didn't forgot any sch implementation to add new callback parameters

changes since v2:
 - add fix coding style patch to catch all checkpatch warnings
 - add patch for setting netlink extack msg if validate_nla fails
 - changes in handle generic qdisc errors
   - remove NL_SET_ERR_MSG from memory allocation errors
   - remove NL_SET_ERR_MSG from device not found
   - change STAB to table size
 - add various new patches to add extack support for common
   TC functions like qdisc_get_rtab, tcf_block_get, qdisc_alloc
   and qdisc_create_dflt - users which are interessted in the
   detailed error messages can assign extack, otherwise NULL.
 - Add sch_cbq as example for qdisc_ops callback: init,
   qdisc_class_ops callbacks: change and graft
 - Add sch_cbs as example for qdisc_ops callback: change
 - Add sch_drr as example for qdisc_class ops callbacks: tcf_block

- Alex

Alexander Aring (14):
  net: sched: fix coding style issues
  net: sched: sch_api: handle generic qdisc errors
  net: sched: sch: add extack for init callback
  net: sched: sch: add extack for change qdisc ops
  net: sched: sch: add extack to change class
  net: sched: sch: add extack for block callback
  net: sched: sch: add extack for graft callback
  net: sch: api: add extack support in qdisc_get_rtab
  net: sch: api: add extack support in tcf_block_get
  net: sch: api: add extack support in qdisc_alloc
  net: sch: api: add extack support in qdisc_create_dflt
  net: sch: sch_cbq: add extack support
  net: sch: sch_cbs: add extack support
  net: sch: sch_drr: add extack support

 include/net/pkt_cls.h     |   6 +-
 include/net/pkt_sched.h   |   6 +-
 include/net/sch_generic.h |  21 ++++--
 net/sched/act_police.c    |   4 +-
 net/sched/cls_api.c       |  17 +++--
 net/sched/sch_api.c       | 172 ++++++++++++++++++++++++++++++++--------------
 net/sched/sch_atm.c       |  23 ++++---
 net/sched/sch_cbq.c       |  78 ++++++++++++++-------
 net/sched/sch_cbs.c       |  31 ++++++---
 net/sched/sch_choke.c     |   8 ++-
 net/sched/sch_codel.c     |   8 ++-
 net/sched/sch_drr.c       |  40 +++++++----
 net/sched/sch_dsmark.c    |  19 +++--
 net/sched/sch_fifo.c      |  11 +--
 net/sched/sch_fq.c        |   8 ++-
 net/sched/sch_fq_codel.c  |  13 ++--
 net/sched/sch_generic.c   |  25 ++++---
 net/sched/sch_gred.c      |  13 ++--
 net/sched/sch_hfsc.c      |  28 ++++----
 net/sched/sch_hhf.c       |   8 ++-
 net/sched/sch_htb.c       |  29 ++++----
 net/sched/sch_ingress.c   |  20 ++++--
 net/sched/sch_mq.c        |   8 ++-
 net/sched/sch_mqprio.c    |   7 +-
 net/sched/sch_multiq.c    |  19 ++---
 net/sched/sch_netem.c     |  10 +--
 net/sched/sch_pie.c       |   8 ++-
 net/sched/sch_plug.c      |   6 +-
 net/sched/sch_prio.c      |  18 +++--
 net/sched/sch_qfq.c       |  22 +++---
 net/sched/sch_red.c       |  13 ++--
 net/sched/sch_sfb.c       |  20 +++---
 net/sched/sch_sfq.c       |   8 ++-
 net/sched/sch_tbf.c       |  21 +++---
 net/sched/sch_teql.c      |   3 +-
 35 files changed, 486 insertions(+), 265 deletions(-)

-- 
2.11.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ