Skip to content

Commit

Permalink
staging: unisys: parser_init_guts(): standard_payload_header is alway…
Browse files Browse the repository at this point in the history
…s false

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Jes Sorensen authored and Greg Kroah-Hartman committed May 8, 2015
1 parent 464129e commit cc55b5c
Showing 1 changed file with 9 additions and 28 deletions.
37 changes: 9 additions & 28 deletions drivers/staging/unisys/visorbus/visorchipset.c
Original file line number Diff line number Diff line change
Expand Up @@ -376,21 +376,20 @@ static void controlvm_respond_physdev_changestate(
static void parser_done(struct parser_context *ctx);

static struct parser_context *
parser_init_guts(u64 addr, u32 bytes, bool local,
bool standard_payload_header, bool *retry)
parser_init_guts(u64 addr, u32 bytes, bool local, bool *retry)
{
int allocbytes = sizeof(struct parser_context) + bytes;
struct parser_context *rc = NULL;
struct parser_context *ctx = NULL;
struct spar_controlvm_parameters_header *phdr = NULL;

if (retry)
*retry = false;
if (!standard_payload_header)
/* alloc and 0 extra byte to ensure payload is
* '\0'-terminated
*/
allocbytes++;

/*
* alloc an 0 extra byte to ensure payload is
* '\0'-terminated
*/
allocbytes++;
if ((controlvm_payload_bytes_buffered + bytes)
> MAX_CONTROLVM_PAYLOAD_BYTES) {
if (retry)
Expand Down Expand Up @@ -437,26 +436,8 @@ parser_init_guts(u64 addr, u32 bytes, bool local,
memcpy_fromio(ctx->data, mapping, bytes);
release_mem_region(addr, bytes);
}
if (!standard_payload_header) {
ctx->byte_stream = true;
rc = ctx;
goto cleanup;
}
phdr = (struct spar_controlvm_parameters_header *)(ctx->data);
if (phdr->total_length != bytes) {
rc = NULL;
goto cleanup;
}
if (phdr->total_length < phdr->header_length) {
rc = NULL;
goto cleanup;
}
if (phdr->header_length <
sizeof(struct spar_controlvm_parameters_header)) {
rc = NULL;
goto cleanup;
}

ctx->byte_stream = true;
rc = ctx;
cleanup:
if (rc) {
Expand All @@ -478,7 +459,7 @@ parser_init_guts(u64 addr, u32 bytes, bool local,
static struct parser_context *
parser_init_byte_stream(u64 addr, u32 bytes, bool local, bool *retry)
{
return parser_init_guts(addr, bytes, local, false, retry);
return parser_init_guts(addr, bytes, local, retry);
}

static uuid_le
Expand Down

0 comments on commit cc55b5c

Please sign in to comment.