diff options
| author | Todd Poynor <tpoynor@mvista.com> | 2005-07-11 22:34:39 -0400 |
|---|---|---|
| committer | Thomas Gleixner <tglx@mtd.linutronix.de> | 2005-07-12 18:58:44 -0400 |
| commit | a98a5d04f400ad112e59cadd739dbabf89417e60 (patch) | |
| tree | 5eeb7f45c0090de40c7523e2b9dfd5e86b22169e /include/linux | |
| parent | 751382dd5cb2702368d281a50b55c2d6c4e8fbfc (diff) | |
| parent | 7ac3db59fd4410405ce55e2a25c397aec440d8da (diff) | |
Merge with rsync://fileserver/linux
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/audit.h | 2 | ||||
| -rw-r--r-- | include/linux/buffer_head.h | 3 | ||||
| -rw-r--r-- | include/linux/cache.h | 6 | ||||
| -rw-r--r-- | include/linux/cpufreq.h | 2 | ||||
| -rw-r--r-- | include/linux/crypto.h | 34 | ||||
| -rw-r--r-- | include/linux/fs.h | 1 | ||||
| -rw-r--r-- | include/linux/gfp.h | 4 | ||||
| -rw-r--r-- | include/linux/igmp.h | 1 | ||||
| -rw-r--r-- | include/linux/ioprio.h | 3 | ||||
| -rw-r--r-- | include/linux/mod_devicetable.h | 11 | ||||
| -rw-r--r-- | include/linux/mount.h | 6 | ||||
| -rw-r--r-- | include/linux/namespace.h | 3 | ||||
| -rw-r--r-- | include/linux/nfsd/nfsd.h | 2 | ||||
| -rw-r--r-- | include/linux/nfsd/state.h | 9 | ||||
| -rw-r--r-- | include/linux/skbuff.h | 29 | ||||
| -rw-r--r-- | include/linux/slab.h | 4 | ||||
| -rw-r--r-- | include/linux/string.h | 2 | ||||
| -rw-r--r-- | include/linux/swap.h | 2 | ||||
| -rw-r--r-- | include/linux/syscalls.h | 3 |
19 files changed, 98 insertions, 29 deletions
diff --git a/include/linux/audit.h b/include/linux/audit.h index bf2ad3ba72eb..68aba0c02e49 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
| @@ -165,7 +165,7 @@ | |||
| 165 | #define AUDIT_ARCH_SH64 (EM_SH|__AUDIT_ARCH_64BIT) | 165 | #define AUDIT_ARCH_SH64 (EM_SH|__AUDIT_ARCH_64BIT) |
| 166 | #define AUDIT_ARCH_SHEL64 (EM_SH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | 166 | #define AUDIT_ARCH_SHEL64 (EM_SH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) |
| 167 | #define AUDIT_ARCH_SPARC (EM_SPARC) | 167 | #define AUDIT_ARCH_SPARC (EM_SPARC) |
| 168 | #define AUDIT_ARCH_SPARC64 (EM_SPARC64|__AUDIT_ARCH_64BIT) | 168 | #define AUDIT_ARCH_SPARC64 (EM_SPARCV9|__AUDIT_ARCH_64BIT) |
| 169 | #define AUDIT_ARCH_V850 (EM_V850|__AUDIT_ARCH_LE) | 169 | #define AUDIT_ARCH_V850 (EM_V850|__AUDIT_ARCH_LE) |
| 170 | #define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | 170 | #define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) |
| 171 | 171 | ||
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h index 802c91e9b3da..90828493791f 100644 --- a/include/linux/buffer_head.h +++ b/include/linux/buffer_head.h | |||
| @@ -19,6 +19,9 @@ enum bh_state_bits { | |||
| 19 | BH_Dirty, /* Is dirty */ | 19 | BH_Dirty, /* Is dirty */ |
| 20 | BH_Lock, /* Is locked */ | 20 | BH_Lock, /* Is locked */ |
| 21 | BH_Req, /* Has been submitted for I/O */ | 21 | BH_Req, /* Has been submitted for I/O */ |
| 22 | BH_Uptodate_Lock,/* Used by the first bh in a page, to serialise | ||
| 23 | * IO completion of other buffers in the page | ||
| 24 | */ | ||
| 22 | 25 | ||
| 23 | BH_Mapped, /* Has a disk mapping */ | 26 | BH_Mapped, /* Has a disk mapping */ |
| 24 | BH_New, /* Disk mapping was newly created by get_block */ | 27 | BH_New, /* Disk mapping was newly created by get_block */ |
diff --git a/include/linux/cache.h b/include/linux/cache.h index 4d767b93738a..f6b5a46c5f82 100644 --- a/include/linux/cache.h +++ b/include/linux/cache.h | |||
| @@ -13,6 +13,12 @@ | |||
| 13 | #define SMP_CACHE_BYTES L1_CACHE_BYTES | 13 | #define SMP_CACHE_BYTES L1_CACHE_BYTES |
| 14 | #endif | 14 | #endif |
| 15 | 15 | ||
| 16 | #if defined(CONFIG_X86) || defined(CONFIG_SPARC64) | ||
| 17 | #define __read_mostly __attribute__((__section__(".data.read_mostly"))) | ||
| 18 | #else | ||
| 19 | #define __read_mostly | ||
| 20 | #endif | ||
| 21 | |||
| 16 | #ifndef ____cacheline_aligned | 22 | #ifndef ____cacheline_aligned |
| 17 | #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) | 23 | #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) |
| 18 | #endif | 24 | #endif |
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index 927daa86c9b3..ff7f80f48df1 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h | |||
| @@ -201,7 +201,7 @@ struct cpufreq_driver { | |||
| 201 | 201 | ||
| 202 | /* optional */ | 202 | /* optional */ |
| 203 | int (*exit) (struct cpufreq_policy *policy); | 203 | int (*exit) (struct cpufreq_policy *policy); |
| 204 | int (*suspend) (struct cpufreq_policy *policy, u32 state); | 204 | int (*suspend) (struct cpufreq_policy *policy, pm_message_t pmsg); |
| 205 | int (*resume) (struct cpufreq_policy *policy); | 205 | int (*resume) (struct cpufreq_policy *policy); |
| 206 | struct freq_attr **attr; | 206 | struct freq_attr **attr; |
| 207 | }; | 207 | }; |
diff --git a/include/linux/crypto.h b/include/linux/crypto.h index 387da6a3e58c..5e2bcc636a02 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h | |||
| @@ -61,6 +61,15 @@ | |||
| 61 | #define CRYPTO_DIR_DECRYPT 0 | 61 | #define CRYPTO_DIR_DECRYPT 0 |
| 62 | 62 | ||
| 63 | struct scatterlist; | 63 | struct scatterlist; |
| 64 | struct crypto_tfm; | ||
| 65 | |||
| 66 | struct cipher_desc { | ||
| 67 | struct crypto_tfm *tfm; | ||
| 68 | void (*crfn)(void *ctx, u8 *dst, const u8 *src); | ||
| 69 | unsigned int (*prfn)(const struct cipher_desc *desc, u8 *dst, | ||
| 70 | const u8 *src, unsigned int nbytes); | ||
| 71 | void *info; | ||
| 72 | }; | ||
| 64 | 73 | ||
| 65 | /* | 74 | /* |
| 66 | * Algorithms: modular crypto algorithm implementations, managed | 75 | * Algorithms: modular crypto algorithm implementations, managed |
| @@ -73,6 +82,19 @@ struct cipher_alg { | |||
| 73 | unsigned int keylen, u32 *flags); | 82 | unsigned int keylen, u32 *flags); |
| 74 | void (*cia_encrypt)(void *ctx, u8 *dst, const u8 *src); | 83 | void (*cia_encrypt)(void *ctx, u8 *dst, const u8 *src); |
| 75 | void (*cia_decrypt)(void *ctx, u8 *dst, const u8 *src); | 84 | void (*cia_decrypt)(void *ctx, u8 *dst, const u8 *src); |
| 85 | |||
| 86 | unsigned int (*cia_encrypt_ecb)(const struct cipher_desc *desc, | ||
| 87 | u8 *dst, const u8 *src, | ||
| 88 | unsigned int nbytes); | ||
| 89 | unsigned int (*cia_decrypt_ecb)(const struct cipher_desc *desc, | ||
| 90 | u8 *dst, const u8 *src, | ||
| 91 | unsigned int nbytes); | ||
| 92 | unsigned int (*cia_encrypt_cbc)(const struct cipher_desc *desc, | ||
| 93 | u8 *dst, const u8 *src, | ||
| 94 | unsigned int nbytes); | ||
| 95 | unsigned int (*cia_decrypt_cbc)(const struct cipher_desc *desc, | ||
| 96 | u8 *dst, const u8 *src, | ||
| 97 | unsigned int nbytes); | ||
| 76 | }; | 98 | }; |
| 77 | 99 | ||
| 78 | struct digest_alg { | 100 | struct digest_alg { |
| @@ -102,6 +124,7 @@ struct crypto_alg { | |||
| 102 | u32 cra_flags; | 124 | u32 cra_flags; |
| 103 | unsigned int cra_blocksize; | 125 | unsigned int cra_blocksize; |
| 104 | unsigned int cra_ctxsize; | 126 | unsigned int cra_ctxsize; |
| 127 | unsigned int cra_alignmask; | ||
| 105 | const char cra_name[CRYPTO_MAX_ALG_NAME]; | 128 | const char cra_name[CRYPTO_MAX_ALG_NAME]; |
| 106 | 129 | ||
| 107 | union { | 130 | union { |
| @@ -136,7 +159,6 @@ static inline int crypto_alg_available(const char *name, u32 flags) | |||
| 136 | * and core processing logic. Managed via crypto_alloc_tfm() and | 159 | * and core processing logic. Managed via crypto_alloc_tfm() and |
| 137 | * crypto_free_tfm(), as well as the various helpers below. | 160 | * crypto_free_tfm(), as well as the various helpers below. |
| 138 | */ | 161 | */ |
| 139 | struct crypto_tfm; | ||
| 140 | 162 | ||
| 141 | struct cipher_tfm { | 163 | struct cipher_tfm { |
| 142 | void *cit_iv; | 164 | void *cit_iv; |
| @@ -266,6 +288,16 @@ static inline unsigned int crypto_tfm_alg_digestsize(struct crypto_tfm *tfm) | |||
| 266 | return tfm->__crt_alg->cra_digest.dia_digestsize; | 288 | return tfm->__crt_alg->cra_digest.dia_digestsize; |
| 267 | } | 289 | } |
| 268 | 290 | ||
| 291 | static inline unsigned int crypto_tfm_alg_alignmask(struct crypto_tfm *tfm) | ||
| 292 | { | ||
| 293 | return tfm->__crt_alg->cra_alignmask; | ||
| 294 | } | ||
| 295 | |||
| 296 | static inline void *crypto_tfm_ctx(struct crypto_tfm *tfm) | ||
| 297 | { | ||
| 298 | return (void *)&tfm[1]; | ||
| 299 | } | ||
| 300 | |||
| 269 | /* | 301 | /* |
| 270 | * API wrappers. | 302 | * API wrappers. |
| 271 | */ | 303 | */ |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 047bde30836a..302ec20838ca 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -1435,6 +1435,7 @@ extern struct inode * igrab(struct inode *); | |||
| 1435 | extern ino_t iunique(struct super_block *, ino_t); | 1435 | extern ino_t iunique(struct super_block *, ino_t); |
| 1436 | extern int inode_needs_sync(struct inode *inode); | 1436 | extern int inode_needs_sync(struct inode *inode); |
| 1437 | extern void generic_delete_inode(struct inode *inode); | 1437 | extern void generic_delete_inode(struct inode *inode); |
| 1438 | extern void generic_drop_inode(struct inode *inode); | ||
| 1438 | 1439 | ||
| 1439 | extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval, | 1440 | extern struct inode *ilookup5(struct super_block *sb, unsigned long hashval, |
| 1440 | int (*test)(struct inode *, void *), void *data); | 1441 | int (*test)(struct inode *, void *), void *data); |
diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 8d6bf608b199..7c7400137e97 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h | |||
| @@ -12,8 +12,8 @@ struct vm_area_struct; | |||
| 12 | * GFP bitmasks.. | 12 | * GFP bitmasks.. |
| 13 | */ | 13 | */ |
| 14 | /* Zone modifiers in GFP_ZONEMASK (see linux/mmzone.h - low two bits) */ | 14 | /* Zone modifiers in GFP_ZONEMASK (see linux/mmzone.h - low two bits) */ |
| 15 | #define __GFP_DMA 0x01 | 15 | #define __GFP_DMA 0x01u |
| 16 | #define __GFP_HIGHMEM 0x02 | 16 | #define __GFP_HIGHMEM 0x02u |
| 17 | 17 | ||
| 18 | /* | 18 | /* |
| 19 | * Action modifiers - doesn't change the zoning | 19 | * Action modifiers - doesn't change the zoning |
diff --git a/include/linux/igmp.h b/include/linux/igmp.h index 390e760a96d3..0c31ef0b5bad 100644 --- a/include/linux/igmp.h +++ b/include/linux/igmp.h | |||
| @@ -148,7 +148,6 @@ struct ip_sf_socklist | |||
| 148 | struct ip_mc_socklist | 148 | struct ip_mc_socklist |
| 149 | { | 149 | { |
| 150 | struct ip_mc_socklist *next; | 150 | struct ip_mc_socklist *next; |
| 151 | int count; | ||
| 152 | struct ip_mreqn multi; | 151 | struct ip_mreqn multi; |
| 153 | unsigned int sfmode; /* MCAST_{INCLUDE,EXCLUDE} */ | 152 | unsigned int sfmode; /* MCAST_{INCLUDE,EXCLUDE} */ |
| 154 | struct ip_sf_socklist *sflist; | 153 | struct ip_sf_socklist *sflist; |
diff --git a/include/linux/ioprio.h b/include/linux/ioprio.h index 8a453a0b5e4b..88d5961f7a3f 100644 --- a/include/linux/ioprio.h +++ b/include/linux/ioprio.h | |||
| @@ -34,9 +34,6 @@ enum { | |||
| 34 | */ | 34 | */ |
| 35 | #define IOPRIO_BE_NR (8) | 35 | #define IOPRIO_BE_NR (8) |
| 36 | 36 | ||
| 37 | asmlinkage int sys_ioprio_set(int, int, int); | ||
| 38 | asmlinkage int sys_ioprio_get(int, int); | ||
| 39 | |||
| 40 | enum { | 37 | enum { |
| 41 | IOPRIO_WHO_PROCESS = 1, | 38 | IOPRIO_WHO_PROCESS = 1, |
| 42 | IOPRIO_WHO_PGRP, | 39 | IOPRIO_WHO_PGRP, |
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 9b6d05172ed4..dce53ac1625d 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h | |||
| @@ -174,6 +174,17 @@ struct serio_device_id { | |||
| 174 | __u8 proto; | 174 | __u8 proto; |
| 175 | }; | 175 | }; |
| 176 | 176 | ||
| 177 | /* | ||
| 178 | * Struct used for matching a device | ||
| 179 | */ | ||
| 180 | struct of_device_id | ||
| 181 | { | ||
| 182 | char name[32]; | ||
| 183 | char type[32]; | ||
| 184 | char compatible[128]; | ||
| 185 | void *data; | ||
| 186 | }; | ||
| 187 | |||
| 177 | 188 | ||
| 178 | /* PCMCIA */ | 189 | /* PCMCIA */ |
| 179 | 190 | ||
diff --git a/include/linux/mount.h b/include/linux/mount.h index 8b8d3b9beefd..74b4727a4e30 100644 --- a/include/linux/mount.h +++ b/include/linux/mount.h | |||
| @@ -34,7 +34,7 @@ struct vfsmount | |||
| 34 | int mnt_expiry_mark; /* true if marked for expiry */ | 34 | int mnt_expiry_mark; /* true if marked for expiry */ |
| 35 | char *mnt_devname; /* Name of device e.g. /dev/dsk/hda1 */ | 35 | char *mnt_devname; /* Name of device e.g. /dev/dsk/hda1 */ |
| 36 | struct list_head mnt_list; | 36 | struct list_head mnt_list; |
| 37 | struct list_head mnt_fslink; /* link in fs-specific expiry list */ | 37 | struct list_head mnt_expire; /* link in fs-specific expiry list */ |
| 38 | struct namespace *mnt_namespace; /* containing namespace */ | 38 | struct namespace *mnt_namespace; /* containing namespace */ |
| 39 | }; | 39 | }; |
| 40 | 40 | ||
| @@ -47,7 +47,7 @@ static inline struct vfsmount *mntget(struct vfsmount *mnt) | |||
| 47 | 47 | ||
| 48 | extern void __mntput(struct vfsmount *mnt); | 48 | extern void __mntput(struct vfsmount *mnt); |
| 49 | 49 | ||
| 50 | static inline void _mntput(struct vfsmount *mnt) | 50 | static inline void mntput_no_expire(struct vfsmount *mnt) |
| 51 | { | 51 | { |
| 52 | if (mnt) { | 52 | if (mnt) { |
| 53 | if (atomic_dec_and_test(&mnt->mnt_count)) | 53 | if (atomic_dec_and_test(&mnt->mnt_count)) |
| @@ -59,7 +59,7 @@ static inline void mntput(struct vfsmount *mnt) | |||
| 59 | { | 59 | { |
| 60 | if (mnt) { | 60 | if (mnt) { |
| 61 | mnt->mnt_expiry_mark = 0; | 61 | mnt->mnt_expiry_mark = 0; |
| 62 | _mntput(mnt); | 62 | mntput_no_expire(mnt); |
| 63 | } | 63 | } |
| 64 | } | 64 | } |
| 65 | 65 | ||
diff --git a/include/linux/namespace.h b/include/linux/namespace.h index 697991b69f9b..0e5a86f13b2f 100644 --- a/include/linux/namespace.h +++ b/include/linux/namespace.h | |||
| @@ -17,7 +17,8 @@ extern void __put_namespace(struct namespace *namespace); | |||
| 17 | 17 | ||
| 18 | static inline void put_namespace(struct namespace *namespace) | 18 | static inline void put_namespace(struct namespace *namespace) |
| 19 | { | 19 | { |
| 20 | if (atomic_dec_and_test(&namespace->count)) | 20 | if (atomic_dec_and_lock(&namespace->count, &vfsmount_lock)) |
| 21 | /* releases vfsmount_lock */ | ||
| 21 | __put_namespace(namespace); | 22 | __put_namespace(namespace); |
| 22 | } | 23 | } |
| 23 | 24 | ||
diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h index 5791dfd30dd0..6d5a24f3fc6d 100644 --- a/include/linux/nfsd/nfsd.h +++ b/include/linux/nfsd/nfsd.h | |||
| @@ -124,6 +124,7 @@ int nfsd_statfs(struct svc_rqst *, struct svc_fh *, | |||
| 124 | 124 | ||
| 125 | int nfsd_notify_change(struct inode *, struct iattr *); | 125 | int nfsd_notify_change(struct inode *, struct iattr *); |
| 126 | int nfsd_permission(struct svc_export *, struct dentry *, int); | 126 | int nfsd_permission(struct svc_export *, struct dentry *, int); |
| 127 | void nfsd_sync_dir(struct dentry *dp); | ||
| 127 | 128 | ||
| 128 | #if defined(CONFIG_NFSD_V2_ACL) || defined(CONFIG_NFSD_V3_ACL) | 129 | #if defined(CONFIG_NFSD_V2_ACL) || defined(CONFIG_NFSD_V3_ACL) |
| 129 | #ifdef CONFIG_NFSD_V2_ACL | 130 | #ifdef CONFIG_NFSD_V2_ACL |
| @@ -230,6 +231,7 @@ void nfsd_lockd_shutdown(void); | |||
| 230 | #define nfserr_reclaim_bad __constant_htonl(NFSERR_RECLAIM_BAD) | 231 | #define nfserr_reclaim_bad __constant_htonl(NFSERR_RECLAIM_BAD) |
| 231 | #define nfserr_badname __constant_htonl(NFSERR_BADNAME) | 232 | #define nfserr_badname __constant_htonl(NFSERR_BADNAME) |
| 232 | #define nfserr_cb_path_down __constant_htonl(NFSERR_CB_PATH_DOWN) | 233 | #define nfserr_cb_path_down __constant_htonl(NFSERR_CB_PATH_DOWN) |
| 234 | #define nfserr_locked __constant_htonl(NFSERR_LOCKED) | ||
| 233 | 235 | ||
| 234 | /* error codes for internal use */ | 236 | /* error codes for internal use */ |
| 235 | /* if a request fails due to kmalloc failure, it gets dropped. | 237 | /* if a request fails due to kmalloc failure, it gets dropped. |
diff --git a/include/linux/nfsd/state.h b/include/linux/nfsd/state.h index a84a3fa99be1..8bf23cf8b603 100644 --- a/include/linux/nfsd/state.h +++ b/include/linux/nfsd/state.h | |||
| @@ -203,7 +203,9 @@ struct nfs4_stateowner { | |||
| 203 | int so_is_open_owner; /* 1=openowner,0=lockowner */ | 203 | int so_is_open_owner; /* 1=openowner,0=lockowner */ |
| 204 | u32 so_id; | 204 | u32 so_id; |
| 205 | struct nfs4_client * so_client; | 205 | struct nfs4_client * so_client; |
| 206 | u32 so_seqid; | 206 | /* after increment in ENCODE_SEQID_OP_TAIL, represents the next |
| 207 | * sequence id expected from the client: */ | ||
| 208 | u32 so_seqid; | ||
| 207 | struct xdr_netobj so_owner; /* open owner name */ | 209 | struct xdr_netobj so_owner; /* open owner name */ |
| 208 | int so_confirmed; /* successful OPEN_CONFIRM? */ | 210 | int so_confirmed; /* successful OPEN_CONFIRM? */ |
| 209 | struct nfs4_replay so_replay; | 211 | struct nfs4_replay so_replay; |
| @@ -235,6 +237,10 @@ struct nfs4_file { | |||
| 235 | * st_perlockowner: (open stateid) list of lock nfs4_stateowners | 237 | * st_perlockowner: (open stateid) list of lock nfs4_stateowners |
| 236 | * st_access_bmap: used only for open stateid | 238 | * st_access_bmap: used only for open stateid |
| 237 | * st_deny_bmap: used only for open stateid | 239 | * st_deny_bmap: used only for open stateid |
| 240 | * st_openstp: open stateid lock stateid was derived from | ||
| 241 | * | ||
| 242 | * XXX: open stateids and lock stateids have diverged sufficiently that | ||
| 243 | * we should consider defining separate structs for the two cases. | ||
| 238 | */ | 244 | */ |
| 239 | 245 | ||
| 240 | struct nfs4_stateid { | 246 | struct nfs4_stateid { |
| @@ -248,6 +254,7 @@ struct nfs4_stateid { | |||
| 248 | struct file * st_vfs_file; | 254 | struct file * st_vfs_file; |
| 249 | unsigned long st_access_bmap; | 255 | unsigned long st_access_bmap; |
| 250 | unsigned long st_deny_bmap; | 256 | unsigned long st_deny_bmap; |
| 257 | struct nfs4_stateid * st_openstp; | ||
| 251 | }; | 258 | }; |
| 252 | 259 | ||
| 253 | /* flags for preprocess_seqid_op() */ | 260 | /* flags for preprocess_seqid_op() */ |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 14b950413495..5d4a990d5577 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -300,20 +300,26 @@ struct sk_buff { | |||
| 300 | #include <asm/system.h> | 300 | #include <asm/system.h> |
| 301 | 301 | ||
| 302 | extern void __kfree_skb(struct sk_buff *skb); | 302 | extern void __kfree_skb(struct sk_buff *skb); |
| 303 | extern struct sk_buff *alloc_skb(unsigned int size, int priority); | 303 | extern struct sk_buff *alloc_skb(unsigned int size, |
| 304 | unsigned int __nocast priority); | ||
| 304 | extern struct sk_buff *alloc_skb_from_cache(kmem_cache_t *cp, | 305 | extern struct sk_buff *alloc_skb_from_cache(kmem_cache_t *cp, |
| 305 | unsigned int size, int priority); | 306 | unsigned int size, |
| 307 | unsigned int __nocast priority); | ||
| 306 | extern void kfree_skbmem(struct sk_buff *skb); | 308 | extern void kfree_skbmem(struct sk_buff *skb); |
| 307 | extern struct sk_buff *skb_clone(struct sk_buff *skb, int priority); | 309 | extern struct sk_buff *skb_clone(struct sk_buff *skb, |
| 308 | extern struct sk_buff *skb_copy(const struct sk_buff *skb, int priority); | 310 | unsigned int __nocast priority); |
| 309 | extern struct sk_buff *pskb_copy(struct sk_buff *skb, int gfp_mask); | 311 | extern struct sk_buff *skb_copy(const struct sk_buff *skb, |
| 312 | unsigned int __nocast priority); | ||
| 313 | extern struct sk_buff *pskb_copy(struct sk_buff *skb, | ||
| 314 | unsigned int __nocast gfp_mask); | ||
| 310 | extern int pskb_expand_head(struct sk_buff *skb, | 315 | extern int pskb_expand_head(struct sk_buff *skb, |
| 311 | int nhead, int ntail, int gfp_mask); | 316 | int nhead, int ntail, |
| 317 | unsigned int __nocast gfp_mask); | ||
| 312 | extern struct sk_buff *skb_realloc_headroom(struct sk_buff *skb, | 318 | extern struct sk_buff *skb_realloc_headroom(struct sk_buff *skb, |
| 313 | unsigned int headroom); | 319 | unsigned int headroom); |
| 314 | extern struct sk_buff *skb_copy_expand(const struct sk_buff *skb, | 320 | extern struct sk_buff *skb_copy_expand(const struct sk_buff *skb, |
| 315 | int newheadroom, int newtailroom, | 321 | int newheadroom, int newtailroom, |
| 316 | int priority); | 322 | unsigned int __nocast priority); |
| 317 | extern struct sk_buff * skb_pad(struct sk_buff *skb, int pad); | 323 | extern struct sk_buff * skb_pad(struct sk_buff *skb, int pad); |
| 318 | #define dev_kfree_skb(a) kfree_skb(a) | 324 | #define dev_kfree_skb(a) kfree_skb(a) |
| 319 | extern void skb_over_panic(struct sk_buff *skb, int len, | 325 | extern void skb_over_panic(struct sk_buff *skb, int len, |
| @@ -464,7 +470,8 @@ static inline int skb_shared(const struct sk_buff *skb) | |||
| 464 | * | 470 | * |
| 465 | * NULL is returned on a memory allocation failure. | 471 | * NULL is returned on a memory allocation failure. |
| 466 | */ | 472 | */ |
| 467 | static inline struct sk_buff *skb_share_check(struct sk_buff *skb, int pri) | 473 | static inline struct sk_buff *skb_share_check(struct sk_buff *skb, |
| 474 | unsigned int __nocast pri) | ||
| 468 | { | 475 | { |
| 469 | might_sleep_if(pri & __GFP_WAIT); | 476 | might_sleep_if(pri & __GFP_WAIT); |
| 470 | if (skb_shared(skb)) { | 477 | if (skb_shared(skb)) { |
| @@ -1001,7 +1008,7 @@ static inline void __skb_queue_purge(struct sk_buff_head *list) | |||
| 1001 | * %NULL is returned in there is no free memory. | 1008 | * %NULL is returned in there is no free memory. |
| 1002 | */ | 1009 | */ |
| 1003 | static inline struct sk_buff *__dev_alloc_skb(unsigned int length, | 1010 | static inline struct sk_buff *__dev_alloc_skb(unsigned int length, |
| 1004 | int gfp_mask) | 1011 | unsigned int __nocast gfp_mask) |
| 1005 | { | 1012 | { |
| 1006 | struct sk_buff *skb = alloc_skb(length + 16, gfp_mask); | 1013 | struct sk_buff *skb = alloc_skb(length + 16, gfp_mask); |
| 1007 | if (likely(skb)) | 1014 | if (likely(skb)) |
| @@ -1114,8 +1121,8 @@ static inline int skb_can_coalesce(struct sk_buff *skb, int i, | |||
| 1114 | * If there is no free memory -ENOMEM is returned, otherwise zero | 1121 | * If there is no free memory -ENOMEM is returned, otherwise zero |
| 1115 | * is returned and the old skb data released. | 1122 | * is returned and the old skb data released. |
| 1116 | */ | 1123 | */ |
| 1117 | extern int __skb_linearize(struct sk_buff *skb, int gfp); | 1124 | extern int __skb_linearize(struct sk_buff *skb, unsigned int __nocast gfp); |
| 1118 | static inline int skb_linearize(struct sk_buff *skb, int gfp) | 1125 | static inline int skb_linearize(struct sk_buff *skb, unsigned int __nocast gfp) |
| 1119 | { | 1126 | { |
| 1120 | return __skb_linearize(skb, gfp); | 1127 | return __skb_linearize(skb, gfp); |
| 1121 | } | 1128 | } |
diff --git a/include/linux/slab.h b/include/linux/slab.h index 76cf7e60216c..4c8e552471b0 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h | |||
| @@ -65,7 +65,7 @@ extern void *kmem_cache_alloc(kmem_cache_t *, unsigned int __nocast); | |||
| 65 | extern void kmem_cache_free(kmem_cache_t *, void *); | 65 | extern void kmem_cache_free(kmem_cache_t *, void *); |
| 66 | extern unsigned int kmem_cache_size(kmem_cache_t *); | 66 | extern unsigned int kmem_cache_size(kmem_cache_t *); |
| 67 | extern const char *kmem_cache_name(kmem_cache_t *); | 67 | extern const char *kmem_cache_name(kmem_cache_t *); |
| 68 | extern kmem_cache_t *kmem_find_general_cachep(size_t size, int gfpflags); | 68 | extern kmem_cache_t *kmem_find_general_cachep(size_t size, unsigned int __nocast gfpflags); |
| 69 | 69 | ||
| 70 | /* Size description struct for general caches. */ | 70 | /* Size description struct for general caches. */ |
| 71 | struct cache_sizes { | 71 | struct cache_sizes { |
| @@ -105,7 +105,7 @@ extern unsigned int ksize(const void *); | |||
| 105 | 105 | ||
| 106 | #ifdef CONFIG_NUMA | 106 | #ifdef CONFIG_NUMA |
| 107 | extern void *kmem_cache_alloc_node(kmem_cache_t *, int flags, int node); | 107 | extern void *kmem_cache_alloc_node(kmem_cache_t *, int flags, int node); |
| 108 | extern void *kmalloc_node(size_t size, int flags, int node); | 108 | extern void *kmalloc_node(size_t size, unsigned int __nocast flags, int node); |
| 109 | #else | 109 | #else |
| 110 | static inline void *kmem_cache_alloc_node(kmem_cache_t *cachep, int flags, int node) | 110 | static inline void *kmem_cache_alloc_node(kmem_cache_t *cachep, int flags, int node) |
| 111 | { | 111 | { |
diff --git a/include/linux/string.h b/include/linux/string.h index 93994c613095..dab2652acbd8 100644 --- a/include/linux/string.h +++ b/include/linux/string.h | |||
| @@ -88,7 +88,7 @@ extern int memcmp(const void *,const void *,__kernel_size_t); | |||
| 88 | extern void * memchr(const void *,int,__kernel_size_t); | 88 | extern void * memchr(const void *,int,__kernel_size_t); |
| 89 | #endif | 89 | #endif |
| 90 | 90 | ||
| 91 | extern char *kstrdup(const char *s, int gfp); | 91 | extern char *kstrdup(const char *s, unsigned int __nocast gfp); |
| 92 | 92 | ||
| 93 | #ifdef __cplusplus | 93 | #ifdef __cplusplus |
| 94 | } | 94 | } |
diff --git a/include/linux/swap.h b/include/linux/swap.h index 2343f999e6e1..c75954f2d868 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h | |||
| @@ -148,7 +148,7 @@ struct swap_list_t { | |||
| 148 | #define vm_swap_full() (nr_swap_pages*2 < total_swap_pages) | 148 | #define vm_swap_full() (nr_swap_pages*2 < total_swap_pages) |
| 149 | 149 | ||
| 150 | /* linux/mm/oom_kill.c */ | 150 | /* linux/mm/oom_kill.c */ |
| 151 | extern void out_of_memory(unsigned int __nocast gfp_mask); | 151 | extern void out_of_memory(unsigned int __nocast gfp_mask, int order); |
| 152 | 152 | ||
| 153 | /* linux/mm/memory.c */ | 153 | /* linux/mm/memory.c */ |
| 154 | extern void swapin_readahead(swp_entry_t, unsigned long, struct vm_area_struct *); | 154 | extern void swapin_readahead(swp_entry_t, unsigned long, struct vm_area_struct *); |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 52830b6d94e5..425f58c8ea4a 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
| @@ -506,4 +506,7 @@ asmlinkage long sys_request_key(const char __user *_type, | |||
| 506 | asmlinkage long sys_keyctl(int cmd, unsigned long arg2, unsigned long arg3, | 506 | asmlinkage long sys_keyctl(int cmd, unsigned long arg2, unsigned long arg3, |
| 507 | unsigned long arg4, unsigned long arg5); | 507 | unsigned long arg4, unsigned long arg5); |
| 508 | 508 | ||
| 509 | asmlinkage long sys_ioprio_set(int which, int who, int ioprio); | ||
| 510 | asmlinkage long sys_ioprio_get(int which, int who); | ||
| 511 | |||
| 509 | #endif | 512 | #endif |
