Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:olh:xen-buildrequires
valgrind
valgrind.xen-4.11-handle-IOCTL_PRIVCMD_MMAP_RES...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File valgrind.xen-4.11-handle-IOCTL_PRIVCMD_MMAP_RESOURCE.patch of Package valgrind
From: Olaf Hering <olaf@aepfle.de> Date: Tue, 20 Nov 2018 11:05:35 +0100 Subject: xen-4.11: handle IOCTL_PRIVCMD_MMAP_RESOURCE Handle IOCTL_PRIVCMD_MMAP_RESOURCE bz#390553 --- coregrind/m_syswrap/syswrap-linux.c | 18 ++++++++++++++++++ include/vki/vki-linux.h | 9 +++++++++ 2 files changed, 27 insertions(+) --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -8441,24 +8441,41 @@ PRE(sys_ioctl) struct vki_xen_privcmd_dm_op *args = (struct vki_xen_privcmd_dm_op *)(ARG3); PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_DM_OP(dom)", (Addr)&args->dom, sizeof(args->dom)); PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_DM_OP(num)", (Addr)&args->num, sizeof(args->num)); PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_DM_OP(ubufs)", (Addr)args->ubufs, sizeof(*(args->ubufs)) * args->num); break; } case VKI_XEN_IOCTL_PRIVCMD_RESTRICT: break; + case VKI_XEN_IOCTL_PRIVCMD_MMAP_RESOURCE: { + struct vki_xen_privcmd_mmap_resource *args = + (struct vki_xen_privcmd_mmap_resource *)(ARG3); + PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAP_RESOURCE(dom)", + (Addr)&args->dom, sizeof(args->dom)); + PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAP_RESOURCE(type)", + (Addr)&args->type, sizeof(args->type)); + PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAP_RESOURCE(id)", + (Addr)&args->id, sizeof(args->id)); + PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAP_RESOURCE(idx)", + (Addr)&args->idx, sizeof(args->idx)); + PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAP_RESOURCE(num)", + (Addr)&args->num, sizeof(args->num)); + PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAP_RESOURCE(addr)", + (Addr)&args->addr, sizeof(args->addr)); + break; + } case VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ: { struct vki_xen_ioctl_evtchn_bind_virq *args = (struct vki_xen_ioctl_evtchn_bind_virq *)(Addr)(ARG3); PRE_MEM_READ("VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ(virq)", (Addr)&args->virq, sizeof(args->virq)); } break; case VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN: { struct vki_xen_ioctl_evtchn_bind_interdomain *args = (struct vki_xen_ioctl_evtchn_bind_interdomain *)(Addr)(ARG3); PRE_MEM_READ("VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN(remote_domain)", @@ -11160,24 +11177,25 @@ POST(sys_ioctl) struct vki_xen_privcmd_mmapbatch_v2 *args = (struct vki_xen_privcmd_mmapbatch_v2 *)(Addr)(ARG3); POST_MEM_WRITE((Addr)args->err, sizeof(*(args->err)) * args->num); } break; case VKI_XEN_IOCTL_PRIVCMD_DM_OP: { struct vki_xen_privcmd_dm_op *args = (struct vki_xen_privcmd_dm_op *)(ARG3); POST_MEM_WRITE((Addr)args->ubufs, sizeof(*(args->ubufs)) * args->num); } break; case VKI_XEN_IOCTL_PRIVCMD_RESTRICT: + case VKI_XEN_IOCTL_PRIVCMD_MMAP_RESOURCE: break; case VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ: case VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN: case VKI_XEN_IOCTL_EVTCHN_BIND_UNBOUND_PORT: case VKI_XEN_IOCTL_EVTCHN_UNBIND: case VKI_XEN_IOCTL_EVTCHN_NOTIFY: case VKI_XEN_IOCTL_EVTCHN_RESET: /* No output */ break; case VKI_XEN_IOCTL_GNTDEV_MAP_GRANT_REF: { struct vki_xen_ioctl_gntdev_map_grant_ref *args = --- a/include/vki/vki-linux.h +++ b/include/vki/vki-linux.h @@ -3459,33 +3459,42 @@ struct vki_xen_privcmd_mmapbatch_v2 { struct vki_xen_privcmd_dm_op_buf { void __user *uptr; __vki_kernel_size_t size; }; struct vki_xen_privcmd_dm_op { __vki_u16 dom; __vki_u16 num; const struct vki_xen_privcmd_dm_op_buf __user *ubufs; }; +struct vki_xen_privcmd_mmap_resource { + __vki_u16 dom; + __vki_u32 type; + __vki_u32 id; + __vki_u32 idx; + __vki_u64 num; + __vki_u64 addr; +}; #define VKI_XEN_IOCTL_PRIVCMD_HYPERCALL _VKI_IOC(_VKI_IOC_NONE, 'P', 0, sizeof(struct vki_xen_privcmd_hypercall)) #define VKI_XEN_IOCTL_PRIVCMD_MMAP _VKI_IOC(_VKI_IOC_NONE, 'P', 2, sizeof(struct vki_xen_privcmd_mmap)) #define VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH _VKI_IOC(_VKI_IOC_NONE, 'P', 3, sizeof(struct vki_xen_privcmd_mmapbatch)) #define VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH_V2 _VKI_IOC(_VKI_IOC_NONE, 'P', 4, sizeof(struct vki_xen_privcmd_mmapbatch_v2)) #define VKI_XEN_IOCTL_PRIVCMD_DM_OP _VKI_IOC(_VKI_IOC_NONE, 'P', 5, sizeof(struct vki_xen_privcmd_dm_op)) #define VKI_XEN_IOCTL_PRIVCMD_RESTRICT _VKI_IOC(_VKI_IOC_NONE, 'P', 6, sizeof(__vki_u16)) +#define VKI_XEN_IOCTL_PRIVCMD_MMAP_RESOURCE _VKI_IOC(_VKI_IOC_NONE, 'P', 7, sizeof(struct vki_xen_privcmd_mmap_resource)) //---------------------------------------------------------------------- // Xen evtchn IOCTL //---------------------------------------------------------------------- #define VKI_XEN_IOCTL_EVTCHN_BIND_VIRQ \ _VKI_IOC(_VKI_IOC_NONE, 'E', 0, sizeof(struct vki_xen_ioctl_evtchn_bind_virq)) struct vki_xen_ioctl_evtchn_bind_virq { vki_uint32_t virq; }; #define VKI_XEN_IOCTL_EVTCHN_BIND_INTERDOMAIN \
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor