summaryrefslogtreecommitdiffstats
path: root/src/vnet/devices/tap
diff options
context:
space:
mode:
authorAndrew Yourtchenko <ayourtch@gmail.com>2018-08-29 17:23:03 +0200
committerNeale Ranns <nranns@cisco.com>2018-09-05 10:36:46 +0000
commit3328e9011463855b5b2d52b849cff3114d264b68 (patch)
tree03e36aacc07b8af7a4246af90e01dcb772ae7f8c /src/vnet/devices/tap
parent5d28c7afbc0abd172d0053768b2ebe37b7a6c348 (diff)
acl-plugin: VPP-1400: VPP may crash when performing ACL modifications on applied ACLs
The partition_split() did not increment the refcount when using a mask type index, thus subsequent modifications potentially resulted in double frees and in the best case immediate crash, in the worst case delayed crash in another place. Introduce the lock_mask_type_index() and call it, move the mask type index related functions closer to the top of the file. Make the assignment of the new mask type indices for the tuplemerge case to use the assign_mask_type_index(). Keep some debugs in case we need to investigate this further at some point. Change-Id: Iae370f5cd92e1fe1442480db34656a8a3442dbc0 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> (cherry picked from commit 1edc406da3d4f6e63de2f278360b5753f55c00df)
Diffstat (limited to 'src/vnet/devices/tap')
0 files changed, 0 insertions, 0 deletions
f='/csit/diff/tox.ini?h=oper-230911&id=18ddfb237072adfa7daaf64de769d5f05e98be1d'>diffstats
path: root/tox.ini
blob: 2ad02e3fec595468e594ba509e55b074a78f7c3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Idea of this file is motivated by OpenDylight,
# especially its Integration/Test sub-project.

# This file requires active virtualenv with tox package installed,
# or python-tox system package installed.

# Usage:
# cd to CSIT root (other directories might use different tox.ini)
#   $ tox
# will execute all checks.
#  $ tox -e pylint
# will execute only checks defined in "pylint" tox environment.

[tox]
envlist = new_line_length, line_length, autogen, pylint, tc_naming
# The following is needed as tox requires setup.py by default.
skipsdist = true
# Just a shorthand to avoid long lines.
checker_dir = ./resources/libraries/bash/entry/check

# TODO: Tox prints various warnings. Figure them out and fix them.

[testenv:pylint]
deps =
    pylint==1.5.4
    -r ./requirements.txt
whitelist_externals = /bin/bash
setenv = PYTHONPATH = {toxinidir}
# Run pylint, but hide its return value until python warnings are cleared.
commands = bash -c "bash {[tox]checker_dir}/pylint.sh || true"

# TODO: See FIXME in https://gerrit.fd.io/r/16423

[testenv:line_length]
whitelist_externals = /bin/bash
# Fix all transgressions and remove the " || true" workaround.
commands = bash -c "bash {[tox]checker_dir}/line.sh || true"

[testenv:new_line_length]
whitelist_externals = /bin/bash
# Adding .svg, big .rst tables, .yaml and similar still requires long lines.
# As current implementation is too dumb to filter those out,
# the checker has to remain non-voting.
commands = bash -c "bash {[tox]checker_dir}/new_line.sh || true"

[testenv:autogen]
whitelist_externals = /bin/bash
setenv = PYTHONPATH = {toxinidir}
commands = bash {[tox]checker_dir}/autogen.sh

[testenv:tc_naming]
whitelist_externals = /bin/bash
# Fix all TC namings and remove the " || true" workaround.
commands = bash -c "bash {[tox]checker_dir}/tc_naming.sh || true"

# TODO: Migrate current docs check here.
# TODO: Create voting "pylint violations should not increase" checker.
# TODO: Create voting checker to reject suites with Force Tags of other suite.
# TODO: Create voting checker against tags not in tag_documentation.rst file.
# TODO: Create Robot suite Documentation checker (backslash if not next mark).
# TODO: Create .yaml specific checker, so people can override long line check.
# TODO: Create .rst specific checker, if there is one allowing
#       to override line check.
# TODO: You get the idea, replace line check with something smarter
#       wherever possible.