From e4465f2cdbf99fa7101d4ddc3a9af8af09f2fb6a Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Thu, 16 May 2024 20:15:56 +0200 Subject: [PATCH] xace: typesafe hook function for XACE_DEVICE_ACCESS The generic XaceHook() call isn't typesafe (und unnecessarily slow). Better add an explicit function, just like we already have for others. Signed-off-by: Enrico Weigelt, metux IT consult Part-of: (cherry picked from commit 9524ffee89edfb11baf66b5519de01ed3e7f5bd1) --- Xext/xace.c | 16 +++++++--------- Xext/xace.h | 2 ++ Xi/exevents.c | 8 ++++---- Xi/grabdevb.c | 2 +- Xi/grabdevk.c | 2 +- Xi/listdev.c | 2 +- Xi/xiquerydevice.c | 4 ++-- dix/devices.c | 26 +++++++++++++------------- dix/events.c | 18 +++++++++--------- dix/grabs.c | 2 +- dix/inpututils.c | 6 +++--- xkb/xkb.c | 36 +++++++++++++----------------------- 12 files changed, 57 insertions(+), 67 deletions(-) diff --git a/Xext/xace.c b/Xext/xace.c index 0044b18f5..35d07cbad 100644 --- a/Xext/xace.c +++ b/Xext/xace.c @@ -72,13 +72,19 @@ int XaceHookResourceAccess(ClientPtr client, XID id, RESTYPE rtype, void *res, return rec.status; } +int XaceHookDeviceAccess(ClientPtr client, DeviceIntPtr dev, Mask access_mode) +{ + XaceDeviceAccessRec rec = { client, dev, access_mode, Success }; + CallCallbacks(&XaceHooks[XACE_DEVICE_ACCESS], &rec); + return rec.status; +} + /* Entry point for hook functions. Called by Xserver. */ int XaceHook(int hook, ...) { union { - XaceDeviceAccessRec dev; XaceSendAccessRec send; XaceReceiveAccessRec recv; XaceClientAccessRec client; @@ -102,14 +108,6 @@ XaceHook(int hook, ...) * sets calldata directly to a single argument (with no return result) */ switch (hook) { - case XACE_DEVICE_ACCESS: - u.dev.client = va_arg(ap, ClientPtr); - u.dev.dev = va_arg(ap, DeviceIntPtr); - u.dev.access_mode = va_arg(ap, Mask); - - u.dev.status = Success; /* default allow */ - prv = &u.dev.status; - break; case XACE_SEND_ACCESS: u.send.client = va_arg(ap, ClientPtr); u.send.dev = va_arg(ap, DeviceIntPtr); diff --git a/Xext/xace.h b/Xext/xace.h index dcf546cd4..afc51b07a 100644 --- a/Xext/xace.h +++ b/Xext/xace.h @@ -84,6 +84,8 @@ extern _X_EXPORT int XaceHookSelectionAccess(ClientPtr ptr, Selection ** ppSel, _X_EXPORT int XaceHookResourceAccess(ClientPtr client, XID id, RESTYPE rtype, void *res, RESTYPE ptype, void *parent, Mask access_mode); +int XaceHookDeviceAccess(ClientPtr client, DeviceIntPtr dev, Mask access_mode); + /* Register a callback for a given hook. */ #define XaceRegisterCallback(hook,callback,data) \ diff --git a/Xi/exevents.c b/Xi/exevents.c index 2d83ab8bf..55d8a5bfd 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -2512,7 +2512,7 @@ GrabButton(ClientPtr client, DeviceIntPtr dev, DeviceIntPtr modifier_device, if (param->this_device_mode == GrabModeSync || param->other_devices_mode == GrabModeSync) access_mode |= DixFreezeAccess; - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, access_mode); + rc = XaceHookDeviceAccess(client, dev, access_mode); if (rc != Success) return rc; rc = dixLookupWindow(&pWin, param->grabWindow, client, DixSetAttrAccess); @@ -2568,7 +2568,7 @@ GrabKey(ClientPtr client, DeviceIntPtr dev, DeviceIntPtr modifier_device, if (param->this_device_mode == GrabModeSync || param->other_devices_mode == GrabModeSync) access_mode |= DixFreezeAccess; - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, access_mode); + rc = XaceHookDeviceAccess(client, dev, access_mode); if (rc != Success) return rc; @@ -2611,7 +2611,7 @@ GrabWindow(ClientPtr client, DeviceIntPtr dev, int type, if (param->this_device_mode == GrabModeSync || param->other_devices_mode == GrabModeSync) access_mode |= DixFreezeAccess; - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, access_mode); + rc = XaceHookDeviceAccess(client, dev, access_mode); if (rc != Success) return rc; @@ -2642,7 +2642,7 @@ GrabTouchOrGesture(ClientPtr client, DeviceIntPtr dev, DeviceIntPtr mod_dev, rc = dixLookupWindow(&pWin, param->grabWindow, client, DixSetAttrAccess); if (rc != Success) return rc; - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixGrabAccess); + rc = XaceHookDeviceAccess(client, dev, DixGrabAccess); if (rc != Success) return rc; diff --git a/Xi/grabdevb.c b/Xi/grabdevb.c index a2f7eb395..f2674f535 100644 --- a/Xi/grabdevb.c +++ b/Xi/grabdevb.c @@ -125,7 +125,7 @@ ProcXGrabDeviceButton(ClientPtr client) } else { mdev = PickKeyboard(client); - ret = XaceHook(XACE_DEVICE_ACCESS, client, mdev, DixUseAccess); + ret = XaceHookDeviceAccess(client, mdev, DixUseAccess); if (ret != Success) return ret; } diff --git a/Xi/grabdevk.c b/Xi/grabdevk.c index e856fa82c..ee55fcef6 100644 --- a/Xi/grabdevk.c +++ b/Xi/grabdevk.c @@ -123,7 +123,7 @@ ProcXGrabDeviceKey(ClientPtr client) } else { mdev = PickKeyboard(client); - ret = XaceHook(XACE_DEVICE_ACCESS, client, mdev, DixUseAccess); + ret = XaceHookDeviceAccess(client, mdev, DixUseAccess); if (ret != Success) return ret; } diff --git a/Xi/listdev.c b/Xi/listdev.c index c15e61b37..5a8cd65c8 100644 --- a/Xi/listdev.c +++ b/Xi/listdev.c @@ -309,7 +309,7 @@ ShouldSkipDevice(ClientPtr client, DeviceIntPtr d) { /* don't send master devices other than VCP/VCK */ if (!IsMaster(d) || d == inputInfo.pointer ||d == inputInfo.keyboard) { - int rc = XaceHook(XACE_DEVICE_ACCESS, client, d, DixGetAttrAccess); + int rc = XaceHookDeviceAccess(client, d, DixGetAttrAccess); if (rc == Success) return FALSE; diff --git a/Xi/xiquerydevice.c b/Xi/xiquerydevice.c index e4731a119..dfa4abb2d 100644 --- a/Xi/xiquerydevice.c +++ b/Xi/xiquerydevice.c @@ -178,7 +178,7 @@ ShouldSkipDevice(ClientPtr client, int deviceid, DeviceIntPtr dev) { /* if all devices are not being queried, only master devices are */ if (deviceid == XIAllDevices || IsMaster(dev)) { - int rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixGetAttrAccess); + int rc = XaceHookDeviceAccess(client, dev, DixGetAttrAccess); if (rc == Success) return FALSE; @@ -575,7 +575,7 @@ ListDeviceClasses(ClientPtr client, DeviceIntPtr dev, int rc; /* Check if the current device state should be suppressed */ - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixReadAccess); + rc = XaceHookDeviceAccess(client, dev, DixReadAccess); if (dev->button) { (*nclasses)++; diff --git a/dix/devices.c b/dix/devices.c index 84a6406d1..509825677 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -294,7 +294,7 @@ AddInputDevice(ClientPtr client, DeviceProc deviceProc, Bool autoStart) /* security creation/labeling check */ - if (XaceHook(XACE_DEVICE_ACCESS, client, dev, DixCreateAccess)) { + if (XaceHookDeviceAccess(client, dev, DixCreateAccess)) { dixFreePrivates(dev->devPrivates, PRIVATE_DEVICE); free(dev); return NULL; @@ -1262,7 +1262,7 @@ dixLookupDevice(DeviceIntPtr *pDev, int id, ClientPtr client, Mask access_mode) return BadDevice; found: - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, access_mode); + rc = XaceHookDeviceAccess(client, dev, access_mode); if (rc == Success) *pDev = dev; return rc; @@ -1842,7 +1842,7 @@ ProcChangeKeyboardMapping(ClientPtr client) keysyms.mapWidth = stuff->keySymsPerKeyCode; keysyms.map = (KeySym *) &stuff[1]; - rc = XaceHook(XACE_DEVICE_ACCESS, client, pDev, DixManageAccess); + rc = XaceHookDeviceAccess(client, pDev, DixManageAccess); if (rc != Success) return rc; @@ -1855,7 +1855,7 @@ ProcChangeKeyboardMapping(ClientPtr client) if (!tmp->key) continue; - rc = XaceHook(XACE_DEVICE_ACCESS, client, pDev, DixManageAccess); + rc = XaceHookDeviceAccess(client, pDev, DixManageAccess); if (rc != Success) continue; @@ -1936,7 +1936,7 @@ ProcGetKeyboardMapping(ClientPtr client) REQUEST(xGetKeyboardMappingReq); REQUEST_SIZE_MATCH(xGetKeyboardMappingReq); - rc = XaceHook(XACE_DEVICE_ACCESS, client, kbd, DixGetAttrAccess); + rc = XaceHookDeviceAccess(client, kbd, DixGetAttrAccess); if (rc != Success) return rc; @@ -1989,7 +1989,7 @@ ProcGetPointerMapping(ClientPtr client) REQUEST_SIZE_MATCH(xReq); - rc = XaceHook(XACE_DEVICE_ACCESS, client, ptr, DixGetAttrAccess); + rc = XaceHookDeviceAccess(client, ptr, DixGetAttrAccess); if (rc != Success) return rc; @@ -2215,7 +2215,7 @@ ProcChangeKeyboardControl(ClientPtr client) if ((pDev == keyboard || (!IsMaster(pDev) && GetMaster(pDev, MASTER_KEYBOARD) == keyboard)) && pDev->kbdfeed && pDev->kbdfeed->CtrlProc) { - ret = XaceHook(XACE_DEVICE_ACCESS, client, pDev, DixManageAccess); + ret = XaceHookDeviceAccess(client, pDev, DixManageAccess); if (ret != Success) return ret; } @@ -2244,7 +2244,7 @@ ProcGetKeyboardControl(ClientPtr client) REQUEST_SIZE_MATCH(xReq); - rc = XaceHook(XACE_DEVICE_ACCESS, client, kbd, DixGetAttrAccess); + rc = XaceHookDeviceAccess(client, kbd, DixGetAttrAccess); if (rc != Success) return rc; @@ -2292,7 +2292,7 @@ ProcBell(ClientPtr client) (!IsMaster(dev) && GetMaster(dev, MASTER_KEYBOARD) == keybd)) && ((dev->kbdfeed && dev->kbdfeed->BellProc) || dev->xkb_interest)) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixBellAccess); + rc = XaceHookDeviceAccess(client, dev, DixBellAccess); if (rc != Success) return rc; XkbHandleBell(FALSE, FALSE, dev, newpercent, @@ -2365,7 +2365,7 @@ ProcChangePointerControl(ClientPtr client) if ((dev == mouse || (!IsMaster(dev) && GetMaster(dev, MASTER_POINTER) == mouse)) && dev->ptrfeed) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixManageAccess); + rc = XaceHookDeviceAccess(client, dev, DixManageAccess); if (rc != Success) return rc; } @@ -2397,7 +2397,7 @@ ProcGetPointerControl(ClientPtr client) REQUEST_SIZE_MATCH(xReq); - rc = XaceHook(XACE_DEVICE_ACCESS, client, ptr, DixGetAttrAccess); + rc = XaceHookDeviceAccess(client, ptr, DixGetAttrAccess); if (rc != Success) return rc; @@ -2446,7 +2446,7 @@ ProcGetMotionEvents(ClientPtr client) rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess); if (rc != Success) return rc; - rc = XaceHook(XACE_DEVICE_ACCESS, client, mouse, DixReadAccess); + rc = XaceHookDeviceAccess(client, mouse, DixReadAccess); if (rc != Success) return rc; @@ -2510,7 +2510,7 @@ ProcQueryKeymap(ClientPtr client) .length = 2 }; - rc = XaceHook(XACE_DEVICE_ACCESS, client, keybd, DixReadAccess); + rc = XaceHookDeviceAccess(client, keybd, DixReadAccess); /* If rc is Success, we're allowed to copy out the keymap. * If it's BadAccess, we leave it empty & lie to the client. */ diff --git a/dix/events.c b/dix/events.c index 74344dfa4..983a4cfbe 100644 --- a/dix/events.c +++ b/dix/events.c @@ -3628,7 +3628,7 @@ ProcWarpPointer(ClientPtr client) for (tmp = inputInfo.devices; tmp; tmp = tmp->next) { if (GetMaster(tmp, MASTER_ATTACHED) == dev) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixWriteAccess); + rc = XaceHookDeviceAccess(client, dev, DixWriteAccess); if (rc != Success) return rc; } @@ -4707,7 +4707,7 @@ CoreEnterLeaveEvent(DeviceIntPtr mouse, ClientPtr client = grab ? rClient(grab) : wClient(pWin); int rc; - rc = XaceHook(XACE_DEVICE_ACCESS, client, keybd, DixReadAccess); + rc = XaceHookDeviceAccess(client, keybd, DixReadAccess); if (rc == Success) memcpy((char *) &ke.map[0], (char *) &keybd->key->down[1], 31); @@ -4818,7 +4818,7 @@ CoreFocusEvent(DeviceIntPtr dev, int type, int mode, int detail, WindowPtr pWin) ClientPtr client = wClient(pWin); int rc; - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixReadAccess); + rc = XaceHookDeviceAccess(client, dev, DixReadAccess); if (rc == Success) memcpy((char *) &ke.map[0], (char *) &dev->key->down[1], 31); @@ -4881,7 +4881,7 @@ SetInputFocus(ClientPtr client, if (!focusWin->realized) return BadMatch; } - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixSetFocusAccess); + rc = XaceHookDeviceAccess(client, dev, DixSetFocusAccess); if (rc != Success) return Success; @@ -4959,7 +4959,7 @@ ProcGetInputFocus(ClientPtr client) /* REQUEST(xReq); */ REQUEST_SIZE_MATCH(xReq); - rc = XaceHook(XACE_DEVICE_ACCESS, client, kbd, DixGetFocusAccess); + rc = XaceHookDeviceAccess(client, kbd, DixGetFocusAccess); if (rc != Success) return rc; @@ -5193,7 +5193,7 @@ GrabDevice(ClientPtr client, DeviceIntPtr dev, if (keyboard_mode == GrabModeSync || pointer_mode == GrabModeSync) access_mode |= DixFreezeAccess; - rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, access_mode); + rc = XaceHookDeviceAccess(client, dev, access_mode); if (rc != Success) return rc; @@ -5332,7 +5332,7 @@ ProcQueryPointer(ClientPtr client) rc = dixLookupWindow(&pWin, stuff->id, client, DixGetAttrAccess); if (rc != Success) return rc; - rc = XaceHook(XACE_DEVICE_ACCESS, client, mouse, DixReadAccess); + rc = XaceHookDeviceAccess(client, mouse, DixReadAccess); if (rc != Success && rc != BadAccess) return rc; @@ -5732,7 +5732,7 @@ ProcGrabButton(ClientPtr client) if (stuff->pointerMode == GrabModeSync || stuff->keyboardMode == GrabModeSync) access_mode |= DixFreezeAccess; - rc = XaceHook(XACE_DEVICE_ACCESS, client, ptr, access_mode); + rc = XaceHookDeviceAccess(client, ptr, access_mode); if (rc != Success) return rc; @@ -6138,7 +6138,7 @@ WriteEventsToClient(ClientPtr pClient, int count, xEvent *events) int SetClientPointer(ClientPtr client, DeviceIntPtr device) { - int rc = XaceHook(XACE_DEVICE_ACCESS, client, device, DixUseAccess); + int rc = XaceHookDeviceAccess(client, device, DixUseAccess); if (rc != Success) return rc; diff --git a/dix/grabs.c b/dix/grabs.c index 58de639e8..11fa392d5 100644 --- a/dix/grabs.c +++ b/dix/grabs.c @@ -544,7 +544,7 @@ AddPassiveGrabToList(ClientPtr client, GrabPtr pGrab) if (pGrab->keyboardMode == GrabModeSync || pGrab->pointerMode == GrabModeSync) access_mode |= DixFreezeAccess; - rc = XaceHook(XACE_DEVICE_ACCESS, client, pGrab->device, access_mode); + rc = XaceHookDeviceAccess(client, pGrab->device, access_mode); if (rc != Success) return rc; diff --git a/dix/inpututils.c b/dix/inpututils.c index 9026f651b..41f41eaba 100644 --- a/dix/inpututils.c +++ b/dix/inpututils.c @@ -53,7 +53,7 @@ check_butmap_change(DeviceIntPtr dev, CARD8 *map, int len, CARD32 *errval_out, return BadDevice; } - ret = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixManageAccess); + ret = XaceHookDeviceAccess(client, dev, DixManageAccess); if (ret != Success) { client->errorValue = dev->id; return ret; @@ -134,7 +134,7 @@ check_modmap_change(ClientPtr client, DeviceIntPtr dev, KeyCode *modmap) int ret, i; XkbDescPtr xkb; - ret = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixManageAccess); + ret = XaceHookDeviceAccess(client, dev, DixManageAccess); if (ret != Success) return ret; @@ -292,7 +292,7 @@ generate_modkeymap(ClientPtr client, DeviceIntPtr dev, KeyCode *modkeymap = NULL; int i, j, ret; - ret = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixGetAttrAccess); + ret = XaceHookDeviceAccess(client, dev, DixGetAttrAccess); if (ret != Success) return ret; diff --git a/xkb/xkb.c b/xkb/xkb.c index 8d52e25df..bee287868 100644 --- a/xkb/xkb.c +++ b/xkb/xkb.c @@ -559,7 +559,7 @@ ProcXkbBell(ClientPtr client) for (other = inputInfo.devices; other; other = other->next) { if ((other != dev) && other->key && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, DixBellAccess); + rc = XaceHookDeviceAccess(client, other, DixBellAccess); if (rc == Success) _XkbBell(client, other, pWin, stuff->bellClass, stuff->bellID, stuff->pitch, stuff->duration, @@ -2746,8 +2746,7 @@ ProcXkbSetMap(ClientPtr client) for (other = inputInfo.devices; other; other = other->next) { if ((other != dev) && other->key && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, - DixManageAccess); + rc = XaceHookDeviceAccess(client, other, DixManageAccess); if (rc == Success) { rc = _XkbSetMapChecks(client, other, stuff, tmp, FALSE); if (rc != Success) @@ -2780,8 +2779,7 @@ ProcXkbSetMap(ClientPtr client) for (other = inputInfo.devices; other; other = other->next) { if ((other != dev) && other->key && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, - DixManageAccess); + rc = XaceHookDeviceAccess(client, other, DixManageAccess); if (rc == Success) _XkbSetMap(client, other, stuff, tmp); /* ignore rc. if the SetMap failed although the check above @@ -3120,8 +3118,7 @@ ProcXkbSetCompatMap(ClientPtr client) for (other = inputInfo.devices; other; other = other->next) { if ((other != dev) && other->key && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, - DixManageAccess); + rc = XaceHookDeviceAccess(client, other, DixManageAccess); if (rc == Success) { /* dry-run */ rc = _XkbSetCompatMap(client, other, stuff, data, TRUE); @@ -3142,8 +3139,7 @@ ProcXkbSetCompatMap(ClientPtr client) for (other = inputInfo.devices; other; other = other->next) { if ((other != dev) && other->key && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, - DixManageAccess); + rc = XaceHookDeviceAccess(client, other, DixManageAccess); if (rc == Success) { rc = _XkbSetCompatMap(client, other, stuff, data, FALSE); if (rc != Success) @@ -3404,8 +3400,7 @@ ProcXkbSetIndicatorMap(ClientPtr client) for (other = inputInfo.devices; other; other = other->next) { if ((other != dev) && other->key && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, - DixSetAttrAccess); + rc = XaceHookDeviceAccess(client, other, DixSetAttrAccess); if (rc == Success) _XkbSetIndicatorMap(client, other, stuff->which, from); } @@ -3673,7 +3668,7 @@ ProcXkbSetNamedIndicator(ClientPtr client) if ((other != dev) && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev && (other->kbdfeed || other->leds) && - (XaceHook(XACE_DEVICE_ACCESS, client, other, DixSetAttrAccess) + (XaceHookDeviceAccess(client, other, DixSetAttrAccess) == Success)) { rc = _XkbCreateIndicatorMap(other, stuff->indicator, stuff->ledClass, stuff->ledID, &map, @@ -3697,7 +3692,7 @@ ProcXkbSetNamedIndicator(ClientPtr client) if ((other != dev) && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev && (other->kbdfeed || other->leds) && - (XaceHook(XACE_DEVICE_ACCESS, client, other, DixSetAttrAccess) + (XaceHookDeviceAccess(client, other, DixSetAttrAccess) == Success)) { _XkbSetNamedIndicator(client, other, stuff); } @@ -4536,8 +4531,7 @@ ProcXkbSetNames(ClientPtr client) if ((other != dev) && other->key && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, - DixManageAccess); + rc = XaceHookDeviceAccess(client, other, DixManageAccess); if (rc == Success) { rc = _XkbSetNamesCheck(client, other, stuff, tmp); if (rc != Success) @@ -4560,8 +4554,7 @@ ProcXkbSetNames(ClientPtr client) if ((other != dev) && other->key && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, - DixManageAccess); + rc = XaceHookDeviceAccess(client, other, DixManageAccess); if (rc == Success) _XkbSetNames(client, other, stuff); } @@ -5689,8 +5682,7 @@ ProcXkbSetGeometry(ClientPtr client) for (other = inputInfo.devices; other; other = other->next) { if ((other != dev) && other->key && !IsMaster(other) && GetMaster(other, MASTER_KEYBOARD) == dev) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, - DixManageAccess); + rc = XaceHookDeviceAccess(client, other, DixManageAccess); if (rc == Success) _XkbSetGeometry(client, other, stuff); } @@ -6915,8 +6907,7 @@ ProcXkbSetDeviceInfo(ClientPtr client) GetMaster(other, MASTER_KEYBOARD) == dev) && ((stuff->deviceSpec == XkbUseCoreKbd && other->key) || (stuff->deviceSpec == XkbUseCorePtr && other->button))) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, - DixManageAccess); + rc = XaceHookDeviceAccess(client, other, DixManageAccess); if (rc == Success) { rc = _XkbSetDeviceInfoCheck(client, other, stuff); if (rc != Success) @@ -6940,8 +6931,7 @@ ProcXkbSetDeviceInfo(ClientPtr client) GetMaster(other, MASTER_KEYBOARD) == dev) && ((stuff->deviceSpec == XkbUseCoreKbd && other->key) || (stuff->deviceSpec == XkbUseCorePtr && other->button))) { - rc = XaceHook(XACE_DEVICE_ACCESS, client, other, - DixManageAccess); + rc = XaceHookDeviceAccess(client, other, DixManageAccess); if (rc == Success) { rc = _XkbSetDeviceInfo(client, other, stuff); if (rc != Success)