[peerdist] Remove userptr_t from PeerDist content information parsing

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2025-04-29 09:17:14 +01:00
parent 837b77293b
commit 54c4217bdd
3 changed files with 7 additions and 9 deletions

View File

@@ -11,7 +11,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <stdint.h> #include <stdint.h>
#include <byteswap.h> #include <byteswap.h>
#include <ipxe/uaccess.h>
#include <ipxe/crypto.h> #include <ipxe/crypto.h>
/****************************************************************************** /******************************************************************************
@@ -300,7 +299,7 @@ struct peerdist_info_v2_segment {
/** Raw content information */ /** Raw content information */
struct peerdist_raw { struct peerdist_raw {
/** Data buffer */ /** Data buffer */
userptr_t data; const void *data;
/** Length of data buffer */ /** Length of data buffer */
size_t len; size_t len;
}; };
@@ -435,7 +434,7 @@ struct peerdist_info_operations {
extern struct digest_algorithm sha512_trunc_algorithm; extern struct digest_algorithm sha512_trunc_algorithm;
extern int peerdist_info ( userptr_t data, size_t len, extern int peerdist_info ( const void *data, size_t len,
struct peerdist_info *info ); struct peerdist_info *info );
extern int peerdist_info_segment ( const struct peerdist_info *info, extern int peerdist_info_segment ( const struct peerdist_info *info,
struct peerdist_info_segment *segment, struct peerdist_info_segment *segment,

View File

@@ -88,7 +88,7 @@ static int peerdist_info_get ( const struct peerdist_info *info, void *data,
} }
/* Copy data */ /* Copy data */
copy_from_user ( data, info->raw.data, offset, len ); memcpy ( data, ( info->raw.data + offset ), len );
return 0; return 0;
} }
@@ -667,7 +667,8 @@ static struct peerdist_info_operations peerdist_info_v2_operations = {
* @v info Content information to fill in * @v info Content information to fill in
* @ret rc Return status code * @ret rc Return status code
*/ */
int peerdist_info ( userptr_t data, size_t len, struct peerdist_info *info ) { int peerdist_info ( const void *data, size_t len,
struct peerdist_info *info ) {
union peerdist_info_version version; union peerdist_info_version version;
int rc; int rc;

View File

@@ -35,7 +35,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <stdint.h> #include <stdint.h>
#include <string.h> #include <string.h>
#include <assert.h> #include <assert.h>
#include <ipxe/uaccess.h>
#include <ipxe/pccrc.h> #include <ipxe/pccrc.h>
#include <ipxe/sha256.h> #include <ipxe/sha256.h>
#include <ipxe/sha512.h> #include <ipxe/sha512.h>
@@ -362,11 +361,10 @@ static void peerdist_info_okx ( struct peerdist_info_test *test,
const char *file, unsigned int line ) { const char *file, unsigned int line ) {
/* Parse content information */ /* Parse content information */
okx ( peerdist_info ( virt_to_user ( test->data ), test->len, okx ( peerdist_info ( test->data, test->len, info ) == 0, file, line );
info ) == 0, file, line );
/* Verify content information */ /* Verify content information */
okx ( info->raw.data == virt_to_user ( test->data ), file, line ); okx ( info->raw.data == test->data, file, line );
okx ( info->raw.len == test->len, file, line ); okx ( info->raw.len == test->len, file, line );
okx ( info->digest == test->expected_digest, file, line ); okx ( info->digest == test->expected_digest, file, line );
okx ( info->digestsize == test->expected_digestsize, file, line ); okx ( info->digestsize == test->expected_digestsize, file, line );