History

Merge tag 'kvm-s390-next-5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD

KVM: s390: Features and Enhancements for 5.7 part1 1. Allow to disable gisa 2. protected virtual machines Protected VMs (PVM) are KVM VMs, where KVM can't access the VM's state like guest memory and guest registers anymore. Instead the PVMs are mostly managed by a new entity called Ultravisor (UV), which provides an API, so KVM and the PV can request management actions. PVMs are encrypted at rest and protected from hypervisor access while running. They switch from a normal operation into protected mode, so we can still use the standard boot process to load a encrypted blob and then move it into protected mode. Rebooting is only possible by passing through the unprotected/normal mode and switching to protected again. One mm related patch will go via Andrews mm tree ( mm/gup/writeback: add callbacks for inaccessible pages)

Paolo Bonzini committed 6 years ago

Commit 1c482452 parents 6d05a96 cc674ef362 files · +6431 −2586Browse files

Showing the changes to include/linux (9 of 362 files). Show all

Unified · Split

9 files
  1. include/linux/cpufreq.h +0 −3
  2. include/linux/dax.h +2 −12
  3. include/linux/icmpv6.h +6 −0
  4. include/linux/netdevice.h +15 −1
  5. include/linux/nfs_fs.h +6 −20
  6. include/linux/pipe_fs_i.h +2 −1
  7. include/linux/sched/nohz.h +2 −0
  8. include/linux/suspend.h +1 −1
  9. include/linux/trace_events.h +1 −1
