Merge branch 'master' into for-linus
This commit is contained in:
@@ -337,7 +337,8 @@ struct net_device *alloc_arcdev(const char *name);
|
||||
|
||||
int arcnet_open(struct net_device *dev);
|
||||
int arcnet_close(struct net_device *dev);
|
||||
int arcnet_send_packet(struct sk_buff *skb, struct net_device *dev);
|
||||
netdev_tx_t arcnet_send_packet(struct sk_buff *skb,
|
||||
struct net_device *dev);
|
||||
void arcnet_timeout(struct net_device *dev);
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
@@ -210,15 +210,25 @@ enum {
|
||||
ATA_CMD_STANDBY = 0xE2, /* place in standby power mode */
|
||||
ATA_CMD_IDLE = 0xE3, /* place in idle power mode */
|
||||
ATA_CMD_EDD = 0x90, /* execute device diagnostic */
|
||||
ATA_CMD_DOWNLOAD_MICRO = 0x92,
|
||||
ATA_CMD_NOP = 0x00,
|
||||
ATA_CMD_FLUSH = 0xE7,
|
||||
ATA_CMD_FLUSH_EXT = 0xEA,
|
||||
ATA_CMD_ID_ATA = 0xEC,
|
||||
ATA_CMD_ID_ATAPI = 0xA1,
|
||||
ATA_CMD_SERVICE = 0xA2,
|
||||
ATA_CMD_READ = 0xC8,
|
||||
ATA_CMD_READ_EXT = 0x25,
|
||||
ATA_CMD_READ_QUEUED = 0x26,
|
||||
ATA_CMD_READ_STREAM_EXT = 0x2B,
|
||||
ATA_CMD_READ_STREAM_DMA_EXT = 0x2A,
|
||||
ATA_CMD_WRITE = 0xCA,
|
||||
ATA_CMD_WRITE_EXT = 0x35,
|
||||
ATA_CMD_WRITE_QUEUED = 0x36,
|
||||
ATA_CMD_WRITE_STREAM_EXT = 0x3B,
|
||||
ATA_CMD_WRITE_STREAM_DMA_EXT = 0x3A,
|
||||
ATA_CMD_WRITE_FUA_EXT = 0x3D,
|
||||
ATA_CMD_WRITE_QUEUED_FUA_EXT = 0x3E,
|
||||
ATA_CMD_FPDMA_READ = 0x60,
|
||||
ATA_CMD_FPDMA_WRITE = 0x61,
|
||||
ATA_CMD_PIO_READ = 0x20,
|
||||
@@ -235,6 +245,7 @@ enum {
|
||||
ATA_CMD_PACKET = 0xA0,
|
||||
ATA_CMD_VERIFY = 0x40,
|
||||
ATA_CMD_VERIFY_EXT = 0x42,
|
||||
ATA_CMD_WRITE_UNCORR_EXT = 0x45,
|
||||
ATA_CMD_STANDBYNOW1 = 0xE0,
|
||||
ATA_CMD_IDLEIMMEDIATE = 0xE1,
|
||||
ATA_CMD_SLEEP = 0xE6,
|
||||
@@ -243,15 +254,34 @@ enum {
|
||||
ATA_CMD_READ_NATIVE_MAX_EXT = 0x27,
|
||||
ATA_CMD_SET_MAX = 0xF9,
|
||||
ATA_CMD_SET_MAX_EXT = 0x37,
|
||||
ATA_CMD_READ_LOG_EXT = 0x2f,
|
||||
ATA_CMD_READ_LOG_EXT = 0x2F,
|
||||
ATA_CMD_WRITE_LOG_EXT = 0x3F,
|
||||
ATA_CMD_READ_LOG_DMA_EXT = 0x47,
|
||||
ATA_CMD_WRITE_LOG_DMA_EXT = 0x57,
|
||||
ATA_CMD_TRUSTED_RCV = 0x5C,
|
||||
ATA_CMD_TRUSTED_RCV_DMA = 0x5D,
|
||||
ATA_CMD_TRUSTED_SND = 0x5E,
|
||||
ATA_CMD_TRUSTED_SND_DMA = 0x5F,
|
||||
ATA_CMD_PMP_READ = 0xE4,
|
||||
ATA_CMD_PMP_WRITE = 0xE8,
|
||||
ATA_CMD_CONF_OVERLAY = 0xB1,
|
||||
ATA_CMD_SEC_SET_PASS = 0xF1,
|
||||
ATA_CMD_SEC_UNLOCK = 0xF2,
|
||||
ATA_CMD_SEC_ERASE_PREP = 0xF3,
|
||||
ATA_CMD_SEC_ERASE_UNIT = 0xF4,
|
||||
ATA_CMD_SEC_FREEZE_LOCK = 0xF5,
|
||||
ATA_CMD_SEC_DISABLE_PASS = 0xF6,
|
||||
ATA_CMD_CONFIG_STREAM = 0x51,
|
||||
ATA_CMD_SMART = 0xB0,
|
||||
ATA_CMD_MEDIA_LOCK = 0xDE,
|
||||
ATA_CMD_MEDIA_UNLOCK = 0xDF,
|
||||
ATA_CMD_DSM = 0x06,
|
||||
ATA_CMD_CHK_MED_CRD_TYP = 0xD1,
|
||||
ATA_CMD_CFA_REQ_EXT_ERR = 0x03,
|
||||
ATA_CMD_CFA_WRITE_NE = 0x38,
|
||||
ATA_CMD_CFA_TRANS_SECT = 0x87,
|
||||
ATA_CMD_CFA_ERASE = 0xC0,
|
||||
ATA_CMD_CFA_WRITE_MULT_NE = 0xCD,
|
||||
/* marked obsolete in the ATA/ATAPI-7 spec */
|
||||
ATA_CMD_RESTORE = 0x10,
|
||||
|
||||
@@ -306,6 +336,7 @@ enum {
|
||||
/* SETFEATURE Sector counts for SATA features */
|
||||
SATA_AN = 0x05, /* Asynchronous Notification */
|
||||
SATA_DIPM = 0x03, /* Device Initiated Power Management */
|
||||
SATA_FPDMA_AA = 0x02, /* DMA Setup FIS Auto-Activate */
|
||||
|
||||
/* feature values for SET_MAX */
|
||||
ATA_SET_MAX_ADDR = 0x00,
|
||||
@@ -525,6 +556,9 @@ static inline int ata_is_data(u8 prot)
|
||||
#define ata_id_has_atapi_AN(id) \
|
||||
( (((id)[76] != 0x0000) && ((id)[76] != 0xffff)) && \
|
||||
((id)[78] & (1 << 5)) )
|
||||
#define ata_id_has_fpdma_aa(id) \
|
||||
( (((id)[76] != 0x0000) && ((id)[76] != 0xffff)) && \
|
||||
((id)[78] & (1 << 2)) )
|
||||
#define ata_id_iordy_disable(id) ((id)[ATA_ID_CAPABILITY] & (1 << 10))
|
||||
#define ata_id_has_iordy(id) ((id)[ATA_ID_CAPABILITY] & (1 << 11))
|
||||
#define ata_id_u32(id,n) \
|
||||
|
@@ -13,6 +13,8 @@
|
||||
#include <linux/proportions.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/writeback.h>
|
||||
#include <asm/atomic.h>
|
||||
|
||||
struct page;
|
||||
@@ -23,9 +25,11 @@ struct dentry;
|
||||
* Bits in backing_dev_info.state
|
||||
*/
|
||||
enum bdi_state {
|
||||
BDI_pdflush, /* A pdflush thread is working this device */
|
||||
BDI_pending, /* On its way to being activated */
|
||||
BDI_wb_alloc, /* Default embedded wb allocated */
|
||||
BDI_async_congested, /* The async (write) queue is getting full */
|
||||
BDI_sync_congested, /* The sync queue is getting full */
|
||||
BDI_registered, /* bdi_register() was done */
|
||||
BDI_unused, /* Available bits start here */
|
||||
};
|
||||
|
||||
@@ -39,7 +43,22 @@ enum bdi_stat_item {
|
||||
|
||||
#define BDI_STAT_BATCH (8*(1+ilog2(nr_cpu_ids)))
|
||||
|
||||
struct bdi_writeback {
|
||||
struct list_head list; /* hangs off the bdi */
|
||||
|
||||
struct backing_dev_info *bdi; /* our parent bdi */
|
||||
unsigned int nr;
|
||||
|
||||
unsigned long last_old_flush; /* last old data flush */
|
||||
|
||||
struct task_struct *task; /* writeback task */
|
||||
struct list_head b_dirty; /* dirty inodes */
|
||||
struct list_head b_io; /* parked for writeback */
|
||||
struct list_head b_more_io; /* parked for more writeback */
|
||||
};
|
||||
|
||||
struct backing_dev_info {
|
||||
struct list_head bdi_list;
|
||||
unsigned long ra_pages; /* max readahead in PAGE_CACHE_SIZE units */
|
||||
unsigned long state; /* Always use atomic bitops on this */
|
||||
unsigned int capabilities; /* Device capabilities */
|
||||
@@ -48,6 +67,8 @@ struct backing_dev_info {
|
||||
void (*unplug_io_fn)(struct backing_dev_info *, struct page *);
|
||||
void *unplug_io_data;
|
||||
|
||||
char *name;
|
||||
|
||||
struct percpu_counter bdi_stat[NR_BDI_STAT_ITEMS];
|
||||
|
||||
struct prop_local_percpu completions;
|
||||
@@ -56,6 +77,14 @@ struct backing_dev_info {
|
||||
unsigned int min_ratio;
|
||||
unsigned int max_ratio, max_prop_frac;
|
||||
|
||||
struct bdi_writeback wb; /* default writeback info for this bdi */
|
||||
spinlock_t wb_lock; /* protects update side of wb_list */
|
||||
struct list_head wb_list; /* the flusher threads hanging off this bdi */
|
||||
unsigned long wb_mask; /* bitmask of registered tasks */
|
||||
unsigned int wb_cnt; /* number of registered tasks */
|
||||
|
||||
struct list_head work_list;
|
||||
|
||||
struct device *dev;
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
@@ -71,6 +100,19 @@ int bdi_register(struct backing_dev_info *bdi, struct device *parent,
|
||||
const char *fmt, ...);
|
||||
int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev);
|
||||
void bdi_unregister(struct backing_dev_info *bdi);
|
||||
void bdi_start_writeback(struct writeback_control *wbc);
|
||||
int bdi_writeback_task(struct bdi_writeback *wb);
|
||||
int bdi_has_dirty_io(struct backing_dev_info *bdi);
|
||||
|
||||
extern spinlock_t bdi_lock;
|
||||
extern struct list_head bdi_list;
|
||||
|
||||
static inline int wb_has_dirty_io(struct bdi_writeback *wb)
|
||||
{
|
||||
return !list_empty(&wb->b_dirty) ||
|
||||
!list_empty(&wb->b_io) ||
|
||||
!list_empty(&wb->b_more_io);
|
||||
}
|
||||
|
||||
static inline void __add_bdi_stat(struct backing_dev_info *bdi,
|
||||
enum bdi_stat_item item, s64 amount)
|
||||
@@ -261,6 +303,11 @@ static inline bool bdi_cap_swap_backed(struct backing_dev_info *bdi)
|
||||
return bdi->capabilities & BDI_CAP_SWAP_BACKED;
|
||||
}
|
||||
|
||||
static inline bool bdi_cap_flush_forker(struct backing_dev_info *bdi)
|
||||
{
|
||||
return bdi == &default_backing_dev_info;
|
||||
}
|
||||
|
||||
static inline bool mapping_cap_writeback_dirty(struct address_space *mapping)
|
||||
{
|
||||
return bdi_cap_writeback_dirty(mapping->backing_dev_info);
|
||||
@@ -276,4 +323,10 @@ static inline bool mapping_cap_swap_backed(struct address_space *mapping)
|
||||
return bdi_cap_swap_backed(mapping->backing_dev_info);
|
||||
}
|
||||
|
||||
static inline int bdi_sched_wait(void *word)
|
||||
{
|
||||
schedule();
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* _LINUX_BACKING_DEV_H */
|
||||
|
@@ -66,5 +66,6 @@ void can_bus_off(struct net_device *dev);
|
||||
|
||||
void can_put_echo_skb(struct sk_buff *skb, struct net_device *dev, int idx);
|
||||
void can_get_echo_skb(struct net_device *dev, int idx);
|
||||
void can_free_echo_skb(struct net_device *dev, int idx);
|
||||
|
||||
#endif /* CAN_DEV_H */
|
||||
|
@@ -136,7 +136,7 @@ struct cn_callback_data {
|
||||
void *ddata;
|
||||
|
||||
void *callback_priv;
|
||||
void (*callback) (void *);
|
||||
void (*callback) (struct cn_msg *);
|
||||
|
||||
void *free;
|
||||
};
|
||||
@@ -167,11 +167,11 @@ struct cn_dev {
|
||||
struct cn_queue_dev *cbdev;
|
||||
};
|
||||
|
||||
int cn_add_callback(struct cb_id *, char *, void (*callback) (void *));
|
||||
int cn_add_callback(struct cb_id *, char *, void (*callback) (struct cn_msg *));
|
||||
void cn_del_callback(struct cb_id *);
|
||||
int cn_netlink_send(struct cn_msg *, u32, gfp_t);
|
||||
|
||||
int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(void *));
|
||||
int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(struct cn_msg *));
|
||||
void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id);
|
||||
|
||||
int queue_cn_work(struct cn_callback_entry *cbq, struct work_struct *work);
|
||||
|
@@ -48,6 +48,15 @@ struct notifier_block;
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
/* Need to know about CPUs going up/down? */
|
||||
#if defined(CONFIG_HOTPLUG_CPU) || !defined(MODULE)
|
||||
#define cpu_notifier(fn, pri) { \
|
||||
static struct notifier_block fn##_nb __cpuinitdata = \
|
||||
{ .notifier_call = fn, .priority = pri }; \
|
||||
register_cpu_notifier(&fn##_nb); \
|
||||
}
|
||||
#else /* #if defined(CONFIG_HOTPLUG_CPU) || !defined(MODULE) */
|
||||
#define cpu_notifier(fn, pri) do { (void)(fn); } while (0)
|
||||
#endif /* #else #if defined(CONFIG_HOTPLUG_CPU) || !defined(MODULE) */
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
extern int register_cpu_notifier(struct notifier_block *nb);
|
||||
extern void unregister_cpu_notifier(struct notifier_block *nb);
|
||||
@@ -74,6 +83,8 @@ extern void cpu_maps_update_done(void);
|
||||
|
||||
#else /* CONFIG_SMP */
|
||||
|
||||
#define cpu_notifier(fn, pri) do { (void)(fn); } while (0)
|
||||
|
||||
static inline int register_cpu_notifier(struct notifier_block *nb)
|
||||
{
|
||||
return 0;
|
||||
@@ -99,11 +110,7 @@ extern struct sysdev_class cpu_sysdev_class;
|
||||
|
||||
extern void get_online_cpus(void);
|
||||
extern void put_online_cpus(void);
|
||||
#define hotcpu_notifier(fn, pri) { \
|
||||
static struct notifier_block fn##_nb __cpuinitdata = \
|
||||
{ .notifier_call = fn, .priority = pri }; \
|
||||
register_cpu_notifier(&fn##_nb); \
|
||||
}
|
||||
#define hotcpu_notifier(fn, pri) cpu_notifier(fn, pri)
|
||||
#define register_hotcpu_notifier(nb) register_cpu_notifier(nb)
|
||||
#define unregister_hotcpu_notifier(nb) unregister_cpu_notifier(nb)
|
||||
int cpu_down(unsigned int cpu);
|
||||
|
@@ -114,6 +114,13 @@ struct thread_group_cred {
|
||||
*/
|
||||
struct cred {
|
||||
atomic_t usage;
|
||||
#ifdef CONFIG_DEBUG_CREDENTIALS
|
||||
atomic_t subscribers; /* number of processes subscribed */
|
||||
void *put_addr;
|
||||
unsigned magic;
|
||||
#define CRED_MAGIC 0x43736564
|
||||
#define CRED_MAGIC_DEAD 0x44656144
|
||||
#endif
|
||||
uid_t uid; /* real UID of the task */
|
||||
gid_t gid; /* real GID of the task */
|
||||
uid_t suid; /* saved UID of the task */
|
||||
@@ -143,7 +150,9 @@ struct cred {
|
||||
};
|
||||
|
||||
extern void __put_cred(struct cred *);
|
||||
extern void exit_creds(struct task_struct *);
|
||||
extern int copy_creds(struct task_struct *, unsigned long);
|
||||
extern struct cred *cred_alloc_blank(void);
|
||||
extern struct cred *prepare_creds(void);
|
||||
extern struct cred *prepare_exec_creds(void);
|
||||
extern struct cred *prepare_usermodehelper_creds(void);
|
||||
@@ -158,6 +167,60 @@ extern int set_security_override_from_ctx(struct cred *, const char *);
|
||||
extern int set_create_files_as(struct cred *, struct inode *);
|
||||
extern void __init cred_init(void);
|
||||
|
||||
/*
|
||||
* check for validity of credentials
|
||||
*/
|
||||
#ifdef CONFIG_DEBUG_CREDENTIALS
|
||||
extern void __invalid_creds(const struct cred *, const char *, unsigned);
|
||||
extern void __validate_process_creds(struct task_struct *,
|
||||
const char *, unsigned);
|
||||
|
||||
static inline bool creds_are_invalid(const struct cred *cred)
|
||||
{
|
||||
if (cred->magic != CRED_MAGIC)
|
||||
return true;
|
||||
if (atomic_read(&cred->usage) < atomic_read(&cred->subscribers))
|
||||
return true;
|
||||
#ifdef CONFIG_SECURITY_SELINUX
|
||||
if ((unsigned long) cred->security < PAGE_SIZE)
|
||||
return true;
|
||||
if ((*(u32*)cred->security & 0xffffff00) ==
|
||||
(POISON_FREE << 24 | POISON_FREE << 16 | POISON_FREE << 8))
|
||||
return true;
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void __validate_creds(const struct cred *cred,
|
||||
const char *file, unsigned line)
|
||||
{
|
||||
if (unlikely(creds_are_invalid(cred)))
|
||||
__invalid_creds(cred, file, line);
|
||||
}
|
||||
|
||||
#define validate_creds(cred) \
|
||||
do { \
|
||||
__validate_creds((cred), __FILE__, __LINE__); \
|
||||
} while(0)
|
||||
|
||||
#define validate_process_creds() \
|
||||
do { \
|
||||
__validate_process_creds(current, __FILE__, __LINE__); \
|
||||
} while(0)
|
||||
|
||||
extern void validate_creds_for_do_exit(struct task_struct *);
|
||||
#else
|
||||
static inline void validate_creds(const struct cred *cred)
|
||||
{
|
||||
}
|
||||
static inline void validate_creds_for_do_exit(struct task_struct *tsk)
|
||||
{
|
||||
}
|
||||
static inline void validate_process_creds(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* get_new_cred - Get a reference on a new set of credentials
|
||||
* @cred: The new credentials to reference
|
||||
@@ -186,7 +249,9 @@ static inline struct cred *get_new_cred(struct cred *cred)
|
||||
*/
|
||||
static inline const struct cred *get_cred(const struct cred *cred)
|
||||
{
|
||||
return get_new_cred((struct cred *) cred);
|
||||
struct cred *nonconst_cred = (struct cred *) cred;
|
||||
validate_creds(cred);
|
||||
return get_new_cred(nonconst_cred);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -204,7 +269,7 @@ static inline void put_cred(const struct cred *_cred)
|
||||
{
|
||||
struct cred *cred = (struct cred *) _cred;
|
||||
|
||||
BUG_ON(atomic_read(&(cred)->usage) <= 0);
|
||||
validate_creds(cred);
|
||||
if (atomic_dec_and_test(&(cred)->usage))
|
||||
__put_cred(cred);
|
||||
}
|
||||
|
@@ -115,7 +115,6 @@ struct crypto_async_request;
|
||||
struct crypto_aead;
|
||||
struct crypto_blkcipher;
|
||||
struct crypto_hash;
|
||||
struct crypto_ahash;
|
||||
struct crypto_rng;
|
||||
struct crypto_tfm;
|
||||
struct crypto_type;
|
||||
@@ -146,16 +145,6 @@ struct ablkcipher_request {
|
||||
void *__ctx[] CRYPTO_MINALIGN_ATTR;
|
||||
};
|
||||
|
||||
struct ahash_request {
|
||||
struct crypto_async_request base;
|
||||
|
||||
unsigned int nbytes;
|
||||
struct scatterlist *src;
|
||||
u8 *result;
|
||||
|
||||
void *__ctx[] CRYPTO_MINALIGN_ATTR;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct aead_request - AEAD request
|
||||
* @base: Common attributes for async crypto requests
|
||||
@@ -220,18 +209,6 @@ struct ablkcipher_alg {
|
||||
unsigned int ivsize;
|
||||
};
|
||||
|
||||
struct ahash_alg {
|
||||
int (*init)(struct ahash_request *req);
|
||||
int (*reinit)(struct ahash_request *req);
|
||||
int (*update)(struct ahash_request *req);
|
||||
int (*final)(struct ahash_request *req);
|
||||
int (*digest)(struct ahash_request *req);
|
||||
int (*setkey)(struct crypto_ahash *tfm, const u8 *key,
|
||||
unsigned int keylen);
|
||||
|
||||
unsigned int digestsize;
|
||||
};
|
||||
|
||||
struct aead_alg {
|
||||
int (*setkey)(struct crypto_aead *tfm, const u8 *key,
|
||||
unsigned int keylen);
|
||||
@@ -318,7 +295,6 @@ struct rng_alg {
|
||||
#define cra_cipher cra_u.cipher
|
||||
#define cra_digest cra_u.digest
|
||||
#define cra_hash cra_u.hash
|
||||
#define cra_ahash cra_u.ahash
|
||||
#define cra_compress cra_u.compress
|
||||
#define cra_rng cra_u.rng
|
||||
|
||||
@@ -346,7 +322,6 @@ struct crypto_alg {
|
||||
struct cipher_alg cipher;
|
||||
struct digest_alg digest;
|
||||
struct hash_alg hash;
|
||||
struct ahash_alg ahash;
|
||||
struct compress_alg compress;
|
||||
struct rng_alg rng;
|
||||
} cra_u;
|
||||
@@ -433,18 +408,6 @@ struct hash_tfm {
|
||||
unsigned int digestsize;
|
||||
};
|
||||
|
||||
struct ahash_tfm {
|
||||
int (*init)(struct ahash_request *req);
|
||||
int (*update)(struct ahash_request *req);
|
||||
int (*final)(struct ahash_request *req);
|
||||
int (*digest)(struct ahash_request *req);
|
||||
int (*setkey)(struct crypto_ahash *tfm, const u8 *key,
|
||||
unsigned int keylen);
|
||||
|
||||
unsigned int digestsize;
|
||||
unsigned int reqsize;
|
||||
};
|
||||
|
||||
struct compress_tfm {
|
||||
int (*cot_compress)(struct crypto_tfm *tfm,
|
||||
const u8 *src, unsigned int slen,
|
||||
@@ -465,7 +428,6 @@ struct rng_tfm {
|
||||
#define crt_blkcipher crt_u.blkcipher
|
||||
#define crt_cipher crt_u.cipher
|
||||
#define crt_hash crt_u.hash
|
||||
#define crt_ahash crt_u.ahash
|
||||
#define crt_compress crt_u.compress
|
||||
#define crt_rng crt_u.rng
|
||||
|
||||
@@ -479,7 +441,6 @@ struct crypto_tfm {
|
||||
struct blkcipher_tfm blkcipher;
|
||||
struct cipher_tfm cipher;
|
||||
struct hash_tfm hash;
|
||||
struct ahash_tfm ahash;
|
||||
struct compress_tfm compress;
|
||||
struct rng_tfm rng;
|
||||
} crt_u;
|
||||
@@ -770,7 +731,7 @@ static inline struct ablkcipher_request *ablkcipher_request_alloc(
|
||||
|
||||
static inline void ablkcipher_request_free(struct ablkcipher_request *req)
|
||||
{
|
||||
kfree(req);
|
||||
kzfree(req);
|
||||
}
|
||||
|
||||
static inline void ablkcipher_request_set_callback(
|
||||
@@ -901,7 +862,7 @@ static inline struct aead_request *aead_request_alloc(struct crypto_aead *tfm,
|
||||
|
||||
static inline void aead_request_free(struct aead_request *req)
|
||||
{
|
||||
kfree(req);
|
||||
kzfree(req);
|
||||
}
|
||||
|
||||
static inline void aead_request_set_callback(struct aead_request *req,
|
||||
|
@@ -50,6 +50,8 @@ struct dcbmsg {
|
||||
* @DCB_CMD_SNUMTCS: set the number of traffic classes
|
||||
* @DCB_CMD_GBCN: set backward congestion notification configuration
|
||||
* @DCB_CMD_SBCN: get backward congestion notification configration.
|
||||
* @DCB_CMD_GAPP: get application protocol configuration
|
||||
* @DCB_CMD_SAPP: set application protocol configuration
|
||||
*/
|
||||
enum dcbnl_commands {
|
||||
DCB_CMD_UNDEFINED,
|
||||
@@ -80,6 +82,9 @@ enum dcbnl_commands {
|
||||
DCB_CMD_BCN_GCFG,
|
||||
DCB_CMD_BCN_SCFG,
|
||||
|
||||
DCB_CMD_GAPP,
|
||||
DCB_CMD_SAPP,
|
||||
|
||||
__DCB_CMD_ENUM_MAX,
|
||||
DCB_CMD_MAX = __DCB_CMD_ENUM_MAX - 1,
|
||||
};
|
||||
@@ -114,6 +119,7 @@ enum dcbnl_attrs {
|
||||
DCB_ATTR_CAP,
|
||||
DCB_ATTR_NUMTCS,
|
||||
DCB_ATTR_BCN,
|
||||
DCB_ATTR_APP,
|
||||
|
||||
__DCB_ATTR_ENUM_MAX,
|
||||
DCB_ATTR_MAX = __DCB_ATTR_ENUM_MAX - 1,
|
||||
@@ -338,5 +344,17 @@ enum dcb_general_attr_values {
|
||||
DCB_ATTR_VALUE_UNDEFINED = 0xff
|
||||
};
|
||||
|
||||
#define DCB_APP_IDTYPE_ETHTYPE 0x00
|
||||
#define DCB_APP_IDTYPE_PORTNUM 0x01
|
||||
enum dcbnl_app_attrs {
|
||||
DCB_APP_ATTR_UNDEFINED,
|
||||
|
||||
DCB_APP_ATTR_IDTYPE,
|
||||
DCB_APP_ATTR_ID,
|
||||
DCB_APP_ATTR_PRIORITY,
|
||||
|
||||
__DCB_APP_ATTR_ENUM_MAX,
|
||||
DCB_APP_ATTR_MAX = __DCB_APP_ATTR_ENUM_MAX - 1,
|
||||
};
|
||||
|
||||
#endif /* __LINUX_DCBNL_H__ */
|
||||
|
@@ -98,11 +98,6 @@ static inline int is_device_dma_capable(struct device *dev)
|
||||
return dev->dma_mask != NULL && *dev->dma_mask != DMA_MASK_NONE;
|
||||
}
|
||||
|
||||
static inline int is_buffer_dma_capable(u64 mask, dma_addr_t addr, size_t size)
|
||||
{
|
||||
return addr + size <= mask;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_HAS_DMA
|
||||
#include <asm/dma-mapping.h>
|
||||
#else
|
||||
|
@@ -43,7 +43,7 @@ extern const char * dmi_get_system_info(int field);
|
||||
extern const struct dmi_device * dmi_find_device(int type, const char *name,
|
||||
const struct dmi_device *from);
|
||||
extern void dmi_scan_machine(void);
|
||||
extern int dmi_get_year(int field);
|
||||
extern bool dmi_get_date(int field, int *yearp, int *monthp, int *dayp);
|
||||
extern int dmi_name_in_vendors(const char *str);
|
||||
extern int dmi_name_in_serial(const char *str);
|
||||
extern int dmi_available;
|
||||
@@ -58,7 +58,16 @@ static inline const char * dmi_get_system_info(int field) { return NULL; }
|
||||
static inline const struct dmi_device * dmi_find_device(int type, const char *name,
|
||||
const struct dmi_device *from) { return NULL; }
|
||||
static inline void dmi_scan_machine(void) { return; }
|
||||
static inline int dmi_get_year(int year) { return 0; }
|
||||
static inline bool dmi_get_date(int field, int *yearp, int *monthp, int *dayp)
|
||||
{
|
||||
if (yearp)
|
||||
*yearp = 0;
|
||||
if (monthp)
|
||||
*monthp = 0;
|
||||
if (dayp)
|
||||
*dayp = 0;
|
||||
return false;
|
||||
}
|
||||
static inline int dmi_name_in_vendors(const char *s) { return 0; }
|
||||
static inline int dmi_name_in_serial(const char *s) { return 0; }
|
||||
#define dmi_available 0
|
||||
|
@@ -362,12 +362,25 @@ struct ethtool_rxnfc {
|
||||
__u32 rule_locs[0];
|
||||
};
|
||||
|
||||
#define ETHTOOL_FLASH_MAX_FILENAME 128
|
||||
enum ethtool_flash_op_type {
|
||||
ETHTOOL_FLASH_ALL_REGIONS = 0,
|
||||
};
|
||||
|
||||
/* for passing firmware flashing related parameters */
|
||||
struct ethtool_flash {
|
||||
__u32 cmd;
|
||||
__u32 region;
|
||||
char data[ETHTOOL_FLASH_MAX_FILENAME];
|
||||
};
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
struct net_device;
|
||||
|
||||
/* Some generic methods drivers may use in their ethtool_ops */
|
||||
u32 ethtool_op_get_link(struct net_device *dev);
|
||||
u32 ethtool_op_get_rx_csum(struct net_device *dev);
|
||||
u32 ethtool_op_get_tx_csum(struct net_device *dev);
|
||||
int ethtool_op_set_tx_csum(struct net_device *dev, u32 data);
|
||||
int ethtool_op_set_tx_hw_csum(struct net_device *dev, u32 data);
|
||||
@@ -488,6 +501,7 @@ struct ethtool_ops {
|
||||
int (*get_stats_count)(struct net_device *);/* use get_sset_count */
|
||||
int (*get_rxnfc)(struct net_device *, struct ethtool_rxnfc *, void *);
|
||||
int (*set_rxnfc)(struct net_device *, struct ethtool_rxnfc *);
|
||||
int (*flash_device)(struct net_device *, struct ethtool_flash *);
|
||||
};
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
@@ -544,6 +558,7 @@ struct ethtool_ops {
|
||||
#define ETHTOOL_GRXCLSRLALL 0x00000030 /* Get all RX classification rule */
|
||||
#define ETHTOOL_SRXCLSRLDEL 0x00000031 /* Delete RX classification rule */
|
||||
#define ETHTOOL_SRXCLSRLINS 0x00000032 /* Insert RX classification rule */
|
||||
#define ETHTOOL_FLASHDEV 0x00000033 /* Flash firmware to device */
|
||||
|
||||
/* compatibility with older code */
|
||||
#define SPARC_ETH_GSET ETHTOOL_GSET
|
||||
|
10
include/linux/fips.h
Normal file
10
include/linux/fips.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef _FIPS_H
|
||||
#define _FIPS_H
|
||||
|
||||
#ifdef CONFIG_CRYPTO_FIPS
|
||||
extern int fips_enabled;
|
||||
#else
|
||||
#define fips_enabled 0
|
||||
#endif
|
||||
|
||||
#endif
|
@@ -715,7 +715,7 @@ struct posix_acl;
|
||||
|
||||
struct inode {
|
||||
struct hlist_node i_hash;
|
||||
struct list_head i_list;
|
||||
struct list_head i_list; /* backing dev IO list */
|
||||
struct list_head i_sb_list;
|
||||
struct list_head i_dentry;
|
||||
unsigned long i_ino;
|
||||
@@ -1336,9 +1336,6 @@ struct super_block {
|
||||
struct xattr_handler **s_xattr;
|
||||
|
||||
struct list_head s_inodes; /* all inodes */
|
||||
struct list_head s_dirty; /* dirty inodes */
|
||||
struct list_head s_io; /* parked for writeback */
|
||||
struct list_head s_more_io; /* parked for more writeback */
|
||||
struct hlist_head s_anon; /* anonymous dentries for (nfs) exporting */
|
||||
struct list_head s_files;
|
||||
/* s_dentry_lru and s_nr_dentry_unused are protected by dcache_lock */
|
||||
@@ -1528,6 +1525,7 @@ struct inode_operations {
|
||||
void (*put_link) (struct dentry *, struct nameidata *, void *);
|
||||
void (*truncate) (struct inode *);
|
||||
int (*permission) (struct inode *, int);
|
||||
int (*check_acl)(struct inode *, int);
|
||||
int (*setattr) (struct dentry *, struct iattr *);
|
||||
int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *);
|
||||
int (*setxattr) (struct dentry *, const char *,const void *,size_t,int);
|
||||
@@ -1788,6 +1786,7 @@ extern int get_sb_pseudo(struct file_system_type *, char *,
|
||||
struct vfsmount *mnt);
|
||||
extern void simple_set_mnt(struct vfsmount *mnt, struct super_block *sb);
|
||||
int __put_super_and_need_restart(struct super_block *sb);
|
||||
void put_super(struct super_block *sb);
|
||||
|
||||
/* Alas, no aliases. Too much hassle with bringing module.h everywhere */
|
||||
#define fops_get(fops) \
|
||||
@@ -1998,12 +1997,25 @@ extern void bd_release_from_disk(struct block_device *, struct gendisk *);
|
||||
#define CHRDEV_MAJOR_HASH_SIZE 255
|
||||
extern int alloc_chrdev_region(dev_t *, unsigned, unsigned, const char *);
|
||||
extern int register_chrdev_region(dev_t, unsigned, const char *);
|
||||
extern int register_chrdev(unsigned int, const char *,
|
||||
const struct file_operations *);
|
||||
extern void unregister_chrdev(unsigned int, const char *);
|
||||
extern int __register_chrdev(unsigned int major, unsigned int baseminor,
|
||||
unsigned int count, const char *name,
|
||||
const struct file_operations *fops);
|
||||
extern void __unregister_chrdev(unsigned int major, unsigned int baseminor,
|
||||
unsigned int count, const char *name);
|
||||
extern void unregister_chrdev_region(dev_t, unsigned);
|
||||
extern void chrdev_show(struct seq_file *,off_t);
|
||||
|
||||
static inline int register_chrdev(unsigned int major, const char *name,
|
||||
const struct file_operations *fops)
|
||||
{
|
||||
return __register_chrdev(major, 0, 256, name, fops);
|
||||
}
|
||||
|
||||
static inline void unregister_chrdev(unsigned int major, const char *name)
|
||||
{
|
||||
__unregister_chrdev(major, 0, 256, name);
|
||||
}
|
||||
|
||||
/* fs/block_dev.c */
|
||||
#define BDEVNAME_SIZE 32 /* Largest string for a blockdev identifier */
|
||||
#define BDEVT_SIZE 10 /* Largest string for MAJ:MIN for blkdev */
|
||||
@@ -2070,8 +2082,6 @@ static inline void invalidate_remote_inode(struct inode *inode)
|
||||
extern int invalidate_inode_pages2(struct address_space *mapping);
|
||||
extern int invalidate_inode_pages2_range(struct address_space *mapping,
|
||||
pgoff_t start, pgoff_t end);
|
||||
extern void generic_sync_sb_inodes(struct super_block *sb,
|
||||
struct writeback_control *wbc);
|
||||
extern int write_inode_now(struct inode *, int);
|
||||
extern int filemap_fdatawrite(struct address_space *);
|
||||
extern int filemap_flush(struct address_space *);
|
||||
@@ -2186,7 +2196,6 @@ extern int bdev_read_only(struct block_device *);
|
||||
extern int set_blocksize(struct block_device *, int);
|
||||
extern int sb_set_blocksize(struct super_block *, int);
|
||||
extern int sb_min_blocksize(struct super_block *, int);
|
||||
extern int sb_has_dirty_inodes(struct super_block *);
|
||||
|
||||
extern int generic_file_mmap(struct file *, struct vm_area_struct *);
|
||||
extern int generic_file_readonly_mmap(struct file *, struct vm_area_struct *);
|
||||
|
@@ -93,16 +93,22 @@ void tracing_generic_entry_update(struct trace_entry *entry,
|
||||
unsigned long flags,
|
||||
int pc);
|
||||
struct ring_buffer_event *
|
||||
trace_current_buffer_lock_reserve(int type, unsigned long len,
|
||||
trace_current_buffer_lock_reserve(struct ring_buffer **current_buffer,
|
||||
int type, unsigned long len,
|
||||
unsigned long flags, int pc);
|
||||
void trace_current_buffer_unlock_commit(struct ring_buffer_event *event,
|
||||
void trace_current_buffer_unlock_commit(struct ring_buffer *buffer,
|
||||
struct ring_buffer_event *event,
|
||||
unsigned long flags, int pc);
|
||||
void trace_nowake_buffer_unlock_commit(struct ring_buffer_event *event,
|
||||
void trace_nowake_buffer_unlock_commit(struct ring_buffer *buffer,
|
||||
struct ring_buffer_event *event,
|
||||
unsigned long flags, int pc);
|
||||
void trace_current_buffer_discard_commit(struct ring_buffer_event *event);
|
||||
void trace_current_buffer_discard_commit(struct ring_buffer *buffer,
|
||||
struct ring_buffer_event *event);
|
||||
|
||||
void tracing_record_cmdline(struct task_struct *tsk);
|
||||
|
||||
struct event_filter;
|
||||
|
||||
struct ftrace_event_call {
|
||||
struct list_head list;
|
||||
char *name;
|
||||
@@ -110,16 +116,18 @@ struct ftrace_event_call {
|
||||
struct dentry *dir;
|
||||
struct trace_event *event;
|
||||
int enabled;
|
||||
int (*regfunc)(void);
|
||||
void (*unregfunc)(void);
|
||||
int (*regfunc)(void *);
|
||||
void (*unregfunc)(void *);
|
||||
int id;
|
||||
int (*raw_init)(void);
|
||||
int (*show_format)(struct trace_seq *s);
|
||||
int (*define_fields)(void);
|
||||
int (*show_format)(struct ftrace_event_call *call,
|
||||
struct trace_seq *s);
|
||||
int (*define_fields)(struct ftrace_event_call *);
|
||||
struct list_head fields;
|
||||
int filter_active;
|
||||
void *filter;
|
||||
struct event_filter *filter;
|
||||
void *mod;
|
||||
void *data;
|
||||
|
||||
atomic_t profile_count;
|
||||
int (*profile_enable)(struct ftrace_event_call *);
|
||||
@@ -129,15 +137,25 @@ struct ftrace_event_call {
|
||||
#define MAX_FILTER_PRED 32
|
||||
#define MAX_FILTER_STR_VAL 128
|
||||
|
||||
extern int init_preds(struct ftrace_event_call *call);
|
||||
extern void destroy_preds(struct ftrace_event_call *call);
|
||||
extern int filter_match_preds(struct ftrace_event_call *call, void *rec);
|
||||
extern int filter_current_check_discard(struct ftrace_event_call *call,
|
||||
extern int filter_current_check_discard(struct ring_buffer *buffer,
|
||||
struct ftrace_event_call *call,
|
||||
void *rec,
|
||||
struct ring_buffer_event *event);
|
||||
|
||||
extern int trace_define_field(struct ftrace_event_call *call, char *type,
|
||||
char *name, int offset, int size, int is_signed);
|
||||
enum {
|
||||
FILTER_OTHER = 0,
|
||||
FILTER_STATIC_STRING,
|
||||
FILTER_DYN_STRING,
|
||||
FILTER_PTR_STRING,
|
||||
};
|
||||
|
||||
extern int trace_define_field(struct ftrace_event_call *call,
|
||||
const char *type, const char *name,
|
||||
int offset, int size, int is_signed,
|
||||
int filter_type);
|
||||
extern int trace_define_common_fields(struct ftrace_event_call *call);
|
||||
|
||||
#define is_signed_type(type) (((type)(-1)) < 0)
|
||||
|
||||
@@ -162,11 +180,4 @@ do { \
|
||||
__trace_printk(ip, fmt, ##args); \
|
||||
} while (0)
|
||||
|
||||
#define __common_field(type, item, is_signed) \
|
||||
ret = trace_define_field(event_call, #type, "common_" #item, \
|
||||
offsetof(typeof(field.ent), item), \
|
||||
sizeof(field.ent.item), is_signed); \
|
||||
if (ret) \
|
||||
return ret;
|
||||
|
||||
#endif /* _LINUX_FTRACE_EVENT_H */
|
||||
|
@@ -64,6 +64,12 @@
|
||||
#define HARDIRQ_OFFSET (1UL << HARDIRQ_SHIFT)
|
||||
#define NMI_OFFSET (1UL << NMI_SHIFT)
|
||||
|
||||
#ifndef PREEMPT_ACTIVE
|
||||
#define PREEMPT_ACTIVE_BITS 1
|
||||
#define PREEMPT_ACTIVE_SHIFT (NMI_SHIFT + NMI_BITS)
|
||||
#define PREEMPT_ACTIVE (__IRQ_MASK(PREEMPT_ACTIVE_BITS) << PREEMPT_ACTIVE_SHIFT)
|
||||
#endif
|
||||
|
||||
#if PREEMPT_ACTIVE < (1 << (NMI_SHIFT + NMI_BITS))
|
||||
#error PREEMPT_ACTIVE is too low!
|
||||
#endif
|
||||
@@ -132,7 +138,7 @@ static inline void account_system_vtime(struct task_struct *tsk)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU)
|
||||
#if defined(CONFIG_NO_HZ)
|
||||
extern void rcu_irq_enter(void);
|
||||
extern void rcu_irq_exit(void);
|
||||
extern void rcu_nmi_enter(void);
|
||||
@@ -142,7 +148,7 @@ extern void rcu_nmi_exit(void);
|
||||
# define rcu_irq_exit() do { } while (0)
|
||||
# define rcu_nmi_enter() do { } while (0)
|
||||
# define rcu_nmi_exit() do { } while (0)
|
||||
#endif /* #if defined(CONFIG_NO_HZ) && !defined(CONFIG_CLASSIC_RCU) */
|
||||
#endif /* #if defined(CONFIG_NO_HZ) */
|
||||
|
||||
/*
|
||||
* It is safe to do non-atomic ops on ->hardirq_context,
|
||||
|
@@ -38,7 +38,7 @@ struct hdlc_proto {
|
||||
int (*ioctl)(struct net_device *dev, struct ifreq *ifr);
|
||||
__be16 (*type_trans)(struct sk_buff *skb, struct net_device *dev);
|
||||
int (*netif_rx)(struct sk_buff *skb);
|
||||
int (*xmit)(struct sk_buff *skb, struct net_device *dev);
|
||||
netdev_tx_t (*xmit)(struct sk_buff *skb, struct net_device *dev);
|
||||
struct module *module;
|
||||
struct hdlc_proto *next; /* next protocol in the list */
|
||||
};
|
||||
@@ -51,7 +51,7 @@ typedef struct hdlc_device {
|
||||
unsigned short encoding, unsigned short parity);
|
||||
|
||||
/* hardware driver must handle this instead of dev->hard_start_xmit */
|
||||
int (*xmit)(struct sk_buff *skb, struct net_device *dev);
|
||||
netdev_tx_t (*xmit)(struct sk_buff *skb, struct net_device *dev);
|
||||
|
||||
/* Things below are for HDLC layer internal use only */
|
||||
const struct hdlc_proto *proto;
|
||||
@@ -60,7 +60,7 @@ typedef struct hdlc_device {
|
||||
spinlock_t state_lock;
|
||||
void *state;
|
||||
void *priv;
|
||||
}hdlc_device;
|
||||
} hdlc_device;
|
||||
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ void hdlc_close(struct net_device *dev);
|
||||
/* May be used by hardware driver */
|
||||
int hdlc_change_mtu(struct net_device *dev, int new_mtu);
|
||||
/* Must be pointed to by hw driver's dev->netdev_ops->ndo_start_xmit */
|
||||
int hdlc_start_xmit(struct sk_buff *skb, struct net_device *dev);
|
||||
netdev_tx_t hdlc_start_xmit(struct sk_buff *skb, struct net_device *dev);
|
||||
|
||||
int attach_hdlc_protocol(struct net_device *dev, struct hdlc_proto *proto,
|
||||
size_t size);
|
||||
|
@@ -171,8 +171,6 @@ struct icmp6_filter {
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/skbuff.h>
|
||||
|
||||
|
||||
extern void icmpv6_send(struct sk_buff *skb,
|
||||
u8 type, u8 code,
|
||||
|
@@ -115,7 +115,7 @@
|
||||
#define IEEE80211_MAX_SSID_LEN 32
|
||||
|
||||
#define IEEE80211_MAX_MESH_ID_LEN 32
|
||||
#define IEEE80211_MESH_CONFIG_LEN 19
|
||||
#define IEEE80211_MESH_CONFIG_LEN 24
|
||||
|
||||
#define IEEE80211_QOS_CTL_LEN 2
|
||||
#define IEEE80211_QOS_CTL_TID_MASK 0x000F
|
||||
@@ -802,6 +802,31 @@ struct ieee80211_ht_cap {
|
||||
#define IEEE80211_HT_AMPDU_PARM_FACTOR 0x03
|
||||
#define IEEE80211_HT_AMPDU_PARM_DENSITY 0x1C
|
||||
|
||||
/*
|
||||
* Maximum length of AMPDU that the STA can receive.
|
||||
* Length = 2 ^ (13 + max_ampdu_length_exp) - 1 (octets)
|
||||
*/
|
||||
enum ieee80211_max_ampdu_length_exp {
|
||||
IEEE80211_HT_MAX_AMPDU_8K = 0,
|
||||
IEEE80211_HT_MAX_AMPDU_16K = 1,
|
||||
IEEE80211_HT_MAX_AMPDU_32K = 2,
|
||||
IEEE80211_HT_MAX_AMPDU_64K = 3
|
||||
};
|
||||
|
||||
#define IEEE80211_HT_MAX_AMPDU_FACTOR 13
|
||||
|
||||
/* Minimum MPDU start spacing */
|
||||
enum ieee80211_min_mpdu_spacing {
|
||||
IEEE80211_HT_MPDU_DENSITY_NONE = 0, /* No restriction */
|
||||
IEEE80211_HT_MPDU_DENSITY_0_25 = 1, /* 1/4 usec */
|
||||
IEEE80211_HT_MPDU_DENSITY_0_5 = 2, /* 1/2 usec */
|
||||
IEEE80211_HT_MPDU_DENSITY_1 = 3, /* 1 usec */
|
||||
IEEE80211_HT_MPDU_DENSITY_2 = 4, /* 2 usec */
|
||||
IEEE80211_HT_MPDU_DENSITY_4 = 5, /* 4 usec */
|
||||
IEEE80211_HT_MPDU_DENSITY_8 = 6, /* 8 usec */
|
||||
IEEE80211_HT_MPDU_DENSITY_16 = 7 /* 16 usec */
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ieee80211_ht_info - HT information
|
||||
*
|
||||
@@ -1196,6 +1221,10 @@ enum ieee80211_sa_query_action {
|
||||
#define WLAN_CIPHER_SUITE_WEP104 0x000FAC05
|
||||
#define WLAN_CIPHER_SUITE_AES_CMAC 0x000FAC06
|
||||
|
||||
/* AKM suite selectors */
|
||||
#define WLAN_AKM_SUITE_8021X 0x000FAC01
|
||||
#define WLAN_AKM_SUITE_PSK 0x000FAC02
|
||||
|
||||
#define WLAN_MAX_KEY_LEN 32
|
||||
|
||||
/**
|
||||
|
@@ -41,6 +41,7 @@ enum
|
||||
|
||||
#define IFA_F_NODAD 0x02
|
||||
#define IFA_F_OPTIMISTIC 0x04
|
||||
#define IFA_F_DADFAILED 0x08
|
||||
#define IFA_F_HOMEADDRESS 0x10
|
||||
#define IFA_F_DEPRECATED 0x20
|
||||
#define IFA_F_TENTATIVE 0x40
|
||||
|
@@ -87,7 +87,6 @@
|
||||
#define ARPHRD_IEEE80211_PRISM 802 /* IEEE 802.11 + Prism2 header */
|
||||
#define ARPHRD_IEEE80211_RADIOTAP 803 /* IEEE 802.11 + radiotap header */
|
||||
#define ARPHRD_IEEE802154 804
|
||||
#define ARPHRD_IEEE802154_PHY 805
|
||||
|
||||
#define ARPHRD_PHONET 820 /* PhoNet media type */
|
||||
#define ARPHRD_PHONET_PIPE 821 /* PhoNet pipe header */
|
||||
|
@@ -139,10 +139,10 @@ extern ssize_t sysfs_format_mac(char *buf, const unsigned char *addr, int len);
|
||||
/*
|
||||
* Display a 6 byte device address (MAC) in a readable format.
|
||||
*/
|
||||
extern char *print_mac(char *buf, const unsigned char *addr);
|
||||
extern char *print_mac(char *buf, const unsigned char *addr) __deprecated;
|
||||
#define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x"
|
||||
#define MAC_BUF_SIZE 18
|
||||
#define DECLARE_MAC_BUF(var) char var[MAC_BUF_SIZE] __maybe_unused
|
||||
#define DECLARE_MAC_BUF(var) char var[MAC_BUF_SIZE]
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -69,11 +69,6 @@ struct dlci_conf {
|
||||
|
||||
#define DLCI_VALID_FLAGS 0x000B
|
||||
|
||||
/* FRAD driver uses these to indicate what it did with packet */
|
||||
#define DLCI_RET_OK 0x00
|
||||
#define DLCI_RET_ERR 0x01
|
||||
#define DLCI_RET_DROP 0x02
|
||||
|
||||
/* defines for the actual Frame Relay hardware */
|
||||
#define FRAD_GET_CONF (SIOCDEVPRIVATE)
|
||||
#define FRAD_SET_CONF (SIOCDEVPRIVATE + 1)
|
||||
|
@@ -62,6 +62,7 @@
|
||||
#define TUN_F_TSO4 0x02 /* I can handle TSO for IPv4 packets */
|
||||
#define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */
|
||||
#define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */
|
||||
#define TUN_F_UFO 0x10 /* I can handle UFO packets */
|
||||
|
||||
/* Protocol info prepended to the packets (when IFF_NO_PI is not set) */
|
||||
#define TUN_PKT_STRIP 0x0001
|
||||
|
@@ -103,8 +103,8 @@
|
||||
#define __INIT .section ".init.text","ax"
|
||||
#define __FINIT .previous
|
||||
|
||||
#define __INITDATA .section ".init.data","aw"
|
||||
#define __INITRODATA .section ".init.rodata","a"
|
||||
#define __INITDATA .section ".init.data","aw",%progbits
|
||||
#define __INITRODATA .section ".init.rodata","a",%progbits
|
||||
#define __FINITDATA .previous
|
||||
|
||||
#define __DEVINIT .section ".devinit.text", "ax"
|
||||
@@ -305,9 +305,17 @@ void __init parse_early_options(char *cmdline);
|
||||
#ifdef CONFIG_MODULES
|
||||
#define __init_or_module
|
||||
#define __initdata_or_module
|
||||
#define __initconst_or_module
|
||||
#define __INIT_OR_MODULE .text
|
||||
#define __INITDATA_OR_MODULE .data
|
||||
#define __INITRODATA_OR_MODULE .section ".rodata","a",%progbits
|
||||
#else
|
||||
#define __init_or_module __init
|
||||
#define __initdata_or_module __initdata
|
||||
#define __initconst_or_module __initconst
|
||||
#define __INIT_OR_MODULE __INIT
|
||||
#define __INITDATA_OR_MODULE __INITDATA
|
||||
#define __INITRODATA_OR_MODULE __INITRODATA
|
||||
#endif /*CONFIG_MODULES*/
|
||||
|
||||
/* Functions marked as __devexit may be discarded at kernel link time, depending
|
||||
|
@@ -94,6 +94,16 @@ extern struct group_info init_groups;
|
||||
# define CAP_INIT_BSET CAP_INIT_EFF_SET
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TREE_PREEMPT_RCU
|
||||
#define INIT_TASK_RCU_PREEMPT(tsk) \
|
||||
.rcu_read_lock_nesting = 0, \
|
||||
.rcu_read_unlock_special = 0, \
|
||||
.rcu_blocked_node = NULL, \
|
||||
.rcu_node_entry = LIST_HEAD_INIT(tsk.rcu_node_entry),
|
||||
#else
|
||||
#define INIT_TASK_RCU_PREEMPT(tsk)
|
||||
#endif
|
||||
|
||||
extern struct cred init_cred;
|
||||
|
||||
#ifdef CONFIG_PERF_COUNTERS
|
||||
@@ -173,6 +183,7 @@ extern struct cred init_cred;
|
||||
INIT_LOCKDEP \
|
||||
INIT_FTRACE_GRAPH \
|
||||
INIT_TRACE_RECURSION \
|
||||
INIT_TASK_RCU_PREEMPT(tsk) \
|
||||
}
|
||||
|
||||
|
||||
|
@@ -50,6 +50,9 @@
|
||||
* IRQF_IRQPOLL - Interrupt is used for polling (only the interrupt that is
|
||||
* registered first in an shared interrupt is considered for
|
||||
* performance reasons)
|
||||
* IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished.
|
||||
* Used by threaded interrupts which need to keep the
|
||||
* irq line disabled until the threaded handler has been run.
|
||||
*/
|
||||
#define IRQF_DISABLED 0x00000020
|
||||
#define IRQF_SAMPLE_RANDOM 0x00000040
|
||||
@@ -59,6 +62,7 @@
|
||||
#define IRQF_PERCPU 0x00000400
|
||||
#define IRQF_NOBALANCING 0x00000800
|
||||
#define IRQF_IRQPOLL 0x00001000
|
||||
#define IRQF_ONESHOT 0x00002000
|
||||
|
||||
/*
|
||||
* Bits used by threaded handlers:
|
||||
|
@@ -69,6 +69,8 @@ typedef void (*irq_flow_handler_t)(unsigned int irq,
|
||||
#define IRQ_MOVE_PCNTXT 0x01000000 /* IRQ migration from process context */
|
||||
#define IRQ_AFFINITY_SET 0x02000000 /* IRQ affinity was set from userspace*/
|
||||
#define IRQ_SUSPENDED 0x04000000 /* IRQ has gone through suspend sequence */
|
||||
#define IRQ_ONESHOT 0x08000000 /* IRQ is not unmasked after hardirq */
|
||||
#define IRQ_NESTED_THREAD 0x10000000 /* IRQ is nested into another, no own handler thread */
|
||||
|
||||
#ifdef CONFIG_IRQ_PER_CPU
|
||||
# define CHECK_IRQ_PER_CPU(var) ((var) & IRQ_PER_CPU)
|
||||
@@ -100,6 +102,9 @@ struct msi_desc;
|
||||
* @set_type: set the flow type (IRQ_TYPE_LEVEL/etc.) of an IRQ
|
||||
* @set_wake: enable/disable power-management wake-on of an IRQ
|
||||
*
|
||||
* @bus_lock: function to lock access to slow bus (i2c) chips
|
||||
* @bus_sync_unlock: function to sync and unlock slow bus (i2c) chips
|
||||
*
|
||||
* @release: release function solely used by UML
|
||||
* @typename: obsoleted by name, kept as migration helper
|
||||
*/
|
||||
@@ -123,6 +128,9 @@ struct irq_chip {
|
||||
int (*set_type)(unsigned int irq, unsigned int flow_type);
|
||||
int (*set_wake)(unsigned int irq, unsigned int on);
|
||||
|
||||
void (*bus_lock)(unsigned int irq);
|
||||
void (*bus_sync_unlock)(unsigned int irq);
|
||||
|
||||
/* Currently used only by UML, might disappear one day.*/
|
||||
#ifdef CONFIG_IRQ_RELEASE_METHOD
|
||||
void (*release)(unsigned int irq, void *dev_id);
|
||||
@@ -219,13 +227,6 @@ static inline struct irq_desc *move_irq_desc(struct irq_desc *desc, int node)
|
||||
|
||||
extern struct irq_desc *irq_to_desc_alloc_node(unsigned int irq, int node);
|
||||
|
||||
/*
|
||||
* Migration helpers for obsolete names, they will go away:
|
||||
*/
|
||||
#define hw_interrupt_type irq_chip
|
||||
#define no_irq_type no_irq_chip
|
||||
typedef struct irq_desc irq_desc_t;
|
||||
|
||||
/*
|
||||
* Pick up the arch-dependent methods:
|
||||
*/
|
||||
@@ -289,6 +290,7 @@ extern void handle_edge_irq(unsigned int irq, struct irq_desc *desc);
|
||||
extern void handle_simple_irq(unsigned int irq, struct irq_desc *desc);
|
||||
extern void handle_percpu_irq(unsigned int irq, struct irq_desc *desc);
|
||||
extern void handle_bad_irq(unsigned int irq, struct irq_desc *desc);
|
||||
extern void handle_nested_irq(unsigned int irq);
|
||||
|
||||
/*
|
||||
* Monolithic do_IRQ implementation.
|
||||
@@ -379,6 +381,8 @@ set_irq_chained_handler(unsigned int irq,
|
||||
__set_irq_handler(irq, handle, 1, NULL);
|
||||
}
|
||||
|
||||
extern void set_irq_nested_thread(unsigned int irq, int nest);
|
||||
|
||||
extern void set_irq_noprobe(unsigned int irq);
|
||||
extern void set_irq_probe(unsigned int irq);
|
||||
|
||||
|
@@ -41,6 +41,12 @@ extern struct irq_desc *irq_to_desc(unsigned int irq);
|
||||
; \
|
||||
else
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
#define irq_node(irq) (irq_to_desc(irq)->node)
|
||||
#else
|
||||
#define irq_node(irq) 0
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_GENERIC_HARDIRQS */
|
||||
|
||||
#define for_each_irq_nr(irq) \
|
||||
|
82
include/linux/isdn/hdlc.h
Normal file
82
include/linux/isdn/hdlc.h
Normal file
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* hdlc.h -- General purpose ISDN HDLC decoder.
|
||||
*
|
||||
* Implementation of a HDLC decoder/encoder in software.
|
||||
* Neccessary because some ISDN devices don't have HDLC
|
||||
* controllers.
|
||||
*
|
||||
* Copyright (C)
|
||||
* 2009 Karsten Keil <keil@b1-systems.de>
|
||||
* 2002 Wolfgang Mües <wolfgang@iksw-muees.de>
|
||||
* 2001 Frode Isaksen <fisaksen@bewan.com>
|
||||
* 2001 Kai Germaschewski <kai.germaschewski@gmx.de>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#ifndef __ISDNHDLC_H__
|
||||
#define __ISDNHDLC_H__
|
||||
|
||||
struct isdnhdlc_vars {
|
||||
int bit_shift;
|
||||
int hdlc_bits1;
|
||||
int data_bits;
|
||||
int ffbit_shift; /* encoding only */
|
||||
int state;
|
||||
int dstpos;
|
||||
|
||||
u16 crc;
|
||||
|
||||
u8 cbin;
|
||||
u8 shift_reg;
|
||||
u8 ffvalue;
|
||||
|
||||
/* set if transferring data */
|
||||
u32 data_received:1;
|
||||
/* set if D channel (send idle instead of flags) */
|
||||
u32 dchannel:1;
|
||||
/* set if 56K adaptation */
|
||||
u32 do_adapt56:1;
|
||||
/* set if in closing phase (need to send CRC + flag) */
|
||||
u32 do_closing:1;
|
||||
/* set if data is bitreverse */
|
||||
u32 do_bitreverse:1;
|
||||
};
|
||||
|
||||
/* Feature Flags */
|
||||
#define HDLC_56KBIT 0x01
|
||||
#define HDLC_DCHANNEL 0x02
|
||||
#define HDLC_BITREVERSE 0x04
|
||||
|
||||
/*
|
||||
The return value from isdnhdlc_decode is
|
||||
the frame length, 0 if no complete frame was decoded,
|
||||
or a negative error number
|
||||
*/
|
||||
#define HDLC_FRAMING_ERROR 1
|
||||
#define HDLC_CRC_ERROR 2
|
||||
#define HDLC_LENGTH_ERROR 3
|
||||
|
||||
extern void isdnhdlc_rcv_init(struct isdnhdlc_vars *hdlc, u32 features);
|
||||
|
||||
extern int isdnhdlc_decode(struct isdnhdlc_vars *hdlc, const u8 *src,
|
||||
int slen, int *count, u8 *dst, int dsize);
|
||||
|
||||
extern void isdnhdlc_out_init(struct isdnhdlc_vars *hdlc, u32 features);
|
||||
|
||||
extern int isdnhdlc_encode(struct isdnhdlc_vars *hdlc, const u8 *src,
|
||||
u16 slen, int *count, u8 *dst, int dsize);
|
||||
|
||||
#endif /* __ISDNHDLC_H__ */
|
@@ -125,7 +125,7 @@ extern int _cond_resched(void);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_DEBUG_SPINLOCK_SLEEP
|
||||
void __might_sleep(char *file, int line);
|
||||
void __might_sleep(char *file, int line, int preempt_offset);
|
||||
/**
|
||||
* might_sleep - annotation for functions that can sleep
|
||||
*
|
||||
@@ -137,8 +137,9 @@ extern int _cond_resched(void);
|
||||
* supposed to.
|
||||
*/
|
||||
# define might_sleep() \
|
||||
do { __might_sleep(__FILE__, __LINE__); might_resched(); } while (0)
|
||||
do { __might_sleep(__FILE__, __LINE__, 0); might_resched(); } while (0)
|
||||
#else
|
||||
static inline void __might_sleep(char *file, int line, int preempt_offset) { }
|
||||
# define might_sleep() do { might_resched(); } while (0)
|
||||
#endif
|
||||
|
||||
|
@@ -129,7 +129,10 @@ struct key {
|
||||
struct rw_semaphore sem; /* change vs change sem */
|
||||
struct key_user *user; /* owner of this key */
|
||||
void *security; /* security data for this key */
|
||||
time_t expiry; /* time at which key expires (or 0) */
|
||||
union {
|
||||
time_t expiry; /* time at which key expires (or 0) */
|
||||
time_t revoked_at; /* time at which key was revoked */
|
||||
};
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
key_perm_t perm; /* access permissions */
|
||||
@@ -275,6 +278,8 @@ static inline key_serial_t key_serial(struct key *key)
|
||||
extern ctl_table key_sysctls[];
|
||||
#endif
|
||||
|
||||
extern void key_replace_session_keyring(void);
|
||||
|
||||
/*
|
||||
* the userspace interface
|
||||
*/
|
||||
@@ -297,6 +302,7 @@ extern void key_init(void);
|
||||
#define key_fsuid_changed(t) do { } while(0)
|
||||
#define key_fsgid_changed(t) do { } while(0)
|
||||
#define key_init() do { } while(0)
|
||||
#define key_replace_session_keyring() do { } while(0)
|
||||
|
||||
#endif /* CONFIG_KEYS */
|
||||
#endif /* __KERNEL__ */
|
||||
|
@@ -52,5 +52,6 @@
|
||||
#define KEYCTL_SET_TIMEOUT 15 /* set key timeout */
|
||||
#define KEYCTL_ASSUME_AUTHORITY 16 /* assume request_key() authorisation */
|
||||
#define KEYCTL_GET_SECURITY 17 /* get key security label */
|
||||
#define KEYCTL_SESSION_TO_PARENT 18 /* apply session keyring to parent process */
|
||||
|
||||
#endif /* _LINUX_KEYCTL_H */
|
||||
|
@@ -34,6 +34,8 @@ void kmemcheck_mark_initialized_pages(struct page *p, unsigned int n);
|
||||
int kmemcheck_show_addr(unsigned long address);
|
||||
int kmemcheck_hide_addr(unsigned long address);
|
||||
|
||||
bool kmemcheck_is_obj_initialized(unsigned long addr, size_t size);
|
||||
|
||||
#else
|
||||
#define kmemcheck_enabled 0
|
||||
|
||||
@@ -99,6 +101,11 @@ static inline void kmemcheck_mark_initialized_pages(struct page *p,
|
||||
{
|
||||
}
|
||||
|
||||
static inline bool kmemcheck_is_obj_initialized(unsigned long addr, size_t size)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_KMEMCHECK */
|
||||
|
||||
/*
|
||||
|
@@ -23,18 +23,18 @@
|
||||
|
||||
#ifdef CONFIG_DEBUG_KMEMLEAK
|
||||
|
||||
extern void kmemleak_init(void);
|
||||
extern void kmemleak_init(void) __ref;
|
||||
extern void kmemleak_alloc(const void *ptr, size_t size, int min_count,
|
||||
gfp_t gfp);
|
||||
extern void kmemleak_free(const void *ptr);
|
||||
extern void kmemleak_free_part(const void *ptr, size_t size);
|
||||
gfp_t gfp) __ref;
|
||||
extern void kmemleak_free(const void *ptr) __ref;
|
||||
extern void kmemleak_free_part(const void *ptr, size_t size) __ref;
|
||||
extern void kmemleak_padding(const void *ptr, unsigned long offset,
|
||||
size_t size);
|
||||
extern void kmemleak_not_leak(const void *ptr);
|
||||
extern void kmemleak_ignore(const void *ptr);
|
||||
size_t size) __ref;
|
||||
extern void kmemleak_not_leak(const void *ptr) __ref;
|
||||
extern void kmemleak_ignore(const void *ptr) __ref;
|
||||
extern void kmemleak_scan_area(const void *ptr, unsigned long offset,
|
||||
size_t length, gfp_t gfp);
|
||||
extern void kmemleak_no_scan(const void *ptr);
|
||||
size_t length, gfp_t gfp) __ref;
|
||||
extern void kmemleak_no_scan(const void *ptr) __ref;
|
||||
|
||||
static inline void kmemleak_alloc_recursive(const void *ptr, size_t size,
|
||||
int min_count, unsigned long flags,
|
||||
|
@@ -143,7 +143,6 @@ enum {
|
||||
|
||||
ATA_DFLAG_PIO = (1 << 12), /* device limited to PIO mode */
|
||||
ATA_DFLAG_NCQ_OFF = (1 << 13), /* device limited to non-NCQ mode */
|
||||
ATA_DFLAG_SPUNDOWN = (1 << 14), /* XXX: for spindown_compat */
|
||||
ATA_DFLAG_SLEEPING = (1 << 15), /* device is sleeping */
|
||||
ATA_DFLAG_DUBIOUS_XFER = (1 << 16), /* data transfer not verified */
|
||||
ATA_DFLAG_NO_UNLOAD = (1 << 17), /* device doesn't support unload */
|
||||
@@ -190,6 +189,7 @@ enum {
|
||||
ATA_FLAG_NO_POWEROFF_SPINDOWN = (1 << 11), /* don't spindown before poweroff */
|
||||
ATA_FLAG_NO_HIBERNATE_SPINDOWN = (1 << 12), /* don't spindown before hibernation */
|
||||
ATA_FLAG_DEBUGMSG = (1 << 13),
|
||||
ATA_FLAG_FPDMA_AA = (1 << 14), /* driver supports Auto-Activate */
|
||||
ATA_FLAG_IGN_SIMPLEX = (1 << 15), /* ignore SIMPLEX */
|
||||
ATA_FLAG_NO_IORDY = (1 << 16), /* controller lacks iordy */
|
||||
ATA_FLAG_ACPI_SATA = (1 << 17), /* need native SATA ACPI layout */
|
||||
@@ -386,6 +386,7 @@ enum {
|
||||
ATA_HORKAGE_FIRMWARE_WARN = (1 << 12), /* firmware update warning */
|
||||
ATA_HORKAGE_1_5_GBPS = (1 << 13), /* force 1.5 Gbps */
|
||||
ATA_HORKAGE_NOSETXFER = (1 << 14), /* skip SETXFER, SATA only */
|
||||
ATA_HORKAGE_BROKEN_FPDMA_AA = (1 << 15), /* skip AA */
|
||||
|
||||
/* DMA mask for user DMA control: User visible values; DO NOT
|
||||
renumber */
|
||||
|
@@ -149,6 +149,12 @@ struct lock_list {
|
||||
struct lock_class *class;
|
||||
struct stack_trace trace;
|
||||
int distance;
|
||||
|
||||
/*
|
||||
* The parent field is used to implement breadth-first search, and the
|
||||
* bit 0 is reused to indicate if the lock has been accessed in BFS.
|
||||
*/
|
||||
struct lock_list *parent;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -208,10 +214,12 @@ struct held_lock {
|
||||
* interrupt context:
|
||||
*/
|
||||
unsigned int irq_context:2; /* bit 0 - soft, bit 1 - hard */
|
||||
unsigned int trylock:1;
|
||||
unsigned int trylock:1; /* 16 bits */
|
||||
|
||||
unsigned int read:2; /* see lock_acquire() comment */
|
||||
unsigned int check:2; /* see lock_acquire() comment */
|
||||
unsigned int hardirqs_off:1;
|
||||
unsigned int references:11; /* 32 bits */
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -291,6 +299,10 @@ extern void lock_acquire(struct lockdep_map *lock, unsigned int subclass,
|
||||
extern void lock_release(struct lockdep_map *lock, int nested,
|
||||
unsigned long ip);
|
||||
|
||||
#define lockdep_is_held(lock) lock_is_held(&(lock)->dep_map)
|
||||
|
||||
extern int lock_is_held(struct lockdep_map *lock);
|
||||
|
||||
extern void lock_set_class(struct lockdep_map *lock, const char *name,
|
||||
struct lock_class_key *key, unsigned int subclass,
|
||||
unsigned long ip);
|
||||
@@ -309,6 +321,8 @@ extern void lockdep_trace_alloc(gfp_t mask);
|
||||
|
||||
#define lockdep_depth(tsk) (debug_locks ? (tsk)->lockdep_depth : 0)
|
||||
|
||||
#define lockdep_assert_held(l) WARN_ON(debug_locks && !lockdep_is_held(l))
|
||||
|
||||
#else /* !LOCKDEP */
|
||||
|
||||
static inline void lockdep_off(void)
|
||||
@@ -353,6 +367,8 @@ struct lock_class_key { };
|
||||
|
||||
#define lockdep_depth(tsk) (0)
|
||||
|
||||
#define lockdep_assert_held(l) do { } while (0)
|
||||
|
||||
#endif /* !LOCKDEP */
|
||||
|
||||
#ifdef CONFIG_LOCK_STAT
|
||||
|
@@ -33,6 +33,7 @@ struct common_audit_data {
|
||||
#define LSM_AUDIT_DATA_IPC 4
|
||||
#define LSM_AUDIT_DATA_TASK 5
|
||||
#define LSM_AUDIT_DATA_KEY 6
|
||||
#define LSM_AUDIT_NO_AUDIT 7
|
||||
struct task_struct *tsk;
|
||||
union {
|
||||
struct {
|
||||
@@ -66,16 +67,19 @@ struct common_audit_data {
|
||||
} key_struct;
|
||||
#endif
|
||||
} u;
|
||||
const char *function;
|
||||
/* this union contains LSM specific data */
|
||||
union {
|
||||
#ifdef CONFIG_SECURITY_SMACK
|
||||
/* SMACK data */
|
||||
struct smack_audit_data {
|
||||
const char *function;
|
||||
char *subject;
|
||||
char *object;
|
||||
char *request;
|
||||
int result;
|
||||
} smack_audit_data;
|
||||
#endif
|
||||
#ifdef CONFIG_SECURITY_SELINUX
|
||||
/* SELinux data */
|
||||
struct {
|
||||
u32 ssid;
|
||||
@@ -83,10 +87,12 @@ struct common_audit_data {
|
||||
u16 tclass;
|
||||
u32 requested;
|
||||
u32 audited;
|
||||
u32 denied;
|
||||
struct av_decision *avd;
|
||||
int result;
|
||||
} selinux_audit_data;
|
||||
} lsm_priv;
|
||||
#endif
|
||||
};
|
||||
/* these callback will be implemented by a specific LSM */
|
||||
void (*lsm_pre_audit)(struct audit_buffer *, void *);
|
||||
void (*lsm_post_audit)(struct audit_buffer *, void *);
|
||||
@@ -104,7 +110,7 @@ int ipv6_skb_to_auditdata(struct sk_buff *skb,
|
||||
/* Initialize an LSM audit data structure. */
|
||||
#define COMMON_AUDIT_DATA_INIT(_d, _t) \
|
||||
{ memset((_d), 0, sizeof(struct common_audit_data)); \
|
||||
(_d)->type = LSM_AUDIT_DATA_##_t; (_d)->function = __func__; }
|
||||
(_d)->type = LSM_AUDIT_DATA_##_t; }
|
||||
|
||||
void common_lsm_audit(struct common_audit_data *a);
|
||||
|
||||
|
@@ -168,6 +168,7 @@ struct bchannel {
|
||||
extern int mISDN_initdchannel(struct dchannel *, int, void *);
|
||||
extern int mISDN_initbchannel(struct bchannel *, int);
|
||||
extern int mISDN_freedchannel(struct dchannel *);
|
||||
extern void mISDN_clear_bchannel(struct bchannel *);
|
||||
extern int mISDN_freebchannel(struct bchannel *);
|
||||
extern void queue_ch_frame(struct mISDNchannel *, u_int,
|
||||
int, struct sk_buff *);
|
||||
|
@@ -37,7 +37,7 @@
|
||||
*/
|
||||
#define MISDN_MAJOR_VERSION 1
|
||||
#define MISDN_MINOR_VERSION 1
|
||||
#define MISDN_RELEASE 20
|
||||
#define MISDN_RELEASE 21
|
||||
|
||||
/* primitives for information exchange
|
||||
* generell format
|
||||
@@ -153,6 +153,18 @@
|
||||
#define HFC_VOL_CHANGE_RX 0x2602
|
||||
#define HFC_SPL_LOOP_ON 0x2603
|
||||
#define HFC_SPL_LOOP_OFF 0x2604
|
||||
/* for T30 FAX and analog modem */
|
||||
#define HW_MOD_FRM 0x4000
|
||||
#define HW_MOD_FRH 0x4001
|
||||
#define HW_MOD_FTM 0x4002
|
||||
#define HW_MOD_FTH 0x4003
|
||||
#define HW_MOD_FTS 0x4004
|
||||
#define HW_MOD_CONNECT 0x4010
|
||||
#define HW_MOD_OK 0x4011
|
||||
#define HW_MOD_NOCARR 0x4012
|
||||
#define HW_MOD_FCERROR 0x4013
|
||||
#define HW_MOD_READY 0x4014
|
||||
#define HW_MOD_LASTDATA 0x4015
|
||||
|
||||
/* DSP_TONE_PATT_ON parameter */
|
||||
#define TONE_OFF 0x0000
|
||||
@@ -224,6 +236,8 @@
|
||||
#define ISDN_P_B_L2DTMF 0x24
|
||||
#define ISDN_P_B_L2DSP 0x25
|
||||
#define ISDN_P_B_L2DSPHDLC 0x26
|
||||
#define ISDN_P_B_T30_FAX 0x27
|
||||
#define ISDN_P_B_MODEM_ASYNC 0x28
|
||||
|
||||
#define OPTION_L2_PMX 1
|
||||
#define OPTION_L2_PTP 2
|
||||
|
@@ -304,7 +304,7 @@ static inline __u16 mdio_phy_id_devad(int phy_id)
|
||||
*/
|
||||
struct mdio_if_info {
|
||||
int prtad;
|
||||
u32 __bitwise mmds;
|
||||
u32 mmds;
|
||||
unsigned mode_support;
|
||||
|
||||
struct net_device *dev;
|
||||
|
@@ -22,6 +22,12 @@
|
||||
/*
|
||||
* Vendors and devices. Sort key: vendor first, device next.
|
||||
*/
|
||||
#define SDIO_VENDOR_ID_INTEL 0x0089
|
||||
#define SDIO_DEVICE_ID_INTEL_IWMC3200WIMAX 0x1402
|
||||
#define SDIO_DEVICE_ID_INTEL_IWMC3200WIFI 0x1403
|
||||
#define SDIO_DEVICE_ID_INTEL_IWMC3200TOP 0x1404
|
||||
#define SDIO_DEVICE_ID_INTEL_IWMC3200GPS 0x1405
|
||||
#define SDIO_DEVICE_ID_INTEL_IWMC3200BT 0x1406
|
||||
|
||||
#define SDIO_VENDOR_ID_MARVELL 0x02df
|
||||
#define SDIO_DEVICE_ID_MARVELL_LIBERTAS 0x9103
|
||||
|
@@ -17,10 +17,12 @@
|
||||
#include <linux/moduleparam.h>
|
||||
#include <linux/marker.h>
|
||||
#include <linux/tracepoint.h>
|
||||
#include <asm/local.h>
|
||||
|
||||
#include <asm/local.h>
|
||||
#include <asm/module.h>
|
||||
|
||||
#include <trace/events/module.h>
|
||||
|
||||
/* Not Yet Implemented */
|
||||
#define MODULE_SUPPORTED_DEVICE(name)
|
||||
|
||||
@@ -462,7 +464,10 @@ static inline local_t *__module_ref_addr(struct module *mod, int cpu)
|
||||
static inline void __module_get(struct module *module)
|
||||
{
|
||||
if (module) {
|
||||
local_inc(__module_ref_addr(module, get_cpu()));
|
||||
unsigned int cpu = get_cpu();
|
||||
local_inc(__module_ref_addr(module, cpu));
|
||||
trace_module_get(module, _THIS_IP_,
|
||||
local_read(__module_ref_addr(module, cpu)));
|
||||
put_cpu();
|
||||
}
|
||||
}
|
||||
@@ -473,8 +478,11 @@ static inline int try_module_get(struct module *module)
|
||||
|
||||
if (module) {
|
||||
unsigned int cpu = get_cpu();
|
||||
if (likely(module_is_live(module)))
|
||||
if (likely(module_is_live(module))) {
|
||||
local_inc(__module_ref_addr(module, cpu));
|
||||
trace_module_get(module, _THIS_IP_,
|
||||
local_read(__module_ref_addr(module, cpu)));
|
||||
}
|
||||
else
|
||||
ret = 0;
|
||||
put_cpu();
|
||||
|
@@ -3,7 +3,6 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
struct net_dm_drop_point {
|
||||
__u8 pc[8];
|
||||
|
@@ -72,10 +72,6 @@ struct wireless_dev;
|
||||
/* Backlog congestion levels */
|
||||
#define NET_RX_SUCCESS 0 /* keep 'em coming, baby */
|
||||
#define NET_RX_DROP 1 /* packet dropped */
|
||||
#define NET_RX_CN_LOW 2 /* storm alert, just in case */
|
||||
#define NET_RX_CN_MOD 3 /* Storm on its way! */
|
||||
#define NET_RX_CN_HIGH 4 /* The storm is here */
|
||||
#define NET_RX_BAD 5 /* packet dropped due to kernel error */
|
||||
|
||||
/* NET_XMIT_CN is special. It does not guarantee that this packet is lost. It
|
||||
* indicates that the device will soon be dropping packets, or already drops
|
||||
@@ -83,17 +79,19 @@ struct wireless_dev;
|
||||
#define net_xmit_eval(e) ((e) == NET_XMIT_CN? 0 : (e))
|
||||
#define net_xmit_errno(e) ((e) != NET_XMIT_CN ? -ENOBUFS : 0)
|
||||
|
||||
/* Driver transmit return codes */
|
||||
enum netdev_tx {
|
||||
NETDEV_TX_OK = 0, /* driver took care of packet */
|
||||
NETDEV_TX_BUSY, /* driver tx path was busy*/
|
||||
NETDEV_TX_LOCKED = -1, /* driver tx lock was already taken */
|
||||
};
|
||||
typedef enum netdev_tx netdev_tx_t;
|
||||
|
||||
#endif
|
||||
|
||||
#define MAX_ADDR_LEN 32 /* Largest hardware address length */
|
||||
|
||||
/* Driver transmit return codes */
|
||||
#define NETDEV_TX_OK 0 /* driver took care of packet */
|
||||
#define NETDEV_TX_BUSY 1 /* driver tx path was busy*/
|
||||
#define NETDEV_TX_LOCKED -1 /* driver tx lock was already taken */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
/*
|
||||
* Compute the worst case header length according to the protocols
|
||||
* used.
|
||||
@@ -511,9 +509,11 @@ struct netdev_queue {
|
||||
* This function is called when network device transistions to the down
|
||||
* state.
|
||||
*
|
||||
* int (*ndo_start_xmit)(struct sk_buff *skb, struct net_device *dev);
|
||||
* netdev_tx_t (*ndo_start_xmit)(struct sk_buff *skb,
|
||||
* struct net_device *dev);
|
||||
* Called when a packet needs to be transmitted.
|
||||
* Must return NETDEV_TX_OK , NETDEV_TX_BUSY, or NETDEV_TX_LOCKED,
|
||||
* Must return NETDEV_TX_OK , NETDEV_TX_BUSY.
|
||||
* (can also return NETDEV_TX_LOCKED iff NETIF_F_LLTX)
|
||||
* Required can not be NULL.
|
||||
*
|
||||
* u16 (*ndo_select_queue)(struct net_device *dev, struct sk_buff *skb);
|
||||
@@ -584,7 +584,7 @@ struct net_device_ops {
|
||||
void (*ndo_uninit)(struct net_device *dev);
|
||||
int (*ndo_open)(struct net_device *dev);
|
||||
int (*ndo_stop)(struct net_device *dev);
|
||||
int (*ndo_start_xmit) (struct sk_buff *skb,
|
||||
netdev_tx_t (*ndo_start_xmit) (struct sk_buff *skb,
|
||||
struct net_device *dev);
|
||||
u16 (*ndo_select_queue)(struct net_device *dev,
|
||||
struct sk_buff *skb);
|
||||
@@ -627,6 +627,8 @@ struct net_device_ops {
|
||||
void (*ndo_poll_controller)(struct net_device *dev);
|
||||
#endif
|
||||
#if defined(CONFIG_FCOE) || defined(CONFIG_FCOE_MODULE)
|
||||
int (*ndo_fcoe_enable)(struct net_device *dev);
|
||||
int (*ndo_fcoe_disable)(struct net_device *dev);
|
||||
int (*ndo_fcoe_ddp_setup)(struct net_device *dev,
|
||||
u16 xid,
|
||||
struct scatterlist *sgl,
|
||||
@@ -705,6 +707,7 @@ struct net_device
|
||||
/* the GSO_MASK reserves bits 16 through 23 */
|
||||
#define NETIF_F_FCOE_CRC (1 << 24) /* FCoE CRC32 */
|
||||
#define NETIF_F_SCTP_CSUM (1 << 25) /* SCTP checksum offload */
|
||||
#define NETIF_F_FCOE_MTU (1 << 26) /* Supports max FCoE MTU, 2158 bytes*/
|
||||
|
||||
/* Segmentation offload features */
|
||||
#define NETIF_F_GSO_SHIFT 16
|
||||
@@ -829,6 +832,9 @@ struct net_device
|
||||
/* Number of TX queues currently active in device */
|
||||
unsigned int real_num_tx_queues;
|
||||
|
||||
/* root qdisc from userspace point of view */
|
||||
struct Qdisc *qdisc;
|
||||
|
||||
unsigned long tx_queue_len; /* Max frames per queue allowed */
|
||||
spinlock_t tx_global_lock;
|
||||
/*
|
||||
@@ -992,6 +998,12 @@ static inline void *netdev_priv(const struct net_device *dev)
|
||||
*/
|
||||
#define SET_NETDEV_DEV(net, pdev) ((net)->dev.parent = (pdev))
|
||||
|
||||
/* Set the sysfs device type for the network logical device to allow
|
||||
* fin grained indentification of different network device types. For
|
||||
* example Ethernet, Wirelss LAN, Bluetooth, WiMAX etc.
|
||||
*/
|
||||
#define SET_NETDEV_DEVTYPE(net, devtype) ((net)->dev.type = (devtype))
|
||||
|
||||
/**
|
||||
* netif_napi_add - initialize a napi context
|
||||
* @dev: network device
|
||||
@@ -1260,7 +1272,7 @@ static inline void netif_tx_wake_queue(struct netdev_queue *dev_queue)
|
||||
{
|
||||
#ifdef CONFIG_NETPOLL_TRAP
|
||||
if (netpoll_trap()) {
|
||||
clear_bit(__QUEUE_STATE_XOFF, &dev_queue->state);
|
||||
netif_tx_start_queue(dev_queue);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@@ -1366,7 +1378,8 @@ static inline int netif_running(const struct net_device *dev)
|
||||
static inline void netif_start_subqueue(struct net_device *dev, u16 queue_index)
|
||||
{
|
||||
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue_index);
|
||||
clear_bit(__QUEUE_STATE_XOFF, &txq->state);
|
||||
|
||||
netif_tx_start_queue(txq);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1383,7 +1396,7 @@ static inline void netif_stop_subqueue(struct net_device *dev, u16 queue_index)
|
||||
if (netpoll_trap())
|
||||
return;
|
||||
#endif
|
||||
set_bit(__QUEUE_STATE_XOFF, &txq->state);
|
||||
netif_tx_stop_queue(txq);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1397,7 +1410,8 @@ static inline int __netif_subqueue_stopped(const struct net_device *dev,
|
||||
u16 queue_index)
|
||||
{
|
||||
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue_index);
|
||||
return test_bit(__QUEUE_STATE_XOFF, &txq->state);
|
||||
|
||||
return netif_tx_queue_stopped(txq);
|
||||
}
|
||||
|
||||
static inline int netif_subqueue_stopped(const struct net_device *dev,
|
||||
@@ -1749,8 +1763,7 @@ static inline void netif_tx_unlock(struct net_device *dev)
|
||||
* force a schedule.
|
||||
*/
|
||||
clear_bit(__QUEUE_STATE_FROZEN, &txq->state);
|
||||
if (!test_bit(__QUEUE_STATE_XOFF, &txq->state))
|
||||
__netif_schedule(txq->qdisc);
|
||||
netif_schedule_queue(txq);
|
||||
}
|
||||
spin_unlock(&dev->tx_global_lock);
|
||||
}
|
||||
|
@@ -58,7 +58,8 @@ struct nfgenmsg {
|
||||
struct nfnl_callback
|
||||
{
|
||||
int (*call)(struct sock *nl, struct sk_buff *skb,
|
||||
struct nlmsghdr *nlh, struct nlattr *cda[]);
|
||||
const struct nlmsghdr *nlh,
|
||||
const struct nlattr * const cda[]);
|
||||
const struct nla_policy *policy; /* netlink attribute policy */
|
||||
const u_int16_t attr_count; /* number of nlattr's */
|
||||
};
|
||||
|
@@ -238,9 +238,9 @@ struct xt_mtdtor_param {
|
||||
*/
|
||||
struct xt_target_param {
|
||||
const struct net_device *in, *out;
|
||||
unsigned int hooknum;
|
||||
const struct xt_target *target;
|
||||
const void *targinfo;
|
||||
unsigned int hooknum;
|
||||
u_int8_t family;
|
||||
};
|
||||
|
||||
@@ -407,7 +407,7 @@ extern int xt_check_target(struct xt_tgchk_param *,
|
||||
unsigned int size, u_int8_t proto, bool inv_proto);
|
||||
|
||||
extern struct xt_table *xt_register_table(struct net *net,
|
||||
struct xt_table *table,
|
||||
const struct xt_table *table,
|
||||
struct xt_table_info *bootstrap,
|
||||
struct xt_table_info *newinfo);
|
||||
extern void *xt_unregister_table(struct xt_table *table);
|
||||
|
@@ -18,12 +18,6 @@ enum {
|
||||
XT_CONNMARK_RESTORE
|
||||
};
|
||||
|
||||
struct xt_connmark_target_info {
|
||||
unsigned long mark;
|
||||
unsigned long mask;
|
||||
__u8 mode;
|
||||
};
|
||||
|
||||
struct xt_connmark_tginfo1 {
|
||||
__u32 ctmark, ctmask, nfmask;
|
||||
__u8 mode;
|
||||
|
@@ -3,23 +3,6 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Version 0 */
|
||||
struct xt_mark_target_info {
|
||||
unsigned long mark;
|
||||
};
|
||||
|
||||
/* Version 1 */
|
||||
enum {
|
||||
XT_MARK_SET=0,
|
||||
XT_MARK_AND,
|
||||
XT_MARK_OR,
|
||||
};
|
||||
|
||||
struct xt_mark_target_info_v1 {
|
||||
unsigned long mark;
|
||||
__u8 mode;
|
||||
};
|
||||
|
||||
struct xt_mark_tginfo2 {
|
||||
__u32 mark, mask;
|
||||
};
|
||||
|
@@ -12,11 +12,6 @@
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
|
||||
struct xt_connmark_info {
|
||||
unsigned long mark, mask;
|
||||
__u8 invert;
|
||||
};
|
||||
|
||||
struct xt_connmark_mtinfo1 {
|
||||
__u32 mark, mask;
|
||||
__u8 invert;
|
||||
|
@@ -32,42 +32,6 @@ enum {
|
||||
XT_CONNTRACK_DIRECTION = 1 << 12,
|
||||
};
|
||||
|
||||
/* This is exposed to userspace, so remains frozen in time. */
|
||||
struct ip_conntrack_old_tuple
|
||||
{
|
||||
struct {
|
||||
__be32 ip;
|
||||
union {
|
||||
__u16 all;
|
||||
} u;
|
||||
} src;
|
||||
|
||||
struct {
|
||||
__be32 ip;
|
||||
union {
|
||||
__u16 all;
|
||||
} u;
|
||||
|
||||
/* The protocol. */
|
||||
__u16 protonum;
|
||||
} dst;
|
||||
};
|
||||
|
||||
struct xt_conntrack_info
|
||||
{
|
||||
unsigned int statemask, statusmask;
|
||||
|
||||
struct ip_conntrack_old_tuple tuple[IP_CT_DIR_MAX];
|
||||
struct in_addr sipmsk[IP_CT_DIR_MAX], dipmsk[IP_CT_DIR_MAX];
|
||||
|
||||
unsigned long expires_min, expires_max;
|
||||
|
||||
/* Flags word */
|
||||
__u8 flags;
|
||||
/* Inverse flags */
|
||||
__u8 invflags;
|
||||
};
|
||||
|
||||
struct xt_conntrack_mtinfo1 {
|
||||
union nf_inet_addr origsrc_addr, origsrc_mask;
|
||||
union nf_inet_addr origdst_addr, origdst_mask;
|
||||
|
@@ -3,11 +3,6 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct xt_mark_info {
|
||||
unsigned long mark, mask;
|
||||
__u8 invert;
|
||||
};
|
||||
|
||||
struct xt_mark_mtinfo1 {
|
||||
__u32 mark, mask;
|
||||
__u8 invert;
|
||||
|
@@ -265,7 +265,7 @@ struct arpt_error
|
||||
}
|
||||
|
||||
extern struct xt_table *arpt_register_table(struct net *net,
|
||||
struct xt_table *table,
|
||||
const struct xt_table *table,
|
||||
const struct arpt_replace *repl);
|
||||
extern void arpt_unregister_table(struct xt_table *table);
|
||||
extern unsigned int arpt_do_table(struct sk_buff *skb,
|
||||
|
@@ -301,7 +301,7 @@ struct ebt_table
|
||||
#define EBT_ALIGN(s) (((s) + (__alignof__(struct ebt_replace)-1)) & \
|
||||
~(__alignof__(struct ebt_replace)-1))
|
||||
extern struct ebt_table *ebt_register_table(struct net *net,
|
||||
struct ebt_table *table);
|
||||
const struct ebt_table *table);
|
||||
extern void ebt_unregister_table(struct ebt_table *table);
|
||||
extern unsigned int ebt_do_table(unsigned int hook, struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
|
@@ -1,46 +1,14 @@
|
||||
header-y += ipt_CLASSIFY.h
|
||||
header-y += ipt_CLUSTERIP.h
|
||||
header-y += ipt_CONNMARK.h
|
||||
header-y += ipt_DSCP.h
|
||||
header-y += ipt_ECN.h
|
||||
header-y += ipt_LOG.h
|
||||
header-y += ipt_MARK.h
|
||||
header-y += ipt_NFQUEUE.h
|
||||
header-y += ipt_REJECT.h
|
||||
header-y += ipt_SAME.h
|
||||
header-y += ipt_TCPMSS.h
|
||||
header-y += ipt_TOS.h
|
||||
header-y += ipt_TTL.h
|
||||
header-y += ipt_ULOG.h
|
||||
header-y += ipt_addrtype.h
|
||||
header-y += ipt_ah.h
|
||||
header-y += ipt_comment.h
|
||||
header-y += ipt_connbytes.h
|
||||
header-y += ipt_connmark.h
|
||||
header-y += ipt_conntrack.h
|
||||
header-y += ipt_dccp.h
|
||||
header-y += ipt_dscp.h
|
||||
header-y += ipt_ecn.h
|
||||
header-y += ipt_esp.h
|
||||
header-y += ipt_hashlimit.h
|
||||
header-y += ipt_helper.h
|
||||
header-y += ipt_iprange.h
|
||||
header-y += ipt_length.h
|
||||
header-y += ipt_limit.h
|
||||
header-y += ipt_mac.h
|
||||
header-y += ipt_mark.h
|
||||
header-y += ipt_multiport.h
|
||||
header-y += ipt_owner.h
|
||||
header-y += ipt_physdev.h
|
||||
header-y += ipt_pkttype.h
|
||||
header-y += ipt_policy.h
|
||||
header-y += ipt_realm.h
|
||||
header-y += ipt_recent.h
|
||||
header-y += ipt_sctp.h
|
||||
header-y += ipt_state.h
|
||||
header-y += ipt_string.h
|
||||
header-y += ipt_tcpmss.h
|
||||
header-y += ipt_tos.h
|
||||
header-y += ipt_ttl.h
|
||||
|
||||
unifdef-y += ip_queue.h
|
||||
|
@@ -245,7 +245,7 @@ ipt_get_target(struct ipt_entry *e)
|
||||
extern void ipt_init(void) __init;
|
||||
|
||||
extern struct xt_table *ipt_register_table(struct net *net,
|
||||
struct xt_table *table,
|
||||
const struct xt_table *table,
|
||||
const struct ipt_replace *repl);
|
||||
extern void ipt_unregister_table(struct xt_table *table);
|
||||
|
||||
|
@@ -1,7 +0,0 @@
|
||||
#ifndef _IPT_CLASSIFY_H
|
||||
#define _IPT_CLASSIFY_H
|
||||
|
||||
#include <linux/netfilter/xt_CLASSIFY.h>
|
||||
#define ipt_classify_target_info xt_classify_target_info
|
||||
|
||||
#endif /*_IPT_CLASSIFY_H */
|
@@ -1,19 +0,0 @@
|
||||
#ifndef _IPT_CONNMARK_H_target
|
||||
#define _IPT_CONNMARK_H_target
|
||||
|
||||
/* Copyright (C) 2002,2004 MARA Systems AB <http://www.marasystems.com>
|
||||
* by Henrik Nordstrom <hno@marasystems.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*/
|
||||
#include <linux/netfilter/xt_CONNMARK.h>
|
||||
#define IPT_CONNMARK_SET XT_CONNMARK_SET
|
||||
#define IPT_CONNMARK_SAVE XT_CONNMARK_SAVE
|
||||
#define IPT_CONNMARK_RESTORE XT_CONNMARK_RESTORE
|
||||
|
||||
#define ipt_connmark_target_info xt_connmark_target_info
|
||||
|
||||
#endif /*_IPT_CONNMARK_H_target*/
|
@@ -1,18 +0,0 @@
|
||||
/* iptables module for setting the IPv4 DSCP field
|
||||
*
|
||||
* (C) 2002 Harald Welte <laforge@gnumonks.org>
|
||||
* based on ipt_FTOS.c (C) 2000 by Matthew G. Marsh <mgm@paktronix.com>
|
||||
* This software is distributed under GNU GPL v2, 1991
|
||||
*
|
||||
* See RFC2474 for a description of the DSCP field within the IP Header.
|
||||
*
|
||||
* ipt_DSCP.h,v 1.7 2002/03/14 12:03:13 laforge Exp
|
||||
*/
|
||||
#ifndef _IPT_DSCP_TARGET_H
|
||||
#define _IPT_DSCP_TARGET_H
|
||||
#include <linux/netfilter_ipv4/ipt_dscp.h>
|
||||
#include <linux/netfilter/xt_DSCP.h>
|
||||
|
||||
#define ipt_DSCP_info xt_DSCP_info
|
||||
|
||||
#endif /* _IPT_DSCP_TARGET_H */
|
@@ -8,9 +8,9 @@
|
||||
*/
|
||||
#ifndef _IPT_ECN_TARGET_H
|
||||
#define _IPT_ECN_TARGET_H
|
||||
#include <linux/netfilter_ipv4/ipt_DSCP.h>
|
||||
#include <linux/netfilter/xt_DSCP.h>
|
||||
|
||||
#define IPT_ECN_IP_MASK (~IPT_DSCP_MASK)
|
||||
#define IPT_ECN_IP_MASK (~XT_DSCP_MASK)
|
||||
|
||||
#define IPT_ECN_OP_SET_IP 0x01 /* set ECN bits of IPv4 header */
|
||||
#define IPT_ECN_OP_SET_ECE 0x10 /* set ECE bit of TCP header */
|
||||
|
@@ -1,18 +0,0 @@
|
||||
#ifndef _IPT_MARK_H_target
|
||||
#define _IPT_MARK_H_target
|
||||
|
||||
/* Backwards compatibility for old userspace */
|
||||
|
||||
#include <linux/netfilter/xt_MARK.h>
|
||||
|
||||
/* Version 0 */
|
||||
#define ipt_mark_target_info xt_mark_target_info
|
||||
|
||||
/* Version 1 */
|
||||
#define IPT_MARK_SET XT_MARK_SET
|
||||
#define IPT_MARK_AND XT_MARK_AND
|
||||
#define IPT_MARK_OR XT_MARK_OR
|
||||
|
||||
#define ipt_mark_target_info_v1 xt_mark_target_info_v1
|
||||
|
||||
#endif /*_IPT_MARK_H_target*/
|
@@ -1,16 +0,0 @@
|
||||
/* iptables module for using NFQUEUE mechanism
|
||||
*
|
||||
* (C) 2005 Harald Welte <laforge@netfilter.org>
|
||||
*
|
||||
* This software is distributed under GNU GPL v2, 1991
|
||||
*
|
||||
*/
|
||||
#ifndef _IPT_NFQ_TARGET_H
|
||||
#define _IPT_NFQ_TARGET_H
|
||||
|
||||
/* Backwards compatibility for old userspace */
|
||||
#include <linux/netfilter/xt_NFQUEUE.h>
|
||||
|
||||
#define ipt_NFQ_info xt_NFQ_info
|
||||
|
||||
#endif /* _IPT_DSCP_TARGET_H */
|
@@ -1,9 +0,0 @@
|
||||
#ifndef _IPT_TCPMSS_H
|
||||
#define _IPT_TCPMSS_H
|
||||
|
||||
#include <linux/netfilter/xt_TCPMSS.h>
|
||||
|
||||
#define ipt_tcpmss_info xt_tcpmss_info
|
||||
#define IPT_TCPMSS_CLAMP_PMTU XT_TCPMSS_CLAMP_PMTU
|
||||
|
||||
#endif /*_IPT_TCPMSS_H*/
|
@@ -1,12 +0,0 @@
|
||||
#ifndef _IPT_TOS_H_target
|
||||
#define _IPT_TOS_H_target
|
||||
|
||||
#ifndef IPTOS_NORMALSVC
|
||||
#define IPTOS_NORMALSVC 0
|
||||
#endif
|
||||
|
||||
struct ipt_tos_target_info {
|
||||
u_int8_t tos;
|
||||
};
|
||||
|
||||
#endif /*_IPT_TOS_H_target*/
|
@@ -1,10 +0,0 @@
|
||||
#ifndef _IPT_COMMENT_H
|
||||
#define _IPT_COMMENT_H
|
||||
|
||||
#include <linux/netfilter/xt_comment.h>
|
||||
|
||||
#define IPT_MAX_COMMENT_LEN XT_MAX_COMMENT_LEN
|
||||
|
||||
#define ipt_comment_info xt_comment_info
|
||||
|
||||
#endif /* _IPT_COMMENT_H */
|
@@ -1,18 +0,0 @@
|
||||
#ifndef _IPT_CONNBYTES_H
|
||||
#define _IPT_CONNBYTES_H
|
||||
|
||||
#include <linux/netfilter/xt_connbytes.h>
|
||||
#define ipt_connbytes_what xt_connbytes_what
|
||||
|
||||
#define IPT_CONNBYTES_PKTS XT_CONNBYTES_PKTS
|
||||
#define IPT_CONNBYTES_BYTES XT_CONNBYTES_BYTES
|
||||
#define IPT_CONNBYTES_AVGPKT XT_CONNBYTES_AVGPKT
|
||||
|
||||
#define ipt_connbytes_direction xt_connbytes_direction
|
||||
#define IPT_CONNBYTES_DIR_ORIGINAL XT_CONNBYTES_DIR_ORIGINAL
|
||||
#define IPT_CONNBYTES_DIR_REPLY XT_CONNBYTES_DIR_REPLY
|
||||
#define IPT_CONNBYTES_DIR_BOTH XT_CONNBYTES_DIR_BOTH
|
||||
|
||||
#define ipt_connbytes_info xt_connbytes_info
|
||||
|
||||
#endif
|
@@ -1,7 +0,0 @@
|
||||
#ifndef _IPT_CONNMARK_H
|
||||
#define _IPT_CONNMARK_H
|
||||
|
||||
#include <linux/netfilter/xt_connmark.h>
|
||||
#define ipt_connmark_info xt_connmark_info
|
||||
|
||||
#endif /*_IPT_CONNMARK_H*/
|
@@ -1,28 +0,0 @@
|
||||
/* Header file for kernel module to match connection tracking information.
|
||||
* GPL (C) 2001 Marc Boucher (marc@mbsi.ca).
|
||||
*/
|
||||
|
||||
#ifndef _IPT_CONNTRACK_H
|
||||
#define _IPT_CONNTRACK_H
|
||||
|
||||
#include <linux/netfilter/xt_conntrack.h>
|
||||
|
||||
#define IPT_CONNTRACK_STATE_BIT(ctinfo) XT_CONNTRACK_STATE_BIT(ctinfo)
|
||||
#define IPT_CONNTRACK_STATE_INVALID XT_CONNTRACK_STATE_INVALID
|
||||
|
||||
#define IPT_CONNTRACK_STATE_SNAT XT_CONNTRACK_STATE_SNAT
|
||||
#define IPT_CONNTRACK_STATE_DNAT XT_CONNTRACK_STATE_DNAT
|
||||
#define IPT_CONNTRACK_STATE_UNTRACKED XT_CONNTRACK_STATE_UNTRACKED
|
||||
|
||||
/* flags, invflags: */
|
||||
#define IPT_CONNTRACK_STATE XT_CONNTRACK_STATE
|
||||
#define IPT_CONNTRACK_PROTO XT_CONNTRACK_PROTO
|
||||
#define IPT_CONNTRACK_ORIGSRC XT_CONNTRACK_ORIGSRC
|
||||
#define IPT_CONNTRACK_ORIGDST XT_CONNTRACK_ORIGDST
|
||||
#define IPT_CONNTRACK_REPLSRC XT_CONNTRACK_REPLSRC
|
||||
#define IPT_CONNTRACK_REPLDST XT_CONNTRACK_REPLDST
|
||||
#define IPT_CONNTRACK_STATUS XT_CONNTRACK_STATUS
|
||||
#define IPT_CONNTRACK_EXPIRES XT_CONNTRACK_EXPIRES
|
||||
|
||||
#define ipt_conntrack_info xt_conntrack_info
|
||||
#endif /*_IPT_CONNTRACK_H*/
|
@@ -1,15 +0,0 @@
|
||||
#ifndef _IPT_DCCP_H_
|
||||
#define _IPT_DCCP_H_
|
||||
|
||||
#include <linux/netfilter/xt_dccp.h>
|
||||
#define IPT_DCCP_SRC_PORTS XT_DCCP_SRC_PORTS
|
||||
#define IPT_DCCP_DEST_PORTS XT_DCCP_DEST_PORTS
|
||||
#define IPT_DCCP_TYPE XT_DCCP_TYPE
|
||||
#define IPT_DCCP_OPTION XT_DCCP_OPTION
|
||||
|
||||
#define IPT_DCCP_VALID_FLAGS XT_DCCP_VALID_FLAGS
|
||||
|
||||
#define ipt_dccp_info xt_dccp_info
|
||||
|
||||
#endif /* _IPT_DCCP_H_ */
|
||||
|
@@ -1,21 +0,0 @@
|
||||
/* iptables module for matching the IPv4 DSCP field
|
||||
*
|
||||
* (C) 2002 Harald Welte <laforge@gnumonks.org>
|
||||
* This software is distributed under GNU GPL v2, 1991
|
||||
*
|
||||
* See RFC2474 for a description of the DSCP field within the IP Header.
|
||||
*
|
||||
* ipt_dscp.h,v 1.3 2002/08/05 19:00:21 laforge Exp
|
||||
*/
|
||||
#ifndef _IPT_DSCP_H
|
||||
#define _IPT_DSCP_H
|
||||
|
||||
#include <linux/netfilter/xt_dscp.h>
|
||||
|
||||
#define IPT_DSCP_MASK XT_DSCP_MASK
|
||||
#define IPT_DSCP_SHIFT XT_DSCP_SHIFT
|
||||
#define IPT_DSCP_MAX XT_DSCP_MAX
|
||||
|
||||
#define ipt_dscp_info xt_dscp_info
|
||||
|
||||
#endif /* _IPT_DSCP_H */
|
@@ -8,9 +8,9 @@
|
||||
*/
|
||||
#ifndef _IPT_ECN_H
|
||||
#define _IPT_ECN_H
|
||||
#include <linux/netfilter_ipv4/ipt_dscp.h>
|
||||
#include <linux/netfilter/xt_dscp.h>
|
||||
|
||||
#define IPT_ECN_IP_MASK (~IPT_DSCP_MASK)
|
||||
#define IPT_ECN_IP_MASK (~XT_DSCP_MASK)
|
||||
|
||||
#define IPT_ECN_OP_MATCH_IP 0x01
|
||||
#define IPT_ECN_OP_MATCH_ECE 0x10
|
||||
|
@@ -1,10 +0,0 @@
|
||||
#ifndef _IPT_ESP_H
|
||||
#define _IPT_ESP_H
|
||||
|
||||
#include <linux/netfilter/xt_esp.h>
|
||||
|
||||
#define ipt_esp xt_esp
|
||||
#define IPT_ESP_INV_SPI XT_ESP_INV_SPI
|
||||
#define IPT_ESP_INV_MASK XT_ESP_INV_MASK
|
||||
|
||||
#endif /*_IPT_ESP_H*/
|
@@ -1,14 +0,0 @@
|
||||
#ifndef _IPT_HASHLIMIT_H
|
||||
#define _IPT_HASHLIMIT_H
|
||||
|
||||
#include <linux/netfilter/xt_hashlimit.h>
|
||||
|
||||
#define IPT_HASHLIMIT_SCALE XT_HASHLIMIT_SCALE
|
||||
#define IPT_HASHLIMIT_HASH_DIP XT_HASHLIMIT_HASH_DIP
|
||||
#define IPT_HASHLIMIT_HASH_DPT XT_HASHLIMIT_HASH_DPT
|
||||
#define IPT_HASHLIMIT_HASH_SIP XT_HASHLIMIT_HASH_SIP
|
||||
#define IPT_HASHLIMIT_HASH_SPT XT_HASHLIMIT_HASH_SPT
|
||||
|
||||
#define ipt_hashlimit_info xt_hashlimit_info
|
||||
|
||||
#endif /* _IPT_HASHLIMIT_H */
|
@@ -1,7 +0,0 @@
|
||||
#ifndef _IPT_HELPER_H
|
||||
#define _IPT_HELPER_H
|
||||
|
||||
#include <linux/netfilter/xt_helper.h>
|
||||
#define ipt_helper_info xt_helper_info
|
||||
|
||||
#endif /* _IPT_HELPER_H */
|
@@ -1,21 +0,0 @@
|
||||
#ifndef _IPT_IPRANGE_H
|
||||
#define _IPT_IPRANGE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netfilter/xt_iprange.h>
|
||||
|
||||
struct ipt_iprange {
|
||||
/* Inclusive: network order. */
|
||||
__be32 min_ip, max_ip;
|
||||
};
|
||||
|
||||
struct ipt_iprange_info
|
||||
{
|
||||
struct ipt_iprange src;
|
||||
struct ipt_iprange dst;
|
||||
|
||||
/* Flags from above */
|
||||
u_int8_t flags;
|
||||
};
|
||||
|
||||
#endif /* _IPT_IPRANGE_H */
|
@@ -1,7 +0,0 @@
|
||||
#ifndef _IPT_LENGTH_H
|
||||
#define _IPT_LENGTH_H
|
||||
|
||||
#include <linux/netfilter/xt_length.h>
|
||||
#define ipt_length_info xt_length_info
|
||||
|
||||
#endif /*_IPT_LENGTH_H*/
|
@@ -1,8 +0,0 @@
|
||||
#ifndef _IPT_RATE_H
|
||||
#define _IPT_RATE_H
|
||||
|
||||
#include <linux/netfilter/xt_limit.h>
|
||||
#define IPT_LIMIT_SCALE XT_LIMIT_SCALE
|
||||
#define ipt_rateinfo xt_rateinfo
|
||||
|
||||
#endif /*_IPT_RATE_H*/
|
@@ -1,7 +0,0 @@
|
||||
#ifndef _IPT_MAC_H
|
||||
#define _IPT_MAC_H
|
||||
|
||||
#include <linux/netfilter/xt_mac.h>
|
||||
#define ipt_mac_info xt_mac_info
|
||||
|
||||
#endif /*_IPT_MAC_H*/
|
@@ -1,9 +0,0 @@
|
||||
#ifndef _IPT_MARK_H
|
||||
#define _IPT_MARK_H
|
||||
|
||||
/* Backwards compatibility for old userspace */
|
||||
#include <linux/netfilter/xt_mark.h>
|
||||
|
||||
#define ipt_mark_info xt_mark_info
|
||||
|
||||
#endif /*_IPT_MARK_H*/
|
@@ -1,15 +0,0 @@
|
||||
#ifndef _IPT_MULTIPORT_H
|
||||
#define _IPT_MULTIPORT_H
|
||||
|
||||
#include <linux/netfilter/xt_multiport.h>
|
||||
|
||||
#define IPT_MULTIPORT_SOURCE XT_MULTIPORT_SOURCE
|
||||
#define IPT_MULTIPORT_DESTINATION XT_MULTIPORT_DESTINATION
|
||||
#define IPT_MULTIPORT_EITHER XT_MULTIPORT_EITHER
|
||||
|
||||
#define IPT_MULTI_PORTS XT_MULTI_PORTS
|
||||
|
||||
#define ipt_multiport xt_multiport
|
||||
#define ipt_multiport_v1 xt_multiport_v1
|
||||
|
||||
#endif /*_IPT_MULTIPORT_H*/
|
@@ -1,20 +0,0 @@
|
||||
#ifndef _IPT_OWNER_H
|
||||
#define _IPT_OWNER_H
|
||||
|
||||
/* match and invert flags */
|
||||
#define IPT_OWNER_UID 0x01
|
||||
#define IPT_OWNER_GID 0x02
|
||||
#define IPT_OWNER_PID 0x04
|
||||
#define IPT_OWNER_SID 0x08
|
||||
#define IPT_OWNER_COMM 0x10
|
||||
|
||||
struct ipt_owner_info {
|
||||
__kernel_uid32_t uid;
|
||||
__kernel_gid32_t gid;
|
||||
__kernel_pid_t pid;
|
||||
__kernel_pid_t sid;
|
||||
char comm[16];
|
||||
u_int8_t match, invert; /* flags */
|
||||
};
|
||||
|
||||
#endif /*_IPT_OWNER_H*/
|
@@ -1,17 +0,0 @@
|
||||
#ifndef _IPT_PHYSDEV_H
|
||||
#define _IPT_PHYSDEV_H
|
||||
|
||||
/* Backwards compatibility for old userspace */
|
||||
|
||||
#include <linux/netfilter/xt_physdev.h>
|
||||
|
||||
#define IPT_PHYSDEV_OP_IN XT_PHYSDEV_OP_IN
|
||||
#define IPT_PHYSDEV_OP_OUT XT_PHYSDEV_OP_OUT
|
||||
#define IPT_PHYSDEV_OP_BRIDGED XT_PHYSDEV_OP_BRIDGED
|
||||
#define IPT_PHYSDEV_OP_ISIN XT_PHYSDEV_OP_ISIN
|
||||
#define IPT_PHYSDEV_OP_ISOUT XT_PHYSDEV_OP_ISOUT
|
||||
#define IPT_PHYSDEV_OP_MASK XT_PHYSDEV_OP_MASK
|
||||
|
||||
#define ipt_physdev_info xt_physdev_info
|
||||
|
||||
#endif /*_IPT_PHYSDEV_H*/
|
@@ -1,7 +0,0 @@
|
||||
#ifndef _IPT_PKTTYPE_H
|
||||
#define _IPT_PKTTYPE_H
|
||||
|
||||
#include <linux/netfilter/xt_pkttype.h>
|
||||
#define ipt_pkttype_info xt_pkttype_info
|
||||
|
||||
#endif /*_IPT_PKTTYPE_H*/
|
@@ -1,23 +0,0 @@
|
||||
#ifndef _IPT_POLICY_H
|
||||
#define _IPT_POLICY_H
|
||||
|
||||
#include <linux/netfilter/xt_policy.h>
|
||||
|
||||
#define IPT_POLICY_MAX_ELEM XT_POLICY_MAX_ELEM
|
||||
|
||||
/* ipt_policy_flags */
|
||||
#define IPT_POLICY_MATCH_IN XT_POLICY_MATCH_IN
|
||||
#define IPT_POLICY_MATCH_OUT XT_POLICY_MATCH_OUT
|
||||
#define IPT_POLICY_MATCH_NONE XT_POLICY_MATCH_NONE
|
||||
#define IPT_POLICY_MATCH_STRICT XT_POLICY_MATCH_STRICT
|
||||
|
||||
/* ipt_policy_modes */
|
||||
#define IPT_POLICY_MODE_TRANSPORT XT_POLICY_MODE_TRANSPORT
|
||||
#define IPT_POLICY_MODE_TUNNEL XT_POLICY_MODE_TUNNEL
|
||||
|
||||
#define ipt_policy_spec xt_policy_spec
|
||||
#define ipt_policy_addr xt_policy_addr
|
||||
#define ipt_policy_elem xt_policy_elem
|
||||
#define ipt_policy_info xt_policy_info
|
||||
|
||||
#endif /* _IPT_POLICY_H */
|
@@ -1,21 +0,0 @@
|
||||
#ifndef _IPT_RECENT_H
|
||||
#define _IPT_RECENT_H
|
||||
|
||||
#include <linux/netfilter/xt_recent.h>
|
||||
|
||||
#define ipt_recent_info xt_recent_mtinfo
|
||||
|
||||
enum {
|
||||
IPT_RECENT_CHECK = XT_RECENT_CHECK,
|
||||
IPT_RECENT_SET = XT_RECENT_SET,
|
||||
IPT_RECENT_UPDATE = XT_RECENT_UPDATE,
|
||||
IPT_RECENT_REMOVE = XT_RECENT_REMOVE,
|
||||
IPT_RECENT_TTL = XT_RECENT_TTL,
|
||||
|
||||
IPT_RECENT_SOURCE = XT_RECENT_SOURCE,
|
||||
IPT_RECENT_DEST = XT_RECENT_DEST,
|
||||
|
||||
IPT_RECENT_NAME_LEN = XT_RECENT_NAME_LEN,
|
||||
};
|
||||
|
||||
#endif /*_IPT_RECENT_H*/
|
@@ -1,105 +0,0 @@
|
||||
#ifndef _IPT_SCTP_H_
|
||||
#define _IPT_SCTP_H_
|
||||
|
||||
#define IPT_SCTP_SRC_PORTS 0x01
|
||||
#define IPT_SCTP_DEST_PORTS 0x02
|
||||
#define IPT_SCTP_CHUNK_TYPES 0x04
|
||||
|
||||
#define IPT_SCTP_VALID_FLAGS 0x07
|
||||
|
||||
|
||||
struct ipt_sctp_flag_info {
|
||||
u_int8_t chunktype;
|
||||
u_int8_t flag;
|
||||
u_int8_t flag_mask;
|
||||
};
|
||||
|
||||
#define IPT_NUM_SCTP_FLAGS 4
|
||||
|
||||
struct ipt_sctp_info {
|
||||
u_int16_t dpts[2]; /* Min, Max */
|
||||
u_int16_t spts[2]; /* Min, Max */
|
||||
|
||||
u_int32_t chunkmap[256 / sizeof (u_int32_t)]; /* Bit mask of chunks to be matched according to RFC 2960 */
|
||||
|
||||
#define SCTP_CHUNK_MATCH_ANY 0x01 /* Match if any of the chunk types are present */
|
||||
#define SCTP_CHUNK_MATCH_ALL 0x02 /* Match if all of the chunk types are present */
|
||||
#define SCTP_CHUNK_MATCH_ONLY 0x04 /* Match if these are the only chunk types present */
|
||||
|
||||
u_int32_t chunk_match_type;
|
||||
struct ipt_sctp_flag_info flag_info[IPT_NUM_SCTP_FLAGS];
|
||||
int flag_count;
|
||||
|
||||
u_int32_t flags;
|
||||
u_int32_t invflags;
|
||||
};
|
||||
|
||||
#define bytes(type) (sizeof(type) * 8)
|
||||
|
||||
#define SCTP_CHUNKMAP_SET(chunkmap, type) \
|
||||
do { \
|
||||
chunkmap[type / bytes(u_int32_t)] |= \
|
||||
1 << (type % bytes(u_int32_t)); \
|
||||
} while (0)
|
||||
|
||||
#define SCTP_CHUNKMAP_CLEAR(chunkmap, type) \
|
||||
do { \
|
||||
chunkmap[type / bytes(u_int32_t)] &= \
|
||||
~(1 << (type % bytes(u_int32_t))); \
|
||||
} while (0)
|
||||
|
||||
#define SCTP_CHUNKMAP_IS_SET(chunkmap, type) \
|
||||
({ \
|
||||
(chunkmap[type / bytes (u_int32_t)] & \
|
||||
(1 << (type % bytes (u_int32_t)))) ? 1: 0; \
|
||||
})
|
||||
|
||||
#define SCTP_CHUNKMAP_RESET(chunkmap) \
|
||||
do { \
|
||||
int i; \
|
||||
for (i = 0; i < ARRAY_SIZE(chunkmap); i++) \
|
||||
chunkmap[i] = 0; \
|
||||
} while (0)
|
||||
|
||||
#define SCTP_CHUNKMAP_SET_ALL(chunkmap) \
|
||||
do { \
|
||||
int i; \
|
||||
for (i = 0; i < ARRAY_SIZE(chunkmap); i++) \
|
||||
chunkmap[i] = ~0; \
|
||||
} while (0)
|
||||
|
||||
#define SCTP_CHUNKMAP_COPY(destmap, srcmap) \
|
||||
do { \
|
||||
int i; \
|
||||
for (i = 0; i < ARRAY_SIZE(chunkmap); i++) \
|
||||
destmap[i] = srcmap[i]; \
|
||||
} while (0)
|
||||
|
||||
#define SCTP_CHUNKMAP_IS_CLEAR(chunkmap) \
|
||||
({ \
|
||||
int i; \
|
||||
int flag = 1; \
|
||||
for (i = 0; i < ARRAY_SIZE(chunkmap); i++) { \
|
||||
if (chunkmap[i]) { \
|
||||
flag = 0; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
flag; \
|
||||
})
|
||||
|
||||
#define SCTP_CHUNKMAP_IS_ALL_SET(chunkmap) \
|
||||
({ \
|
||||
int i; \
|
||||
int flag = 1; \
|
||||
for (i = 0; i < ARRAY_SIZE(chunkmap); i++) { \
|
||||
if (chunkmap[i] != ~0) { \
|
||||
flag = 0; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
flag; \
|
||||
})
|
||||
|
||||
#endif /* _IPT_SCTP_H_ */
|
||||
|
@@ -1,15 +0,0 @@
|
||||
#ifndef _IPT_STATE_H
|
||||
#define _IPT_STATE_H
|
||||
|
||||
/* Backwards compatibility for old userspace */
|
||||
|
||||
#include <linux/netfilter/xt_state.h>
|
||||
|
||||
#define IPT_STATE_BIT XT_STATE_BIT
|
||||
#define IPT_STATE_INVALID XT_STATE_INVALID
|
||||
|
||||
#define IPT_STATE_UNTRACKED XT_STATE_UNTRACKED
|
||||
|
||||
#define ipt_state_info xt_state_info
|
||||
|
||||
#endif /*_IPT_STATE_H*/
|
@@ -1,10 +0,0 @@
|
||||
#ifndef _IPT_STRING_H
|
||||
#define _IPT_STRING_H
|
||||
|
||||
#include <linux/netfilter/xt_string.h>
|
||||
|
||||
#define IPT_STRING_MAX_PATTERN_SIZE XT_STRING_MAX_PATTERN_SIZE
|
||||
#define IPT_STRING_MAX_ALGO_NAME_SIZE XT_STRING_MAX_ALGO_NAME_SIZE
|
||||
#define ipt_string_info xt_string_info
|
||||
|
||||
#endif /*_IPT_STRING_H*/
|
@@ -1,7 +0,0 @@
|
||||
#ifndef _IPT_TCPMSS_MATCH_H
|
||||
#define _IPT_TCPMSS_MATCH_H
|
||||
|
||||
#include <linux/netfilter/xt_tcpmss.h>
|
||||
#define ipt_tcpmss_match_info xt_tcpmss_match_info
|
||||
|
||||
#endif /*_IPT_TCPMSS_MATCH_H*/
|
@@ -1,13 +0,0 @@
|
||||
#ifndef _IPT_TOS_H
|
||||
#define _IPT_TOS_H
|
||||
|
||||
struct ipt_tos_info {
|
||||
u_int8_t tos;
|
||||
u_int8_t invert;
|
||||
};
|
||||
|
||||
#ifndef IPTOS_NORMALSVC
|
||||
#define IPTOS_NORMALSVC 0
|
||||
#endif
|
||||
|
||||
#endif /*_IPT_TOS_H*/
|
@@ -1,22 +1,12 @@
|
||||
header-y += ip6t_HL.h
|
||||
header-y += ip6t_LOG.h
|
||||
header-y += ip6t_MARK.h
|
||||
header-y += ip6t_REJECT.h
|
||||
header-y += ip6t_ah.h
|
||||
header-y += ip6t_esp.h
|
||||
header-y += ip6t_frag.h
|
||||
header-y += ip6t_hl.h
|
||||
header-y += ip6t_ipv6header.h
|
||||
header-y += ip6t_length.h
|
||||
header-y += ip6t_limit.h
|
||||
header-y += ip6t_mac.h
|
||||
header-y += ip6t_mark.h
|
||||
header-y += ip6t_hl.h
|
||||
header-y += ip6t_mh.h
|
||||
header-y += ip6t_multiport.h
|
||||
header-y += ip6t_opts.h
|
||||
header-y += ip6t_owner.h
|
||||
header-y += ip6t_physdev.h
|
||||
header-y += ip6t_policy.h
|
||||
header-y += ip6t_rt.h
|
||||
|
||||
unifdef-y += ip6_tables.h
|
||||
|
@@ -306,7 +306,7 @@ ip6t_get_target(struct ip6t_entry *e)
|
||||
extern void ip6t_init(void) __init;
|
||||
|
||||
extern struct xt_table *ip6t_register_table(struct net *net,
|
||||
struct xt_table *table,
|
||||
const struct xt_table *table,
|
||||
const struct ip6t_replace *repl);
|
||||
extern void ip6t_unregister_table(struct xt_table *table);
|
||||
extern unsigned int ip6t_do_table(struct sk_buff *skb,
|
||||
|
@@ -1,9 +0,0 @@
|
||||
#ifndef _IP6T_MARK_H_target
|
||||
#define _IP6T_MARK_H_target
|
||||
|
||||
/* Backwards compatibility for old userspace */
|
||||
#include <linux/netfilter/xt_MARK.h>
|
||||
|
||||
#define ip6t_mark_target_info xt_mark_target_info
|
||||
|
||||
#endif /*_IP6T_MARK_H_target*/
|
@@ -1,10 +0,0 @@
|
||||
#ifndef _IP6T_ESP_H
|
||||
#define _IP6T_ESP_H
|
||||
|
||||
#include <linux/netfilter/xt_esp.h>
|
||||
|
||||
#define ip6t_esp xt_esp
|
||||
#define IP6T_ESP_INV_SPI XT_ESP_INV_SPI
|
||||
#define IP6T_ESP_INV_MASK XT_ESP_INV_MASK
|
||||
|
||||
#endif /*_IP6T_ESP_H*/
|
@@ -1,8 +0,0 @@
|
||||
#ifndef _IP6T_LENGTH_H
|
||||
#define _IP6T_LENGTH_H
|
||||
|
||||
#include <linux/netfilter/xt_length.h>
|
||||
#define ip6t_length_info xt_length_info
|
||||
|
||||
#endif /*_IP6T_LENGTH_H*/
|
||||
|
@@ -1,8 +0,0 @@
|
||||
#ifndef _IP6T_RATE_H
|
||||
#define _IP6T_RATE_H
|
||||
|
||||
#include <linux/netfilter/xt_limit.h>
|
||||
#define IP6T_LIMIT_SCALE XT_LIMIT_SCALE
|
||||
#define ip6t_rateinfo xt_rateinfo
|
||||
|
||||
#endif /*_IP6T_RATE_H*/
|
@@ -1,7 +0,0 @@
|
||||
#ifndef _IP6T_MAC_H
|
||||
#define _IP6T_MAC_H
|
||||
|
||||
#include <linux/netfilter/xt_mac.h>
|
||||
#define ip6t_mac_info xt_mac_info
|
||||
|
||||
#endif /*_IP6T_MAC_H*/
|
@@ -1,9 +0,0 @@
|
||||
#ifndef _IP6T_MARK_H
|
||||
#define _IP6T_MARK_H
|
||||
|
||||
/* Backwards compatibility for old userspace */
|
||||
#include <linux/netfilter/xt_mark.h>
|
||||
|
||||
#define ip6t_mark_info xt_mark_info
|
||||
|
||||
#endif /*_IPT_MARK_H*/
|
@@ -1,14 +0,0 @@
|
||||
#ifndef _IP6T_MULTIPORT_H
|
||||
#define _IP6T_MULTIPORT_H
|
||||
|
||||
#include <linux/netfilter/xt_multiport.h>
|
||||
|
||||
#define IP6T_MULTIPORT_SOURCE XT_MULTIPORT_SOURCE
|
||||
#define IP6T_MULTIPORT_DESTINATION XT_MULTIPORT_DESTINATION
|
||||
#define IP6T_MULTIPORT_EITHER XT_MULTIPORT_EITHER
|
||||
|
||||
#define IP6T_MULTI_PORTS XT_MULTI_PORTS
|
||||
|
||||
#define ip6t_multiport xt_multiport
|
||||
|
||||
#endif /*_IP6T_MULTIPORT_H*/
|
@@ -1,18 +0,0 @@
|
||||
#ifndef _IP6T_OWNER_H
|
||||
#define _IP6T_OWNER_H
|
||||
|
||||
/* match and invert flags */
|
||||
#define IP6T_OWNER_UID 0x01
|
||||
#define IP6T_OWNER_GID 0x02
|
||||
#define IP6T_OWNER_PID 0x04
|
||||
#define IP6T_OWNER_SID 0x08
|
||||
|
||||
struct ip6t_owner_info {
|
||||
__kernel_uid32_t uid;
|
||||
__kernel_gid32_t gid;
|
||||
__kernel_pid_t pid;
|
||||
__kernel_pid_t sid;
|
||||
u_int8_t match, invert; /* flags */
|
||||
};
|
||||
|
||||
#endif /*_IPT_OWNER_H*/
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user