mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-25 21:54:06 +08:00
Staging: batman-adv: Lower resolution for timeouts
It is enough for our timeouts to keep them in seconds instead of miliseconds. With a too high resolution, we might even risk an integer overflow, so this patch should make things more safe. Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
b26b45845b
commit
b6be4535e3
@ -36,10 +36,10 @@
|
||||
#define JITTER 20
|
||||
#define TTL 50 /* Time To Live of broadcast messages */
|
||||
|
||||
#define PURGE_TIMEOUT 200000 /* purge originators after time in ms if no
|
||||
#define PURGE_TIMEOUT 200 /* purge originators after time in seconds if no
|
||||
* valid packet comes in -> TODO: check
|
||||
* influence on TQ_LOCAL_WINDOW_SIZE */
|
||||
#define LOCAL_HNA_TIMEOUT 3600000
|
||||
#define LOCAL_HNA_TIMEOUT 3600 /* in seconds */
|
||||
|
||||
#define TQ_LOCAL_WINDOW_SIZE 64 /* sliding packet range of received originator
|
||||
* messages in squence numbers (should be a
|
||||
|
@ -193,8 +193,7 @@ static bool purge_orig_neighbors(struct orig_node *orig_node,
|
||||
neigh_node = list_entry(list_pos, struct neigh_node, list);
|
||||
|
||||
if ((time_after(jiffies,
|
||||
(neigh_node->last_valid +
|
||||
((PURGE_TIMEOUT * HZ) / 1000)))) ||
|
||||
neigh_node->last_valid + PURGE_TIMEOUT * HZ)) ||
|
||||
(neigh_node->if_incoming->if_status ==
|
||||
IF_TO_BE_REMOVED)) {
|
||||
|
||||
@ -231,8 +230,7 @@ static bool purge_orig_node(struct orig_node *orig_node)
|
||||
struct neigh_node *best_neigh_node;
|
||||
|
||||
if (time_after(jiffies,
|
||||
(orig_node->last_valid +
|
||||
((2 * PURGE_TIMEOUT * HZ) / 1000)))) {
|
||||
orig_node->last_valid + 2 * PURGE_TIMEOUT * HZ)) {
|
||||
|
||||
bat_dbg(DBG_BATMAN,
|
||||
"Originator timeout: originator %pM, last_valid %lu\n",
|
||||
|
@ -257,8 +257,7 @@ static void hna_local_purge(struct work_struct *work)
|
||||
while (hash_iterate(hna_local_hash, &hashit)) {
|
||||
hna_local_entry = hashit.bucket->data;
|
||||
|
||||
timeout = hna_local_entry->last_seen +
|
||||
((LOCAL_HNA_TIMEOUT * HZ) / 1000);
|
||||
timeout = hna_local_entry->last_seen + LOCAL_HNA_TIMEOUT * HZ;
|
||||
if ((!hna_local_entry->never_purge) &&
|
||||
time_after(jiffies, timeout))
|
||||
hna_local_del(hna_local_entry, "address timed out");
|
||||
|
@ -597,7 +597,7 @@ static void purge_vis_packets(void)
|
||||
if (info == my_vis_info) /* never purge own data. */
|
||||
continue;
|
||||
if (time_after(jiffies,
|
||||
info->first_seen + (VIS_TIMEOUT*HZ)/1000)) {
|
||||
info->first_seen + VIS_TIMEOUT * HZ)) {
|
||||
hash_remove_bucket(vis_hash, &hashit);
|
||||
send_list_del(info);
|
||||
kref_put(&info->refcount, free_info);
|
||||
|
@ -19,7 +19,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#define VIS_TIMEOUT 200000
|
||||
#define VIS_TIMEOUT 200 /* timeout of vis packets in seconds */
|
||||
|
||||
struct vis_info {
|
||||
unsigned long first_seen;
|
||||
|
Loading…
Reference in New Issue
Block a user