include/linux/cpufreq.h+0−3
@@ -201,9 +201,6 @@ static inline bool policy_is_shared(struct cpufreq_policy *policy) · 200 unmodified lines
201201 return cpumask_weight(policy->cpus) > 1;
202202 }
203203
204−/* /sys/devices/system/cpu/cpufreq: entry point for global variables */
205−extern struct kobject *cpufreq_global_kobject;
206−
207204 #ifdef CONFIG_CPU_FREQ
208205 unsigned int cpufreq_get(unsigned int cpu);
209206 unsigned int cpufreq_quick_get(unsigned int cpu);
include/linux/dax.h+2−12
@@ -129,11 +129,6 @@ static inline bool generic_fsdax_supported(struct dax_device *dax_dev, · 128 unmodified lines
129129 sectors);
130130 }
131131
132−static inline struct dax_device *fs_dax_get_by_host(const char *host)
133−{
134− return dax_get_by_host(host);
135−}
136−
137132 static inline void fs_put_dax(struct dax_device *dax_dev)
138133 {
139134 put_dax(dax_dev);
@@ -141,7 +136,7 @@ static inline void fs_put_dax(struct dax_device *dax_dev) · 1 unmodified line
141136
142137 struct dax_device *fs_dax_get_by_bdev(struct block_device *bdev);
143138 int dax_writeback_mapping_range(struct address_space *mapping,
144− struct block_device *bdev, struct writeback_control *wbc);
139+ struct dax_device *dax_dev, struct writeback_control *wbc);
145140
146141 struct page *dax_layout_busy_page(struct address_space *mapping);
147142 dax_entry_t dax_lock_page(struct page *page);
@@ -160,11 +155,6 @@ static inline bool generic_fsdax_supported(struct dax_device *dax_dev, · 12 unmodified lines
160155 return false;
161156 }
162157
163−static inline struct dax_device *fs_dax_get_by_host(const char *host)
164−{
165− return NULL;
166−}
167−
168158 static inline void fs_put_dax(struct dax_device *dax_dev)
169159 {
170160 }
@@ -180,7 +170,7 @@ static inline struct page *dax_layout_busy_page(struct address_space *mapping) · 9 unmodified lines
180170 }
181171
182172 static inline int dax_writeback_mapping_range(struct address_space *mapping,
183− struct block_device *bdev, struct writeback_control *wbc)
173+ struct dax_device *dax_dev, struct writeback_control *wbc)
184174 {
185175 return -EOPNOTSUPP;
186176 }
include/linux/icmpv6.h+6−0
@@ -31,6 +31,12 @@ static inline void icmpv6_send(struct sk_buff *skb, · 30 unmodified lines
3131 }
3232 #endif
3333
34+#if IS_ENABLED(CONFIG_NF_NAT)
35+void icmpv6_ndo_send(struct sk_buff *skb_in, u8 type, u8 code, __u32 info);
36+#else
37+#define icmpv6_ndo_send icmpv6_send
38+#endif
39+
3440 extern int icmpv6_init(void);
3541 extern int icmpv6_err_convert(u8 type, u8 code,
3642 int *err);
include/linux/netdevice.h+15−1
@@ -1616,6 +1616,7 @@ enum netdev_priv_flags { · 1615 unmodified lines
16161616 * and drivers will need to set them appropriately.
16171617 *
16181618 * @mpls_features: Mask of features inheritable by MPLS
1619+ * @gso_partial_features: value(s) from NETIF_F_GSO\*
16191620 *
16201621 * @ifindex: interface index
16211622 * @group: The group the device belongs to
@@ -1640,8 +1641,11 @@ enum netdev_priv_flags { · 18 unmodified lines
16401641 * @netdev_ops: Includes several pointers to callbacks,
16411642 * if one wants to override the ndo_*() functions
16421643 * @ethtool_ops: Management operations
1644+ * @l3mdev_ops: Layer 3 master device operations
16431645 * @ndisc_ops: Includes callbacks for different IPv6 neighbour
16441646 * discovery handling. Necessary for e.g. 6LoWPAN.
1647+ * @xfrmdev_ops: Transformation offload operations
1648+ * @tlsdev_ops: Transport Layer Security offload operations
16451649 * @header_ops: Includes callbacks for creating,parsing,caching,etc
16461650 * of Layer 2 headers.
16471651 *
@@ -1680,6 +1684,7 @@ enum netdev_priv_flags { · 32 unmodified lines
16801684 * @dev_port: Used to differentiate devices that share
16811685 * the same function
16821686 * @addr_list_lock: XXX: need comments on this one
1687+ * @name_assign_type: network interface name assignment type
16831688 * @uc_promisc: Counter that indicates promiscuous mode
16841689 * has been enabled due to the need to listen to
16851690 * additional unicast addresses in a device that
@@ -1702,6 +1707,9 @@ enum netdev_priv_flags { · 16 unmodified lines
17021707 * @ip6_ptr: IPv6 specific data
17031708 * @ax25_ptr: AX.25 specific data
17041709 * @ieee80211_ptr: IEEE 802.11 specific data, assign before registering
1710+ * @ieee802154_ptr: IEEE 802.15.4 low-rate Wireless Personal Area Network
1711+ * device struct
1712+ * @mpls_ptr: mpls_dev struct pointer
17051713 *
17061714 * @dev_addr: Hw address (before bcast,
17071715 * because most packets are unicast)
@@ -1710,6 +1718,8 @@ enum netdev_priv_flags { · 2 unmodified lines
17101718 * @num_rx_queues: Number of RX queues
17111719 * allocated at register_netdev() time
17121720 * @real_num_rx_queues: Number of RX queues currently active in device
1721+ * @xdp_prog: XDP sockets filter program pointer
1722+ * @gro_flush_timeout: timeout for GRO layer in NAPI
17131723 *
17141724 * @rx_handler: handler for received packets
17151725 * @rx_handler_data: XXX: need comments on this one
@@ -1731,10 +1741,14 @@ enum netdev_priv_flags { · 15 unmodified lines
17311741 * @qdisc: Root qdisc from userspace point of view
17321742 * @tx_queue_len: Max frames per queue allowed
17331743 * @tx_global_lock: XXX: need comments on this one
1744+ * @xdp_bulkq: XDP device bulk queue
1745+ * @xps_cpus_map: all CPUs map for XPS device
1746+ * @xps_rxqs_map: all RXQs map for XPS device
17341747 *
17351748 * @xps_maps: XXX: need comments on this one
17361749 * @miniq_egress: clsact qdisc specific data for
17371750 * egress processing
1751+ * @qdisc_hash: qdisc hash table
17381752 * @watchdog_timeo: Represents the timeout that is used by
17391753 * the watchdog (see dev_watchdog())
17401754 * @watchdog_timer: List of timers
@@ -3548,7 +3562,7 @@ static inline unsigned int netif_attrmask_next(int n, const unsigned long *srcp, · 1807 unmodified lines
35483562 }
35493563
35503564 /**
3551− * netif_attrmask_next_and - get the next CPU/Rx queue in *src1p & *src2p
3565+ * netif_attrmask_next_and - get the next CPU/Rx queue in \*src1p & \*src2p
35523566 * @n: CPU/Rx queue index
35533567 * @src1p: the first CPUs/Rx queues mask pointer
35543568 * @src2p: the second CPUs/Rx queues mask pointer
include/linux/nfs_fs.h+6−20
@@ -337,35 +337,17 @@ static inline int nfs_server_capable(struct inode *inode, int cap) · 336 unmodified lines
337337 return NFS_SERVER(inode)->caps & cap;
338338 }
339339
340−static inline void nfs_set_verifier(struct dentry * dentry, unsigned long verf)
341−{
342− dentry->d_time = verf;
343−}
344−
345340 /**
346341 * nfs_save_change_attribute - Returns the inode attribute change cookie
347342 * @dir - pointer to parent directory inode
348− * The "change attribute" is updated every time we finish an operation
349− * that will result in a metadata change on the server.
343+ * The "cache change attribute" is updated when we need to revalidate
344+ * our dentry cache after a directory was seen to change on the server.
350345 */
351346 static inline unsigned long nfs_save_change_attribute(struct inode *dir)
352347 {
353348 return NFS_I(dir)->cache_change_attribute;
354349 }
355350
356−/**
357− * nfs_verify_change_attribute - Detects NFS remote directory changes
358− * @dir - pointer to parent directory inode
359− * @chattr - previously saved change attribute
360− * Return "false" if the verifiers doesn't match the change attribute.
361− * This would usually indicate that the directory contents have changed on
362− * the server, and that any dentries need revalidating.
363− */
364−static inline int nfs_verify_change_attribute(struct inode *dir, unsigned long chattr)
365−{
366− return chattr == NFS_I(dir)->cache_change_attribute;
367−}
368−
369351 /*
370352 * linux/fs/nfs/inode.c
371353 */
@@ -495,6 +477,10 @@ extern const struct file_operations nfs_dir_operations; · 123 unmodified lines
495477 extern const struct dentry_operations nfs_dentry_operations;
496478
497479 extern void nfs_force_lookup_revalidate(struct inode *dir);
480+extern void nfs_set_verifier(struct dentry * dentry, unsigned long verf);
481+#if IS_ENABLED(CONFIG_NFS_V4)
482+extern void nfs_clear_verifier_delegated(struct inode *inode);
483+#endif /* IS_ENABLED(CONFIG_NFS_V4) */
498484 extern struct dentry *nfs_add_or_obtain(struct dentry *dentry,
499485 struct nfs_fh *fh, struct nfs_fattr *fattr,
500486 struct nfs4_label *label);
include/linux/pipe_fs_i.h+2−1
@@ -29,7 +29,8 @@ struct pipe_buffer { · 28 unmodified lines
2929 /**
3030 * struct pipe_inode_info - a linux kernel pipe
3131 * @mutex: mutex protecting the whole thing
32− * @wait: reader/writer wait point in case of empty/full pipe
32+ * @rd_wait: reader wait point in case of empty pipe
33+ * @wr_wait: writer wait point in case of full pipe
3334 * @head: The point of buffer production
3435 * @tail: The point of buffer consumption
3536 * @max_usage: The maximum number of slots that may be used in the ring
include/linux/sched/nohz.h+2−0
@@ -15,9 +15,11 @@ static inline void nohz_balance_enter_idle(int cpu) { } · 14 unmodified lines
1515
1616 #ifdef CONFIG_NO_HZ_COMMON
1717 void calc_load_nohz_start(void);
18+void calc_load_nohz_remote(struct rq *rq);
1819 void calc_load_nohz_stop(void);
1920 #else
2021 static inline void calc_load_nohz_start(void) { }
22+static inline void calc_load_nohz_remote(struct rq *rq) { }
2123 static inline void calc_load_nohz_stop(void) { }
2224 #endif /* CONFIG_NO_HZ_COMMON */
2325
include/linux/suspend.h+1−1
@@ -191,7 +191,7 @@ struct platform_s2idle_ops { · 190 unmodified lines
191191 int (*begin)(void);
192192 int (*prepare)(void);
193193 int (*prepare_late)(void);
194− void (*wake)(void);
194+ bool (*wake)(void);
195195 void (*restore_early)(void);
196196 void (*restore)(void);
197197 void (*end)(void);
include/linux/trace_events.h+1−1
@@ -440,7 +440,7 @@ struct synth_event_trace_state { · 439 unmodified lines
440440 struct synth_event *event;
441441 unsigned int cur_field;
442442 unsigned int n_u64;
443− bool enabled;
443+ bool disabled;
444444 bool add_next;
445445 bool add_name;
446446 };