From: Michael Brown Date: Tue, 29 Apr 2025 08:17:14 +0000 (+0100) Subject: [peerdist] Remove userptr_t from PeerDist content information parsing X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=54c4217bdd403c85af03c944b1b5d18a0655da5c;p=thirdparty%2Fipxe.git [peerdist] Remove userptr_t from PeerDist content information parsing Signed-off-by: Michael Brown --- diff --git a/src/include/ipxe/pccrc.h b/src/include/ipxe/pccrc.h index 7f0963428..bec2b271a 100644 --- a/src/include/ipxe/pccrc.h +++ b/src/include/ipxe/pccrc.h @@ -11,7 +11,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #include #include -#include #include /****************************************************************************** @@ -300,7 +299,7 @@ struct peerdist_info_v2_segment { /** Raw content information */ struct peerdist_raw { /** Data buffer */ - userptr_t data; + const void *data; /** Length of data buffer */ size_t len; }; @@ -435,7 +434,7 @@ struct peerdist_info_operations { 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 ); extern int peerdist_info_segment ( const struct peerdist_info *info, struct peerdist_info_segment *segment, diff --git a/src/net/pccrc.c b/src/net/pccrc.c index a94bc0e11..29adc4b16 100644 --- a/src/net/pccrc.c +++ b/src/net/pccrc.c @@ -88,7 +88,7 @@ static int peerdist_info_get ( const struct peerdist_info *info, void *data, } /* Copy data */ - copy_from_user ( data, info->raw.data, offset, len ); + memcpy ( data, ( info->raw.data + offset ), len ); return 0; } @@ -667,7 +667,8 @@ static struct peerdist_info_operations peerdist_info_v2_operations = { * @v info Content information to fill in * @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; int rc; diff --git a/src/tests/pccrc_test.c b/src/tests/pccrc_test.c index e69493202..f3f38d360 100644 --- a/src/tests/pccrc_test.c +++ b/src/tests/pccrc_test.c @@ -35,7 +35,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #include #include #include -#include #include #include #include @@ -362,11 +361,10 @@ static void peerdist_info_okx ( struct peerdist_info_test *test, const char *file, unsigned int line ) { /* Parse content information */ - okx ( peerdist_info ( virt_to_user ( test->data ), test->len, - info ) == 0, file, line ); + okx ( peerdist_info ( test->data, test->len, info ) == 0, file, line ); /* 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->digest == test->expected_digest, file, line ); okx ( info->digestsize == test->expected_digestsize, file, line );