From: kbuild test robot <lkp@intel.com>
To: SpoorthiX K <spoorthix.k@intel.com>
Cc: kbuild-all@01.org, linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH] [v5]Add support for LE ping feature
Date: Thu, 25 Apr 2019 20:25:08 +0800 [thread overview]
Message-ID: <201904252032.NAFruWPy%lkp@intel.com> (raw)
In-Reply-To: <1556093829-11793-1-git-send-email-spoorthix.k@intel.com>
[-- Attachment #1: Type: text/plain, Size: 6894 bytes --]
Hi SpoorthiX,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on bluetooth-next/master]
[also build test ERROR on v5.1-rc6 next-20190424]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/SpoorthiX-K/Add-support-for-LE-ping-feature/20190425-184628
base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 8.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=8.1.0 make.cross ARCH=xtensa
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
net//bluetooth/hci_event.c: In function 'hci_cc_write_auth_payload_timeout':
net//bluetooth/hci_event.c:595:11: error: 'HCI_CONN_AUTH_PAYLOAD_TIMEOUT' undeclared (first use in this function); did you mean 'HCI_CONN_AUTH_FAILURE'?
set_bit(HCI_CONN_AUTH_PAYLOAD_TIMEOUT, &conn->flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HCI_CONN_AUTH_FAILURE
net//bluetooth/hci_event.c:595:11: note: each undeclared identifier is reported only once for each function it appears in
net//bluetooth/hci_event.c: In function 'hci_encrypt_change_evt':
>> net//bluetooth/hci_event.c:3005:68: error: expected ')' before 'test_bit'
lmp_ping_capable(hdev) && (hdev->le_features[0] & HCI_LE_PING)
^
)
test_bit(HCI_CONN_ENCRYPT, &conn->flags) &&
~~~~~~~~
net//bluetooth/hci_event.c:3004:5: note: to match this '('
if ((conn->type == LE_LINK || conn->type == ACL_LINK) &&
^
vim +3005 net//bluetooth/hci_event.c
2904
2905 static void hci_encrypt_change_evt(struct hci_dev *hdev, struct sk_buff *skb)
2906 {
2907 struct hci_ev_encrypt_change *ev = (void *) skb->data;
2908 struct hci_conn *conn;
2909
2910 BT_DBG("%s status 0x%2.2x", hdev->name, ev->status);
2911
2912 hci_dev_lock(hdev);
2913
2914 conn = hci_conn_hash_lookup_handle(hdev, __le16_to_cpu(ev->handle));
2915 if (!conn)
2916 goto unlock;
2917
2918 if (!ev->status) {
2919 if (ev->encrypt) {
2920 /* Encryption implies authentication */
2921 set_bit(HCI_CONN_AUTH, &conn->flags);
2922 set_bit(HCI_CONN_ENCRYPT, &conn->flags);
2923 conn->sec_level = conn->pending_sec_level;
2924
2925 /* P-256 authentication key implies FIPS */
2926 if (conn->key_type == HCI_LK_AUTH_COMBINATION_P256)
2927 set_bit(HCI_CONN_FIPS, &conn->flags);
2928
2929 if ((conn->type == ACL_LINK && ev->encrypt == 0x02) ||
2930 conn->type == LE_LINK)
2931 set_bit(HCI_CONN_AES_CCM, &conn->flags);
2932 } else {
2933 clear_bit(HCI_CONN_ENCRYPT, &conn->flags);
2934 clear_bit(HCI_CONN_AES_CCM, &conn->flags);
2935 }
2936 }
2937
2938 /* We should disregard the current RPA and generate a new one
2939 * whenever the encryption procedure fails.
2940 */
2941 if (ev->status && conn->type == LE_LINK) {
2942 hci_dev_set_flag(hdev, HCI_RPA_EXPIRED);
2943 hci_adv_instances_set_rpa_expired(hdev, true);
2944 }
2945
2946 clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags);
2947
2948 if (ev->status && conn->state == BT_CONNECTED) {
2949 if (ev->status == HCI_ERROR_PIN_OR_KEY_MISSING)
2950 set_bit(HCI_CONN_AUTH_FAILURE, &conn->flags);
2951
2952 hci_disconnect(conn, HCI_ERROR_AUTH_FAILURE);
2953 hci_conn_drop(conn);
2954 goto unlock;
2955 }
2956
2957 /* In Secure Connections Only mode, do not allow any connections
2958 * that are not encrypted with AES-CCM using a P-256 authenticated
2959 * combination key.
2960 */
2961 if (hci_dev_test_flag(hdev, HCI_SC_ONLY) &&
2962 (!test_bit(HCI_CONN_AES_CCM, &conn->flags) ||
2963 conn->key_type != HCI_LK_AUTH_COMBINATION_P256)) {
2964 hci_connect_cfm(conn, HCI_ERROR_AUTH_FAILURE);
2965 hci_conn_drop(conn);
2966 goto unlock;
2967 }
2968
2969 /* Try reading the encryption key size for encrypted ACL links */
2970 if (!ev->status && ev->encrypt && conn->type == ACL_LINK) {
2971 struct hci_cp_read_enc_key_size cp;
2972 struct hci_request req;
2973
2974 /* Only send HCI_Read_Encryption_Key_Size if the
2975 * controller really supports it. If it doesn't, assume
2976 * the default size (16).
2977 */
2978 if (!(hdev->commands[20] & 0x10)) {
2979 conn->enc_key_size = HCI_LINK_KEY_SIZE;
2980 goto notify;
2981 }
2982
2983 hci_req_init(&req, hdev);
2984
2985 cp.handle = cpu_to_le16(conn->handle);
2986 hci_req_add(&req, HCI_OP_READ_ENC_KEY_SIZE, sizeof(cp), &cp);
2987
2988 if (hci_req_run_skb(&req, read_enc_key_size_complete)) {
2989 bt_dev_err(hdev, "sending read key size failed");
2990 conn->enc_key_size = HCI_LINK_KEY_SIZE;
2991 goto notify;
2992 }
2993
2994 goto unlock;
2995 }
2996
2997 /* Set the default Authenticated Payload Timeout after
2998 * an LE Link is established. As per Core Spec v5.0, Vol 2, Part B
2999 * Section 3.3, the HCI command WRITE_AUTH_PAYLOAD_TIMEOUT should be
3000 * sent when the link is active and Encryption is enabled, the conn
3001 * type can be either LE or ACL and controller must support LMP Ping.
3002 * Ensure for AES-CCM encryption as well.
3003 */
3004 if ((conn->type == LE_LINK || conn->type == ACL_LINK) &&
> 3005 lmp_ping_capable(hdev) && (hdev->le_features[0] & HCI_LE_PING)
3006 test_bit(HCI_CONN_ENCRYPT, &conn->flags) &&
3007 test_bit(HCI_CONN_AES_CCM, &conn->flags)) {
3008 struct hci_cp_write_auth_payload_to cp;
3009
3010 cp.handle = cpu_to_le16(conn->handle);
3011 cp.timeout = cpu_to_le16(hdev->auth_payload_timeout);
3012 hci_send_cmd(conn->hdev, HCI_OP_WRITE_AUTH_PAYLOAD_TO,
3013 sizeof(cp), &cp);
3014 }
3015
3016 notify:
3017 if (conn->state == BT_CONFIG) {
3018 if (!ev->status)
3019 conn->state = BT_CONNECTED;
3020
3021 hci_connect_cfm(conn, ev->status);
3022 hci_conn_drop(conn);
3023 } else
3024 hci_encrypt_cfm(conn, ev->status, ev->encrypt);
3025
3026 unlock:
3027 hci_dev_unlock(hdev);
3028 }
3029
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 56156 bytes --]
prev parent reply other threads:[~2019-04-25 12:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-24 8:17 [PATCH] [v5]Add support for LE ping feature SpoorthiX K
2019-04-24 8:11 ` Marcel Holtmann
2019-04-25 12:18 ` kbuild test robot
2019-04-25 12:25 ` kbuild test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201904252032.NAFruWPy%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@01.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=spoorthix.k@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).