History

Merge 5.7-rc7 into staging-next

We need the staging/iio fixes in here as well.

Greg Kroah-Hartman committed 6 years ago

Commit c2312ff2 parents a3975de 9cb1fd0609 files · +5047 −2480Browse files

Showing the changes to include/linux (17 of 609 files). Show all

Unified · Split

17 files
  1. include/linux/brcmphy.h +1 −0
  2. include/linux/compiler.h +6 −0
  3. include/linux/cper.h +9 −0
  4. include/linux/efi.h +2 −0
  5. include/linux/ftrace.h +23 −0
  6. include/linux/host1x.h +3 −0
  7. include/linux/i2c-mux.h +1 −1
  8. include/linux/i2c.h +1 −1
  9. include/linux/kvm_host.h +3 −0
  10. include/linux/lsm_hook_defs.h +1 −1
  11. include/linux/memcontrol.h +2 −0
  12. include/linux/mlx5/driver.h +16 −0
  13. include/linux/ptp_clock_kernel.h +4 −4
  14. include/linux/skmsg.h +1 −0
  15. include/linux/sunrpc/gss_api.h +3 −0
  16. include/linux/sunrpc/gss_krb5.h +3 −3
  17. include/linux/sunrpc/xdr.h +1 −0
include/linux/brcmphy.h+1−0
@@ -245,6 +245,7 @@ · 244 unmodified lines
245245 #define BCM54810_EXP_BROADREACH_LRE_MISC_CTL_EN (1 << 0)
246246 #define BCM54810_SHD_CLK_CTL 0x3
247247 #define BCM54810_SHD_CLK_CTL_GTXCLK_EN (1 << 9)
248+#define BCM54810_SHD_SCR3_TRDDAPD 0x0100
248249
249250 /* BCM54612E Registers */
250251 #define BCM54612E_EXP_SPARE0 (MII_BCM54XX_EXP_SEL_ETC + 0x34)
include/linux/compiler.h+6−0
@@ -356,4 +356,10 @@ static inline void *offset_to_ptr(const int *off) · 355 unmodified lines
356356 /* &a[0] degrades to a pointer: a different type from an array */
357357 #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
358358
359+/*
360+ * This is needed in functions which generate the stack canary, see
361+ * arch/x86/kernel/smpboot.c::start_secondary() for an example.
362+ */
363+#define prevent_tail_call_optimization() mb()
364+
359365 #endif /* __LINUX_COMPILER_H */
include/linux/cper.h+9−0
@@ -521,6 +521,15 @@ struct cper_sec_pcie { · 520 unmodified lines
521521 u8 aer_info[96];
522522 };
523523
524+/* Firmware Error Record Reference, UEFI v2.7 sec N.2.10 */
525+struct cper_sec_fw_err_rec_ref {
526+ u8 record_type;
527+ u8 revision;
528+ u8 reserved[6];
529+ u64 record_identifier;
530+ guid_t record_identifier_guid;
531+};
532+
524533 /* Reset to default packing */
525534 #pragma pack()
526535
include/linux/efi.h+2−0
@@ -1245,4 +1245,6 @@ struct linux_efi_memreserve { · 1244 unmodified lines
12451245
12461246 void __init efi_arch_mem_reserve(phys_addr_t addr, u64 size);
12471247
1248+char *efi_systab_show_arch(char *str);
1249+
12481250 #endif /* _LINUX_EFI_H */
include/linux/ftrace.h+23−0
@@ -210,6 +210,29 @@ struct ftrace_ops { · 209 unmodified lines
210210 #endif
211211 };
212212
213+extern struct ftrace_ops __rcu *ftrace_ops_list;
214+extern struct ftrace_ops ftrace_list_end;
215+
216+/*
217+ * Traverse the ftrace_global_list, invoking all entries. The reason that we
218+ * can use rcu_dereference_raw_check() is that elements removed from this list
219+ * are simply leaked, so there is no need to interact with a grace-period
220+ * mechanism. The rcu_dereference_raw_check() calls are needed to handle
221+ * concurrent insertions into the ftrace_global_list.
222+ *
223+ * Silly Alpha and silly pointer-speculation compiler optimizations!
224+ */
225+#define do_for_each_ftrace_op(op, list) \
226+ op = rcu_dereference_raw_check(list); \
227+ do
228+
229+/*
230+ * Optimized for just a single item in the list (as that is the normal case).
231+ */
232+#define while_for_each_ftrace_op(op) \
233+ while (likely(op = rcu_dereference_raw_check((op)->next)) && \
234+ unlikely((op) != &ftrace_list_end))
235+
213236 /*
214237 * Type of the current tracing.
215238 */
include/linux/host1x.h+3−0
@@ -17,9 +17,12 @@ enum host1x_class { · 16 unmodified lines
1717 HOST1X_CLASS_GR3D = 0x60,
1818 };
1919
20+struct host1x;
2021 struct host1x_client;
2122 struct iommu_group;
2223
24+u64 host1x_get_dma_mask(struct host1x *host1x);
25+
2326 /**
2427 * struct host1x_client_ops - host1x client operations
2528 * @init: host1x client initialization code
include/linux/i2c-mux.h+1−1
@@ -29,7 +29,7 @@ struct i2c_mux_core { · 28 unmodified lines
2929
3030 int num_adapters;
3131 int max_adapters;
32− struct i2c_adapter *adapter[0];
32+ struct i2c_adapter *adapter[];
3333 };
3434
3535 struct i2c_mux_core *i2c_mux_alloc(struct i2c_adapter *parent,
include/linux/i2c.h+1−1
@@ -2,7 +2,7 @@ · 1 unmodified line
22 /*
33 * i2c.h - definitions for the Linux i2c bus interface
44 * Copyright (C) 1995-2000 Simon G. Vogl
5− * Copyright (C) 2013-2019 Wolfram Sang <wsa@the-dreams.de>
5+ * Copyright (C) 2013-2019 Wolfram Sang <wsa@kernel.org>
66 *
77 * With some changes from Kyösti Mälkki <kmalkki@cc.hut.fi> and
88 * Frodo Looijaard <frodol@dds.nl>
include/linux/kvm_host.h+3−0
@@ -813,8 +813,11 @@ void kvm_flush_remote_tlbs(struct kvm *kvm); · 812 unmodified lines
813813 void kvm_reload_remote_mmus(struct kvm *kvm);
814814
815815 bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req,
816+ struct kvm_vcpu *except,
816817 unsigned long *vcpu_bitmap, cpumask_var_t tmp);
817818 bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req);
819+bool kvm_make_all_cpus_request_except(struct kvm *kvm, unsigned int req,
820+ struct kvm_vcpu *except);
818821 bool kvm_make_cpus_request_mask(struct kvm *kvm, unsigned int req,
819822 unsigned long *vcpu_bitmap);
820823
include/linux/lsm_hook_defs.h+1−1
@@ -243,7 +243,7 @@ LSM_HOOK(int, -EINVAL, getprocattr, struct task_struct *p, char *name, · 242 unmodified lines
243243 char **value)
244244 LSM_HOOK(int, -EINVAL, setprocattr, const char *name, void *value, size_t size)
245245 LSM_HOOK(int, 0, ismaclabel, const char *name)
246−LSM_HOOK(int, 0, secid_to_secctx, u32 secid, char **secdata,
246+LSM_HOOK(int, -EOPNOTSUPP, secid_to_secctx, u32 secid, char **secdata,
247247 u32 *seclen)
248248 LSM_HOOK(int, 0, secctx_to_secid, const char *secdata, u32 seclen, u32 *secid)
249249 LSM_HOOK(void, LSM_RET_VOID, release_secctx, char *secdata, u32 seclen)
include/linux/memcontrol.h+2−0
@@ -783,6 +783,8 @@ static inline void memcg_memory_event(struct mem_cgroup *memcg, · 782 unmodified lines
783783 atomic_long_inc(&memcg->memory_events[event]);
784784 cgroup_file_notify(&memcg->events_file);
785785
786+ if (!cgroup_subsys_on_dfl(memory_cgrp_subsys))
787+ break;
786788 if (cgrp_dfl_root.flags & CGRP_ROOT_MEMORY_LOCAL_EVENTS)
787789 break;
788790 } while ((memcg = parent_mem_cgroup(memcg)) &&
include/linux/mlx5/driver.h+16−0
@@ -213,6 +213,12 @@ enum mlx5_port_status { · 212 unmodified lines
213213 MLX5_PORT_DOWN = 2,
214214 };
215215
216+enum mlx5_cmdif_state {
217+ MLX5_CMDIF_STATE_UNINITIALIZED,
218+ MLX5_CMDIF_STATE_UP,
219+ MLX5_CMDIF_STATE_DOWN,
220+};
221+
216222 struct mlx5_cmd_first {
217223 __be32 data[4];
218224 };
@@ -258,6 +264,7 @@ struct mlx5_cmd_stats { · 39 unmodified lines
258264 struct mlx5_cmd {
259265 struct mlx5_nb nb;
260266
267+ enum mlx5_cmdif_state state;
261268 void *cmd_alloc_buf;
262269 dma_addr_t alloc_dma;
263270 int alloc_size;
@@ -284,6 +291,7 @@ struct mlx5_cmd { · 20 unmodified lines
284291 struct semaphore sem;
285292 struct semaphore pages_sem;
286293 int mode;
294+ u16 allowed_opcode;
287295 struct mlx5_cmd_work_ent *ent_arr[MLX5_MAX_COMMANDS];
288296 struct dma_pool *pool;
289297 struct mlx5_cmd_debug dbg;
@@ -743,6 +751,7 @@ struct mlx5_cmd_work_ent { · 453 unmodified lines
743751 struct delayed_work cb_timeout_work;
744752 void *context;
745753 int idx;
754+ struct completion handling;
746755 struct completion done;
747756 struct mlx5_cmd *cmd;
748757 struct work_struct work;
@@ -874,10 +883,17 @@ mlx5_frag_buf_get_idx_last_contig_stride(struct mlx5_frag_buf_ctrl *fbc, u32 ix) · 125 unmodified lines
874883 return min_t(u32, last_frag_stride_idx - fbc->strides_offset, fbc->sz_m1);
875884 }
876885
886+enum {
887+ CMD_ALLOWED_OPCODE_ALL,
888+};
889+
877890 int mlx5_cmd_init(struct mlx5_core_dev *dev);
878891 void mlx5_cmd_cleanup(struct mlx5_core_dev *dev);
892+void mlx5_cmd_set_state(struct mlx5_core_dev *dev,
893+ enum mlx5_cmdif_state cmdif_state);
879894 void mlx5_cmd_use_events(struct mlx5_core_dev *dev);
880895 void mlx5_cmd_use_polling(struct mlx5_core_dev *dev);
896+void mlx5_cmd_allowed_opcode(struct mlx5_core_dev *dev, u16 opcode);
881897
882898 struct mlx5_async_ctx {
883899 struct mlx5_core_dev *dev;
include/linux/ptp_clock_kernel.h+4−4
@@ -105,10 +105,10 @@ struct ptp_system_timestamp { · 104 unmodified lines
105105 * parameter func: the desired function to use.
106106 * parameter chan: the function channel index to use.
107107 *
108− * @do_work: Request driver to perform auxiliary (periodic) operations
109− * Driver should return delay of the next auxiliary work scheduling
110− * time (>=0) or negative value in case further scheduling
111− * is not required.
108+ * @do_aux_work: Request driver to perform auxiliary (periodic) operations
109+ * Driver should return delay of the next auxiliary work
110+ * scheduling time (>=0) or negative value in case further
111+ * scheduling is not required.
112112 *
113113 * Drivers should embed their ptp_clock_info within a private
114114 * structure, obtaining a reference to it using container_of().
include/linux/skmsg.h+1−0
@@ -187,6 +187,7 @@ static inline void sk_msg_xfer(struct sk_msg *dst, struct sk_msg *src, · 186 unmodified lines
187187 dst->sg.data[which] = src->sg.data[which];
188188 dst->sg.data[which].length = size;
189189 dst->sg.size += size;
190+ src->sg.size -= size;
190191 src->sg.data[which].length -= size;
191192 src->sg.data[which].offset += size;
192193 }
include/linux/sunrpc/gss_api.h+3−0
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 struct gss_ctx {
2222 struct gss_api_mech *mech_type;
2323 void *internal_ctx_id;
24+ unsigned int slack, align;
2425 };
2526
2627 #define GSS_C_NO_BUFFER ((struct xdr_netobj) 0)
@@ -66,6 +67,7 @@ u32 gss_wrap( · 39 unmodified lines
6667 u32 gss_unwrap(
6768 struct gss_ctx *ctx_id,
6869 int offset,
70+ int len,
6971 struct xdr_buf *inbuf);
7072 u32 gss_delete_sec_context(
7173 struct gss_ctx **ctx_id);
@@ -126,6 +128,7 @@ struct gss_api_ops { · 54 unmodified lines
126128 u32 (*gss_unwrap)(
127129 struct gss_ctx *ctx_id,
128130 int offset,
131+ int len,
129132 struct xdr_buf *buf);
130133 void (*gss_delete_sec_context)(
131134 void *internal_ctx_id);
include/linux/sunrpc/gss_krb5.h+3−3
@@ -83,7 +83,7 @@ struct gss_krb5_enctype { · 82 unmodified lines
8383 u32 (*encrypt_v2) (struct krb5_ctx *kctx, u32 offset,
8484 struct xdr_buf *buf,
8585 struct page **pages); /* v2 encryption function */
86− u32 (*decrypt_v2) (struct krb5_ctx *kctx, u32 offset,
86+ u32 (*decrypt_v2) (struct krb5_ctx *kctx, u32 offset, u32 len,
8787 struct xdr_buf *buf, u32 *headskip,
8888 u32 *tailskip); /* v2 decryption function */
8989 };
@@ -255,7 +255,7 @@ gss_wrap_kerberos(struct gss_ctx *ctx_id, int offset, · 165 unmodified lines
255255 struct xdr_buf *outbuf, struct page **pages);
256256
257257 u32
258−gss_unwrap_kerberos(struct gss_ctx *ctx_id, int offset,
258+gss_unwrap_kerberos(struct gss_ctx *ctx_id, int offset, int len,
259259 struct xdr_buf *buf);
260260
261261
@@ -312,7 +312,7 @@ gss_krb5_aes_encrypt(struct krb5_ctx *kctx, u32 offset, · 50 unmodified lines
312312 struct page **pages);
313313
314314 u32
315−gss_krb5_aes_decrypt(struct krb5_ctx *kctx, u32 offset,
315+gss_krb5_aes_decrypt(struct krb5_ctx *kctx, u32 offset, u32 len,
316316 struct xdr_buf *buf, u32 *plainoffset,
317317 u32 *plainlen);
318318
include/linux/sunrpc/xdr.h+1−0
@@ -184,6 +184,7 @@ xdr_adjust_iovec(struct kvec *iov, __be32 *p) · 183 unmodified lines
184184 extern void xdr_shift_buf(struct xdr_buf *, size_t);
185185 extern void xdr_buf_from_iov(struct kvec *, struct xdr_buf *);
186186 extern int xdr_buf_subsegment(struct xdr_buf *, struct xdr_buf *, unsigned int, unsigned int);
187+extern void xdr_buf_trim(struct xdr_buf *, unsigned int);
187188 extern int read_bytes_from_xdr_buf(struct xdr_buf *, unsigned int, void *, unsigned int);
188189 extern int write_bytes_to_xdr_buf(struct xdr_buf *, unsigned int, void *, unsigned int);
189190

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t