diff options
Diffstat (limited to 'include')
42 files changed, 197 insertions, 134 deletions
diff --git a/include/crypto/if_alg.h b/include/crypto/if_alg.h index a2bfd7843f18..e2b9c6fe2714 100644 --- a/include/crypto/if_alg.h +++ b/include/crypto/if_alg.h | |||
| @@ -73,7 +73,7 @@ int af_alg_unregister_type(const struct af_alg_type *type); | |||
| 73 | 73 | ||
| 74 | int af_alg_release(struct socket *sock); | 74 | int af_alg_release(struct socket *sock); |
| 75 | void af_alg_release_parent(struct sock *sk); | 75 | void af_alg_release_parent(struct sock *sk); |
| 76 | int af_alg_accept(struct sock *sk, struct socket *newsock); | 76 | int af_alg_accept(struct sock *sk, struct socket *newsock, bool kern); |
| 77 | 77 | ||
| 78 | int af_alg_make_sg(struct af_alg_sgl *sgl, struct iov_iter *iter, int len); | 78 | int af_alg_make_sg(struct af_alg_sgl *sgl, struct iov_iter *iter, int len); |
| 79 | void af_alg_free_sg(struct af_alg_sgl *sgl); | 79 | void af_alg_free_sg(struct af_alg_sgl *sgl); |
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 673acda012af..9b05886f9773 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
| @@ -287,18 +287,15 @@ static inline bool invalid_phys_cpuid(phys_cpuid_t phys_id) | |||
| 287 | } | 287 | } |
| 288 | 288 | ||
| 289 | /* Validate the processor object's proc_id */ | 289 | /* Validate the processor object's proc_id */ |
| 290 | bool acpi_processor_validate_proc_id(int proc_id); | 290 | bool acpi_duplicate_processor_id(int proc_id); |
| 291 | 291 | ||
| 292 | #ifdef CONFIG_ACPI_HOTPLUG_CPU | 292 | #ifdef CONFIG_ACPI_HOTPLUG_CPU |
| 293 | /* Arch dependent functions for cpu hotplug support */ | 293 | /* Arch dependent functions for cpu hotplug support */ |
| 294 | int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, u32 acpi_id, | 294 | int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, u32 acpi_id, |
| 295 | int *pcpu); | 295 | int *pcpu); |
| 296 | int acpi_unmap_cpu(int cpu); | 296 | int acpi_unmap_cpu(int cpu); |
| 297 | int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid); | ||
| 298 | #endif /* CONFIG_ACPI_HOTPLUG_CPU */ | 297 | #endif /* CONFIG_ACPI_HOTPLUG_CPU */ |
| 299 | 298 | ||
| 300 | void acpi_set_processor_mapping(void); | ||
| 301 | |||
| 302 | #ifdef CONFIG_ACPI_HOTPLUG_IOAPIC | 299 | #ifdef CONFIG_ACPI_HOTPLUG_IOAPIC |
| 303 | int acpi_get_ioapic_id(acpi_handle handle, u32 gsi_base, u64 *phys_addr); | 300 | int acpi_get_ioapic_id(acpi_handle handle, u32 gsi_base, u64 *phys_addr); |
| 304 | #endif | 301 | #endif |
diff --git a/include/linux/ccp.h b/include/linux/ccp.h index c71dd8fa5764..c41b8d99dd0e 100644 --- a/include/linux/ccp.h +++ b/include/linux/ccp.h | |||
| @@ -556,7 +556,7 @@ enum ccp_engine { | |||
| 556 | * struct ccp_cmd - CCP operation request | 556 | * struct ccp_cmd - CCP operation request |
| 557 | * @entry: list element (ccp driver use only) | 557 | * @entry: list element (ccp driver use only) |
| 558 | * @work: work element used for callbacks (ccp driver use only) | 558 | * @work: work element used for callbacks (ccp driver use only) |
| 559 | * @ccp: CCP device to be run on (ccp driver use only) | 559 | * @ccp: CCP device to be run on |
| 560 | * @ret: operation return code (ccp driver use only) | 560 | * @ret: operation return code (ccp driver use only) |
| 561 | * @flags: cmd processing flags | 561 | * @flags: cmd processing flags |
| 562 | * @engine: CCP operation to perform | 562 | * @engine: CCP operation to perform |
diff --git a/include/linux/dccp.h b/include/linux/dccp.h index 61d042bbbf60..68449293c4b6 100644 --- a/include/linux/dccp.h +++ b/include/linux/dccp.h | |||
| @@ -163,6 +163,7 @@ struct dccp_request_sock { | |||
| 163 | __u64 dreq_isr; | 163 | __u64 dreq_isr; |
| 164 | __u64 dreq_gsr; | 164 | __u64 dreq_gsr; |
| 165 | __be32 dreq_service; | 165 | __be32 dreq_service; |
| 166 | spinlock_t dreq_lock; | ||
| 166 | struct list_head dreq_featneg; | 167 | struct list_head dreq_featneg; |
| 167 | __u32 dreq_timestamp_echo; | 168 | __u32 dreq_timestamp_echo; |
| 168 | __u32 dreq_timestamp_time; | 169 | __u32 dreq_timestamp_time; |
diff --git a/include/linux/device.h b/include/linux/device.h index 30c4570e928d..9ef518af5515 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
| @@ -1140,7 +1140,6 @@ static inline bool device_supports_offline(struct device *dev) | |||
| 1140 | extern void lock_device_hotplug(void); | 1140 | extern void lock_device_hotplug(void); |
| 1141 | extern void unlock_device_hotplug(void); | 1141 | extern void unlock_device_hotplug(void); |
| 1142 | extern int lock_device_hotplug_sysfs(void); | 1142 | extern int lock_device_hotplug_sysfs(void); |
| 1143 | void assert_held_device_hotplug(void); | ||
| 1144 | extern int device_offline(struct device *dev); | 1143 | extern int device_offline(struct device *dev); |
| 1145 | extern int device_online(struct device *dev); | 1144 | extern int device_online(struct device *dev); |
| 1146 | extern void set_primary_fwnode(struct device *dev, struct fwnode_handle *fwnode); | 1145 | extern void set_primary_fwnode(struct device *dev, struct fwnode_handle *fwnode); |
diff --git a/include/linux/errqueue.h b/include/linux/errqueue.h index 9ca23fcfb5d7..6fdfc884fdeb 100644 --- a/include/linux/errqueue.h +++ b/include/linux/errqueue.h | |||
| @@ -20,6 +20,8 @@ struct sock_exterr_skb { | |||
| 20 | struct sock_extended_err ee; | 20 | struct sock_extended_err ee; |
| 21 | u16 addr_offset; | 21 | u16 addr_offset; |
| 22 | __be16 port; | 22 | __be16 port; |
| 23 | u8 opt_stats:1, | ||
| 24 | unused:7; | ||
| 23 | }; | 25 | }; |
| 24 | 26 | ||
| 25 | #endif | 27 | #endif |
diff --git a/include/linux/filter.h b/include/linux/filter.h index 0c167fdee5f7..fbf7b39e8103 100644 --- a/include/linux/filter.h +++ b/include/linux/filter.h | |||
| @@ -409,6 +409,7 @@ struct bpf_prog { | |||
| 409 | u16 pages; /* Number of allocated pages */ | 409 | u16 pages; /* Number of allocated pages */ |
| 410 | kmemcheck_bitfield_begin(meta); | 410 | kmemcheck_bitfield_begin(meta); |
| 411 | u16 jited:1, /* Is our filter JIT'ed? */ | 411 | u16 jited:1, /* Is our filter JIT'ed? */ |
| 412 | locked:1, /* Program image locked? */ | ||
| 412 | gpl_compatible:1, /* Is filter GPL compatible? */ | 413 | gpl_compatible:1, /* Is filter GPL compatible? */ |
| 413 | cb_access:1, /* Is control block accessed? */ | 414 | cb_access:1, /* Is control block accessed? */ |
| 414 | dst_needed:1, /* Do we need dst entry? */ | 415 | dst_needed:1, /* Do we need dst entry? */ |
| @@ -554,22 +555,29 @@ static inline bool bpf_prog_was_classic(const struct bpf_prog *prog) | |||
| 554 | #ifdef CONFIG_ARCH_HAS_SET_MEMORY | 555 | #ifdef CONFIG_ARCH_HAS_SET_MEMORY |
| 555 | static inline void bpf_prog_lock_ro(struct bpf_prog *fp) | 556 | static inline void bpf_prog_lock_ro(struct bpf_prog *fp) |
| 556 | { | 557 | { |
| 557 | set_memory_ro((unsigned long)fp, fp->pages); | 558 | fp->locked = 1; |
| 559 | WARN_ON_ONCE(set_memory_ro((unsigned long)fp, fp->pages)); | ||
| 558 | } | 560 | } |
| 559 | 561 | ||
| 560 | static inline void bpf_prog_unlock_ro(struct bpf_prog *fp) | 562 | static inline void bpf_prog_unlock_ro(struct bpf_prog *fp) |
| 561 | { | 563 | { |
| 562 | set_memory_rw((unsigned long)fp, fp->pages); | 564 | if (fp->locked) { |
| 565 | WARN_ON_ONCE(set_memory_rw((unsigned long)fp, fp->pages)); | ||
| 566 | /* In case set_memory_rw() fails, we want to be the first | ||
| 567 | * to crash here instead of some random place later on. | ||
| 568 | */ | ||
| 569 | fp->locked = 0; | ||
| 570 | } | ||
| 563 | } | 571 | } |
| 564 | 572 | ||
| 565 | static inline void bpf_jit_binary_lock_ro(struct bpf_binary_header *hdr) | 573 | static inline void bpf_jit_binary_lock_ro(struct bpf_binary_header *hdr) |
| 566 | { | 574 | { |
| 567 | set_memory_ro((unsigned long)hdr, hdr->pages); | 575 | WARN_ON_ONCE(set_memory_ro((unsigned long)hdr, hdr->pages)); |
| 568 | } | 576 | } |
| 569 | 577 | ||
| 570 | static inline void bpf_jit_binary_unlock_ro(struct bpf_binary_header *hdr) | 578 | static inline void bpf_jit_binary_unlock_ro(struct bpf_binary_header *hdr) |
| 571 | { | 579 | { |
| 572 | set_memory_rw((unsigned long)hdr, hdr->pages); | 580 | WARN_ON_ONCE(set_memory_rw((unsigned long)hdr, hdr->pages)); |
| 573 | } | 581 | } |
| 574 | #else | 582 | #else |
