mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-21 04:53:46 -04:00
uwb: use dev_dbg() for debug messages
Instead of the home-grown d_fnstart(), d_fnend() and d_printf() macros, use dev_dbg() or remove the message entirely. Signed-off-by: David Vrabel <david.vrabel@csr.com>
This commit is contained in:
@@ -27,19 +27,6 @@
|
||||
#include <linux/random.h>
|
||||
#include "wusbhc.h"
|
||||
|
||||
/*
|
||||
* DEBUG & SECURITY WARNING!!!!
|
||||
*
|
||||
* If you enable this past 1, the debug code will weaken the
|
||||
* cryptographic safety of the system (on purpose, for debugging).
|
||||
*
|
||||
* Weaken means:
|
||||
* we print secret keys and intermediate values all the way,
|
||||
*/
|
||||
#undef D_LOCAL
|
||||
#define D_LOCAL 2
|
||||
#include <linux/uwb/debug.h>
|
||||
|
||||
static void wusbhc_set_gtk_callback(struct urb *urb);
|
||||
static void wusbhc_gtk_rekey_done_work(struct work_struct *work);
|
||||
|
||||
@@ -219,7 +206,6 @@ int wusb_dev_sec_add(struct wusbhc *wusbhc,
|
||||
const void *itr, *top;
|
||||
char buf[64];
|
||||
|
||||
d_fnstart(3, dev, "(usb_dev %p, wusb_dev %p)\n", usb_dev, wusb_dev);
|
||||
result = usb_get_descriptor(usb_dev, USB_DT_SECURITY,
|
||||
0, &secd, sizeof(secd));
|
||||
if (result < sizeof(secd)) {
|
||||
@@ -228,8 +214,6 @@ int wusb_dev_sec_add(struct wusbhc *wusbhc,
|
||||
goto error_secd;
|
||||
}
|
||||
secd_size = le16_to_cpu(secd.wTotalLength);
|
||||
d_printf(5, dev, "got %d bytes of sec descriptor, total is %d\n",
|
||||
result, secd_size);
|
||||
secd_buf = kmalloc(secd_size, GFP_KERNEL);
|
||||
if (secd_buf == NULL) {
|
||||
dev_err(dev, "Can't allocate space for security descriptors\n");
|
||||
@@ -242,7 +226,6 @@ int wusb_dev_sec_add(struct wusbhc *wusbhc,
|
||||
"not enough data: %d\n", result);
|
||||
goto error_secd_all;
|
||||
}
|
||||
d_printf(5, dev, "got %d bytes of sec descriptors\n", result);
|
||||
bytes = 0;
|
||||
itr = secd_buf + sizeof(secd);
|
||||
top = secd_buf + result;
|
||||
@@ -279,14 +262,12 @@ int wusb_dev_sec_add(struct wusbhc *wusbhc,
|
||||
goto error_no_ccm1;
|
||||
}
|
||||
wusb_dev->ccm1_etd = *ccm1_etd;
|
||||
dev_info(dev, "supported encryption: %s; using %s (0x%02x/%02x)\n",
|
||||
buf, wusb_et_name(ccm1_etd->bEncryptionType),
|
||||
ccm1_etd->bEncryptionValue, ccm1_etd->bAuthKeyIndex);
|
||||
dev_dbg(dev, "supported encryption: %s; using %s (0x%02x/%02x)\n",
|
||||
buf, wusb_et_name(ccm1_etd->bEncryptionType),
|
||||
ccm1_etd->bEncryptionValue, ccm1_etd->bAuthKeyIndex);
|
||||
result = 0;
|
||||
kfree(secd_buf);
|
||||
out:
|
||||
d_fnend(3, dev, "(usb_dev %p, wusb_dev %p) = %d\n",
|
||||
usb_dev, wusb_dev, result);
|
||||
return result;
|
||||
|
||||
|
||||
@@ -303,32 +284,6 @@ void wusb_dev_sec_rm(struct wusb_dev *wusb_dev)
|
||||
/* Nothing so far */
|
||||
}
|
||||
|
||||
static void hs_printk(unsigned level, struct device *dev,
|
||||
struct usb_handshake *hs)
|
||||
{
|
||||
d_printf(level, dev,
|
||||
" bMessageNumber: %u\n"
|
||||
" bStatus: %u\n"
|
||||
" tTKID: %02x %02x %02x\n"
|
||||
" CDID: %02x %02x %02x %02x %02x %02x %02x %02x\n"
|
||||
" %02x %02x %02x %02x %02x %02x %02x %02x\n"
|
||||
" nonce: %02x %02x %02x %02x %02x %02x %02x %02x\n"
|
||||
" %02x %02x %02x %02x %02x %02x %02x %02x\n"
|
||||
" MIC: %02x %02x %02x %02x %02x %02x %02x %02x\n",
|
||||
hs->bMessageNumber, hs->bStatus,
|
||||
hs->tTKID[2], hs->tTKID[1], hs->tTKID[0],
|
||||
hs->CDID[0], hs->CDID[1], hs->CDID[2], hs->CDID[3],
|
||||
hs->CDID[4], hs->CDID[5], hs->CDID[6], hs->CDID[7],
|
||||
hs->CDID[8], hs->CDID[9], hs->CDID[10], hs->CDID[11],
|
||||
hs->CDID[12], hs->CDID[13], hs->CDID[14], hs->CDID[15],
|
||||
hs->nonce[0], hs->nonce[1], hs->nonce[2], hs->nonce[3],
|
||||
hs->nonce[4], hs->nonce[5], hs->nonce[6], hs->nonce[7],
|
||||
hs->nonce[8], hs->nonce[9], hs->nonce[10], hs->nonce[11],
|
||||
hs->nonce[12], hs->nonce[13], hs->nonce[14], hs->nonce[15],
|
||||
hs->MIC[0], hs->MIC[1], hs->MIC[2], hs->MIC[3],
|
||||
hs->MIC[4], hs->MIC[5], hs->MIC[6], hs->MIC[7]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the address of an unauthenticated WUSB device
|
||||
*
|
||||
@@ -421,9 +376,6 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev,
|
||||
get_random_bytes(&hs[0].nonce, sizeof(hs[0].nonce));
|
||||
memset(hs[0].MIC, 0, sizeof(hs[0].MIC)); /* Per WUSB1.0[T7-22] */
|
||||
|
||||
d_printf(1, dev, "I: sending hs1:\n");
|
||||
hs_printk(2, dev, &hs[0]);
|
||||
|
||||
result = usb_control_msg(
|
||||
usb_dev, usb_sndctrlpipe(usb_dev, 0),
|
||||
USB_REQ_SET_HANDSHAKE,
|
||||
@@ -444,8 +396,6 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev,
|
||||
dev_err(dev, "Handshake2: request failed: %d\n", result);
|
||||
goto error_hs2;
|
||||
}
|
||||
d_printf(1, dev, "got HS2:\n");
|
||||
hs_printk(2, dev, &hs[1]);
|
||||
|
||||
result = -EINVAL;
|
||||
if (hs[1].bMessageNumber != 2) {
|
||||
@@ -486,10 +436,6 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev,
|
||||
result);
|
||||
goto error_hs2;
|
||||
}
|
||||
d_printf(2, dev, "KCK:\n");
|
||||
d_dump(2, dev, keydvt_out.kck, sizeof(keydvt_out.kck));
|
||||
d_printf(2, dev, "PTK:\n");
|
||||
d_dump(2, dev, keydvt_out.ptk, sizeof(keydvt_out.ptk));
|
||||
|
||||
/* Compute MIC and verify it */
|
||||
result = wusb_oob_mic(mic, keydvt_out.kck, &ccm_n, &hs[1]);
|
||||
@@ -499,8 +445,6 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev,
|
||||
goto error_hs2;
|
||||
}
|
||||
|
||||
d_printf(2, dev, "MIC:\n");
|
||||
d_dump(2, dev, mic, sizeof(mic));
|
||||
if (memcmp(hs[1].MIC, mic, sizeof(hs[1].MIC))) {
|
||||
dev_err(dev, "Handshake2 failed: MIC mismatch\n");
|
||||
goto error_hs2;
|
||||
@@ -520,9 +464,6 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev,
|
||||
goto error_hs2;
|
||||
}
|
||||
|
||||
d_printf(1, dev, "I: sending hs3:\n");
|
||||
hs_printk(2, dev, &hs[2]);
|
||||
|
||||
result = usb_control_msg(
|
||||
usb_dev, usb_sndctrlpipe(usb_dev, 0),
|
||||
USB_REQ_SET_HANDSHAKE,
|
||||
@@ -533,14 +474,11 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev,
|
||||
goto error_hs3;
|
||||
}
|
||||
|
||||
d_printf(1, dev, "I: turning on encryption on host for device\n");
|
||||
d_dump(2, dev, keydvt_out.ptk, sizeof(keydvt_out.ptk));
|
||||
result = wusbhc->set_ptk(wusbhc, wusb_dev->port_idx, tkid,
|
||||
keydvt_out.ptk, sizeof(keydvt_out.ptk));
|
||||
if (result < 0)
|
||||
goto error_wusbhc_set_ptk;
|
||||
|
||||
d_printf(1, dev, "I: setting a GTK\n");
|
||||
result = wusb_dev_set_gtk(wusbhc, wusb_dev);
|
||||
if (result < 0) {
|
||||
dev_err(dev, "Set GTK for device: request failed: %d\n",
|
||||
@@ -550,13 +488,12 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev,
|
||||
|
||||
/* Update the device's address from unauth to auth */
|
||||
if (usb_dev->authenticated == 0) {
|
||||
d_printf(1, dev, "I: updating addres to auth from non-auth\n");
|
||||
result = wusb_dev_update_address(wusbhc, wusb_dev);
|
||||
if (result < 0)
|
||||
goto error_dev_update_address;
|
||||
}
|
||||
result = 0;
|
||||
d_printf(1, dev, "I: 4way handshke done, device authenticated\n");
|
||||
dev_info(dev, "device authenticated\n");
|
||||
|
||||
error_dev_update_address:
|
||||
error_wusbhc_set_gtk:
|
||||
@@ -569,10 +506,8 @@ error_hs1:
|
||||
memset(&keydvt_in, 0, sizeof(keydvt_in));
|
||||
memset(&ccm_n, 0, sizeof(ccm_n));
|
||||
memset(mic, 0, sizeof(mic));
|
||||
if (result < 0) {
|
||||
/* error path */
|
||||
if (result < 0)
|
||||
wusb_dev_set_encryption(usb_dev, 0);
|
||||
}
|
||||
error_dev_set_encryption:
|
||||
kfree(hs);
|
||||
error_kzalloc:
|
||||
|
||||
Reference in New Issue
Block a user