Skip to content

Commit b953d43

Browse files
committed
fixup argo=mac
1 parent 0201c58 commit b953d43

File tree

2 files changed

+9
-20
lines changed

2 files changed

+9
-20
lines changed

docs/misc/xen-command-line.pandoc

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ in combination with cpuidle. This option is only expected to be useful for
183183
developers wishing Xen to fall back to older timing methods on newer hardware.
184184

185185
### argo
186-
= List of [ <bool> ]
186+
= List of [ <bool>, mac=<bool> ]
187187

188188
Controls for the Argo hypervisor-mediated interdomain communication service.
189189
Argo is only available when Xen is compiled with `CONFIG_ARGO` enabled.
@@ -195,22 +195,12 @@ to appropriate auditing by Xen.
195195

196196
* An overall boolean acts as a global control. Argo is disabled by default.
197197

198-
### argo-mac-permissive
199-
> `= <boolean>`
200-
201-
> Default: `false`
202-
203-
Constrain the access control applied to the Argo communication mechanism.
204-
205-
Only available if Xen is compiled with `CONFIG_ARGO` enabled.
206-
207-
When `false`, domains may not register rings that have wildcard specified
208-
for the sender which would allow messages to be sent to the ring by any domain.
209-
This is to protect rings and the services that utilize them against DoS by a
210-
malicious or buggy domain spamming the ring.
198+
* The `mac-permissive` boolean controls whether wildcard recieve rings may be
199+
registered (`mac-permissive=0`) or may not be registered
200+
(`mac-permissive=1`).
211201

212-
When the boot option is set to `true`, this constraint is relaxed and
213-
wildcard any-sender rings are allowed to be registered.
202+
This option is disabled by default, to protect domains from a DoS by a buggy
203+
or malicious other domain spamming the ring.
214204

215205
### asid (x86)
216206
> `= <boolean>`

xen/common/argo.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_argo_register_ring_t);
4545
DEFINE_XEN_GUEST_HANDLE(xen_argo_ring_t);
4646

4747
static bool __read_mostly opt_argo;
48+
static bool __read_mostly opt_argo_mac_permissive;
4849

4950
static int __init parse_argo(const char *s)
5051
{
@@ -58,6 +59,8 @@ static int __init parse_argo(const char *s)
5859

5960
if ( (val = parse_bool(s, ss)) >= 0 )
6061
opt_argo = val;
62+
else if ( (val = parse_boolean("mac-permissive", s, ss)) >= 0 )
63+
opt_argo_mac_permissive = val;
6164
else
6265
rc = -EINVAL;
6366

@@ -68,10 +71,6 @@ static int __init parse_argo(const char *s)
6871
}
6972
custom_param("argo", parse_argo);
7073

71-
/* Xen command line option for conservative or relaxed access control */
72-
static bool __read_mostly opt_argo_mac_permissive;
73-
boolean_param("argo-mac-permissive", opt_argo_mac_permissive);
74-
7574
typedef struct argo_ring_id
7675
{
7776
xen_argo_port_t aport;

0 commit comments

Comments
 (0)