Implement flag for telling cuse(3) clients if the peer is running in 32-bit
compat mode or not. This is useful when implementing compatibility ioctl(2) handlers in userspace. MFC after: 1 week Sponsored by: Mellanox Technologies
This commit is contained in:
parent
870e4adb34
commit
d9340a46aa
@ -25,7 +25,7 @@
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd October 5, 2017
|
||||
.Dd April 17, 2019
|
||||
.Dt CUSE 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -303,6 +303,7 @@ enum {
|
||||
CUSE_FFLAG_READ
|
||||
CUSE_FFLAG_WRITE
|
||||
CUSE_FFLAG_NONBLOCK
|
||||
CUSE_FFLAG_COMPAT32
|
||||
|
||||
CUSE_CMD_NONE
|
||||
CUSE_CMD_OPEN
|
||||
|
@ -51,6 +51,7 @@
|
||||
#include <sys/vnode.h>
|
||||
#include <sys/selinfo.h>
|
||||
#include <sys/ptrace.h>
|
||||
#include <sys/sysent.h>
|
||||
|
||||
#include <machine/bus.h>
|
||||
|
||||
@ -536,7 +537,10 @@ cuse_client_send_command_locked(struct cuse_client_command *pccmd,
|
||||
|
||||
if (ioflag & IO_NDELAY)
|
||||
cuse_fflags |= CUSE_FFLAG_NONBLOCK;
|
||||
|
||||
#if defined(__LP64__)
|
||||
if (SV_CURPROC_FLAG(SV_ILP32))
|
||||
cuse_fflags |= CUSE_FFLAG_COMPAT32;
|
||||
#endif
|
||||
pccmd->sub.fflags = cuse_fflags;
|
||||
pccmd->sub.data_pointer = data_ptr;
|
||||
pccmd->sub.argument = arg;
|
||||
|
@ -27,7 +27,7 @@
|
||||
#ifndef _CUSE_DEFS_H_
|
||||
#define _CUSE_DEFS_H_
|
||||
|
||||
#define CUSE_VERSION 0x000123
|
||||
#define CUSE_VERSION 0x000124
|
||||
|
||||
#define CUSE_ERR_NONE 0
|
||||
#define CUSE_ERR_BUSY -1
|
||||
@ -49,6 +49,7 @@
|
||||
#define CUSE_FFLAG_READ 1
|
||||
#define CUSE_FFLAG_WRITE 2
|
||||
#define CUSE_FFLAG_NONBLOCK 4
|
||||
#define CUSE_FFLAG_COMPAT32 8 /* peer is running in 32-bit compat mode */
|
||||
|
||||
#define CUSE_DBG_NONE 0
|
||||
#define CUSE_DBG_FULL 1
|
||||
|
Loading…
Reference in New Issue
Block a user