From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Chun-Yeow Yeoh <yeohchunyeow@gmail.com>,
Johannes Berg <johannes.berg@intel.com>,
Sasha Levin <alexander.levin@microsoft.com>
Subject: [PATCH 3.18 13/36] mac80211: fix the update of path metric for RANN frame
Date: Mon, 5 Feb 2018 10:23:41 -0800 [thread overview]
Message-ID: <20180205182352.318675842@linuxfoundation.org> (raw)
In-Reply-To: <20180205182351.774761393@linuxfoundation.org>
3.18-stable review patch. If anyone has any objections, please let me know.
------------------
From: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
[ Upstream commit fbbdad5edf0bb59786a51b94a9d006bc8c2da9a2 ]
The previous path metric update from RANN frame has not considered
the own link metric toward the transmitting mesh STA. Fix this.
Reported-by: Michael65535
Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/mac80211/mesh_hwmp.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
--- a/net/mac80211/mesh_hwmp.c
+++ b/net/mac80211/mesh_hwmp.c
@@ -763,7 +763,7 @@ static void hwmp_rann_frame_process(stru
struct mesh_path *mpath;
u8 ttl, flags, hopcount;
const u8 *orig_addr;
- u32 orig_sn, metric, metric_txsta, interval;
+ u32 orig_sn, new_metric, orig_metric, last_hop_metric, interval;
bool root_is_gate;
ttl = rann->rann_ttl;
@@ -774,7 +774,7 @@ static void hwmp_rann_frame_process(stru
interval = le32_to_cpu(rann->rann_interval);
hopcount = rann->rann_hopcount;
hopcount++;
- metric = le32_to_cpu(rann->rann_metric);
+ orig_metric = le32_to_cpu(rann->rann_metric);
/* Ignore our own RANNs */
if (ether_addr_equal(orig_addr, sdata->vif.addr))
@@ -791,7 +791,10 @@ static void hwmp_rann_frame_process(stru
return;
}
- metric_txsta = airtime_link_metric_get(local, sta);
+ last_hop_metric = airtime_link_metric_get(local, sta);
+ new_metric = orig_metric + last_hop_metric;
+ if (new_metric < orig_metric)
+ new_metric = MAX_METRIC;
mpath = mesh_path_lookup(sdata, orig_addr);
if (!mpath) {
@@ -804,7 +807,7 @@ static void hwmp_rann_frame_process(stru
}
if (!(SN_LT(mpath->sn, orig_sn)) &&
- !(mpath->sn == orig_sn && metric < mpath->rann_metric)) {
+ !(mpath->sn == orig_sn && new_metric < mpath->rann_metric)) {
rcu_read_unlock();
return;
}
@@ -822,7 +825,7 @@ static void hwmp_rann_frame_process(stru
}
mpath->sn = orig_sn;
- mpath->rann_metric = metric + metric_txsta;
+ mpath->rann_metric = new_metric;
mpath->is_root = true;
/* Recording RANNs sender address to send individually
* addressed PREQs destined for root mesh STA */
@@ -842,7 +845,7 @@ static void hwmp_rann_frame_process(stru
mesh_path_sel_frame_tx(MPATH_RANN, flags, orig_addr,
orig_sn, 0, NULL, 0, broadcast_addr,
hopcount, ttl, interval,
- metric + metric_txsta, 0, sdata);
+ new_metric, 0, sdata);
}
rcu_read_unlock();
next prev parent reply other threads:[~2018-02-05 18:23 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-05 18:23 [PATCH 3.18 00/36] 3.18.94-stable review Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 01/36] Input: do not emit unneeded EV_SYN when suspending Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 02/36] um: link vmlinux with -no-pie Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 03/36] um: Stop abusing __KERNEL__ Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 04/36] um: Remove copy&paste code from init.h Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 05/36] loop: fix concurrent lo_open/lo_release Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 06/36] ALSA: seq: Make ioctls race-free Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 07/36] gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 08/36] igb: Free IRQs when device is hotplugged Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 09/36] KVM: x86: emulator: Return to user-mode on L1 CPL=0 emulation failure Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 10/36] KVM: x86: Dont re-execute instruction when not passing CR2 value Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 11/36] KVM: X86: Fix operand/address-size during instruction decoding Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 12/36] bcache: check return value of register_shrinker Greg Kroah-Hartman
2018-02-05 18:23 ` Greg Kroah-Hartman [this message]
2018-02-05 18:23 ` [PATCH 3.18 14/36] KVM: VMX: Fix rflags cache during vCPU reset Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 15/36] xen-netfront: remove warning when unloading module Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 16/36] nfsd: CLOSE SHOULD return the invalid special stateid for NFSv4.x (x>0) Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 17/36] nfsd: check for use of the closed special stateid Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 18/36] hwmon: (pmbus) Use 64bit math for DIRECT format values Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 19/36] net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 20/36] quota: Check for register_shrinker() failure Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 21/36] scsi: ufs: ufshcd: fix potential NULL pointer dereference in ufshcd_config_vreg Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 22/36] media: usbtv: add a new usbid Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 23/36] usb: gadget: dont dereference g until after it has been null checked Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 24/36] staging: rtl8188eu: Fix incorrect response to SIOCGIWESSID Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 25/36] USB: serial: pl2303: new device id for Chilitag Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 26/36] USB: cdc-acm: Do not log urb submission errors on disconnect Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 27/36] CDC-ACM: apply quirk for card reader Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 28/36] USB: serial: io_edgeport: fix possible sleep-in-atomic Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 29/36] usbip: prevent bind loops on devices attached to vhci_hcd Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 30/36] usbip: list: dont list " Greg Kroah-Hartman
2018-02-05 18:23 ` [PATCH 3.18 31/36] USB: serial: simple: add Motorola Tetra driver Greg Kroah-Hartman
2018-02-05 18:24 ` [PATCH 3.18 32/36] usb: f_fs: Prevent gadget unbind if it is already unbound Greg Kroah-Hartman
2018-02-05 18:24 ` [PATCH 3.18 33/36] usb: uas: unconditionally bring back host after reset Greg Kroah-Hartman
2018-02-05 18:24 ` [PATCH 3.18 34/36] selinux: general protection fault in sock_has_perm Greg Kroah-Hartman
2018-02-05 18:24 ` [PATCH 3.18 35/36] spi: imx: do not access registers while clocks disabled Greg Kroah-Hartman
2018-02-05 18:24 ` [PATCH 3.18 36/36] ASoC: pcm512x: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE Greg Kroah-Hartman
2018-02-05 21:35 ` [PATCH 3.18 00/36] 3.18.94-stable review Guenter Roeck
2018-02-06 10:27 ` Greg Kroah-Hartman
2018-02-05 22:15 ` Shuah Khan
2018-02-05 22:16 ` kernelci.org bot
2018-02-06 6:48 ` Harsh Shandilya
2018-02-06 10:34 ` Greg Kroah-Hartman
2018-02-06 11:42 ` Harsh Shandilya
2018-02-06 13:14 ` Greg Kroah-Hartman
2018-02-06 14:48 ` Guenter Roeck
2018-02-07 14:37 ` Greg Kroah-Hartman
2018-02-07 16:55 ` Guenter Roeck
2018-02-06 14:29 ` Guenter Roeck
2018-02-06 17:00 ` Greg Kroah-Hartman
2018-02-07 15:19 ` Harsh Shandilya
2018-02-07 23:17 ` Greg Kroah-Hartman
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=20180205182352.318675842@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=alexander.levin@microsoft.com \
--cc=johannes.berg@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=yeohchunyeow@gmail.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
Powered by JetHome