| Index: src/trusted/desc_cacheability/desc_cacheability.c
|
| diff --git a/src/trusted/desc_cacheability/desc_cacheability.c b/src/trusted/desc_cacheability/desc_cacheability.c
|
| index ab3badae7d07cf46c4f0a6fe801b8beec72ed390..21d4857faa9485687807d38a3dd03876320f0bd9 100644
|
| --- a/src/trusted/desc_cacheability/desc_cacheability.c
|
| +++ b/src/trusted/desc_cacheability/desc_cacheability.c
|
| @@ -8,55 +8,15 @@
|
|
|
| #include "native_client/src/include/portability.h"
|
| #include "native_client/src/public/desc_metadata_types.h"
|
| +#include "native_client/src/public/nacl_file_info.h"
|
| #include "native_client/src/shared/platform/nacl_log.h"
|
| #include "native_client/src/trusted/desc/nacl_desc_base.h"
|
| +#include "native_client/src/trusted/desc/nacl_desc_file_info.h"
|
| #include "native_client/src/trusted/desc/nacl_desc_io.h"
|
| #include "native_client/src/trusted/service_runtime/include/sys/fcntl.h"
|
| -#include "native_client/src/trusted/validator/nacl_file_info.h"
|
| #include "native_client/src/trusted/validator/rich_file_info.h"
|
| #include "native_client/src/trusted/validator/validation_cache.h"
|
|
|
| -int NaClDescSetFileToken(struct NaClDesc *desc,
|
| - struct NaClFileToken const *token) {
|
| - int error;
|
| - error = (*NACL_VTBL(NaClDesc, desc)->
|
| - SetMetadata)(desc,
|
| - NACL_DESC_METADATA_FILE_TOKEN_TYPE,
|
| - sizeof *token, (uint8_t const *) token);
|
| - if (0 != error) {
|
| - NaClLog(4, "NaClDescSetFileToken: failed, errno %d\n", -error);
|
| - return 0;
|
| - }
|
| - return 1;
|
| -}
|
| -
|
| -int NaClDescGetFileToken(struct NaClDesc *desc,
|
| - struct NaClFileToken *out_token) {
|
| - int32_t metadata_type;
|
| - uint32_t metadata_bytes;
|
| -
|
| - metadata_bytes = (uint32_t) sizeof *out_token;
|
| - metadata_type = (*NACL_VTBL(NaClDesc, desc)->
|
| - GetMetadata)(desc, &metadata_bytes,
|
| - (uint8_t *) out_token);
|
| - if (NACL_DESC_METADATA_NONE_TYPE == metadata_type) {
|
| - NaClLog(4, "NaClDescGetFileToken: no meta data, cannot map\n");
|
| - return 0;
|
| - } else if (NACL_DESC_METADATA_FILE_TOKEN_TYPE != metadata_type) {
|
| - return 0;
|
| - } else if (metadata_bytes != (uint32_t) sizeof *out_token) {
|
| - /* there is supposed to be a file token, but wrong size? */
|
| - NaClLog(LOG_WARNING,
|
| - "NaClDescGetFileToken: purported file token present,"
|
| - " but token size is incorrect.\n");
|
| - return 0;
|
| - }
|
| - NaClLog(4,
|
| - "NaClDescGetFileToken: got token 0x%"NACL_PRIx64":%"NACL_PRIx64"\n",
|
| - out_token->hi, out_token->lo);
|
| - return 1;
|
| -}
|
| -
|
| struct NaClDesc *NaClExchangeFileTokenForMappableDesc(
|
| struct NaClFileToken *file_token,
|
| struct NaClValidationCache *validation_cache) {
|
| @@ -71,7 +31,7 @@ struct NaClDesc *NaClExchangeFileTokenForMappableDesc(
|
| * resolve. In this case, assume nothing about the providence of
|
| * the file.
|
| */
|
| - if (!(file_token->lo == 0 && file_token->hi == 0) &&
|
| + if (NaClFileTokenIsValid(file_token) &&
|
| validation_cache->ResolveFileToken != NULL &&
|
| validation_cache->ResolveFileToken(validation_cache->handle,
|
| file_token,
|
|
|