#ifndef _NET_NF_TABLES_CORE_H #define _NET_NF_TABLES_CORE_H extern struct nft_expr_type nft_imm_type; extern struct nft_expr_type nft_cmp_type; extern struct nft_expr_type nft_lookup_type; extern struct nft_expr_type nft_bitwise_type; extern struct nft_expr_type nft_byteorder_type; extern struct nft_expr_type nft_payload_type; extern struct nft_expr_type nft_dynset_type; extern struct nft_expr_type nft_range_type; int nf_tables_core_module_init(void); void nf_tables_core_module_exit(void); struct nft_cmp_fast_expr { u32 data; enum nft_registers sreg:8; u8 len; }; /* Calculate the mask for the nft_cmp_fast expression. On big endian the * mask needs to include the *upper* bytes when interpreting that data as * something smaller than the full u32, therefore a cpu_to_le32 is done. */ static inline u32 nft_cmp_fast_mask(unsigned int len) { return cpu_to_le32(~0U >> (FIELD_SIZEOF(struct nft_cmp_fast_expr, data) * BITS_PER_BYTE - len)); } extern const struct nft_expr_ops nft_cmp_fast_ops; struct nft_payload { enum nft_payload_bases base:8; u8 offset; u8 len; enum nft_registers dreg:8; }; struct nft_payload_set { enum nft_payload_bases base:8; u8 offset; u8 len; enum nft_registers sreg:8; u8 csum_type; u8 csum_offset; u8 csum_flags; }; extern const struct nft_expr_ops nft_payload_fast_ops; extern struct static_key_false nft_trace_enabled; #endif /* _NET_NF_TABLES_CORE_H */ le>
summaryrefslogtreecommitdiff
path: root/net/iucv/af_iucv.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/iucv/af_iucv.c')
>
committerBjorn Helgaas <bhelgaas@google.com>2017-02-02 10:35:46 -0600
commitdfef358bd1beb4e7b5c94eca944be9cd23dfc752 (patch)
treeb9a2afb38a4c2ac8ad31f49ec0d71fe9e5b1994c /net/dsa/tag_edsa.c
parent030305d69fc6963c16003f50d7e8d74b02d0a143 (diff)
PCI/MSI: Don't apply affinity if there aren't enough vectors left
Bart reported a problem wіth an out of bounds access in the low-level IRQ affinity code, which we root caused to the qla2xxx driver assigning all its MSI-X vectors to the pre and post vectors, and not having any left for the actually spread IRQs. Fix this issue by not asking for affinity assignment when there are no vectors to assign left. Fixes: 402723ad5c62 ("PCI/MSI: Provide pci_alloc_irq_vectors_affinity()") Link: https://lkml.kernel.org/r/1485359225.3093.3.camel@sandisk.com Reported-by: Bart Van Assche <bart.vanassche@sandisk.com> Tested-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'net/dsa/tag_edsa.c')