|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] libxc: drop size parameter from xc_flask_context_to_sid()
commit dc21138144d6b88e5b1fecffa2a80048f560d6e4
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Jul 6 09:41:45 2026 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Jul 6 09:41:45 2026 +0200
libxc: drop size parameter from xc_flask_context_to_sid()
Nul-terminated strings are passed in all cases, so the strlen() can very
well be invoked by the function itself. In preparation for a hypervisor
change also include the nul terminator in the size calculation.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Acked-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Reviewed-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
---
tools/helpers/init-xenstore-domain.c | 2 +-
tools/include/xenctrl.h | 2 +-
tools/libs/ctrl/xc_flask.c | 9 +++++----
tools/libs/light/libxl_flask.c | 5 ++++-
tools/python/xen/lowlevel/xc/xc.c | 2 +-
5 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/tools/helpers/init-xenstore-domain.c
b/tools/helpers/init-xenstore-domain.c
index 2be5831a57..6c0c85f032 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -108,7 +108,7 @@ static int build(xc_interface *xch)
if ( flask )
{
- rv = xc_flask_context_to_sid(xch, flask, strlen(flask),
&config.ssidref);
+ rv = xc_flask_context_to_sid(xch, flask, &config.ssidref);
if ( rv )
{
fprintf(stderr, "xc_flask_context_to_sid failed\n");
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index f4316089e7..9f00d4a19d 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2377,7 +2377,7 @@ long xc_sharing_used_frames(xc_interface *xch);
/*** End sharing interface ***/
int xc_flask_load(xc_interface *xc_handle, char *buf, uint32_t size);
-int xc_flask_context_to_sid(xc_interface *xc_handle, char *buf, uint32_t size,
uint32_t *sid);
+int xc_flask_context_to_sid(xc_interface *xc_handle, char *buf, uint32_t *sid);
int xc_flask_sid_to_context(xc_interface *xc_handle, int sid, char *buf,
uint32_t size);
int xc_flask_getenforce(xc_interface *xc_handle);
int xc_flask_setenforce(xc_interface *xc_handle, int mode);
diff --git a/tools/libs/ctrl/xc_flask.c b/tools/libs/ctrl/xc_flask.c
index f5389dbd96..f275093735 100644
--- a/tools/libs/ctrl/xc_flask.c
+++ b/tools/libs/ctrl/xc_flask.c
@@ -83,10 +83,11 @@ int xc_flask_load(xc_interface *xch, char *buf, uint32_t
size)
return err;
}
-int xc_flask_context_to_sid(xc_interface *xch, char *buf, uint32_t size,
uint32_t *sid)
+int xc_flask_context_to_sid(xc_interface *xch, char *buf, uint32_t *sid)
{
int err;
struct xen_flask_op op = {};
+ size_t size = strlen(buf) + 1;
DECLARE_HYPERCALL_BOUNCE(buf, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
if ( xc_hypercall_bounce_pre(xch, buf) )
@@ -249,7 +250,7 @@ static int xc_flask_add(xc_interface *xch, uint32_t ocon,
uint64_t low, uint64_t
int err;
struct xen_flask_op op = {};
- err = xc_flask_context_to_sid(xch, scontext, strlen(scontext), &sid);
+ err = xc_flask_context_to_sid(xch, scontext, &sid);
if ( err )
return err;
@@ -325,10 +326,10 @@ int xc_flask_access(xc_interface *xch, const char *scon,
const char *tcon,
struct xen_flask_op op = {};
int err;
- err = xc_flask_context_to_sid(xch, (char*)scon, strlen(scon),
&op.u.access.ssid);
+ err = xc_flask_context_to_sid(xch, (char*)scon, &op.u.access.ssid);
if ( err )
return err;
- err = xc_flask_context_to_sid(xch, (char*)tcon, strlen(tcon),
&op.u.access.tsid);
+ err = xc_flask_context_to_sid(xch, (char*)tcon, &op.u.access.tsid);
if ( err )
return err;
diff --git a/tools/libs/light/libxl_flask.c b/tools/libs/light/libxl_flask.c
index 38347a31a3..8d9c92bfdc 100644
--- a/tools/libs/light/libxl_flask.c
+++ b/tools/libs/light/libxl_flask.c
@@ -21,7 +21,10 @@ int libxl_flask_context_to_sid(libxl_ctx *ctx, char *buf,
size_t len,
{
int rc;
- rc = xc_flask_context_to_sid(ctx->xch, buf, len, ssidref);
+ if (len != strlen(buf))
+ return ERROR_INVAL;
+
+ rc = xc_flask_context_to_sid(ctx->xch, buf, ssidref);
return rc;
}
diff --git a/tools/python/xen/lowlevel/xc/xc.c
b/tools/python/xen/lowlevel/xc/xc.c
index a94f01d40b..7a4bf54597 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -1754,7 +1754,7 @@ static PyObject *pyflask_context_to_sid(PyObject *self,
PyObject *args,
return PyErr_SetFromErrno(xc_error_obj);
}
- ret = xc_flask_context_to_sid(xc_handle, ctx, strlen(ctx), &sid);
+ ret = xc_flask_context_to_sid(xc_handle, ctx, &sid);
xc_interface_close(xc_handle);
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |