summaryrefslogtreecommitdiff
path: root/curvetun_mgmt_servers.h
blob: 9c5cd848483d51d2f71011ffa410e7bfdd60f351 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef CT_SERVMGMT_H
#define CT_SERVMGMT_H

#include <stdio.h>
#include "curve.h"

extern void parse_userfile_and_generate_serv_store_or_die(char *homedir);
extern void dump_serv_store(void);
extern void get_serv_store_entry_by_alias(char *alias, size_t len,
					  char **host, char **port, int *udp);
extern struct curve25519_proto *get_serv_store_entry_proto_inf(void);
extern unsigned char *get_serv_store_entry_auth_token(void);
extern void destroy_serv_store(void);

#endif /* CT_SERVMGMT_H */
t;2016-08-10 11:41:54 +0200 commit2cccbb368a2bf27d98cf36bb424fbbf5572c0fab (patch) tree83edb3161029df208d04341330a381b8c6e9f5a1 /virt/kvm parent99e5e886a0a59df267ff6838f763b789847df982 (diff)
KVM: arm64: vgic-its: Plug race in vgic_put_irq
Right now the following sequence of events can happen: 1. Thread X calls vgic_put_irq 2. Thread Y calls vgic_add_lpi 3. Thread Y gets lpi_list_lock 4. Thread X drops the ref count to 0 and blocks on lpi_list_lock 5. Thread Y finds the irq via the lpi_list_lock, raises the ref count to 1, and release the lpi_list_lock. 6. Thread X proceeds and frees the irq. Avoid this by holding the spinlock around the kref_put. Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'virt/kvm')