diff options
Diffstat (limited to 'include/net/netlabel.h')
| -rw-r--r-- | include/net/netlabel.h | 62 |
1 files changed, 27 insertions, 35 deletions
diff --git a/include/net/netlabel.h b/include/net/netlabel.h index 9b7d6f2ac9a3..ffbc7f28335a 100644 --- a/include/net/netlabel.h +++ b/include/net/netlabel.h | |||
| @@ -144,10 +144,9 @@ struct netlbl_lsm_secattr { | |||
| 144 | }; | 144 | }; |
| 145 | 145 | ||
| 146 | /* | 146 | /* |
| 147 | * LSM security attribute operations | 147 | * LSM security attribute operations (inline) |
| 148 | */ | 148 | */ |
| 149 | 149 | ||
| 150 | |||
| 151 | /** | 150 | /** |
| 152 | * netlbl_secattr_cache_alloc - Allocate and initialize a secattr cache | 151 | * netlbl_secattr_cache_alloc - Allocate and initialize a secattr cache |
| 153 | * @flags: the memory allocation flags | 152 | * @flags: the memory allocation flags |
| @@ -283,6 +282,9 @@ static inline void netlbl_secattr_free(struct netlbl_lsm_secattr *secattr) | |||
| 283 | } | 282 | } |
| 284 | 283 | ||
| 285 | #ifdef CONFIG_NETLABEL | 284 | #ifdef CONFIG_NETLABEL |
| 285 | /* | ||
| 286 | * LSM security attribute operations | ||
| 287 | */ | ||
| 286 | int netlbl_secattr_catmap_walk(struct netlbl_lsm_secattr_catmap *catmap, | 288 | int netlbl_secattr_catmap_walk(struct netlbl_lsm_secattr_catmap *catmap, |
| 287 | u32 offset); | 289 | u32 offset); |
| 288 | int netlbl_secattr_catmap_walk_rng(struct netlbl_lsm_secattr_catmap *catmap, | 290 | int netlbl_secattr_catmap_walk_rng(struct netlbl_lsm_secattr_catmap *catmap, |
| @@ -294,6 +296,25 @@ int netlbl_secattr_catmap_setrng(struct netlbl_lsm_secattr_catmap *catmap, | |||
| 294 | u32 start, | 296 | u32 start, |
| 295 | u32 end, | 297 | u32 end, |
| 296 | gfp_t flags); | 298 | gfp_t flags); |
| 299 | |||
| 300 | /* | ||
| 301 | * LSM protocol operations | ||
| 302 | */ | ||
| 303 | int netlbl_enabled(void); | ||
| 304 | int netlbl_sock_setattr(struct sock *sk, | ||
| 305 | const struct netlbl_lsm_secattr *secattr); | ||
| 306 | int netlbl_sock_getattr(struct sock *sk, | ||
| 307 | struct netlbl_lsm_secattr *secattr); | ||
| 308 | int netlbl_skbuff_getattr(const struct sk_buff *skb, | ||
| 309 | struct netlbl_lsm_secattr *secattr); | ||
| 310 | void netlbl_skbuff_err(struct sk_buff *skb, int error); | ||
| 311 | |||
| 312 | /* | ||
| 313 | * LSM label mapping cache operations | ||
| 314 | */ | ||
| 315 | void netlbl_cache_invalidate(void); | ||
| 316 | int netlbl_cache_add(const struct sk_buff *skb, | ||
| 317 | const struct netlbl_lsm_secattr *secattr); | ||
| 297 | #else | 318 | #else |
| 298 | static inline int netlbl_secattr_catmap_walk( | 319 | static inline int netlbl_secattr_catmap_walk( |
| 299 | struct netlbl_lsm_secattr_catmap *catmap, | 320 | struct netlbl_lsm_secattr_catmap *catmap, |
| @@ -301,14 +322,12 @@ static inline int netlbl_secattr_catmap_walk( | |||
| 301 | { | 322 | { |
| 302 | return -ENOENT; | 323 | return -ENOENT; |
| 303 | } | 324 | } |
| 304 | |||
| 305 | static inline int netlbl_secattr_catmap_walk_rng( | 325 | static inline int netlbl_secattr_catmap_walk_rng( |
| 306 | struct netlbl_lsm_secattr_catmap *catmap, | 326 | struct netlbl_lsm_secattr_catmap *catmap, |
| 307 | u32 offset) | 327 | u32 offset) |
| 308 | { | 328 | { |
| 309 | return -ENOENT; | 329 | return -ENOENT; |
| 310 | } | 330 | } |
| 311 | |||
| 312 | static inline int netlbl_secattr_catmap_setbit( | 331 | static inline int netlbl_secattr_catmap_setbit( |
| 313 | struct netlbl_lsm_secattr_catmap *catmap, | 332 | struct netlbl_lsm_secattr_catmap *catmap, |
| 314 | u32 bit, | 333 | u32 bit, |
| @@ -316,7 +335,6 @@ static inline int netlbl_secattr_catmap_setbit( | |||
| 316 | { | 335 | { |
| 317 | return 0; | 336 | return 0; |
| 318 | } | 337 | } |
| 319 | |||
| 320 | static inline int netlbl_secattr_catmap_setrng( | 338 | static inline int netlbl_secattr_catmap_setrng( |
| 321 | struct netlbl_lsm_secattr_catmap *catmap, | 339 | struct netlbl_lsm_secattr_catmap *catmap, |
| 322 | u32 start, | 340 | u32 start, |
| @@ -325,59 +343,33 @@ static inline int netlbl_secattr_catmap_setrng( | |||
| 325 | { | 343 | { |
| 326 | return 0; | 344 | return 0; |
| 327 | } | 345 | } |
| 328 | #endif | 346 | static inline int netlbl_enabled(void) |
| 329 | 347 | { | |
| 330 | /* | 348 | return 0; |
| 331 | * LSM protocol operations | 349 | } |
| 332 | */ | ||
| 333 | |||
| 334 | #ifdef CONFIG_NETLABEL | ||
| 335 | int netlbl_sock_setattr(struct sock *sk, | ||
| 336 | const struct netlbl_lsm_secattr *secattr); | ||
| 337 | int netlbl_sock_getattr(struct sock *sk, | ||
| 338 | struct netlbl_lsm_secattr *secattr); | ||
| 339 | int netlbl_skbuff_getattr(const struct sk_buff *skb, | ||
| 340 | struct netlbl_lsm_secattr *secattr); | ||
| 341 | void netlbl_skbuff_err(struct sk_buff *skb, int error); | ||
| 342 | #else | ||
| 343 | static inline int netlbl_sock_setattr(struct sock *sk, | 350 | static inline int netlbl_sock_setattr(struct sock *sk, |
| 344 | const struct netlbl_lsm_secattr *secattr) | 351 | const struct netlbl_lsm_secattr *secattr) |
| 345 | { | 352 | { |
| 346 | return -ENOSYS; | 353 | return -ENOSYS; |
| 347 | } | 354 | } |
| 348 | |||
| 349 | static inline int netlbl_sock_getattr(struct sock *sk, | 355 | static inline int netlbl_sock_getattr(struct sock *sk, |
| 350 | struct netlbl_lsm_secattr *secattr) | 356 | struct netlbl_lsm_secattr *secattr) |
| 351 | { | 357 | { |
| 352 | return -ENOSYS; | 358 | return -ENOSYS; |
| 353 | } | 359 | } |
| 354 | |||
| 355 | static inline int netlbl_skbuff_getattr(const struct sk_buff *skb, | 360 | static inline int netlbl_skbuff_getattr(const struct sk_buff *skb, |
| 356 | struct netlbl_lsm_secattr *secattr) | 361 | struct netlbl_lsm_secattr *secattr) |
| 357 | { | 362 | { |
| 358 | return -ENOSYS; | 363 | return -ENOSYS; |
| 359 | } | 364 | } |
| 360 | |||
| 361 | static inline void netlbl_skbuff_err(struct sk_buff *skb, int error) | 365 | static inline void netlbl_skbuff_err(struct sk_buff *skb, int error) |
| 362 | { | 366 | { |
| 363 | return; | 367 | return; |
| 364 | } | 368 | } |
| 365 | #endif /* CONFIG_NETLABEL */ | ||
| 366 | |||
| 367 | /* | ||
| 368 | * LSM label mapping cache operations | ||
| 369 | */ | ||
| 370 | |||
| 371 | #ifdef CONFIG_NETLABEL | ||
| 372 | void netlbl_cache_invalidate(void); | ||
| 373 | int netlbl_cache_add(const struct sk_buff *skb, | ||
| 374 | const struct netlbl_lsm_secattr *secattr); | ||
| 375 | #else | ||
| 376 | static inline void netlbl_cache_invalidate(void) | 369 | static inline void netlbl_cache_invalidate(void) |
| 377 | { | 370 | { |
| 378 | return; | 371 | return; |
| 379 | } | 372 | } |
| 380 | |||
| 381 | static inline int netlbl_cache_add(const struct sk_buff *skb, | 373 | static inline int netlbl_cache_add(const struct sk_buff *skb, |
| 382 | const struct netlbl_lsm_secattr *secattr) | 374 | const struct netlbl_lsm_secattr *secattr) |
| 383 | { | 375 | { |
