History

Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

No conflicts.

Jakub Kicinski committed 4 years ago

Commit 5b91c5c2 parents 4f5e483 f1baf68328 files · +4072 −1720Browse files

Showing the changes to include (22 of 328 files). Show all

Unified · Split

22 files
  1. include/crypto/internal/blake2s.h +25 −15
  2. include/linux/ata.h +1 −1
  3. include/linux/ceph/libceph.h +1 −0
  4. include/linux/ceph/messenger.h +5 −0
  5. include/linux/fb.h +1 −1
  6. include/linux/iomap.h +2 −0
  7. include/linux/jbd2.h +4 −9
  8. include/linux/kvm_host.h +109 −3
  9. include/linux/libata.h +1 −0
  10. include/linux/netfs.h +7 −0
  11. include/linux/nfs.h +0 −8
  12. include/linux/nfs_fs.h +1 −0
  13. include/linux/page_table_check.h +19 −0
  14. include/linux/pgtable.h +1 −0
  15. include/net/dst_metadata.h +13 −1
  16. include/sound/pcm.h +15 −0
  17. include/uapi/linux/kvm.h +3 −3
  18. include/uapi/linux/netfilter/nf_conntrack_common.h +1 −1
  19. include/uapi/linux/perf_event.h +2 −0
  20. include/uapi/sound/asound.h +3 −1
  21. include/uapi/xen/gntdev.h +7 −1
  22. include/xen/xenbus_dev.h +0 −2
