cleanup: Tweak and re-run return_directly.cocci
Tweak the semantic patch to drop redundant parenthesis around the return expression. Coccinelle drops a comment in hw/rdma/vmw/pvrdma_cmd.c; restored manually. Coccinelle messes up vmdk_co_create(), not sure why. Change dropped, will be done manually in the next commit. Line breaks in target/avr/cpu.h and hw/rdma/vmw/pvrdma_cmd.c tidied up manually. Whitespace in tools/virtiofsd/fuse_lowlevel.c tidied up manually. checkpatch.pl complains "return of an errno should typically be -ve" two times for hw/9pfs/9p-synth.c. Preexisting, the patch merely makes it visible to checkpatch.pl. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20221122134917.1217307-2-armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
10220d2f96
commit
66997c42e0
@ -72,7 +72,6 @@ static V9fsSynthNode *v9fs_add_dir_node(V9fsSynthNode *parent, int mode,
|
|||||||
int qemu_v9fs_synth_mkdir(V9fsSynthNode *parent, int mode,
|
int qemu_v9fs_synth_mkdir(V9fsSynthNode *parent, int mode,
|
||||||
const char *name, V9fsSynthNode **result)
|
const char *name, V9fsSynthNode **result)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
V9fsSynthNode *node, *tmp;
|
V9fsSynthNode *node, *tmp;
|
||||||
|
|
||||||
if (!synth_fs) {
|
if (!synth_fs) {
|
||||||
@ -87,8 +86,7 @@ int qemu_v9fs_synth_mkdir(V9fsSynthNode *parent, int mode,
|
|||||||
QEMU_LOCK_GUARD(&synth_mutex);
|
QEMU_LOCK_GUARD(&synth_mutex);
|
||||||
QLIST_FOREACH(tmp, &parent->child, sibling) {
|
QLIST_FOREACH(tmp, &parent->child, sibling) {
|
||||||
if (!strcmp(tmp->name, name)) {
|
if (!strcmp(tmp->name, name)) {
|
||||||
ret = EEXIST;
|
return EEXIST;
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Add the name */
|
/* Add the name */
|
||||||
@ -98,15 +96,13 @@ int qemu_v9fs_synth_mkdir(V9fsSynthNode *parent, int mode,
|
|||||||
v9fs_add_dir_node(node, node->attr->mode, ".",
|
v9fs_add_dir_node(node, node->attr->mode, ".",
|
||||||
node->attr, node->attr->inode);
|
node->attr, node->attr->inode);
|
||||||
*result = node;
|
*result = node;
|
||||||
ret = 0;
|
return 0;
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int qemu_v9fs_synth_add_file(V9fsSynthNode *parent, int mode,
|
int qemu_v9fs_synth_add_file(V9fsSynthNode *parent, int mode,
|
||||||
const char *name, v9fs_synth_read read,
|
const char *name, v9fs_synth_read read,
|
||||||
v9fs_synth_write write, void *arg)
|
v9fs_synth_write write, void *arg)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
V9fsSynthNode *node, *tmp;
|
V9fsSynthNode *node, *tmp;
|
||||||
|
|
||||||
if (!synth_fs) {
|
if (!synth_fs) {
|
||||||
@ -122,8 +118,7 @@ int qemu_v9fs_synth_add_file(V9fsSynthNode *parent, int mode,
|
|||||||
QEMU_LOCK_GUARD(&synth_mutex);
|
QEMU_LOCK_GUARD(&synth_mutex);
|
||||||
QLIST_FOREACH(tmp, &parent->child, sibling) {
|
QLIST_FOREACH(tmp, &parent->child, sibling) {
|
||||||
if (!strcmp(tmp->name, name)) {
|
if (!strcmp(tmp->name, name)) {
|
||||||
ret = EEXIST;
|
return EEXIST;
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Add file type and remove write bits */
|
/* Add file type and remove write bits */
|
||||||
@ -138,8 +133,7 @@ int qemu_v9fs_synth_add_file(V9fsSynthNode *parent, int mode,
|
|||||||
node->private = arg;
|
node->private = arg;
|
||||||
pstrcpy(node->name, sizeof(node->name), name);
|
pstrcpy(node->name, sizeof(node->name), name);
|
||||||
QLIST_INSERT_HEAD_RCU(&parent->child, node, sibling);
|
QLIST_INSERT_HEAD_RCU(&parent->child, node, sibling);
|
||||||
ret = 0;
|
return 0;
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void synth_fill_statbuf(V9fsSynthNode *node, struct stat *stbuf)
|
static void synth_fill_statbuf(V9fsSynthNode *node, struct stat *stbuf)
|
||||||
|
@ -274,7 +274,6 @@ SiFiveUARTState *sifive_uart_create(MemoryRegion *address_space, hwaddr base,
|
|||||||
{
|
{
|
||||||
DeviceState *dev;
|
DeviceState *dev;
|
||||||
SysBusDevice *s;
|
SysBusDevice *s;
|
||||||
SiFiveUARTState *r;
|
|
||||||
|
|
||||||
dev = qdev_new("riscv.sifive.uart");
|
dev = qdev_new("riscv.sifive.uart");
|
||||||
s = SYS_BUS_DEVICE(dev);
|
s = SYS_BUS_DEVICE(dev);
|
||||||
@ -284,6 +283,5 @@ SiFiveUARTState *sifive_uart_create(MemoryRegion *address_space, hwaddr base,
|
|||||||
sysbus_mmio_get_region(s, 0));
|
sysbus_mmio_get_region(s, 0));
|
||||||
sysbus_connect_irq(s, 0, irq);
|
sysbus_connect_irq(s, 0, irq);
|
||||||
|
|
||||||
r = SIFIVE_UART(dev);
|
return SIFIVE_UART(dev);
|
||||||
return r;
|
|
||||||
}
|
}
|
||||||
|
@ -520,13 +520,10 @@ static inline hwaddr sdram_ddr2_base(uint32_t bcr)
|
|||||||
|
|
||||||
static hwaddr sdram_ddr2_size(uint32_t bcr)
|
static hwaddr sdram_ddr2_size(uint32_t bcr)
|
||||||
{
|
{
|
||||||
hwaddr size;
|
|
||||||
int sh;
|
int sh;
|
||||||
|
|
||||||
sh = 1024 - ((bcr >> 6) & 0x3ff);
|
sh = 1024 - ((bcr >> 6) & 0x3ff);
|
||||||
size = 8 * MiB * sh;
|
return 8 * MiB * sh;
|
||||||
|
|
||||||
return size;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint32_t sdram_ddr2_dcr_read(void *opaque, int dcrn)
|
static uint32_t sdram_ddr2_dcr_read(void *opaque, int dcrn)
|
||||||
|
@ -182,13 +182,10 @@ static int create_pd(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
|||||||
{
|
{
|
||||||
struct pvrdma_cmd_create_pd *cmd = &req->create_pd;
|
struct pvrdma_cmd_create_pd *cmd = &req->create_pd;
|
||||||
struct pvrdma_cmd_create_pd_resp *resp = &rsp->create_pd_resp;
|
struct pvrdma_cmd_create_pd_resp *resp = &rsp->create_pd_resp;
|
||||||
int rc;
|
|
||||||
|
|
||||||
memset(resp, 0, sizeof(*resp));
|
memset(resp, 0, sizeof(*resp));
|
||||||
rc = rdma_rm_alloc_pd(&dev->rdma_dev_res, &dev->backend_dev,
|
return rdma_rm_alloc_pd(&dev->rdma_dev_res, &dev->backend_dev,
|
||||||
&resp->pd_handle, cmd->ctx_handle);
|
&resp->pd_handle, cmd->ctx_handle);
|
||||||
|
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int destroy_pd(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
static int destroy_pd(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
||||||
@ -504,20 +501,17 @@ static int modify_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
|||||||
union pvrdma_cmd_resp *rsp)
|
union pvrdma_cmd_resp *rsp)
|
||||||
{
|
{
|
||||||
struct pvrdma_cmd_modify_qp *cmd = &req->modify_qp;
|
struct pvrdma_cmd_modify_qp *cmd = &req->modify_qp;
|
||||||
int rc;
|
|
||||||
|
|
||||||
/* No need to verify sgid_index since it is u8 */
|
/* No need to verify sgid_index since it is u8 */
|
||||||
|
|
||||||
rc = rdma_rm_modify_qp(&dev->rdma_dev_res, &dev->backend_dev,
|
return rdma_rm_modify_qp(&dev->rdma_dev_res, &dev->backend_dev,
|
||||||
cmd->qp_handle, cmd->attr_mask,
|
cmd->qp_handle, cmd->attr_mask,
|
||||||
cmd->attrs.ah_attr.grh.sgid_index,
|
cmd->attrs.ah_attr.grh.sgid_index,
|
||||||
(union ibv_gid *)&cmd->attrs.ah_attr.grh.dgid,
|
(union ibv_gid *)&cmd->attrs.ah_attr.grh.dgid,
|
||||||
cmd->attrs.dest_qp_num,
|
cmd->attrs.dest_qp_num,
|
||||||
(enum ibv_qp_state)cmd->attrs.qp_state,
|
(enum ibv_qp_state)cmd->attrs.qp_state,
|
||||||
cmd->attrs.qkey, cmd->attrs.rq_psn,
|
cmd->attrs.qkey, cmd->attrs.rq_psn,
|
||||||
cmd->attrs.sq_psn);
|
cmd->attrs.sq_psn);
|
||||||
|
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int query_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
static int query_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
||||||
@ -526,15 +520,14 @@ static int query_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
|||||||
struct pvrdma_cmd_query_qp *cmd = &req->query_qp;
|
struct pvrdma_cmd_query_qp *cmd = &req->query_qp;
|
||||||
struct pvrdma_cmd_query_qp_resp *resp = &rsp->query_qp_resp;
|
struct pvrdma_cmd_query_qp_resp *resp = &rsp->query_qp_resp;
|
||||||
struct ibv_qp_init_attr init_attr;
|
struct ibv_qp_init_attr init_attr;
|
||||||
int rc;
|
|
||||||
|
|
||||||
memset(resp, 0, sizeof(*resp));
|
memset(resp, 0, sizeof(*resp));
|
||||||
|
|
||||||
rc = rdma_rm_query_qp(&dev->rdma_dev_res, &dev->backend_dev, cmd->qp_handle,
|
return rdma_rm_query_qp(&dev->rdma_dev_res, &dev->backend_dev,
|
||||||
(struct ibv_qp_attr *)&resp->attrs, cmd->attr_mask,
|
cmd->qp_handle,
|
||||||
&init_attr);
|
(struct ibv_qp_attr *)&resp->attrs,
|
||||||
|
cmd->attr_mask,
|
||||||
return rc;
|
&init_attr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int destroy_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
static int destroy_qp(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
||||||
@ -560,34 +553,27 @@ static int create_bind(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
|||||||
union pvrdma_cmd_resp *rsp)
|
union pvrdma_cmd_resp *rsp)
|
||||||
{
|
{
|
||||||
struct pvrdma_cmd_create_bind *cmd = &req->create_bind;
|
struct pvrdma_cmd_create_bind *cmd = &req->create_bind;
|
||||||
int rc;
|
|
||||||
union ibv_gid *gid = (union ibv_gid *)&cmd->new_gid;
|
union ibv_gid *gid = (union ibv_gid *)&cmd->new_gid;
|
||||||
|
|
||||||
if (cmd->index >= MAX_PORT_GIDS) {
|
if (cmd->index >= MAX_PORT_GIDS) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = rdma_rm_add_gid(&dev->rdma_dev_res, &dev->backend_dev,
|
return rdma_rm_add_gid(&dev->rdma_dev_res, &dev->backend_dev,
|
||||||
dev->backend_eth_device_name, gid, cmd->index);
|
dev->backend_eth_device_name, gid, cmd->index);
|
||||||
|
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int destroy_bind(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
static int destroy_bind(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
||||||
union pvrdma_cmd_resp *rsp)
|
union pvrdma_cmd_resp *rsp)
|
||||||
{
|
{
|
||||||
int rc;
|
|
||||||
|
|
||||||
struct pvrdma_cmd_destroy_bind *cmd = &req->destroy_bind;
|
struct pvrdma_cmd_destroy_bind *cmd = &req->destroy_bind;
|
||||||
|
|
||||||
if (cmd->index >= MAX_PORT_GIDS) {
|
if (cmd->index >= MAX_PORT_GIDS) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = rdma_rm_del_gid(&dev->rdma_dev_res, &dev->backend_dev,
|
return rdma_rm_del_gid(&dev->rdma_dev_res, &dev->backend_dev,
|
||||||
dev->backend_eth_device_name, cmd->index);
|
dev->backend_eth_device_name, cmd->index);
|
||||||
|
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int create_uc(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
static int create_uc(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
||||||
@ -595,12 +581,9 @@ static int create_uc(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
|||||||
{
|
{
|
||||||
struct pvrdma_cmd_create_uc *cmd = &req->create_uc;
|
struct pvrdma_cmd_create_uc *cmd = &req->create_uc;
|
||||||
struct pvrdma_cmd_create_uc_resp *resp = &rsp->create_uc_resp;
|
struct pvrdma_cmd_create_uc_resp *resp = &rsp->create_uc_resp;
|
||||||
int rc;
|
|
||||||
|
|
||||||
memset(resp, 0, sizeof(*resp));
|
memset(resp, 0, sizeof(*resp));
|
||||||
rc = rdma_rm_alloc_uc(&dev->rdma_dev_res, cmd->pfn, &resp->ctx_handle);
|
return rdma_rm_alloc_uc(&dev->rdma_dev_res, cmd->pfn, &resp->ctx_handle);
|
||||||
|
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int destroy_uc(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
static int destroy_uc(PVRDMADev *dev, union pvrdma_cmd_req *req,
|
||||||
|
@ -2533,11 +2533,7 @@ vhost_user_crypto_close_session(struct vhost_dev *dev, uint64_t session_id)
|
|||||||
static bool vhost_user_mem_section_filter(struct vhost_dev *dev,
|
static bool vhost_user_mem_section_filter(struct vhost_dev *dev,
|
||||||
MemoryRegionSection *section)
|
MemoryRegionSection *section)
|
||||||
{
|
{
|
||||||
bool result;
|
return memory_region_get_fd(section->mr) >= 0;
|
||||||
|
|
||||||
result = memory_region_get_fd(section->mr) >= 0;
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int vhost_user_get_inflight_fd(struct vhost_dev *dev,
|
static int vhost_user_get_inflight_fd(struct vhost_dev *dev,
|
||||||
|
@ -921,11 +921,8 @@ PCI_DMA_DEFINE_LDST(q_be, q_be, 64);
|
|||||||
static inline void *pci_dma_map(PCIDevice *dev, dma_addr_t addr,
|
static inline void *pci_dma_map(PCIDevice *dev, dma_addr_t addr,
|
||||||
dma_addr_t *plen, DMADirection dir)
|
dma_addr_t *plen, DMADirection dir)
|
||||||
{
|
{
|
||||||
void *buf;
|
return dma_memory_map(pci_get_address_space(dev), addr, plen, dir,
|
||||||
|
MEMTXATTRS_UNSPECIFIED);
|
||||||
buf = dma_memory_map(pci_get_address_space(dev), addr, plen, dir,
|
|
||||||
MEMTXATTRS_UNSPECIFIED);
|
|
||||||
return buf;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void pci_dma_unmap(PCIDevice *dev, void *buffer, dma_addr_t len,
|
static inline void pci_dma_unmap(PCIDevice *dev, void *buffer, dma_addr_t len,
|
||||||
|
@ -111,7 +111,6 @@ static void global_dirty_log_sync(unsigned int flag, bool one_shot)
|
|||||||
static DirtyPageRecord *vcpu_dirty_stat_alloc(VcpuStat *stat)
|
static DirtyPageRecord *vcpu_dirty_stat_alloc(VcpuStat *stat)
|
||||||
{
|
{
|
||||||
CPUState *cpu;
|
CPUState *cpu;
|
||||||
DirtyPageRecord *records;
|
|
||||||
int nvcpu = 0;
|
int nvcpu = 0;
|
||||||
|
|
||||||
CPU_FOREACH(cpu) {
|
CPU_FOREACH(cpu) {
|
||||||
@ -121,9 +120,7 @@ static DirtyPageRecord *vcpu_dirty_stat_alloc(VcpuStat *stat)
|
|||||||
stat->nvcpu = nvcpu;
|
stat->nvcpu = nvcpu;
|
||||||
stat->rates = g_new0(DirtyRateVcpu, nvcpu);
|
stat->rates = g_new0(DirtyRateVcpu, nvcpu);
|
||||||
|
|
||||||
records = g_new0(DirtyPageRecord, nvcpu);
|
return g_new0(DirtyPageRecord, nvcpu);
|
||||||
|
|
||||||
return records;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vcpu_dirty_stat_collect(VcpuStat *stat,
|
static void vcpu_dirty_stat_collect(VcpuStat *stat,
|
||||||
@ -473,7 +470,6 @@ find_block_matched(RAMBlock *block, int count,
|
|||||||
struct RamblockDirtyInfo *infos)
|
struct RamblockDirtyInfo *infos)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
struct RamblockDirtyInfo *matched;
|
|
||||||
|
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
if (!strcmp(infos[i].idstr, qemu_ram_get_idstr(block))) {
|
if (!strcmp(infos[i].idstr, qemu_ram_get_idstr(block))) {
|
||||||
@ -492,9 +488,7 @@ find_block_matched(RAMBlock *block, int count,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
matched = &infos[i];
|
return &infos[i];
|
||||||
|
|
||||||
return matched;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool compare_page_hash_info(struct RamblockDirtyInfo *info,
|
static bool compare_page_hash_info(struct RamblockDirtyInfo *info,
|
||||||
|
@ -126,7 +126,6 @@ QIOChannelTLS *migration_tls_client_create(MigrationState *s,
|
|||||||
Error **errp)
|
Error **errp)
|
||||||
{
|
{
|
||||||
QCryptoTLSCreds *creds;
|
QCryptoTLSCreds *creds;
|
||||||
QIOChannelTLS *tioc;
|
|
||||||
|
|
||||||
creds = migration_tls_get_creds(
|
creds = migration_tls_get_creds(
|
||||||
s, QCRYPTO_TLS_CREDS_ENDPOINT_CLIENT, errp);
|
s, QCRYPTO_TLS_CREDS_ENDPOINT_CLIENT, errp);
|
||||||
@ -138,10 +137,7 @@ QIOChannelTLS *migration_tls_client_create(MigrationState *s,
|
|||||||
hostname = s->parameters.tls_hostname;
|
hostname = s->parameters.tls_hostname;
|
||||||
}
|
}
|
||||||
|
|
||||||
tioc = qio_channel_tls_new_client(
|
return qio_channel_tls_new_client(ioc, creds, hostname, errp);
|
||||||
ioc, creds, hostname, errp);
|
|
||||||
|
|
||||||
return tioc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void migration_tls_channel_connect(MigrationState *s,
|
void migration_tls_channel_connect(MigrationState *s,
|
||||||
|
@ -48,7 +48,6 @@ void replay_read_next_clock(ReplayClockKind kind)
|
|||||||
/*! Reads next clock event from the input. */
|
/*! Reads next clock event from the input. */
|
||||||
int64_t replay_read_clock(ReplayClockKind kind, int64_t raw_icount)
|
int64_t replay_read_clock(ReplayClockKind kind, int64_t raw_icount)
|
||||||
{
|
{
|
||||||
int64_t ret;
|
|
||||||
g_assert(replay_file && replay_mutex_locked());
|
g_assert(replay_file && replay_mutex_locked());
|
||||||
|
|
||||||
replay_advance_current_icount(raw_icount);
|
replay_advance_current_icount(raw_icount);
|
||||||
@ -56,7 +55,5 @@ int64_t replay_read_clock(ReplayClockKind kind, int64_t raw_icount)
|
|||||||
if (replay_next_event_is(EVENT_CLOCK + kind)) {
|
if (replay_next_event_is(EVENT_CLOCK + kind)) {
|
||||||
replay_read_next_clock(kind);
|
replay_read_next_clock(kind);
|
||||||
}
|
}
|
||||||
ret = replay_state.cached_clock[kind];
|
return replay_state.cached_clock[kind];
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
@ -11,9 +11,8 @@ identifier F;
|
|||||||
- T VAR;
|
- T VAR;
|
||||||
... when != VAR
|
... when != VAR
|
||||||
|
|
||||||
- VAR =
|
- VAR = (E);
|
||||||
+ return
|
|
||||||
E;
|
|
||||||
- return VAR;
|
- return VAR;
|
||||||
|
+ return E;
|
||||||
... when != VAR
|
... when != VAR
|
||||||
}
|
}
|
||||||
|
@ -43,10 +43,8 @@ static SemihostingConsole console;
|
|||||||
static int console_can_read(void *opaque)
|
static int console_can_read(void *opaque)
|
||||||
{
|
{
|
||||||
SemihostingConsole *c = opaque;
|
SemihostingConsole *c = opaque;
|
||||||
int ret;
|
|
||||||
g_assert(qemu_mutex_iothread_locked());
|
g_assert(qemu_mutex_iothread_locked());
|
||||||
ret = (int) fifo8_num_free(&c->fifo);
|
return (int)fifo8_num_free(&c->fifo);
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void console_wake_up(gpointer data, gpointer user_data)
|
static void console_wake_up(gpointer data, gpointer user_data)
|
||||||
|
@ -2372,20 +2372,15 @@ void memory_region_reset_dirty(MemoryRegion *mr, hwaddr addr,
|
|||||||
|
|
||||||
int memory_region_get_fd(MemoryRegion *mr)
|
int memory_region_get_fd(MemoryRegion *mr)
|
||||||
{
|
{
|
||||||
int fd;
|
|
||||||
|
|
||||||
RCU_READ_LOCK_GUARD();
|
RCU_READ_LOCK_GUARD();
|
||||||
while (mr->alias) {
|
while (mr->alias) {
|
||||||
mr = mr->alias;
|
mr = mr->alias;
|
||||||
}
|
}
|
||||||
fd = mr->ram_block->fd;
|
return mr->ram_block->fd;
|
||||||
|
|
||||||
return fd;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void *memory_region_get_ram_ptr(MemoryRegion *mr)
|
void *memory_region_get_ram_ptr(MemoryRegion *mr)
|
||||||
{
|
{
|
||||||
void *ptr;
|
|
||||||
uint64_t offset = 0;
|
uint64_t offset = 0;
|
||||||
|
|
||||||
RCU_READ_LOCK_GUARD();
|
RCU_READ_LOCK_GUARD();
|
||||||
@ -2394,9 +2389,7 @@ void *memory_region_get_ram_ptr(MemoryRegion *mr)
|
|||||||
mr = mr->alias;
|
mr = mr->alias;
|
||||||
}
|
}
|
||||||
assert(mr->ram_block);
|
assert(mr->ram_block);
|
||||||
ptr = qemu_map_ram_ptr(mr->ram_block, offset);
|
return qemu_map_ram_ptr(mr->ram_block, offset);
|
||||||
|
|
||||||
return ptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MemoryRegion *memory_region_from_host(void *ptr, ram_addr_t *offset)
|
MemoryRegion *memory_region_from_host(void *ptr, ram_addr_t *offset)
|
||||||
|
@ -3236,7 +3236,6 @@ void *address_space_map(AddressSpace *as,
|
|||||||
hwaddr len = *plen;
|
hwaddr len = *plen;
|
||||||
hwaddr l, xlat;
|
hwaddr l, xlat;
|
||||||
MemoryRegion *mr;
|
MemoryRegion *mr;
|
||||||
void *ptr;
|
|
||||||
FlatView *fv;
|
FlatView *fv;
|
||||||
|
|
||||||
if (len == 0) {
|
if (len == 0) {
|
||||||
@ -3275,9 +3274,7 @@ void *address_space_map(AddressSpace *as,
|
|||||||
*plen = flatview_extend_translation(fv, addr, len, mr, xlat,
|
*plen = flatview_extend_translation(fv, addr, len, mr, xlat,
|
||||||
l, is_write, attrs);
|
l, is_write, attrs);
|
||||||
fuzz_dma_read_cb(addr, *plen, mr);
|
fuzz_dma_read_cb(addr, *plen, mr);
|
||||||
ptr = qemu_ram_ptr_length(mr->ram_block, xlat, plen, true);
|
return qemu_ram_ptr_length(mr->ram_block, xlat, plen, true);
|
||||||
|
|
||||||
return ptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Unmaps a memory region previously mapped by address_space_map().
|
/* Unmaps a memory region previously mapped by address_space_map().
|
||||||
@ -3545,15 +3542,13 @@ bool cpu_physical_memory_is_io(hwaddr phys_addr)
|
|||||||
{
|
{
|
||||||
MemoryRegion*mr;
|
MemoryRegion*mr;
|
||||||
hwaddr l = 1;
|
hwaddr l = 1;
|
||||||
bool res;
|
|
||||||
|
|
||||||
RCU_READ_LOCK_GUARD();
|
RCU_READ_LOCK_GUARD();
|
||||||
mr = address_space_translate(&address_space_memory,
|
mr = address_space_translate(&address_space_memory,
|
||||||
phys_addr, &phys_addr, &l, false,
|
phys_addr, &phys_addr, &l, false,
|
||||||
MEMTXATTRS_UNSPECIFIED);
|
MEMTXATTRS_UNSPECIFIED);
|
||||||
|
|
||||||
res = !(memory_region_is_ram(mr) || memory_region_is_romd(mr));
|
return !(memory_region_is_ram(mr) || memory_region_is_romd(mr));
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)
|
int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)
|
||||||
|
@ -215,8 +215,7 @@ static inline int cpu_interrupts_enabled(CPUAVRState *env)
|
|||||||
|
|
||||||
static inline uint8_t cpu_get_sreg(CPUAVRState *env)
|
static inline uint8_t cpu_get_sreg(CPUAVRState *env)
|
||||||
{
|
{
|
||||||
uint8_t sreg;
|
return (env->sregC) << 0
|
||||||
sreg = (env->sregC) << 0
|
|
||||||
| (env->sregZ) << 1
|
| (env->sregZ) << 1
|
||||||
| (env->sregN) << 2
|
| (env->sregN) << 2
|
||||||
| (env->sregV) << 3
|
| (env->sregV) << 3
|
||||||
@ -224,7 +223,6 @@ static inline uint8_t cpu_get_sreg(CPUAVRState *env)
|
|||||||
| (env->sregH) << 5
|
| (env->sregH) << 5
|
||||||
| (env->sregT) << 6
|
| (env->sregT) << 6
|
||||||
| (env->sregI) << 7;
|
| (env->sregI) << 7;
|
||||||
return sreg;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void cpu_set_sreg(CPUAVRState *env, uint8_t sreg)
|
static inline void cpu_set_sreg(CPUAVRState *env, uint8_t sreg)
|
||||||
|
@ -128,13 +128,11 @@ static inline bool cpu_loongarch_hw_interrupts_pending(CPULoongArchState *env)
|
|||||||
{
|
{
|
||||||
uint32_t pending;
|
uint32_t pending;
|
||||||
uint32_t status;
|
uint32_t status;
|
||||||
bool r;
|
|
||||||
|
|
||||||
pending = FIELD_EX64(env->CSR_ESTAT, CSR_ESTAT, IS);
|
pending = FIELD_EX64(env->CSR_ESTAT, CSR_ESTAT, IS);
|
||||||
status = FIELD_EX64(env->CSR_ECFG, CSR_ECFG, LIE);
|
status = FIELD_EX64(env->CSR_ECFG, CSR_ECFG, LIE);
|
||||||
|
|
||||||
r = (pending & status) != 0;
|
return (pending & status) != 0;
|
||||||
return r;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void loongarch_cpu_do_interrupt(CPUState *cs)
|
static void loongarch_cpu_do_interrupt(CPUState *cs)
|
||||||
|
@ -3281,15 +3281,12 @@ target_ulong helper_dextr_l(target_ulong ac, target_ulong shift,
|
|||||||
CPUMIPSState *env)
|
CPUMIPSState *env)
|
||||||
{
|
{
|
||||||
uint64_t temp[3];
|
uint64_t temp[3];
|
||||||
target_ulong ret;
|
|
||||||
|
|
||||||
shift = shift & 0x3F;
|
shift = shift & 0x3F;
|
||||||
|
|
||||||
mipsdsp_rndrashift_acc(temp, ac, shift, env);
|
mipsdsp_rndrashift_acc(temp, ac, shift, env);
|
||||||
|
|
||||||
ret = (temp[1] << 63) | (temp[0] >> 1);
|
return (temp[1] << 63) | (temp[0] >> 1);
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
target_ulong helper_dextr_r_l(target_ulong ac, target_ulong shift,
|
target_ulong helper_dextr_r_l(target_ulong ac, target_ulong shift,
|
||||||
@ -3297,7 +3294,6 @@ target_ulong helper_dextr_r_l(target_ulong ac, target_ulong shift,
|
|||||||
{
|
{
|
||||||
uint64_t temp[3];
|
uint64_t temp[3];
|
||||||
uint32_t temp128;
|
uint32_t temp128;
|
||||||
target_ulong ret;
|
|
||||||
|
|
||||||
shift = shift & 0x3F;
|
shift = shift & 0x3F;
|
||||||
mipsdsp_rndrashift_acc(temp, ac, shift, env);
|
mipsdsp_rndrashift_acc(temp, ac, shift, env);
|
||||||
@ -3317,9 +3313,7 @@ target_ulong helper_dextr_r_l(target_ulong ac, target_ulong shift,
|
|||||||
set_DSPControl_overflow_flag(1, 23, env);
|
set_DSPControl_overflow_flag(1, 23, env);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = (temp[1] << 63) | (temp[0] >> 1);
|
return (temp[1] << 63) | (temp[0] >> 1);
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
target_ulong helper_dextr_rs_l(target_ulong ac, target_ulong shift,
|
target_ulong helper_dextr_rs_l(target_ulong ac, target_ulong shift,
|
||||||
@ -3327,7 +3321,6 @@ target_ulong helper_dextr_rs_l(target_ulong ac, target_ulong shift,
|
|||||||
{
|
{
|
||||||
uint64_t temp[3];
|
uint64_t temp[3];
|
||||||
uint32_t temp128;
|
uint32_t temp128;
|
||||||
target_ulong ret;
|
|
||||||
|
|
||||||
shift = shift & 0x3F;
|
shift = shift & 0x3F;
|
||||||
mipsdsp_rndrashift_acc(temp, ac, shift, env);
|
mipsdsp_rndrashift_acc(temp, ac, shift, env);
|
||||||
@ -3354,9 +3347,7 @@ target_ulong helper_dextr_rs_l(target_ulong ac, target_ulong shift,
|
|||||||
set_DSPControl_overflow_flag(1, 23, env);
|
set_DSPControl_overflow_flag(1, 23, env);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = (temp[1] << 63) | (temp[0] >> 1);
|
return (temp[1] << 63) | (temp[0] >> 1);
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -243,15 +243,13 @@ static void do_trigger_action(CPURISCVState *env, target_ulong trigger_index)
|
|||||||
|
|
||||||
static uint32_t type2_breakpoint_size(CPURISCVState *env, target_ulong ctrl)
|
static uint32_t type2_breakpoint_size(CPURISCVState *env, target_ulong ctrl)
|
||||||
{
|
{
|
||||||
uint32_t size, sizelo, sizehi = 0;
|
uint32_t sizelo, sizehi = 0;
|
||||||
|
|
||||||
if (riscv_cpu_mxl(env) == MXL_RV64) {
|
if (riscv_cpu_mxl(env) == MXL_RV64) {
|
||||||
sizehi = extract32(ctrl, 21, 2);
|
sizehi = extract32(ctrl, 21, 2);
|
||||||
}
|
}
|
||||||
sizelo = extract32(ctrl, 16, 2);
|
sizelo = extract32(ctrl, 16, 2);
|
||||||
size = (sizehi << 2) | sizelo;
|
return (sizehi << 2) | sizelo;
|
||||||
|
|
||||||
return size;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool type2_breakpoint_enabled(target_ulong ctrl)
|
static inline bool type2_breakpoint_enabled(target_ulong ctrl)
|
||||||
|
@ -2791,31 +2791,25 @@ static inline uint16_t
|
|||||||
vssrl16(CPURISCVState *env, int vxrm, uint16_t a, uint16_t b)
|
vssrl16(CPURISCVState *env, int vxrm, uint16_t a, uint16_t b)
|
||||||
{
|
{
|
||||||
uint8_t round, shift = b & 0xf;
|
uint8_t round, shift = b & 0xf;
|
||||||
uint16_t res;
|
|
||||||
|
|
||||||
round = get_round(vxrm, a, shift);
|
round = get_round(vxrm, a, shift);
|
||||||
res = (a >> shift) + round;
|
return (a >> shift) + round;
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
static inline uint32_t
|
static inline uint32_t
|
||||||
vssrl32(CPURISCVState *env, int vxrm, uint32_t a, uint32_t b)
|
vssrl32(CPURISCVState *env, int vxrm, uint32_t a, uint32_t b)
|
||||||
{
|
{
|
||||||
uint8_t round, shift = b & 0x1f;
|
uint8_t round, shift = b & 0x1f;
|
||||||
uint32_t res;
|
|
||||||
|
|
||||||
round = get_round(vxrm, a, shift);
|
round = get_round(vxrm, a, shift);
|
||||||
res = (a >> shift) + round;
|
return (a >> shift) + round;
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
static inline uint64_t
|
static inline uint64_t
|
||||||
vssrl64(CPURISCVState *env, int vxrm, uint64_t a, uint64_t b)
|
vssrl64(CPURISCVState *env, int vxrm, uint64_t a, uint64_t b)
|
||||||
{
|
{
|
||||||
uint8_t round, shift = b & 0x3f;
|
uint8_t round, shift = b & 0x3f;
|
||||||
uint64_t res;
|
|
||||||
|
|
||||||
round = get_round(vxrm, a, shift);
|
round = get_round(vxrm, a, shift);
|
||||||
res = (a >> shift) + round;
|
return (a >> shift) + round;
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
RVVCALL(OPIVV2_RM, vssrl_vv_b, OP_UUU_B, H1, H1, H1, vssrl8)
|
RVVCALL(OPIVV2_RM, vssrl_vv_b, OP_UUU_B, H1, H1, H1, vssrl8)
|
||||||
RVVCALL(OPIVV2_RM, vssrl_vv_h, OP_UUU_H, H2, H2, H2, vssrl16)
|
RVVCALL(OPIVV2_RM, vssrl_vv_h, OP_UUU_H, H2, H2, H2, vssrl16)
|
||||||
@ -2839,41 +2833,33 @@ static inline int8_t
|
|||||||
vssra8(CPURISCVState *env, int vxrm, int8_t a, int8_t b)
|
vssra8(CPURISCVState *env, int vxrm, int8_t a, int8_t b)
|
||||||
{
|
{
|
||||||
uint8_t round, shift = b & 0x7;
|
uint8_t round, shift = b & 0x7;
|
||||||
int8_t res;
|
|
||||||
|
|
||||||
round = get_round(vxrm, a, shift);
|
round = get_round(vxrm, a, shift);
|
||||||
res = (a >> shift) + round;
|
return (a >> shift) + round;
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
static inline int16_t
|
static inline int16_t
|
||||||
vssra16(CPURISCVState *env, int vxrm, int16_t a, int16_t b)
|
vssra16(CPURISCVState *env, int vxrm, int16_t a, int16_t b)
|
||||||
{
|
{
|
||||||
uint8_t round, shift = b & 0xf;
|
uint8_t round, shift = b & 0xf;
|
||||||
int16_t res;
|
|
||||||
|
|
||||||
round = get_round(vxrm, a, shift);
|
round = get_round(vxrm, a, shift);
|
||||||
res = (a >> shift) + round;
|
return (a >> shift) + round;
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
static inline int32_t
|
static inline int32_t
|
||||||
vssra32(CPURISCVState *env, int vxrm, int32_t a, int32_t b)
|
vssra32(CPURISCVState *env, int vxrm, int32_t a, int32_t b)
|
||||||
{
|
{
|
||||||
uint8_t round, shift = b & 0x1f;
|
uint8_t round, shift = b & 0x1f;
|
||||||
int32_t res;
|
|
||||||
|
|
||||||
round = get_round(vxrm, a, shift);
|
round = get_round(vxrm, a, shift);
|
||||||
res = (a >> shift) + round;
|
return (a >> shift) + round;
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
static inline int64_t
|
static inline int64_t
|
||||||
vssra64(CPURISCVState *env, int vxrm, int64_t a, int64_t b)
|
vssra64(CPURISCVState *env, int vxrm, int64_t a, int64_t b)
|
||||||
{
|
{
|
||||||
uint8_t round, shift = b & 0x3f;
|
uint8_t round, shift = b & 0x3f;
|
||||||
int64_t res;
|
|
||||||
|
|
||||||
round = get_round(vxrm, a, shift);
|
round = get_round(vxrm, a, shift);
|
||||||
res = (a >> shift) + round;
|
return (a >> shift) + round;
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RVVCALL(OPIVV2_RM, vssra_vv_b, OP_SSS_B, H1, H1, H1, vssra8)
|
RVVCALL(OPIVV2_RM, vssra_vv_b, OP_SSS_B, H1, H1, H1, vssra8)
|
||||||
|
@ -24,14 +24,12 @@ static QCryptoAkCipher *create_rsa_akcipher(const uint8_t *priv_key,
|
|||||||
QCryptoHashAlgorithm hash)
|
QCryptoHashAlgorithm hash)
|
||||||
{
|
{
|
||||||
QCryptoAkCipherOptions opt;
|
QCryptoAkCipherOptions opt;
|
||||||
QCryptoAkCipher *rsa;
|
|
||||||
|
|
||||||
opt.alg = QCRYPTO_AKCIPHER_ALG_RSA;
|
opt.alg = QCRYPTO_AKCIPHER_ALG_RSA;
|
||||||
opt.u.rsa.padding_alg = padding;
|
opt.u.rsa.padding_alg = padding;
|
||||||
opt.u.rsa.hash_alg = hash;
|
opt.u.rsa.hash_alg = hash;
|
||||||
rsa = qcrypto_akcipher_new(&opt, QCRYPTO_AKCIPHER_KEY_TYPE_PRIVATE,
|
return qcrypto_akcipher_new(&opt, QCRYPTO_AKCIPHER_KEY_TYPE_PRIVATE,
|
||||||
priv_key, keylen, &error_abort);
|
priv_key, keylen, &error_abort);
|
||||||
return rsa;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_rsa_speed(const uint8_t *priv_key, size_t keylen,
|
static void test_rsa_speed(const uint8_t *priv_key, size_t keylen,
|
||||||
|
@ -154,10 +154,7 @@ static void test_acpi_erst_basic(void)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
|
|
||||||
g_test_init(&argc, &argv, NULL);
|
g_test_init(&argc, &argv, NULL);
|
||||||
qtest_add_func("/acpi-erst/basic", test_acpi_erst_basic);
|
qtest_add_func("/acpi-erst/basic", test_acpi_erst_basic);
|
||||||
ret = g_test_run();
|
return g_test_run();
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
@ -34,12 +34,8 @@ static void hex_loader_test(void)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
|
|
||||||
g_test_init(&argc, &argv, NULL);
|
g_test_init(&argc, &argv, NULL);
|
||||||
|
|
||||||
qtest_add_func("/tmp/hex_loader", hex_loader_test);
|
qtest_add_func("/tmp/hex_loader", hex_loader_test);
|
||||||
ret = g_test_run();
|
return g_test_run();
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
@ -86,13 +86,9 @@ static void test_panic(void)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
|
|
||||||
g_test_init(&argc, &argv, NULL);
|
g_test_init(&argc, &argv, NULL);
|
||||||
qtest_add_func("/pvpanic-pci/panic", test_panic);
|
qtest_add_func("/pvpanic-pci/panic", test_panic);
|
||||||
qtest_add_func("/pvpanic-pci/panic-nopause", test_panic_nopause);
|
qtest_add_func("/pvpanic-pci/panic-nopause", test_panic_nopause);
|
||||||
|
|
||||||
ret = g_test_run();
|
return g_test_run();
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
@ -59,13 +59,9 @@ static void test_panic(void)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
|
|
||||||
g_test_init(&argc, &argv, NULL);
|
g_test_init(&argc, &argv, NULL);
|
||||||
qtest_add_func("/pvpanic/panic", test_panic);
|
qtest_add_func("/pvpanic/panic", test_panic);
|
||||||
qtest_add_func("/pvpanic/panic-nopause", test_panic_nopause);
|
qtest_add_func("/pvpanic/panic-nopause", test_panic_nopause);
|
||||||
|
|
||||||
ret = g_test_run();
|
return g_test_run();
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
@ -76,12 +76,8 @@ static void test_mirror(void)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
|
|
||||||
g_test_init(&argc, &argv, NULL);
|
g_test_init(&argc, &argv, NULL);
|
||||||
|
|
||||||
qtest_add_func("/netfilter/mirror", test_mirror);
|
qtest_add_func("/netfilter/mirror", test_mirror);
|
||||||
ret = g_test_run();
|
return g_test_run();
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
@ -95,8 +95,6 @@ static void virtio_scsi_hotplug(void)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
|
|
||||||
g_test_init(&argc, &argv, NULL);
|
g_test_init(&argc, &argv, NULL);
|
||||||
qtest_add_func("/virtio/balloon/nop", virtio_balloon_nop);
|
qtest_add_func("/virtio/balloon/nop", virtio_balloon_nop);
|
||||||
qtest_add_func("/virtio/console/nop", virtconsole_nop);
|
qtest_add_func("/virtio/console/nop", virtconsole_nop);
|
||||||
@ -109,7 +107,5 @@ int main(int argc, char **argv)
|
|||||||
qtest_add_func("/virtio/scsi/nop", virtio_scsi_nop);
|
qtest_add_func("/virtio/scsi/nop", virtio_scsi_nop);
|
||||||
qtest_add_func("/virtio/scsi/hotplug", virtio_scsi_hotplug);
|
qtest_add_func("/virtio/scsi/hotplug", virtio_scsi_hotplug);
|
||||||
|
|
||||||
ret = g_test_run();
|
return g_test_run();
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
@ -855,8 +855,6 @@ plan_tests(unsigned int tests)
|
|||||||
static int
|
static int
|
||||||
exit_status_(void)
|
exit_status_(void)
|
||||||
{
|
{
|
||||||
int r;
|
|
||||||
|
|
||||||
/* If there's no plan, just return the number of failures */
|
/* If there's no plan, just return the number of failures */
|
||||||
if(no_plan || !have_plan) {
|
if(no_plan || !have_plan) {
|
||||||
return failures;
|
return failures;
|
||||||
@ -865,15 +863,12 @@ exit_status_(void)
|
|||||||
/* Ran too many tests? Return the number of tests that were run
|
/* Ran too many tests? Return the number of tests that were run
|
||||||
that shouldn't have been */
|
that shouldn't have been */
|
||||||
if(e_tests < test_count) {
|
if(e_tests < test_count) {
|
||||||
r = test_count - e_tests;
|
return test_count - e_tests;
|
||||||
return r;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the number of tests that failed + the number of tests
|
/* Return the number of tests that failed + the number of tests
|
||||||
that weren't run */
|
that weren't run */
|
||||||
r = failures + e_tests - test_count;
|
return failures + e_tests - test_count;
|
||||||
|
|
||||||
return r;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -216,7 +216,6 @@ static int send_reply(fuse_req_t req, int error, const void *arg,
|
|||||||
|
|
||||||
int fuse_reply_iov(fuse_req_t req, const struct iovec *iov, int count)
|
int fuse_reply_iov(fuse_req_t req, const struct iovec *iov, int count)
|
||||||
{
|
{
|
||||||
int res;
|
|
||||||
g_autofree struct iovec *padded_iov = NULL;
|
g_autofree struct iovec *padded_iov = NULL;
|
||||||
|
|
||||||
padded_iov = g_try_new(struct iovec, count + 1);
|
padded_iov = g_try_new(struct iovec, count + 1);
|
||||||
@ -227,9 +226,7 @@ int fuse_reply_iov(fuse_req_t req, const struct iovec *iov, int count)
|
|||||||
memcpy(padded_iov + 1, iov, count * sizeof(struct iovec));
|
memcpy(padded_iov + 1, iov, count * sizeof(struct iovec));
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
res = send_reply_iov(req, 0, padded_iov, count);
|
return send_reply_iov(req, 0, padded_iov, count);
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -589,7 +586,6 @@ int fuse_reply_ioctl_retry(fuse_req_t req, const struct iovec *in_iov,
|
|||||||
g_autofree struct fuse_ioctl_iovec *out_fiov = NULL;
|
g_autofree struct fuse_ioctl_iovec *out_fiov = NULL;
|
||||||
struct iovec iov[4];
|
struct iovec iov[4];
|
||||||
size_t count = 1;
|
size_t count = 1;
|
||||||
int res;
|
|
||||||
|
|
||||||
memset(&arg, 0, sizeof(arg));
|
memset(&arg, 0, sizeof(arg));
|
||||||
arg.flags |= FUSE_IOCTL_RETRY;
|
arg.flags |= FUSE_IOCTL_RETRY;
|
||||||
@ -601,15 +597,13 @@ int fuse_reply_ioctl_retry(fuse_req_t req, const struct iovec *in_iov,
|
|||||||
|
|
||||||
/* Can't handle non-compat 64bit ioctls on 32bit */
|
/* Can't handle non-compat 64bit ioctls on 32bit */
|
||||||
if (sizeof(void *) == 4 && req->ioctl_64bit) {
|
if (sizeof(void *) == 4 && req->ioctl_64bit) {
|
||||||
res = fuse_reply_err(req, EINVAL);
|
return fuse_reply_err(req, EINVAL);
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_count) {
|
if (in_count) {
|
||||||
in_fiov = fuse_ioctl_iovec_copy(in_iov, in_count);
|
in_fiov = fuse_ioctl_iovec_copy(in_iov, in_count);
|
||||||
if (!in_fiov) {
|
if (!in_fiov) {
|
||||||
res = fuse_reply_err(req, ENOMEM);
|
return fuse_reply_err(req, ENOMEM);
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
iov[count].iov_base = (void *)in_fiov;
|
iov[count].iov_base = (void *)in_fiov;
|
||||||
@ -619,8 +613,7 @@ int fuse_reply_ioctl_retry(fuse_req_t req, const struct iovec *in_iov,
|
|||||||
if (out_count) {
|
if (out_count) {
|
||||||
out_fiov = fuse_ioctl_iovec_copy(out_iov, out_count);
|
out_fiov = fuse_ioctl_iovec_copy(out_iov, out_count);
|
||||||
if (!out_fiov) {
|
if (!out_fiov) {
|
||||||
res = fuse_reply_err(req, ENOMEM);
|
return fuse_reply_err(req, ENOMEM);
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
iov[count].iov_base = (void *)out_fiov;
|
iov[count].iov_base = (void *)out_fiov;
|
||||||
@ -628,9 +621,7 @@ int fuse_reply_ioctl_retry(fuse_req_t req, const struct iovec *in_iov,
|
|||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
res = send_reply_iov(req, 0, iov, count);
|
return send_reply_iov(req, 0, iov, count);
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int fuse_reply_ioctl(fuse_req_t req, int result, const void *buf, size_t size)
|
int fuse_reply_ioctl(fuse_req_t req, int result, const void *buf, size_t size)
|
||||||
@ -659,7 +650,6 @@ int fuse_reply_ioctl_iov(fuse_req_t req, int result, const struct iovec *iov,
|
|||||||
{
|
{
|
||||||
g_autofree struct iovec *padded_iov = NULL;
|
g_autofree struct iovec *padded_iov = NULL;
|
||||||
struct fuse_ioctl_out arg;
|
struct fuse_ioctl_out arg;
|
||||||
int res;
|
|
||||||
|
|
||||||
padded_iov = g_try_new(struct iovec, count + 2);
|
padded_iov = g_try_new(struct iovec, count + 2);
|
||||||
if (padded_iov == NULL) {
|
if (padded_iov == NULL) {
|
||||||
@ -673,9 +663,7 @@ int fuse_reply_ioctl_iov(fuse_req_t req, int result, const struct iovec *iov,
|
|||||||
|
|
||||||
memcpy(&padded_iov[2], iov, count * sizeof(struct iovec));
|
memcpy(&padded_iov[2], iov, count * sizeof(struct iovec));
|
||||||
|
|
||||||
res = send_reply_iov(req, 0, padded_iov, count + 2);
|
return send_reply_iov(req, 0, padded_iov, count + 2);
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int fuse_reply_poll(fuse_req_t req, unsigned revents)
|
int fuse_reply_poll(fuse_req_t req, unsigned revents)
|
||||||
|
Loading…
Reference in New Issue
Block a user