summaryrefslogtreecommitdiff
path: root/dissector_netlink.h
blob: 9d30e56b263463b059524c0551237910d6af3a3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
 * netsniff-ng - the packet sniffing beast
 * Copyright 2014 Tobias Klauser.
 * Subject to the GPL, version 2.
 */

#ifndef DISSECTOR_NETLINK_H
#define DISSECTOR_NETLINK_H

#include "protos.h"

extern void dissector_init_netlink(int fnttype);
extern void dissector_cleanup_netlink(void);

static inline struct protocol *dissector_get_netlink_entry_point(void)
{
	return &nlmsg_ops;
}

static inline struct protocol *dissector_get_netlink_exit_point(void)
{
	return &none_ops;
}

#endif /* DISSECTOR_NETLINK_H */
table summary='commit info' class='commit-info'> authorWei Fang <fangwei1@huawei.com>2016-06-07 14:53:56 +0800 committerMartin K. Petersen <martin.petersen@oracle.com>2016-06-08 23:08:04 -0400 commit72d8c36ec364c82bf1bf0c64dfa1041cfaf139f7 (patch) tree4db26e920be643a2a51d97f1d3890596201c974a /Documentation/input parent6b7e9cde49691e04314342b7dce90c67ad567fcc (diff)
scsi: fix race between simultaneous decrements of ->host_failed
sas_ata_strategy_handler() adds the works of the ata error handler to system_unbound_wq. This workqueue asynchronously runs work items, so the ata error handler will be performed concurrently on different CPUs. In this case, ->host_failed will be decreased simultaneously in scsi_eh_finish_cmd() on different CPUs, and become abnormal. It will lead to permanently inequality between ->host_failed and ->host_busy, and scsi error handler thread won't start running. IO errors after that won't be handled. Since all scmds must have been handled in the strategy handler, just remove the decrement in scsi_eh_finish_cmd() and zero ->host_busy after the strategy handler to fix this race. Fixes: 50824d6c5657 ("[SCSI] libsas: async ata-eh") Cc: stable@vger.kernel.org Signed-off-by: Wei Fang <fangwei1@huawei.com> Reviewed-by: James Bottomley <jejb@linux.vnet.ibm.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'Documentation/input')