include/crypto/internal/blake2s.h+25−15
@@ -24,14 +24,11 @@ static inline void blake2s_set_lastblock(struct blake2s_state *state) · 23 unmodified lines
2424 state->f[0] = -1;
2525 }
2626
27−typedef void (*blake2s_compress_t)(struct blake2s_state *state,
28− const u8 *block, size_t nblocks, u32 inc);
29−
3027 /* Helper functions for BLAKE2s shared by the library and shash APIs */
3128
32−static inline void __blake2s_update(struct blake2s_state *state,
33− const u8 *in, size_t inlen,
34− blake2s_compress_t compress)
29+static __always_inline void
30+__blake2s_update(struct blake2s_state *state, const u8 *in, size_t inlen,
31+ bool force_generic)
3532 {
3633 const size_t fill = BLAKE2S_BLOCK_SIZE - state->buflen;
3734
@@ -39,7 +36,12 @@ static inline void __blake2s_update(struct blake2s_state *state, · 1 unmodified line
3936 return;
4037 if (inlen > fill) {
4138 memcpy(state->buf + state->buflen, in, fill);
42− (*compress)(state, state->buf, 1, BLAKE2S_BLOCK_SIZE);
39+ if (force_generic)
40+ blake2s_compress_generic(state, state->buf, 1,
41+ BLAKE2S_BLOCK_SIZE);
42+ else
43+ blake2s_compress(state, state->buf, 1,
44+ BLAKE2S_BLOCK_SIZE);
4345 state->buflen = 0;
4446 in += fill;
4547 inlen -= fill;
@@ -47,7 +49,12 @@ static inline void __blake2s_update(struct blake2s_state *state, · 1 unmodified line
4749 if (inlen > BLAKE2S_BLOCK_SIZE) {
4850 const size_t nblocks = DIV_ROUND_UP(inlen, BLAKE2S_BLOCK_SIZE);
4951 /* Hash one less (full) block than strictly possible */
50− (*compress)(state, in, nblocks - 1, BLAKE2S_BLOCK_SIZE);
52+ if (force_generic)
53+ blake2s_compress_generic(state, in, nblocks - 1,
54+ BLAKE2S_BLOCK_SIZE);
55+ else
56+ blake2s_compress(state, in, nblocks - 1,
57+ BLAKE2S_BLOCK_SIZE);
5158 in += BLAKE2S_BLOCK_SIZE * (nblocks - 1);
5259 inlen -= BLAKE2S_BLOCK_SIZE * (nblocks - 1);
5360 }
@@ -55,13 +62,16 @@ static inline void __blake2s_update(struct blake2s_state *state, · 1 unmodified line
5562 state->buflen += inlen;
5663 }
5764
58−static inline void __blake2s_final(struct blake2s_state *state, u8 *out,
59− blake2s_compress_t compress)
65+static __always_inline void
66+__blake2s_final(struct blake2s_state *state, u8 *out, bool force_generic)
6067 {
6168 blake2s_set_lastblock(state);
6269 memset(state->buf + state->buflen, 0,
6370 BLAKE2S_BLOCK_SIZE - state->buflen); /* Padding */
64− (*compress)(state, state->buf, 1, state->buflen);
71+ if (force_generic)
72+ blake2s_compress_generic(state, state->buf, 1, state->buflen);
73+ else
74+ blake2s_compress(state, state->buf, 1, state->buflen);
6575 cpu_to_le32_array(state->h, ARRAY_SIZE(state->h));
6676 memcpy(out, state->h, state->outlen);
6777 }
@@ -99,20 +109,20 @@ static inline int crypto_blake2s_init(struct shash_desc *desc) · 31 unmodified lines
99109
100110 static inline int crypto_blake2s_update(struct shash_desc *desc,
101111 const u8 *in, unsigned int inlen,
102− blake2s_compress_t compress)
112+ bool force_generic)
103113 {
104114 struct blake2s_state *state = shash_desc_ctx(desc);
105115
106− __blake2s_update(state, in, inlen, compress);
116+ __blake2s_update(state, in, inlen, force_generic);
107117 return 0;
108118 }
109119
110120 static inline int crypto_blake2s_final(struct shash_desc *desc, u8 *out,
111− blake2s_compress_t compress)
121+ bool force_generic)
112122 {
113123 struct blake2s_state *state = shash_desc_ctx(desc);
114124
115− __blake2s_final(state, out, compress);
125+ __blake2s_final(state, out, force_generic);
116126 return 0;
117127 }
118128
include/linux/ata.h+1−1
@@ -324,12 +324,12 @@ enum { · 323 unmodified lines
324324 ATA_LOG_NCQ_NON_DATA = 0x12,
325325 ATA_LOG_NCQ_SEND_RECV = 0x13,
326326 ATA_LOG_IDENTIFY_DEVICE = 0x30,
327+ ATA_LOG_CONCURRENT_POSITIONING_RANGES = 0x47,
327328
328329 /* Identify device log pages: */
329330 ATA_LOG_SECURITY = 0x06,
330331 ATA_LOG_SATA_SETTINGS = 0x08,
331332 ATA_LOG_ZONED_INFORMATION = 0x09,
332− ATA_LOG_CONCURRENT_POSITIONING_RANGES = 0x47,
333333
334334 /* Identify device SATA settings log:*/
335335 ATA_LOG_DEVSLP_OFFSET = 0x30,
include/linux/ceph/libceph.h+1−0
@@ -35,6 +35,7 @@ · 34 unmodified lines
3535 #define CEPH_OPT_TCP_NODELAY (1<<4) /* TCP_NODELAY on TCP sockets */
3636 #define CEPH_OPT_NOMSGSIGN (1<<5) /* don't sign msgs (msgr1) */
3737 #define CEPH_OPT_ABORT_ON_FULL (1<<6) /* abort w/ ENOSPC when full */
38+#define CEPH_OPT_RXBOUNCE (1<<7) /* double-buffer read data */
3839
3940 #define CEPH_OPT_DEFAULT (CEPH_OPT_TCP_NODELAY)
4041
include/linux/ceph/messenger.h+5−0
@@ -383,6 +383,10 @@ struct ceph_connection_v2_info { · 382 unmodified lines
383383 struct ceph_gcm_nonce in_gcm_nonce;
384384 struct ceph_gcm_nonce out_gcm_nonce;
385385
386+ struct page **in_enc_pages;
387+ int in_enc_page_cnt;
388+ int in_enc_resid;
389+ int in_enc_i;
386390 struct page **out_enc_pages;
387391 int out_enc_page_cnt;
388392 int out_enc_resid;
@@ -457,6 +461,7 @@ struct ceph_connection { · 68 unmodified lines
457461 struct ceph_msg *out_msg; /* sending message (== tail of
458462 out_sent) */
459463
464+ struct page *bounce_page;
460465 u32 in_front_crc, in_middle_crc, in_data_crc; /* calculated crc */
461466
462467 struct timespec64 last_keepalive_ack; /* keepalive2 ack stamp */
include/linux/fb.h+1−1
@@ -262,7 +262,7 @@ struct fb_ops { · 261 unmodified lines
262262
263263 /* Draws a rectangle */
264264 void (*fb_fillrect) (struct fb_info *info, const struct fb_fillrect *rect);
265− /* Copy data from area to another. Obsolete. */
265+ /* Copy data from area to another */
266266 void (*fb_copyarea) (struct fb_info *info, const struct fb_copyarea *region);
267267 /* Draws a image to the display */
268268 void (*fb_imageblit) (struct fb_info *info, const struct fb_image *image);
include/linux/iomap.h+2−0
@@ -263,9 +263,11 @@ struct iomap_ioend { · 262 unmodified lines
263263 struct list_head io_list; /* next ioend in chain */
264264 u16 io_type;
265265 u16 io_flags; /* IOMAP_F_* */
266+ u32 io_folios; /* folios added to ioend */
266267 struct inode *io_inode; /* file being written to */
267268 size_t io_size; /* size of the extent */
268269 loff_t io_offset; /* offset in the file */
270+ sector_t io_sector; /* start sector of ioend */
269271 struct bio *io_bio; /* bio being built */
270272 struct bio io_inline_bio; /* MUST BE LAST! */
271273 };
include/linux/jbd2.h+4−9
@@ -594,7 +594,7 @@ struct transaction_s · 593 unmodified lines
594594 */
595595 unsigned long t_log_start;
596596
597− /*
597+ /*
598598 * Number of buffers on the t_buffers list [j_list_lock, no locks
599599 * needed for jbd2 thread]
600600 */
@@ -1295,7 +1295,7 @@ struct journal_s · 694 unmodified lines
12951295 * Clean-up after fast commit or full commit. JBD2 calls this function
12961296 * after every commit operation.
12971297 */
1298− void (*j_fc_cleanup_callback)(struct journal_s *journal, int);
1298+ void (*j_fc_cleanup_callback)(struct journal_s *journal, int full, tid_t tid);
12991299
13001300 /**
13011301 * @j_fc_replay_callback:
@@ -1419,9 +1419,7 @@ extern void jbd2_journal_unfile_buffer(journal_t *, struct journal_head *); · 117 unmodified lines
14191419 extern bool __jbd2_journal_refile_buffer(struct journal_head *);
14201420 extern void jbd2_journal_refile_buffer(journal_t *, struct journal_head *);
14211421 extern void __jbd2_journal_file_buffer(struct journal_head *, transaction_t *, int);
1422−extern void __journal_free_buffer(struct journal_head *bh);
14231422 extern void jbd2_journal_file_buffer(struct journal_head *, transaction_t *, int);
1424−extern void __journal_clean_data_list(transaction_t *transaction);
14251423 static inline void jbd2_file_log_bh(struct list_head *head, struct buffer_head *bh)
14261424 {
14271425 list_add_tail(&bh->b_assoc_buffers, head);
@@ -1486,9 +1484,6 @@ extern int jbd2_journal_write_metadata_buffer(transaction_t *transaction, · 58 unmodified lines
14861484 struct buffer_head **bh_out,
14871485 sector_t blocknr);
14881486
1489−/* Transaction locking */
1490−extern void __wait_on_journal (journal_t *);
1491−
14921487 /* Transaction cache support */
14931488 extern void jbd2_journal_destroy_transaction_cache(void);
14941489 extern int __init jbd2_journal_init_transaction_cache(void);
@@ -1543,6 +1538,8 @@ extern int jbd2_journal_flush(journal_t *journal, unsigned int flags); · 48 unmodified lines
15431538 extern void jbd2_journal_lock_updates (journal_t *);
15441539 extern void jbd2_journal_unlock_updates (journal_t *);
15451540
1541+void jbd2_journal_wait_updates(journal_t *);
1542+
15461543 extern journal_t * jbd2_journal_init_dev(struct block_device *bdev,
15471544 struct block_device *fs_dev,
15481545 unsigned long long start, int len, int bsize);
@@ -1774,8 +1771,6 @@ static inline unsigned long jbd2_log_space_left(journal_t *journal) · 225 unmodified lines
17741771 #define BJ_Reserved 4 /* Buffer is reserved for access by journal */
17751772 #define BJ_Types 5
17761773
1777−extern int jbd_blocks_per_page(struct inode *inode);
1778−
17791774 /* JBD uses a CRC32 checksum */
17801775 #define JBD_MAX_CHECKSUM_SIZE 4
17811776
include/linux/kvm_host.h+109−3
@@ -29,7 +29,9 @@ · 28 unmodified lines
2929 #include <linux/refcount.h>
3030 #include <linux/nospec.h>
3131 #include <linux/notifier.h>
32+#include <linux/ftrace.h>
3233 #include <linux/hashtable.h>
34+#include <linux/instrumentation.h>
3335 #include <linux/interval_tree.h>
3436 #include <linux/rbtree.h>
3537 #include <linux/xarray.h>
@@ -368,8 +370,11 @@ struct kvm_vcpu { · 332 unmodified lines
368370 u64 last_used_slot_gen;
369371 };
370372
371−/* must be called with irqs disabled */
372−static __always_inline void guest_enter_irqoff(void)
373+/*
374+ * Start accounting time towards a guest.
375+ * Must be called before entering guest context.
376+ */
377+static __always_inline void guest_timing_enter_irqoff(void)
373378 {
374379 /*
375380 * This is running in ioctl context so its safe to assume that it's the
@@ -378,7 +383,18 @@ static __always_inline void guest_enter_irqoff(void) · 2 unmodified lines
378383 instrumentation_begin();
379384 vtime_account_guest_enter();
380385 instrumentation_end();
386+}
381387
388+/*
389+ * Enter guest context and enter an RCU extended quiescent state.
390+ *
391+ * Between guest_context_enter_irqoff() and guest_context_exit_irqoff() it is
392+ * unsafe to use any code which may directly or indirectly use RCU, tracing
393+ * (including IRQ flag tracing), or lockdep. All code in this period must be
394+ * non-instrumentable.
395+ */
396+static __always_inline void guest_context_enter_irqoff(void)
397+{
382398 /*
383399 * KVM does not hold any references to rcu protected data when it
384400 * switches CPU into a guest mode. In fact switching to a guest mode
@@ -394,16 +410,79 @@ static __always_inline void guest_enter_irqoff(void) · 9 unmodified lines
394410 }
395411 }
396412
397−static __always_inline void guest_exit_irqoff(void)
413+/*
414+ * Deprecated. Architectures should move to guest_timing_enter_irqoff() and
415+ * guest_state_enter_irqoff().
416+ */
417+static __always_inline void guest_enter_irqoff(void)
418+{
419+ guest_timing_enter_irqoff();
420+ guest_context_enter_irqoff();
421+}
422+
423+/**
424+ * guest_state_enter_irqoff - Fixup state when entering a guest
425+ *
426+ * Entry to a guest will enable interrupts, but the kernel state is interrupts
427+ * disabled when this is invoked. Also tell RCU about it.
428+ *
429+ * 1) Trace interrupts on state
430+ * 2) Invoke context tracking if enabled to adjust RCU state
431+ * 3) Tell lockdep that interrupts are enabled
432+ *
433+ * Invoked from architecture specific code before entering a guest.
434+ * Must be called with interrupts disabled and the caller must be
435+ * non-instrumentable.
436+ * The caller has to invoke guest_timing_enter_irqoff() before this.
437+ *
438+ * Note: this is analogous to exit_to_user_mode().
439+ */
440+static __always_inline void guest_state_enter_irqoff(void)
441+{
442+ instrumentation_begin();
443+ trace_hardirqs_on_prepare();
444+ lockdep_hardirqs_on_prepare(CALLER_ADDR0);
445+ instrumentation_end();
446+
447+ guest_context_enter_irqoff();
448+ lockdep_hardirqs_on(CALLER_ADDR0);
449+}
450+
451+/*
452+ * Exit guest context and exit an RCU extended quiescent state.
453+ *
454+ * Between guest_context_enter_irqoff() and guest_context_exit_irqoff() it is
455+ * unsafe to use any code which may directly or indirectly use RCU, tracing
456+ * (including IRQ flag tracing), or lockdep. All code in this period must be
457+ * non-instrumentable.
458+ */
459+static __always_inline void guest_context_exit_irqoff(void)
398460 {
399461 context_tracking_guest_exit();
462+}
400463
464+/*
465+ * Stop accounting time towards a guest.
466+ * Must be called after exiting guest context.
467+ */
468+static __always_inline void guest_timing_exit_irqoff(void)
469+{
401470 instrumentation_begin();
402471 /* Flush the guest cputime we spent on the guest */
403472 vtime_account_guest_exit();
404473 instrumentation_end();
405474 }
406475
476+/*
477+ * Deprecated. Architectures should move to guest_state_exit_irqoff() and
478+ * guest_timing_exit_irqoff().
479+ */
480+static __always_inline void guest_exit_irqoff(void)
481+{
482+ guest_context_exit_irqoff();
483+ guest_timing_exit_irqoff();
484+}
485+
407486 static inline void guest_exit(void)
408487 {
409488 unsigned long flags;
@@ -413,6 +492,33 @@ static inline void guest_exit(void) · 3 unmodified lines
413492 local_irq_restore(flags);
414493 }
415494
495+/**
496+ * guest_state_exit_irqoff - Establish state when returning from guest mode
497+ *
498+ * Entry from a guest disables interrupts, but guest mode is traced as
499+ * interrupts enabled. Also with NO_HZ_FULL RCU might be idle.
500+ *
501+ * 1) Tell lockdep that interrupts are disabled
502+ * 2) Invoke context tracking if enabled to reactivate RCU
503+ * 3) Trace interrupts off state
504+ *
505+ * Invoked from architecture specific code after exiting a guest.
506+ * Must be invoked with interrupts disabled and the caller must be
507+ * non-instrumentable.
508+ * The caller has to invoke guest_timing_exit_irqoff() after this.
509+ *
510+ * Note: this is analogous to enter_from_user_mode().
511+ */
512+static __always_inline void guest_state_exit_irqoff(void)
513+{
514+ lockdep_hardirqs_off(CALLER_ADDR0);
515+ guest_context_exit_irqoff();
516+
517+ instrumentation_begin();
518+ trace_hardirqs_off_finish();
519+ instrumentation_end();
520+}
521+
416522 static inline int kvm_vcpu_exiting_guest_mode(struct kvm_vcpu *vcpu)
417523 {
418524 /*
include/linux/libata.h+1−0
@@ -380,6 +380,7 @@ enum { · 379 unmodified lines
380380 ATA_HORKAGE_MAX_TRIM_128M = (1 << 26), /* Limit max trim size to 128M */
381381 ATA_HORKAGE_NO_NCQ_ON_ATI = (1 << 27), /* Disable NCQ on ATI chipset */
382382 ATA_HORKAGE_NO_ID_DEV_LOG = (1 << 28), /* Identify device log missing */
383+ ATA_HORKAGE_NO_LOG_DIR = (1 << 29), /* Do not read log directory */
383384
384385 /* DMA mask for user DMA control: User visible values; DO NOT
385386 renumber */
include/linux/netfs.h+7−0
@@ -244,6 +244,13 @@ struct netfs_cache_ops { · 243 unmodified lines
244244 int (*prepare_write)(struct netfs_cache_resources *cres,
245245 loff_t *_start, size_t *_len, loff_t i_size,
246246 bool no_space_allocated_yet);
247+
248+ /* Query the occupancy of the cache in a region, returning where the
249+ * next chunk of data starts and how long it is.
250+ */
251+ int (*query_occupancy)(struct netfs_cache_resources *cres,
252+ loff_t start, size_t len, size_t granularity,
253+ loff_t *_data_start, size_t *_data_len);
247254 };
248255
249256 struct readahead_control;
include/linux/nfs.h+0−8
@@ -36,14 +36,6 @@ static inline void nfs_copy_fh(struct nfs_fh *target, const struct nfs_fh *sourc · 35 unmodified lines
3636 memcpy(target->data, source->data, source->size);
3737 }
3838
39−
40−/*
41− * This is really a general kernel constant, but since nothing like
42− * this is defined in the kernel headers, I have to do it here.
43− */
44−#define NFS_OFFSET_MAX ((__s64)((~(__u64)0) >> 1))
45−
46−
4739 enum nfs3_stable_how {
4840 NFS_UNSTABLE = 0,
4941 NFS_DATA_SYNC = 1,
include/linux/nfs_fs.h+1−0
@@ -107,6 +107,7 @@ struct nfs_open_dir_context { · 106 unmodified lines
107107 __u64 dup_cookie;
108108 pgoff_t page_index;
109109 signed char duped;
110+ bool eof;
110111 };
111112
112113 /*
include/linux/page_table_check.h+19−0
@@ -26,6 +26,9 @@ void __page_table_check_pmd_set(struct mm_struct *mm, unsigned long addr, · 25 unmodified lines
2626 pmd_t *pmdp, pmd_t pmd);
2727 void __page_table_check_pud_set(struct mm_struct *mm, unsigned long addr,
2828 pud_t *pudp, pud_t pud);
29+void __page_table_check_pte_clear_range(struct mm_struct *mm,
30+ unsigned long addr,
31+ pmd_t pmd);
2932
3033 static inline void page_table_check_alloc(struct page *page, unsigned int order)
3134 {
@@ -100,6 +103,16 @@ static inline void page_table_check_pud_set(struct mm_struct *mm, · 68 unmodified lines
100103 __page_table_check_pud_set(mm, addr, pudp, pud);
101104 }
102105
106+static inline void page_table_check_pte_clear_range(struct mm_struct *mm,
107+ unsigned long addr,
108+ pmd_t pmd)
109+{
110+ if (static_branch_likely(&page_table_check_disabled))
111+ return;
112+
113+ __page_table_check_pte_clear_range(mm, addr, pmd);
114+}
115+
103116 #else
104117
105118 static inline void page_table_check_alloc(struct page *page, unsigned int order)
@@ -143,5 +156,11 @@ static inline void page_table_check_pud_set(struct mm_struct *mm, · 37 unmodified lines
143156 {
144157 }
145158
159+static inline void page_table_check_pte_clear_range(struct mm_struct *mm,
160+ unsigned long addr,
161+ pmd_t pmd)
162+{
163+}
164+
146165 #endif /* CONFIG_PAGE_TABLE_CHECK */
147166 #endif /* __LINUX_PAGE_TABLE_CHECK_H */
include/linux/pgtable.h+1−0
@@ -62,6 +62,7 @@ static inline unsigned long pte_index(unsigned long address) · 61 unmodified lines
6262 {
6363 return (address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1);
6464 }
65+#define pte_index pte_index
6566
6667 #ifndef pmd_index
6768 static inline unsigned long pmd_index(unsigned long address)
include/net/dst_metadata.h+13−1
@@ -123,8 +123,20 @@ static inline struct metadata_dst *tun_dst_unclone(struct sk_buff *skb) · 122 unmodified lines
123123
124124 memcpy(&new_md->u.tun_info, &md_dst->u.tun_info,
125125 sizeof(struct ip_tunnel_info) + md_size);
126+#ifdef CONFIG_DST_CACHE
127+ /* Unclone the dst cache if there is one */
128+ if (new_md->u.tun_info.dst_cache.cache) {
129+ int ret;
130+
131+ ret = dst_cache_init(&new_md->u.tun_info.dst_cache, GFP_ATOMIC);
132+ if (ret) {
133+ metadata_dst_free(new_md);
134+ return ERR_PTR(ret);
135+ }
136+ }
137+#endif
138+
126139 skb_dst_drop(skb);
127− dst_hold(&new_md->dst);
128140 skb_dst_set(skb, &new_md->dst);
129141 return new_md;
130142 }
include/sound/pcm.h+15−0
@@ -617,6 +617,7 @@ void snd_pcm_stream_unlock(struct snd_pcm_substream *substream); · 616 unmodified lines
617617 void snd_pcm_stream_lock_irq(struct snd_pcm_substream *substream);
618618 void snd_pcm_stream_unlock_irq(struct snd_pcm_substream *substream);
619619 unsigned long _snd_pcm_stream_lock_irqsave(struct snd_pcm_substream *substream);
620+unsigned long _snd_pcm_stream_lock_irqsave_nested(struct snd_pcm_substream *substream);
620621
621622 /**
622623 * snd_pcm_stream_lock_irqsave - Lock the PCM stream
@@ -635,6 +636,20 @@ unsigned long _snd_pcm_stream_lock_irqsave(struct snd_pcm_substream *substream); · 12 unmodified lines
635636 void snd_pcm_stream_unlock_irqrestore(struct snd_pcm_substream *substream,
636637 unsigned long flags);
637638
639+/**
640+ * snd_pcm_stream_lock_irqsave_nested - Single-nested PCM stream locking
641+ * @substream: PCM substream
642+ * @flags: irq flags
643+ *
644+ * This locks the PCM stream like snd_pcm_stream_lock_irqsave() but with
645+ * the single-depth lockdep subclass.
646+ */
647+#define snd_pcm_stream_lock_irqsave_nested(substream, flags) \
648+ do { \
649+ typecheck(unsigned long, flags); \
650+ flags = _snd_pcm_stream_lock_irqsave_nested(substream); \
651+ } while (0)
652+
638653 /**
639654 * snd_pcm_group_for_each_entry - iterate over the linked substreams
640655 * @s: the iterator
include/uapi/linux/kvm.h+3−3
@@ -1624,9 +1624,6 @@ struct kvm_enc_region { · 1623 unmodified lines
16241624 #define KVM_S390_NORMAL_RESET _IO(KVMIO, 0xc3)
16251625 #define KVM_S390_CLEAR_RESET _IO(KVMIO, 0xc4)
16261626
1627−/* Available with KVM_CAP_XSAVE2 */
1628−#define KVM_GET_XSAVE2 _IOR(KVMIO, 0xcf, struct kvm_xsave)
1629−
16301627 struct kvm_s390_pv_sec_parm {
16311628 __u64 origin;
16321629 __u64 length;
@@ -2048,4 +2045,7 @@ struct kvm_stats_desc { · 415 unmodified lines
20482045
20492046 #define KVM_GET_STATS_FD _IO(KVMIO, 0xce)
20502047
2048+/* Available with KVM_CAP_XSAVE2 */
2049+#define KVM_GET_XSAVE2 _IOR(KVMIO, 0xcf, struct kvm_xsave)
2050+
20512051 #endif /* __LINUX_KVM_H */
include/uapi/linux/netfilter/nf_conntrack_common.h+1−1
@@ -106,7 +106,7 @@ enum ip_conntrack_status { · 105 unmodified lines
106106 IPS_NAT_CLASH = IPS_UNTRACKED,
107107 #endif
108108
109− /* Conntrack got a helper explicitly attached via CT target. */
109+ /* Conntrack got a helper explicitly attached (ruleset, ctnetlink). */
110110 IPS_HELPER_BIT = 13,
111111 IPS_HELPER = (1 << IPS_HELPER_BIT),
112112
include/uapi/linux/perf_event.h+2−0
@@ -465,6 +465,8 @@ struct perf_event_attr { · 464 unmodified lines
465465 /*
466466 * User provided data if sigtrap=1, passed back to user via
467467 * siginfo_t::si_perf_data, e.g. to permit user to identify the event.
468+ * Note, siginfo_t::si_perf_data is long-sized, and sig_data will be
469+ * truncated accordingly on 32 bit architectures.
468470 */
469471 __u64 sig_data;
470472 };
include/uapi/sound/asound.h+3−1
@@ -56,8 +56,10 @@ · 55 unmodified lines
5656 * *
5757 ****************************************************************************/
5858
59+#define AES_IEC958_STATUS_SIZE 24
60+
5961 struct snd_aes_iec958 {
60− unsigned char status[24]; /* AES/IEC958 channel status bits */
62+ unsigned char status[AES_IEC958_STATUS_SIZE]; /* AES/IEC958 channel status bits */
6163 unsigned char subcode[147]; /* AES/IEC958 subcode bits */
6264 unsigned char pad; /* nothing */
6365 unsigned char dig_subframe[4]; /* AES/IEC958 subframe bits */
include/uapi/xen/gntdev.h+7−1
@@ -47,7 +47,13 @@ struct ioctl_gntdev_grant_ref { · 46 unmodified lines
4747 /*
4848 * Inserts the grant references into the mapping table of an instance
4949 * of gntdev. N.B. This does not perform the mapping, which is deferred
50− * until mmap() is called with @index as the offset.
50+ * until mmap() is called with @index as the offset. @index should be
51+ * considered opaque to userspace, with one exception: if no grant
52+ * references have ever been inserted into the mapping table of this
53+ * instance, @index will be set to 0. This is necessary to use gntdev
54+ * with userspace APIs that expect a file descriptor that can be
55+ * mmap()'d at offset 0, such as Wayland. If @count is set to 0, this
56+ * ioctl will fail.
5157 */
5258 #define IOCTL_GNTDEV_MAP_GRANT_REF \
5359 _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
include/xen/xenbus_dev.h+0−2
@@ -1,6 +1,4 @@
11 /******************************************************************************
2− * evtchn.h
3− *
42 * Interface to /dev/xen/xenbus_backend.
53 *
64 * Copyright (c) 2011 Bastian Blank <waldi@debian.org>

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