mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 05:24:12 +08:00
b0cfbeff12
Fixes the following W=1 kernel build warning(s): fs/ecryptfs/debug.c:13: warning: Incorrect use of kernel-doc format: * ecryptfs_dump_auth_tok - debug function to print auth toks fs/ecryptfs/debug.c:19: warning: Function parameter or member 'auth_tok' not described in 'ecryptfs_dump_auth_tok' fs/ecryptfs/debug.c:19: warning: expecting prototype for eCryptfs(). Prototype was for ecryptfs_dump_auth_tok() instead Cc: Tyler Hicks <code@tyhicks.com> Cc: "Michael A. Halcrow" <mahalcro@us.ibm.com> Cc: ecryptfs@vger.kernel.org Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Tyler Hicks <code@tyhicks.com>
92 lines
3.0 KiB
C
92 lines
3.0 KiB
C
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
/*
|
|
* eCryptfs: Linux filesystem encryption layer
|
|
* Functions only useful for debugging.
|
|
*
|
|
* Copyright (C) 2006 International Business Machines Corp.
|
|
* Author(s): Michael A. Halcrow <mahalcro@us.ibm.com>
|
|
*/
|
|
|
|
#include "ecryptfs_kernel.h"
|
|
|
|
/*
|
|
* ecryptfs_dump_auth_tok - debug function to print auth toks
|
|
*
|
|
* This function will print the contents of an ecryptfs authentication
|
|
* token.
|
|
*/
|
|
void ecryptfs_dump_auth_tok(struct ecryptfs_auth_tok *auth_tok)
|
|
{
|
|
char salt[ECRYPTFS_SALT_SIZE * 2 + 1];
|
|
char sig[ECRYPTFS_SIG_SIZE_HEX + 1];
|
|
|
|
ecryptfs_printk(KERN_DEBUG, "Auth tok at mem loc [%p]:\n",
|
|
auth_tok);
|
|
if (auth_tok->flags & ECRYPTFS_PRIVATE_KEY) {
|
|
ecryptfs_printk(KERN_DEBUG, " * private key type\n");
|
|
} else {
|
|
ecryptfs_printk(KERN_DEBUG, " * passphrase type\n");
|
|
ecryptfs_to_hex(salt, auth_tok->token.password.salt,
|
|
ECRYPTFS_SALT_SIZE);
|
|
salt[ECRYPTFS_SALT_SIZE * 2] = '\0';
|
|
ecryptfs_printk(KERN_DEBUG, " * salt = [%s]\n", salt);
|
|
if (auth_tok->token.password.flags &
|
|
ECRYPTFS_PERSISTENT_PASSWORD) {
|
|
ecryptfs_printk(KERN_DEBUG, " * persistent\n");
|
|
}
|
|
memcpy(sig, auth_tok->token.password.signature,
|
|
ECRYPTFS_SIG_SIZE_HEX);
|
|
sig[ECRYPTFS_SIG_SIZE_HEX] = '\0';
|
|
ecryptfs_printk(KERN_DEBUG, " * signature = [%s]\n", sig);
|
|
}
|
|
ecryptfs_printk(KERN_DEBUG, " * session_key.flags = [0x%x]\n",
|
|
auth_tok->session_key.flags);
|
|
if (auth_tok->session_key.flags
|
|
& ECRYPTFS_USERSPACE_SHOULD_TRY_TO_DECRYPT)
|
|
ecryptfs_printk(KERN_DEBUG,
|
|
" * Userspace decrypt request set\n");
|
|
if (auth_tok->session_key.flags
|
|
& ECRYPTFS_USERSPACE_SHOULD_TRY_TO_ENCRYPT)
|
|
ecryptfs_printk(KERN_DEBUG,
|
|
" * Userspace encrypt request set\n");
|
|
if (auth_tok->session_key.flags & ECRYPTFS_CONTAINS_DECRYPTED_KEY) {
|
|
ecryptfs_printk(KERN_DEBUG, " * Contains decrypted key\n");
|
|
ecryptfs_printk(KERN_DEBUG,
|
|
" * session_key.decrypted_key_size = [0x%x]\n",
|
|
auth_tok->session_key.decrypted_key_size);
|
|
ecryptfs_printk(KERN_DEBUG, " * Decrypted session key "
|
|
"dump:\n");
|
|
if (ecryptfs_verbosity > 0)
|
|
ecryptfs_dump_hex(auth_tok->session_key.decrypted_key,
|
|
ECRYPTFS_DEFAULT_KEY_BYTES);
|
|
}
|
|
if (auth_tok->session_key.flags & ECRYPTFS_CONTAINS_ENCRYPTED_KEY) {
|
|
ecryptfs_printk(KERN_DEBUG, " * Contains encrypted key\n");
|
|
ecryptfs_printk(KERN_DEBUG,
|
|
" * session_key.encrypted_key_size = [0x%x]\n",
|
|
auth_tok->session_key.encrypted_key_size);
|
|
ecryptfs_printk(KERN_DEBUG, " * Encrypted session key "
|
|
"dump:\n");
|
|
if (ecryptfs_verbosity > 0)
|
|
ecryptfs_dump_hex(auth_tok->session_key.encrypted_key,
|
|
auth_tok->session_key.
|
|
encrypted_key_size);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* ecryptfs_dump_hex - debug hex printer
|
|
* @data: string of bytes to be printed
|
|
* @bytes: number of bytes to print
|
|
*
|
|
* Dump hexadecimal representation of char array
|
|
*/
|
|
void ecryptfs_dump_hex(char *data, int bytes)
|
|
{
|
|
if (ecryptfs_verbosity < 1)
|
|
return;
|
|
|
|
print_hex_dump(KERN_DEBUG, "ecryptfs: ", DUMP_PREFIX_OFFSET, 16, 1,
|
|
data, bytes, false);
|
|
}
|