From 04c3220bd94d5770322cde61392f9250667c5008 Mon Sep 17 00:00:00 2001 From: Isaac Hermida Date: Sat, 2 Jul 2016 11:48:14 +0200 Subject: [PATCH] hostapd-2.4: add support to compile hostapd for ccimx6ul https://jira.digi.com/browse/DEL-2654 Signed-off-by: Isaac Hermida --- .../fix_num_probereq_cb_clearing.patch | 38 +++++++++++++++++++ .../hostapd/hostapd_2.4.bbappend | 9 +++++ 2 files changed, 47 insertions(+) create mode 100644 meta-digi-dey/recipes-connectivity/hostapd/hostapd-2.4/ccimx6ul/fix_num_probereq_cb_clearing.patch create mode 100644 meta-digi-dey/recipes-connectivity/hostapd/hostapd_2.4.bbappend diff --git a/meta-digi-dey/recipes-connectivity/hostapd/hostapd-2.4/ccimx6ul/fix_num_probereq_cb_clearing.patch b/meta-digi-dey/recipes-connectivity/hostapd/hostapd-2.4/ccimx6ul/fix_num_probereq_cb_clearing.patch new file mode 100644 index 000000000..df48d5f99 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/hostapd/hostapd-2.4/ccimx6ul/fix_num_probereq_cb_clearing.patch @@ -0,0 +1,38 @@ +From 24fd20438f00a6f1bdeb6f23358ef60c2696b488 Mon Sep 17 00:00:00 2001 +From: "Chen, Yi" +Date: Wed, 2 Sep 2015 21:25:01 +0530 +Subject: WPS: Fix num_probereq_cb clearing on DISABLE to avoid segfault + +Reset hapd->num_probereq_cb to 0 on an interface deinit to avoid +unexpected behavior if the same interface is enabled again without fully +freeing the data structures. hostapd_register_probereq_cb() increments +hapd->num_probereq_cb by one and leaves all old values unchanged. In +this deinit+init case, that would result in the first entry in the list +having an uninitialized pointer and the next Probe Request frame +processing would likely cause the process to terminate on segmentation +fault. + +This issue could be hit when hostapd was used with WPS enabled (non-zero +wps_state configuration parameter) and control interface command DISABLE +and ENABLE were used. + +Signed-off-by: Jouni Malinen +--- + src/ap/hostapd.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c +index e4d7bfc..c09c17a 100644 +--- a/src/ap/hostapd.c ++++ b/src/ap/hostapd.c +@@ -261,6 +261,7 @@ static void hostapd_free_hapd_data(struct hostapd_data *hapd) + { + os_free(hapd->probereq_cb); + hapd->probereq_cb = NULL; ++ hapd->num_probereq_cb = 0; + + #ifdef CONFIG_P2P + wpabuf_free(hapd->p2p_beacon_ie); +-- +cgit v0.12 + diff --git a/meta-digi-dey/recipes-connectivity/hostapd/hostapd_2.4.bbappend b/meta-digi-dey/recipes-connectivity/hostapd/hostapd_2.4.bbappend new file mode 100644 index 000000000..8d98fa93c --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/hostapd/hostapd_2.4.bbappend @@ -0,0 +1,9 @@ +# Copyright (C) 2016 Digi International. + +FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:" + +# The recipe uses a different "$S" directory so point the patch to the hostapd +# tarball directory. +SRC_URI_append_ccimx6ul = " file://fix_num_probereq_cb_clearing.patch;patchdir=.." + +PACKAGE_ARCH = "${MACHINE_ARCH}"