From: Greg Kroah-Hartman Date: Wed, 13 May 2020 06:38:40 +0000 (+0200) Subject: 4.4-stable patches X-Git-Tag: v4.19.123~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=af504d762b7f4b7eaacab64d49e7ae12b132f7d5;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: blktrace-fix-potential-deadlock-between-delete-sysfs-ops.patch blktrace-fix-unlocked-access-to-init-start-stop-teardown.patch chardev-add-helper-function-to-register-char-devs-with-a-struct-device.patch net-ipv6_stub-use-ip6_dst_lookup_flow-instead-of-ip6_dst_lookup.patch ptp-do-not-explicitly-set-drvdata-in-ptp_clock_register.patch ptp-fix-the-race-between-the-release-of-ptp_clock-and-cdev.patch --- diff --git a/queue-4.4/blktrace-fix-dereference-after-null-check.patch b/queue-4.4/blktrace-fix-dereference-after-null-check.patch index 54d578411ea..a02892278c7 100644 --- a/queue-4.4/blktrace-fix-dereference-after-null-check.patch +++ b/queue-4.4/blktrace-fix-dereference-after-null-check.patch @@ -1,5 +1,5 @@ -From af666a41a5823e30f88387ff0dc85cd3d6d0cbe4 Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Cengiz Can Date: Wed, 4 Mar 2020 13:58:19 +0300 Subject: blktrace: fix dereference after null check @@ -43,16 +43,14 @@ Reviewed-by: Steven Rostedt (VMware) Signed-off-by: Cengiz Can Signed-off-by: Jens Axboe Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - kernel/trace/blktrace.c | 5 ++++- + kernel/trace/blktrace.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c -index bf9bf3f22edb5..6737564680193 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c -@@ -1822,8 +1822,11 @@ static ssize_t sysfs_blk_trace_attr_store(struct device *dev, +@@ -1822,8 +1822,11 @@ static ssize_t sysfs_blk_trace_attr_stor } ret = 0; @@ -65,6 +63,3 @@ index bf9bf3f22edb5..6737564680193 100644 if (ret == 0) { if (attr == &dev_attr_act_mask) --- -2.20.1 - diff --git a/queue-4.4/blktrace-fix-potential-deadlock-between-delete-sysfs.patch b/queue-4.4/blktrace-fix-potential-deadlock-between-delete-sysfs-ops.patch similarity index 73% rename from queue-4.4/blktrace-fix-potential-deadlock-between-delete-sysfs.patch rename to queue-4.4/blktrace-fix-potential-deadlock-between-delete-sysfs-ops.patch index bf5488ecead..3137c98a1c8 100644 --- a/queue-4.4/blktrace-fix-potential-deadlock-between-delete-sysfs.patch +++ b/queue-4.4/blktrace-fix-potential-deadlock-between-delete-sysfs-ops.patch @@ -1,5 +1,5 @@ -From 8f7d1986c7ee15bdfbb32b33a45da62f94583f01 Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Waiman Long Date: Wed, 20 Sep 2017 13:12:20 -0600 Subject: blktrace: Fix potential deadlock between delete & sysfs ops @@ -46,18 +46,16 @@ the code used to work. Signed-off-by: Jens Axboe Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - block/blk-core.c | 3 +++ - include/linux/blkdev.h | 1 + - kernel/trace/blktrace.c | 18 ++++++++++++------ + block/blk-core.c | 3 +++ + include/linux/blkdev.h | 1 + + kernel/trace/blktrace.c | 18 ++++++++++++------ 3 files changed, 16 insertions(+), 6 deletions(-) -diff --git a/block/blk-core.c b/block/blk-core.c -index 7662f97dded69..dc4119a1e1229 100644 --- a/block/blk-core.c +++ b/block/blk-core.c -@@ -719,6 +719,9 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) +@@ -719,6 +719,9 @@ struct request_queue *blk_alloc_queue_no kobject_init(&q->kobj, &blk_queue_ktype); @@ -67,8 +65,6 @@ index 7662f97dded69..dc4119a1e1229 100644 mutex_init(&q->sysfs_lock); spin_lock_init(&q->__queue_lock); -diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h -index 4ae5d6ecd7275..ab819210e0112 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -432,6 +432,7 @@ struct request_queue { @@ -79,11 +75,9 @@ index 4ae5d6ecd7275..ab819210e0112 100644 #endif /* * for flush operations -diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c -index 210b8e726a974..5e6fc28414028 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c -@@ -644,6 +644,12 @@ int blk_trace_startstop(struct request_queue *q, int start) +@@ -644,6 +644,12 @@ int blk_trace_startstop(struct request_q } EXPORT_SYMBOL_GPL(blk_trace_startstop); @@ -96,7 +90,7 @@ index 210b8e726a974..5e6fc28414028 100644 /** * blk_trace_ioctl: - handle the ioctls associated with tracing * @bdev: the block device -@@ -661,7 +667,7 @@ int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg) +@@ -661,7 +667,7 @@ int blk_trace_ioctl(struct block_device if (!q) return -ENXIO; @@ -105,7 +99,7 @@ index 210b8e726a974..5e6fc28414028 100644 switch (cmd) { case BLKTRACESETUP: -@@ -687,7 +693,7 @@ int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg) +@@ -687,7 +693,7 @@ int blk_trace_ioctl(struct block_device break; } @@ -114,7 +108,7 @@ index 210b8e726a974..5e6fc28414028 100644 return ret; } -@@ -1652,7 +1658,7 @@ static ssize_t sysfs_blk_trace_attr_show(struct device *dev, +@@ -1652,7 +1658,7 @@ static ssize_t sysfs_blk_trace_attr_show if (q == NULL) goto out_bdput; @@ -123,7 +117,7 @@ index 210b8e726a974..5e6fc28414028 100644 if (attr == &dev_attr_enable) { ret = sprintf(buf, "%u\n", !!q->blk_trace); -@@ -1671,7 +1677,7 @@ static ssize_t sysfs_blk_trace_attr_show(struct device *dev, +@@ -1671,7 +1677,7 @@ static ssize_t sysfs_blk_trace_attr_show ret = sprintf(buf, "%llu\n", q->blk_trace->end_lba); out_unlock_bdev: @@ -132,7 +126,7 @@ index 210b8e726a974..5e6fc28414028 100644 out_bdput: bdput(bdev); out: -@@ -1713,7 +1719,7 @@ static ssize_t sysfs_blk_trace_attr_store(struct device *dev, +@@ -1713,7 +1719,7 @@ static ssize_t sysfs_blk_trace_attr_stor if (q == NULL) goto out_bdput; @@ -141,7 +135,7 @@ index 210b8e726a974..5e6fc28414028 100644 if (attr == &dev_attr_enable) { if (!!value == !!q->blk_trace) { -@@ -1743,7 +1749,7 @@ static ssize_t sysfs_blk_trace_attr_store(struct device *dev, +@@ -1743,7 +1749,7 @@ static ssize_t sysfs_blk_trace_attr_stor } out_unlock_bdev: @@ -150,6 +144,3 @@ index 210b8e726a974..5e6fc28414028 100644 out_bdput: bdput(bdev); out: --- -2.20.1 - diff --git a/queue-4.4/blktrace-fix-trace-mutex-deadlock.patch b/queue-4.4/blktrace-fix-trace-mutex-deadlock.patch index b02497a6e03..c82cbfabc69 100644 --- a/queue-4.4/blktrace-fix-trace-mutex-deadlock.patch +++ b/queue-4.4/blktrace-fix-trace-mutex-deadlock.patch @@ -1,5 +1,5 @@ -From 3ce9f765dac1051141b48809f8608d840c655b7e Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Jens Axboe Date: Sun, 19 Nov 2017 11:52:55 -0700 Subject: blktrace: fix trace mutex deadlock @@ -15,16 +15,14 @@ attempting to re-acquire the queue trace mutex. Fixes: 1f2cac107c59 ("blktrace: fix unlocked access to init/start-stop/teardown") Signed-off-by: Jens Axboe Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - kernel/trace/blktrace.c | 4 ++-- + kernel/trace/blktrace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c -index dc5fd20429d8e..ea18c6997eb23 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c -@@ -572,7 +572,7 @@ static int __blk_trace_setup(struct request_queue *q, char *name, dev_t dev, +@@ -572,7 +572,7 @@ static int __blk_trace_setup(struct requ return ret; if (copy_to_user(arg, &buts, sizeof(buts))) { @@ -33,7 +31,7 @@ index dc5fd20429d8e..ea18c6997eb23 100644 return -EFAULT; } return 0; -@@ -618,7 +618,7 @@ static int compat_blk_trace_setup(struct request_queue *q, char *name, +@@ -618,7 +618,7 @@ static int compat_blk_trace_setup(struct return ret; if (copy_to_user(arg, &buts.name, ARRAY_SIZE(buts.name))) { @@ -42,6 +40,3 @@ index dc5fd20429d8e..ea18c6997eb23 100644 return -EFAULT; } --- -2.20.1 - diff --git a/queue-4.4/blktrace-fix-unlocked-access-to-init-start-stop-tear.patch b/queue-4.4/blktrace-fix-unlocked-access-to-init-start-stop-teardown.patch similarity index 75% rename from queue-4.4/blktrace-fix-unlocked-access-to-init-start-stop-tear.patch rename to queue-4.4/blktrace-fix-unlocked-access-to-init-start-stop-teardown.patch index cf1c26d4414..954c64fb401 100644 --- a/queue-4.4/blktrace-fix-unlocked-access-to-init-start-stop-tear.patch +++ b/queue-4.4/blktrace-fix-unlocked-access-to-init-start-stop-teardown.patch @@ -1,5 +1,5 @@ -From bf5b9cf66d2ef05afd456e3b524edc72d1ae1452 Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Jens Axboe Date: Sun, 5 Nov 2017 09:13:48 -0700 Subject: blktrace: fix unlocked access to init/start-stop/teardown @@ -17,16 +17,14 @@ Fixes: 6da127ad0918 ("blktrace: Add blktrace ioctls to SCSI generic devices") Tested-by: Dmitry Vyukov Signed-off-by: Jens Axboe Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - kernel/trace/blktrace.c | 58 ++++++++++++++++++++++++++++++++++------- + kernel/trace/blktrace.c | 58 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 10 deletions(-) -diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c -index 5e6fc28414028..dc5fd20429d8e 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c -@@ -323,7 +323,7 @@ static void blk_trace_cleanup(struct blk_trace *bt) +@@ -323,7 +323,7 @@ static void blk_trace_cleanup(struct blk put_probe_ref(); } @@ -35,7 +33,7 @@ index 5e6fc28414028..dc5fd20429d8e 100644 { struct blk_trace *bt; -@@ -336,6 +336,17 @@ int blk_trace_remove(struct request_queue *q) +@@ -336,6 +336,17 @@ int blk_trace_remove(struct request_queu return 0; } @@ -65,7 +63,7 @@ index 5e6fc28414028..dc5fd20429d8e 100644 { struct blk_user_trace_setup buts; int ret; -@@ -567,6 +577,19 @@ int blk_trace_setup(struct request_queue *q, char *name, dev_t dev, +@@ -567,6 +577,19 @@ int blk_trace_setup(struct request_queue } return 0; } @@ -85,7 +83,7 @@ index 5e6fc28414028..dc5fd20429d8e 100644 EXPORT_SYMBOL_GPL(blk_trace_setup); #if defined(CONFIG_COMPAT) && defined(CONFIG_X86_64) -@@ -603,7 +626,7 @@ static int compat_blk_trace_setup(struct request_queue *q, char *name, +@@ -603,7 +626,7 @@ static int compat_blk_trace_setup(struct } #endif @@ -94,7 +92,7 @@ index 5e6fc28414028..dc5fd20429d8e 100644 { int ret; struct blk_trace *bt = q->blk_trace; -@@ -642,6 +665,17 @@ int blk_trace_startstop(struct request_queue *q, int start) +@@ -642,6 +665,17 @@ int blk_trace_startstop(struct request_q return ret; } @@ -112,7 +110,7 @@ index 5e6fc28414028..dc5fd20429d8e 100644 EXPORT_SYMBOL_GPL(blk_trace_startstop); /* -@@ -672,7 +706,7 @@ int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg) +@@ -672,7 +706,7 @@ int blk_trace_ioctl(struct block_device switch (cmd) { case BLKTRACESETUP: bdevname(bdev, b); @@ -121,7 +119,7 @@ index 5e6fc28414028..dc5fd20429d8e 100644 break; #if defined(CONFIG_COMPAT) && defined(CONFIG_X86_64) case BLKTRACESETUP32: -@@ -683,10 +717,10 @@ int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg) +@@ -683,10 +717,10 @@ int blk_trace_ioctl(struct block_device case BLKTRACESTART: start = 1; case BLKTRACESTOP: @@ -134,7 +132,7 @@ index 5e6fc28414028..dc5fd20429d8e 100644 break; default: ret = -ENOTTY; -@@ -704,10 +738,14 @@ int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg) +@@ -704,10 +738,14 @@ int blk_trace_ioctl(struct block_device **/ void blk_trace_shutdown(struct request_queue *q) { @@ -151,6 +149,3 @@ index 5e6fc28414028..dc5fd20429d8e 100644 } /* --- -2.20.1 - diff --git a/queue-4.4/blktrace-protect-q-blk_trace-with-rcu.patch b/queue-4.4/blktrace-protect-q-blk_trace-with-rcu.patch index db1d0def281..d50168cc636 100644 --- a/queue-4.4/blktrace-protect-q-blk_trace-with-rcu.patch +++ b/queue-4.4/blktrace-protect-q-blk_trace-with-rcu.patch @@ -1,5 +1,5 @@ -From 983c9cde9359d5198ebd9adfcb1b9378b98d64c8 Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Jan Kara Date: Thu, 6 Feb 2020 15:28:12 +0100 Subject: blktrace: Protect q->blk_trace with RCU @@ -33,15 +33,13 @@ Signed-off-by: Jens Axboe - Drop changes in blk_trace_note_message_enabled(), blk_trace_bio_get_cgid() - Adjust context] Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - include/linux/blkdev.h | 2 +- - include/linux/blktrace_api.h | 6 +- - kernel/trace/blktrace.c | 110 +++++++++++++++++++++++++---------- + include/linux/blkdev.h | 2 + include/linux/blktrace_api.h | 6 +- + kernel/trace/blktrace.c | 110 +++++++++++++++++++++++++++++++------------ 3 files changed, 86 insertions(+), 32 deletions(-) -diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h -index ab819210e0112..6e83ea61436a7 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -431,7 +431,7 @@ struct request_queue { @@ -53,11 +51,9 @@ index ab819210e0112..6e83ea61436a7 100644 struct mutex blk_trace_mutex; #endif /* -diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h -index afc1343df3c7a..e644bfe50019c 100644 --- a/include/linux/blktrace_api.h +++ b/include/linux/blktrace_api.h -@@ -51,9 +51,13 @@ void __trace_note_message(struct blk_trace *, const char *fmt, ...); +@@ -51,9 +51,13 @@ void __trace_note_message(struct blk_tra **/ #define blk_add_trace_msg(q, fmt, ...) \ do { \ @@ -72,8 +68,6 @@ index afc1343df3c7a..e644bfe50019c 100644 } while (0) #define BLK_TN_MAX_MSG 128 -diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c -index ea18c6997eb23..bf9bf3f22edb5 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c @@ -319,6 +319,7 @@ static void put_probe_ref(void) @@ -84,7 +78,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 blk_trace_free(bt); put_probe_ref(); } -@@ -629,8 +630,10 @@ static int compat_blk_trace_setup(struct request_queue *q, char *name, +@@ -629,8 +630,10 @@ static int compat_blk_trace_setup(struct static int __blk_trace_startstop(struct request_queue *q, int start) { int ret; @@ -96,7 +90,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 if (bt == NULL) return -EINVAL; -@@ -739,8 +742,8 @@ int blk_trace_ioctl(struct block_device *bdev, unsigned cmd, char __user *arg) +@@ -739,8 +742,8 @@ int blk_trace_ioctl(struct block_device void blk_trace_shutdown(struct request_queue *q) { mutex_lock(&q->blk_trace_mutex); @@ -107,7 +101,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 __blk_trace_startstop(q, 0); __blk_trace_remove(q); } -@@ -766,10 +769,14 @@ void blk_trace_shutdown(struct request_queue *q) +@@ -766,10 +769,14 @@ void blk_trace_shutdown(struct request_q static void blk_add_trace_rq(struct request_queue *q, struct request *rq, unsigned int nr_bytes, u32 what) { @@ -124,7 +118,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 if (rq->cmd_type == REQ_TYPE_BLOCK_PC) { what |= BLK_TC_ACT(BLK_TC_PC); -@@ -780,6 +787,7 @@ static void blk_add_trace_rq(struct request_queue *q, struct request *rq, +@@ -780,6 +787,7 @@ static void blk_add_trace_rq(struct requ __blk_add_trace(bt, blk_rq_pos(rq), nr_bytes, rq->cmd_flags, what, rq->errors, 0, NULL); } @@ -132,7 +126,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 } static void blk_add_trace_rq_abort(void *ignore, -@@ -829,13 +837,18 @@ static void blk_add_trace_rq_complete(void *ignore, +@@ -829,13 +837,18 @@ static void blk_add_trace_rq_complete(vo static void blk_add_trace_bio(struct request_queue *q, struct bio *bio, u32 what, int error) { @@ -153,7 +147,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 } static void blk_add_trace_bio_bounce(void *ignore, -@@ -880,10 +893,13 @@ static void blk_add_trace_getrq(void *ignore, +@@ -880,10 +893,13 @@ static void blk_add_trace_getrq(void *ig if (bio) blk_add_trace_bio(q, bio, BLK_TA_GETRQ, 0); else { @@ -168,7 +162,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 } } -@@ -895,27 +911,35 @@ static void blk_add_trace_sleeprq(void *ignore, +@@ -895,27 +911,35 @@ static void blk_add_trace_sleeprq(void * if (bio) blk_add_trace_bio(q, bio, BLK_TA_SLEEPRQ, 0); else { @@ -207,7 +201,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 if (bt) { __be64 rpdu = cpu_to_be64(depth); u32 what; -@@ -927,14 +951,17 @@ static void blk_add_trace_unplug(void *ignore, struct request_queue *q, +@@ -927,14 +951,17 @@ static void blk_add_trace_unplug(void *i __blk_add_trace(bt, 0, 0, 0, what, 0, sizeof(rpdu), &rpdu); } @@ -226,7 +220,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 if (bt) { __be64 rpdu = cpu_to_be64(pdu); -@@ -942,6 +969,7 @@ static void blk_add_trace_split(void *ignore, +@@ -942,6 +969,7 @@ static void blk_add_trace_split(void *ig bio->bi_iter.bi_size, bio->bi_rw, BLK_TA_SPLIT, bio->bi_error, sizeof(rpdu), &rpdu); } @@ -234,7 +228,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 } /** -@@ -961,11 +989,15 @@ static void blk_add_trace_bio_remap(void *ignore, +@@ -961,11 +989,15 @@ static void blk_add_trace_bio_remap(void struct request_queue *q, struct bio *bio, dev_t dev, sector_t from) { @@ -252,7 +246,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 r.device_from = cpu_to_be32(dev); r.device_to = cpu_to_be32(bio->bi_bdev->bd_dev); -@@ -974,6 +1006,7 @@ static void blk_add_trace_bio_remap(void *ignore, +@@ -974,6 +1006,7 @@ static void blk_add_trace_bio_remap(void __blk_add_trace(bt, bio->bi_iter.bi_sector, bio->bi_iter.bi_size, bio->bi_rw, BLK_TA_REMAP, bio->bi_error, sizeof(r), &r); @@ -260,7 +254,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 } /** -@@ -994,11 +1027,15 @@ static void blk_add_trace_rq_remap(void *ignore, +@@ -994,11 +1027,15 @@ static void blk_add_trace_rq_remap(void struct request *rq, dev_t dev, sector_t from) { @@ -278,7 +272,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 r.device_from = cpu_to_be32(dev); r.device_to = cpu_to_be32(disk_devt(rq->rq_disk)); -@@ -1007,6 +1044,7 @@ static void blk_add_trace_rq_remap(void *ignore, +@@ -1007,6 +1044,7 @@ static void blk_add_trace_rq_remap(void __blk_add_trace(bt, blk_rq_pos(rq), blk_rq_bytes(rq), rq_data_dir(rq), BLK_TA_REMAP, !!rq->errors, sizeof(r), &r); @@ -286,7 +280,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 } /** -@@ -1024,10 +1062,14 @@ void blk_add_driver_data(struct request_queue *q, +@@ -1024,10 +1062,14 @@ void blk_add_driver_data(struct request_ struct request *rq, void *data, size_t len) { @@ -303,7 +297,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 if (rq->cmd_type == REQ_TYPE_BLOCK_PC) __blk_add_trace(bt, 0, blk_rq_bytes(rq), 0, -@@ -1035,6 +1077,7 @@ void blk_add_driver_data(struct request_queue *q, +@@ -1035,6 +1077,7 @@ void blk_add_driver_data(struct request_ else __blk_add_trace(bt, blk_rq_pos(rq), blk_rq_bytes(rq), 0, BLK_TA_DRV_DATA, rq->errors, len, data); @@ -311,7 +305,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 } EXPORT_SYMBOL_GPL(blk_add_driver_data); -@@ -1526,6 +1569,7 @@ static int blk_trace_remove_queue(struct request_queue *q) +@@ -1526,6 +1569,7 @@ static int blk_trace_remove_queue(struct return -EINVAL; put_probe_ref(); @@ -319,7 +313,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 blk_trace_free(bt); return 0; } -@@ -1686,6 +1730,7 @@ static ssize_t sysfs_blk_trace_attr_show(struct device *dev, +@@ -1686,6 +1730,7 @@ static ssize_t sysfs_blk_trace_attr_show struct hd_struct *p = dev_to_part(dev); struct request_queue *q; struct block_device *bdev; @@ -327,7 +321,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 ssize_t ret = -ENXIO; bdev = bdget(part_devt(p)); -@@ -1698,21 +1743,23 @@ static ssize_t sysfs_blk_trace_attr_show(struct device *dev, +@@ -1698,21 +1743,23 @@ static ssize_t sysfs_blk_trace_attr_show mutex_lock(&q->blk_trace_mutex); @@ -357,7 +351,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 out_unlock_bdev: mutex_unlock(&q->blk_trace_mutex); -@@ -1729,6 +1776,7 @@ static ssize_t sysfs_blk_trace_attr_store(struct device *dev, +@@ -1729,6 +1776,7 @@ static ssize_t sysfs_blk_trace_attr_stor struct block_device *bdev; struct request_queue *q; struct hd_struct *p; @@ -365,7 +359,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 u64 value; ssize_t ret = -EINVAL; -@@ -1759,8 +1807,10 @@ static ssize_t sysfs_blk_trace_attr_store(struct device *dev, +@@ -1759,8 +1807,10 @@ static ssize_t sysfs_blk_trace_attr_stor mutex_lock(&q->blk_trace_mutex); @@ -377,7 +371,7 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 ret = 0; goto out_unlock_bdev; } -@@ -1772,18 +1822,18 @@ static ssize_t sysfs_blk_trace_attr_store(struct device *dev, +@@ -1772,18 +1822,18 @@ static ssize_t sysfs_blk_trace_attr_stor } ret = 0; @@ -401,6 +395,3 @@ index ea18c6997eb23..bf9bf3f22edb5 100644 } out_unlock_bdev: --- -2.20.1 - diff --git a/queue-4.4/chardev-add-helper-function-to-register-char-devs-wi.patch b/queue-4.4/chardev-add-helper-function-to-register-char-devs-with-a-struct-device.patch similarity index 91% rename from queue-4.4/chardev-add-helper-function-to-register-char-devs-wi.patch rename to queue-4.4/chardev-add-helper-function-to-register-char-devs-with-a-struct-device.patch index f408164400a..67408a65c6e 100644 --- a/queue-4.4/chardev-add-helper-function-to-register-char-devs-wi.patch +++ b/queue-4.4/chardev-add-helper-function-to-register-char-devs-with-a-struct-device.patch @@ -1,8 +1,7 @@ -From 97a8c1f2fc99b003af733258a9da0e81f7a28f65 Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Logan Gunthorpe Date: Fri, 17 Mar 2017 12:48:08 -0600 -Subject: chardev: add helper function to register char devs with a struct - device +Subject: chardev: add helper function to register char devs with a struct device From: Logan Gunthorpe @@ -74,17 +73,15 @@ Reviewed-by: Hans Verkuil Reviewed-by: Alexandre Belloni Signed-off-by: Greg Kroah-Hartman Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - fs/char_dev.c | 86 ++++++++++++++++++++++++++++++++++++++++++++ - include/linux/cdev.h | 5 +++ + fs/char_dev.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++ + include/linux/cdev.h | 5 ++ 2 files changed, 91 insertions(+) -diff --git a/fs/char_dev.c b/fs/char_dev.c -index f1f3bb8127997..9154a2d7b195a 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c -@@ -472,6 +472,85 @@ int cdev_add(struct cdev *p, dev_t dev, unsigned count) +@@ -472,6 +472,85 @@ int cdev_add(struct cdev *p, dev_t dev, return 0; } @@ -170,7 +167,7 @@ index f1f3bb8127997..9154a2d7b195a 100644 static void cdev_unmap(dev_t dev, unsigned count) { kobj_unmap(cdev_map, dev, count); -@@ -483,6 +562,10 @@ static void cdev_unmap(dev_t dev, unsigned count) +@@ -483,6 +562,10 @@ static void cdev_unmap(dev_t dev, unsign * * cdev_del() removes @p from the system, possibly freeing the structure * itself. @@ -190,8 +187,6 @@ index f1f3bb8127997..9154a2d7b195a 100644 +EXPORT_SYMBOL(cdev_device_del); EXPORT_SYMBOL(__register_chrdev); EXPORT_SYMBOL(__unregister_chrdev); -diff --git a/include/linux/cdev.h b/include/linux/cdev.h -index f8763615a5f2d..408bc09ce497b 100644 --- a/include/linux/cdev.h +++ b/include/linux/cdev.h @@ -4,6 +4,7 @@ @@ -213,6 +208,3 @@ index f8763615a5f2d..408bc09ce497b 100644 void cdev_del(struct cdev *); void cd_forget(struct inode *); --- -2.20.1 - diff --git a/queue-4.4/ext4-add-cond_resched-to-ext4_protect_reserved_inode.patch b/queue-4.4/ext4-add-cond_resched-to-ext4_protect_reserved_inode.patch index f4f2fa3064e..b131b0fe3b3 100644 --- a/queue-4.4/ext4-add-cond_resched-to-ext4_protect_reserved_inode.patch +++ b/queue-4.4/ext4-add-cond_resched-to-ext4_protect_reserved_inode.patch @@ -1,5 +1,5 @@ -From 0aab6dfe4fbb5946ad60d17d44809b87c6db0f7f Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Shijie Luo Date: Mon, 10 Feb 2020 20:17:52 -0500 Subject: ext4: add cond_resched() to ext4_protect_reserved_inode @@ -47,16 +47,14 @@ Signed-off-by: Shijie Luo Signed-off-by: Theodore Ts'o Cc: stable@kernel.org Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - fs/ext4/block_validity.c | 1 + + fs/ext4/block_validity.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/fs/ext4/block_validity.c b/fs/ext4/block_validity.c -index ccd80f2b3b19b..d5055b3adcccd 100644 --- a/fs/ext4/block_validity.c +++ b/fs/ext4/block_validity.c -@@ -152,6 +152,7 @@ static int ext4_protect_reserved_inode(struct super_block *sb, u32 ino) +@@ -152,6 +152,7 @@ static int ext4_protect_reserved_inode(s return PTR_ERR(inode); num = (inode->i_size + sb->s_blocksize - 1) >> sb->s_blocksize_bits; while (i < num) { @@ -64,6 +62,3 @@ index ccd80f2b3b19b..d5055b3adcccd 100644 map.m_lblk = i; map.m_len = num - i; n = ext4_map_blocks(NULL, inode, &map, 0); --- -2.20.1 - diff --git a/queue-4.4/net-ipv6-add-net-argument-to-ip6_dst_lookup_flow.patch b/queue-4.4/net-ipv6-add-net-argument-to-ip6_dst_lookup_flow.patch index 8dd6f27db2c..aa495b6d662 100644 --- a/queue-4.4/net-ipv6-add-net-argument-to-ip6_dst_lookup_flow.patch +++ b/queue-4.4/net-ipv6-add-net-argument-to-ip6_dst_lookup_flow.patch @@ -1,5 +1,5 @@ -From 8a8ddda4cb5f9ea6bcc6b32d5938a978b73ee835 Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Sabrina Dubroca Date: Wed, 4 Dec 2019 15:35:52 +0100 Subject: net: ipv6: add net argument to ip6_dst_lookup_flow @@ -16,26 +16,24 @@ Signed-off-by: Sabrina Dubroca Signed-off-by: David S. Miller [bwh: Backported to 4.4: adjust context] Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - include/net/ipv6.h | 2 +- - net/dccp/ipv6.c | 6 +++--- - net/ipv6/af_inet6.c | 2 +- - net/ipv6/datagram.c | 2 +- - net/ipv6/inet6_connection_sock.c | 4 ++-- - net/ipv6/ip6_output.c | 8 ++++---- - net/ipv6/raw.c | 2 +- - net/ipv6/syncookies.c | 2 +- - net/ipv6/tcp_ipv6.c | 4 ++-- - net/l2tp/l2tp_ip6.c | 2 +- - net/sctp/ipv6.c | 4 ++-- + include/net/ipv6.h | 2 +- + net/dccp/ipv6.c | 6 +++--- + net/ipv6/af_inet6.c | 2 +- + net/ipv6/datagram.c | 2 +- + net/ipv6/inet6_connection_sock.c | 4 ++-- + net/ipv6/ip6_output.c | 8 ++++---- + net/ipv6/raw.c | 2 +- + net/ipv6/syncookies.c | 2 +- + net/ipv6/tcp_ipv6.c | 4 ++-- + net/l2tp/l2tp_ip6.c | 2 +- + net/sctp/ipv6.c | 4 ++-- 11 files changed, 19 insertions(+), 19 deletions(-) -diff --git a/include/net/ipv6.h b/include/net/ipv6.h -index c07cf9596b6fb..6258264a0bf73 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h -@@ -853,7 +853,7 @@ static inline struct sk_buff *ip6_finish_skb(struct sock *sk) +@@ -853,7 +853,7 @@ static inline struct sk_buff *ip6_finish int ip6_dst_lookup(struct net *net, struct sock *sk, struct dst_entry **dst, struct flowi6 *fl6); @@ -44,11 +42,9 @@ index c07cf9596b6fb..6258264a0bf73 100644 const struct in6_addr *final_dst); struct dst_entry *ip6_sk_dst_lookup_flow(struct sock *sk, struct flowi6 *fl6, const struct in6_addr *final_dst); -diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c -index 10eabd1a60aa7..736cc95b52011 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c -@@ -209,7 +209,7 @@ static int dccp_v6_send_response(const struct sock *sk, struct request_sock *req +@@ -209,7 +209,7 @@ static int dccp_v6_send_response(const s final_p = fl6_update_dst(&fl6, rcu_dereference(np->opt), &final); rcu_read_unlock(); @@ -57,7 +53,7 @@ index 10eabd1a60aa7..736cc95b52011 100644 if (IS_ERR(dst)) { err = PTR_ERR(dst); dst = NULL; -@@ -276,7 +276,7 @@ static void dccp_v6_ctl_send_reset(const struct sock *sk, struct sk_buff *rxskb) +@@ -276,7 +276,7 @@ static void dccp_v6_ctl_send_reset(const security_skb_classify_flow(rxskb, flowi6_to_flowi(&fl6)); /* sk = NULL, but it is safe for now. RST socket required. */ @@ -66,7 +62,7 @@ index 10eabd1a60aa7..736cc95b52011 100644 if (!IS_ERR(dst)) { skb_dst_set(skb, dst); ip6_xmit(ctl_sk, skb, &fl6, NULL, 0); -@@ -879,7 +879,7 @@ static int dccp_v6_connect(struct sock *sk, struct sockaddr *uaddr, +@@ -879,7 +879,7 @@ static int dccp_v6_connect(struct sock * opt = rcu_dereference_protected(np->opt, sock_owned_by_user(sk)); final_p = fl6_update_dst(&fl6, opt, &final); @@ -75,11 +71,9 @@ index 10eabd1a60aa7..736cc95b52011 100644 if (IS_ERR(dst)) { err = PTR_ERR(dst); goto failure; -diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c -index 46bf78a2843ac..9d04393e87019 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c -@@ -683,7 +683,7 @@ int inet6_sk_rebuild_header(struct sock *sk) +@@ -683,7 +683,7 @@ int inet6_sk_rebuild_header(struct sock &final); rcu_read_unlock(); @@ -88,8 +82,6 @@ index 46bf78a2843ac..9d04393e87019 100644 if (IS_ERR(dst)) { sk->sk_route_caps = 0; sk->sk_err_soft = -PTR_ERR(dst); -diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c -index 27cdf543c5390..f33154365b643 100644 --- a/net/ipv6/datagram.c +++ b/net/ipv6/datagram.c @@ -179,7 +179,7 @@ ipv4_connected: @@ -101,11 +93,9 @@ index 27cdf543c5390..f33154365b643 100644 err = 0; if (IS_ERR(dst)) { err = PTR_ERR(dst); -diff --git a/net/ipv6/inet6_connection_sock.c b/net/ipv6/inet6_connection_sock.c -index a7ca2cde2ecbc..b31ab511c7671 100644 --- a/net/ipv6/inet6_connection_sock.c +++ b/net/ipv6/inet6_connection_sock.c -@@ -88,7 +88,7 @@ struct dst_entry *inet6_csk_route_req(const struct sock *sk, +@@ -88,7 +88,7 @@ struct dst_entry *inet6_csk_route_req(co fl6->fl6_sport = htons(ireq->ir_num); security_req_classify_flow(req, flowi6_to_flowi(fl6)); @@ -114,7 +104,7 @@ index a7ca2cde2ecbc..b31ab511c7671 100644 if (IS_ERR(dst)) return NULL; -@@ -142,7 +142,7 @@ static struct dst_entry *inet6_csk_route_socket(struct sock *sk, +@@ -142,7 +142,7 @@ static struct dst_entry *inet6_csk_route dst = __inet6_csk_dst_check(sk, np->dst_cookie); if (!dst) { @@ -123,8 +113,6 @@ index a7ca2cde2ecbc..b31ab511c7671 100644 if (!IS_ERR(dst)) ip6_dst_store(sk, dst, NULL, NULL); -diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c -index e39dc94486b2c..1e2b8d33d303b 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@ -1057,13 +1057,13 @@ EXPORT_SYMBOL_GPL(ip6_dst_lookup); @@ -143,7 +131,7 @@ index e39dc94486b2c..1e2b8d33d303b 100644 if (err) return ERR_PTR(err); if (final_dst) -@@ -1071,7 +1071,7 @@ struct dst_entry *ip6_dst_lookup_flow(const struct sock *sk, struct flowi6 *fl6, +@@ -1071,7 +1071,7 @@ struct dst_entry *ip6_dst_lookup_flow(co if (!fl6->flowi6_oif) fl6->flowi6_oif = l3mdev_fib_oif(dst->dev); @@ -152,7 +140,7 @@ index e39dc94486b2c..1e2b8d33d303b 100644 } EXPORT_SYMBOL_GPL(ip6_dst_lookup_flow); -@@ -1096,7 +1096,7 @@ struct dst_entry *ip6_sk_dst_lookup_flow(struct sock *sk, struct flowi6 *fl6, +@@ -1096,7 +1096,7 @@ struct dst_entry *ip6_sk_dst_lookup_flow dst = ip6_sk_dst_check(sk, dst, fl6); if (!dst) @@ -161,11 +149,9 @@ index e39dc94486b2c..1e2b8d33d303b 100644 return dst; } -diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c -index 86c75e97cfec3..67cdcd3d644fa 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c -@@ -889,7 +889,7 @@ static int rawv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) +@@ -889,7 +889,7 @@ static int rawv6_sendmsg(struct sock *sk if (hdrincl) fl6.flowi6_flags |= FLOWI_FLAG_KNOWN_NH; @@ -174,11 +160,9 @@ index 86c75e97cfec3..67cdcd3d644fa 100644 if (IS_ERR(dst)) { err = PTR_ERR(dst); goto out; -diff --git a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c -index aee87282d3521..fb3ba2a511196 100644 --- a/net/ipv6/syncookies.c +++ b/net/ipv6/syncookies.c -@@ -231,7 +231,7 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb) +@@ -231,7 +231,7 @@ struct sock *cookie_v6_check(struct sock fl6.fl6_sport = inet_sk(sk)->inet_sport; security_req_classify_flow(req, flowi6_to_flowi(&fl6)); @@ -187,11 +171,9 @@ index aee87282d3521..fb3ba2a511196 100644 if (IS_ERR(dst)) goto out_free; } -diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c -index 6a36fcc5c4e11..b4ffcec732b49 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c -@@ -245,7 +245,7 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr, +@@ -245,7 +245,7 @@ static int tcp_v6_connect(struct sock *s security_sk_classify_flow(sk, flowi6_to_flowi(&fl6)); @@ -200,7 +182,7 @@ index 6a36fcc5c4e11..b4ffcec732b49 100644 if (IS_ERR(dst)) { err = PTR_ERR(dst); goto failure; -@@ -831,7 +831,7 @@ static void tcp_v6_send_response(const struct sock *sk, struct sk_buff *skb, u32 +@@ -831,7 +831,7 @@ static void tcp_v6_send_response(const s * Underlying function will use this to retrieve the network * namespace */ @@ -209,11 +191,9 @@ index 6a36fcc5c4e11..b4ffcec732b49 100644 if (!IS_ERR(dst)) { skb_dst_set(buff, dst); ip6_xmit(ctl_sk, buff, &fl6, NULL, tclass); -diff --git a/net/l2tp/l2tp_ip6.c b/net/l2tp/l2tp_ip6.c -index af04a8a682697..2b5230ef8536a 100644 --- a/net/l2tp/l2tp_ip6.c +++ b/net/l2tp/l2tp_ip6.c -@@ -619,7 +619,7 @@ static int l2tp_ip6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len) +@@ -619,7 +619,7 @@ static int l2tp_ip6_sendmsg(struct sock security_sk_classify_flow(sk, flowi6_to_flowi(&fl6)); @@ -222,11 +202,9 @@ index af04a8a682697..2b5230ef8536a 100644 if (IS_ERR(dst)) { err = PTR_ERR(dst); goto out; -diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c -index dd097e065f39d..1a6849add0e34 100644 --- a/net/sctp/ipv6.c +++ b/net/sctp/ipv6.c -@@ -268,7 +268,7 @@ static void sctp_v6_get_dst(struct sctp_transport *t, union sctp_addr *saddr, +@@ -268,7 +268,7 @@ static void sctp_v6_get_dst(struct sctp_ final_p = fl6_update_dst(fl6, rcu_dereference(np->opt), &final); rcu_read_unlock(); @@ -235,7 +213,7 @@ index dd097e065f39d..1a6849add0e34 100644 if (!asoc || saddr) { t->dst = dst; memcpy(fl, &_fl, sizeof(_fl)); -@@ -326,7 +326,7 @@ static void sctp_v6_get_dst(struct sctp_transport *t, union sctp_addr *saddr, +@@ -326,7 +326,7 @@ static void sctp_v6_get_dst(struct sctp_ fl6->saddr = laddr->a.v6.sin6_addr; fl6->fl6_sport = laddr->a.v6.sin6_port; final_p = fl6_update_dst(fl6, rcu_dereference(np->opt), &final); @@ -244,6 +222,3 @@ index dd097e065f39d..1a6849add0e34 100644 if (IS_ERR(bdst)) continue; --- -2.20.1 - diff --git a/queue-4.4/net-ipv6_stub-use-ip6_dst_lookup_flow-instead-of-ip6.patch b/queue-4.4/net-ipv6_stub-use-ip6_dst_lookup_flow-instead-of-ip6_dst_lookup.patch similarity index 73% rename from queue-4.4/net-ipv6_stub-use-ip6_dst_lookup_flow-instead-of-ip6.patch rename to queue-4.4/net-ipv6_stub-use-ip6_dst_lookup_flow-instead-of-ip6_dst_lookup.patch index ea49ee3dfa1..bd0ddbeaac6 100644 --- a/queue-4.4/net-ipv6_stub-use-ip6_dst_lookup_flow-instead-of-ip6.patch +++ b/queue-4.4/net-ipv6_stub-use-ip6_dst_lookup_flow-instead-of-ip6_dst_lookup.patch @@ -1,5 +1,5 @@ -From e3a32350aae0a76746648667d9515e286910ed50 Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Sabrina Dubroca Date: Wed, 4 Dec 2019 15:35:53 +0100 Subject: net: ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup @@ -28,23 +28,21 @@ Signed-off-by: David S. Miller - Drop changes in lwt_bpf.c, mlx5, and rxe - Adjust filename, context, indentation] Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - drivers/infiniband/core/addr.c | 6 +++--- - drivers/net/geneve.c | 4 +++- - drivers/net/vxlan.c | 10 ++++------ - include/net/addrconf.h | 6 ++++-- - net/ipv6/addrconf_core.c | 11 ++++++----- - net/ipv6/af_inet6.c | 2 +- - net/mpls/af_mpls.c | 7 +++---- - net/tipc/udp_media.c | 9 ++++++--- + drivers/infiniband/core/addr.c | 6 +++--- + drivers/net/geneve.c | 4 +++- + drivers/net/vxlan.c | 10 ++++------ + include/net/addrconf.h | 6 ++++-- + net/ipv6/addrconf_core.c | 11 ++++++----- + net/ipv6/af_inet6.c | 2 +- + net/mpls/af_mpls.c | 7 +++---- + net/tipc/udp_media.c | 9 ++++++--- 8 files changed, 30 insertions(+), 25 deletions(-) -diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c -index 68835de07e071..a8349100854ef 100644 --- a/drivers/infiniband/core/addr.c +++ b/drivers/infiniband/core/addr.c -@@ -293,9 +293,9 @@ static int addr6_resolve(struct sockaddr_in6 *src_in, +@@ -293,9 +293,9 @@ static int addr6_resolve(struct sockaddr fl6.saddr = src_in->sin6_addr; fl6.flowi6_oif = addr->bound_dev_if; @@ -57,11 +55,9 @@ index 68835de07e071..a8349100854ef 100644 if (ipv6_addr_any(&fl6.saddr)) { ret = ipv6_dev_get_saddr(addr->net, ip6_dst_idev(dst)->dev, -diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c -index 1988bc00de3c7..ec13e2ae6d16e 100644 --- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c -@@ -781,7 +781,9 @@ static struct dst_entry *geneve_get_v6_dst(struct sk_buff *skb, +@@ -781,7 +781,9 @@ static struct dst_entry *geneve_get_v6_d fl6->daddr = geneve->remote.sin6.sin6_addr; } @@ -72,11 +68,9 @@ index 1988bc00de3c7..ec13e2ae6d16e 100644 netdev_dbg(dev, "no route to %pI6\n", &fl6->daddr); return ERR_PTR(-ENETUNREACH); } -diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c -index 752f44a0e3afc..d6ae6d3c98ed8 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c -@@ -1864,7 +1864,6 @@ static struct dst_entry *vxlan6_get_route(struct vxlan_dev *vxlan, +@@ -1864,7 +1864,6 @@ static struct dst_entry *vxlan6_get_rout { struct dst_entry *ndst; struct flowi6 fl6; @@ -84,7 +78,7 @@ index 752f44a0e3afc..d6ae6d3c98ed8 100644 memset(&fl6, 0, sizeof(fl6)); fl6.flowi6_oif = oif; -@@ -1873,11 +1872,10 @@ static struct dst_entry *vxlan6_get_route(struct vxlan_dev *vxlan, +@@ -1873,11 +1872,10 @@ static struct dst_entry *vxlan6_get_rout fl6.flowi6_mark = skb->mark; fl6.flowi6_proto = IPPROTO_UDP; @@ -100,8 +94,6 @@ index 752f44a0e3afc..d6ae6d3c98ed8 100644 *saddr = fl6.saddr; return ndst; -diff --git a/include/net/addrconf.h b/include/net/addrconf.h -index af032e5405f62..27a1833c7b00f 100644 --- a/include/net/addrconf.h +++ b/include/net/addrconf.h @@ -192,8 +192,10 @@ struct ipv6_stub { @@ -117,11 +109,9 @@ index af032e5405f62..27a1833c7b00f 100644 void (*udpv6_encap_enable)(void); void (*ndisc_send_na)(struct net_device *dev, const struct in6_addr *daddr, const struct in6_addr *solicited_addr, -diff --git a/net/ipv6/addrconf_core.c b/net/ipv6/addrconf_core.c -index bfa941fc11650..129324b36fb60 100644 --- a/net/ipv6/addrconf_core.c +++ b/net/ipv6/addrconf_core.c -@@ -107,15 +107,16 @@ int inet6addr_notifier_call_chain(unsigned long val, void *v) +@@ -107,15 +107,16 @@ int inet6addr_notifier_call_chain(unsign } EXPORT_SYMBOL(inet6addr_notifier_call_chain); @@ -143,11 +133,9 @@ index bfa941fc11650..129324b36fb60 100644 }; EXPORT_SYMBOL_GPL(ipv6_stub); -diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c -index 9d04393e87019..37a562fc13d5b 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c -@@ -841,7 +841,7 @@ static struct pernet_operations inet6_net_ops = { +@@ -841,7 +841,7 @@ static struct pernet_operations inet6_ne static const struct ipv6_stub ipv6_stub_impl = { .ipv6_sock_mc_join = ipv6_sock_mc_join, .ipv6_sock_mc_drop = ipv6_sock_mc_drop, @@ -156,11 +144,9 @@ index 9d04393e87019..37a562fc13d5b 100644 .udpv6_encap_enable = udpv6_encap_enable, .ndisc_send_na = ndisc_send_na, .nd_tbl = &nd_tbl, -diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c -index c2ce7dec51980..50d9138b2a1cc 100644 --- a/net/mpls/af_mpls.c +++ b/net/mpls/af_mpls.c -@@ -470,16 +470,15 @@ static struct net_device *inet6_fib_lookup_dev(struct net *net, +@@ -470,16 +470,15 @@ static struct net_device *inet6_fib_look struct net_device *dev; struct dst_entry *dst; struct flowi6 fl6; @@ -180,11 +166,9 @@ index c2ce7dec51980..50d9138b2a1cc 100644 dev = dst->dev; dev_hold(dev); -diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c -index cb39f1c4251ea..ac20794392420 100644 --- a/net/tipc/udp_media.c +++ b/net/tipc/udp_media.c -@@ -200,10 +200,13 @@ static int tipc_udp_send_msg(struct net *net, struct sk_buff *skb, +@@ -200,10 +200,13 @@ static int tipc_udp_send_msg(struct net .saddr = src->ipv6, .flowi6_proto = IPPROTO_UDP }; @@ -201,6 +185,3 @@ index cb39f1c4251ea..ac20794392420 100644 ttl = ip6_dst_hoplimit(ndst); err = udp_tunnel6_xmit_skb(ndst, ub->ubsock->sk, skb, ndst->dev, &src->ipv6, --- -2.20.1 - diff --git a/queue-4.4/ptp-create-pins-together-with-the-rest-of-attributes.patch b/queue-4.4/ptp-create-pins-together-with-the-rest-of-attributes.patch index 6efaee166da..75554502b15 100644 --- a/queue-4.4/ptp-create-pins-together-with-the-rest-of-attributes.patch +++ b/queue-4.4/ptp-create-pins-together-with-the-rest-of-attributes.patch @@ -1,5 +1,5 @@ -From 1d25f0caeabb1ff4e0494022f4905583ccc3e9ad Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Dmitry Torokhov Date: Tue, 14 Feb 2017 10:23:34 -0800 Subject: ptp: create "pins" together with the rest of attributes @@ -15,18 +15,16 @@ Signed-off-by: Dmitry Torokhov Signed-off-by: David S. Miller [bwh: Backported to 4.9: adjust context] Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - drivers/ptp/ptp_clock.c | 20 +++++++++++--------- - drivers/ptp/ptp_private.h | 7 ++++--- - drivers/ptp/ptp_sysfs.c | 39 +++++++++------------------------------ + drivers/ptp/ptp_clock.c | 20 +++++++++++--------- + drivers/ptp/ptp_private.h | 7 ++++--- + drivers/ptp/ptp_sysfs.c | 39 +++++++++------------------------------ 3 files changed, 24 insertions(+), 42 deletions(-) -diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c -index 113b66f1fc9ed..5f5d54f5153fb 100644 --- a/drivers/ptp/ptp_clock.c +++ b/drivers/ptp/ptp_clock.c -@@ -214,16 +214,17 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, +@@ -214,16 +214,17 @@ struct ptp_clock *ptp_clock_register(str mutex_init(&ptp->pincfg_mux); init_waitqueue_head(&ptp->tsev_wq); @@ -63,7 +61,7 @@ index 113b66f1fc9ed..5f5d54f5153fb 100644 mutex_destroy(&ptp->tsevq_mux); mutex_destroy(&ptp->pincfg_mux); no_slot: -@@ -272,8 +273,9 @@ int ptp_clock_unregister(struct ptp_clock *ptp) +@@ -272,8 +273,9 @@ int ptp_clock_unregister(struct ptp_cloc /* Release the clock's resources. */ if (ptp->pps_source) pps_unregister_source(ptp->pps_source); @@ -74,8 +72,6 @@ index 113b66f1fc9ed..5f5d54f5153fb 100644 posix_clock_unregister(&ptp->clock); return 0; -diff --git a/drivers/ptp/ptp_private.h b/drivers/ptp/ptp_private.h -index 9c5d41421b651..d95888974d0c6 100644 --- a/drivers/ptp/ptp_private.h +++ b/drivers/ptp/ptp_private.h @@ -54,6 +54,8 @@ struct ptp_clock { @@ -98,11 +94,9 @@ index 9c5d41421b651..d95888974d0c6 100644 +void ptp_cleanup_pin_groups(struct ptp_clock *ptp); #endif -diff --git a/drivers/ptp/ptp_sysfs.c b/drivers/ptp/ptp_sysfs.c -index a55a6eb4dfde9..731d0423c8aa7 100644 --- a/drivers/ptp/ptp_sysfs.c +++ b/drivers/ptp/ptp_sysfs.c -@@ -268,25 +268,14 @@ static ssize_t ptp_pin_store(struct device *dev, struct device_attribute *attr, +@@ -268,25 +268,14 @@ static ssize_t ptp_pin_store(struct devi return count; } @@ -132,7 +126,7 @@ index a55a6eb4dfde9..731d0423c8aa7 100644 ptp->pin_dev_attr = kzalloc(n_pins * sizeof(*ptp->pin_dev_attr), GFP_KERNEL); if (!ptp->pin_dev_attr) -@@ -310,28 +299,18 @@ static int ptp_populate_pins(struct ptp_clock *ptp) +@@ -310,28 +299,18 @@ static int ptp_populate_pins(struct ptp_ ptp->pin_attr_group.name = "pins"; ptp->pin_attr_group.attrs = ptp->pin_attr; @@ -166,6 +160,3 @@ index a55a6eb4dfde9..731d0423c8aa7 100644 + kfree(ptp->pin_attr); + kfree(ptp->pin_dev_attr); } --- -2.20.1 - diff --git a/queue-4.4/ptp-do-not-explicitly-set-drvdata-in-ptp_clock_regis.patch b/queue-4.4/ptp-do-not-explicitly-set-drvdata-in-ptp_clock_register.patch similarity index 66% rename from queue-4.4/ptp-do-not-explicitly-set-drvdata-in-ptp_clock_regis.patch rename to queue-4.4/ptp-do-not-explicitly-set-drvdata-in-ptp_clock_register.patch index c48e31a313c..c70a9deb201 100644 --- a/queue-4.4/ptp-do-not-explicitly-set-drvdata-in-ptp_clock_regis.patch +++ b/queue-4.4/ptp-do-not-explicitly-set-drvdata-in-ptp_clock_register.patch @@ -1,5 +1,5 @@ -From e07336a2fcddd851f89dfcbfda427edebd1291c5 Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Dmitry Torokhov Date: Tue, 14 Feb 2017 10:23:31 -0800 Subject: ptp: do not explicitly set drvdata in ptp_clock_register() @@ -14,16 +14,14 @@ Acked-by: Richard Cochran Signed-off-by: Dmitry Torokhov Signed-off-by: David S. Miller Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - drivers/ptp/ptp_clock.c | 2 -- + drivers/ptp/ptp_clock.c | 2 -- 1 file changed, 2 deletions(-) -diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c -index 60a5e0c63a136..113b66f1fc9ed 100644 --- a/drivers/ptp/ptp_clock.c +++ b/drivers/ptp/ptp_clock.c -@@ -220,8 +220,6 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, +@@ -220,8 +220,6 @@ struct ptp_clock *ptp_clock_register(str if (IS_ERR(ptp->dev)) goto no_device; @@ -32,6 +30,3 @@ index 60a5e0c63a136..113b66f1fc9ed 100644 err = ptp_populate_sysfs(ptp); if (err) goto no_sysfs; --- -2.20.1 - diff --git a/queue-4.4/ptp-fix-pass-zero-to-err_ptr-in-ptp_clock_register.patch b/queue-4.4/ptp-fix-pass-zero-to-err_ptr-in-ptp_clock_register.patch index 876af2f6d19..a2d97cb433b 100644 --- a/queue-4.4/ptp-fix-pass-zero-to-err_ptr-in-ptp_clock_register.patch +++ b/queue-4.4/ptp-fix-pass-zero-to-err_ptr-in-ptp_clock_register.patch @@ -1,5 +1,5 @@ -From 0e637f58378032270601f378e5a23b473527d9a3 Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: YueHaibing Date: Fri, 23 Nov 2018 09:54:55 +0800 Subject: ptp: Fix pass zero to ERR_PTR() in ptp_clock_register @@ -20,16 +20,14 @@ Signed-off-by: YueHaibing Acked-by: Richard Cochran Signed-off-by: David S. Miller Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - drivers/ptp/ptp_clock.c | 5 ++++- + drivers/ptp/ptp_clock.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c -index 5f5d54f5153fb..a29772667f79b 100644 --- a/drivers/ptp/ptp_clock.c +++ b/drivers/ptp/ptp_clock.c -@@ -222,8 +222,10 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, +@@ -222,8 +222,10 @@ struct ptp_clock *ptp_clock_register(str ptp->dev = device_create_with_groups(ptp_class, parent, ptp->devid, ptp, ptp->pin_attr_groups, "ptp%d", ptp->index); @@ -41,7 +39,7 @@ index 5f5d54f5153fb..a29772667f79b 100644 /* Register a new PPS source. */ if (info->pps) { -@@ -234,6 +236,7 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, +@@ -234,6 +236,7 @@ struct ptp_clock *ptp_clock_register(str pps.owner = info->owner; ptp->pps_source = pps_register_source(&pps, PTP_PPS_DEFAULTS); if (!ptp->pps_source) { @@ -49,6 +47,3 @@ index 5f5d54f5153fb..a29772667f79b 100644 pr_err("failed to register pps source\n"); goto no_pps; } --- -2.20.1 - diff --git a/queue-4.4/ptp-fix-the-race-between-the-release-of-ptp_clock-an.patch b/queue-4.4/ptp-fix-the-race-between-the-release-of-ptp_clock-and-cdev.patch similarity index 86% rename from queue-4.4/ptp-fix-the-race-between-the-release-of-ptp_clock-an.patch rename to queue-4.4/ptp-fix-the-race-between-the-release-of-ptp_clock-and-cdev.patch index 0d43e62271c..56bab639363 100644 --- a/queue-4.4/ptp-fix-the-race-between-the-release-of-ptp_clock-an.patch +++ b/queue-4.4/ptp-fix-the-race-between-the-release-of-ptp_clock-and-cdev.patch @@ -1,5 +1,5 @@ -From fa40eab18c05963de6eaefd898a7ee28e1899c2a Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Vladis Dronov Date: Fri, 27 Dec 2019 03:26:27 +0100 Subject: ptp: fix the race between the release of ptp_clock and cdev @@ -91,19 +91,17 @@ Signed-off-by: Vladis Dronov Acked-by: Richard Cochran Signed-off-by: David S. Miller Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - drivers/ptp/ptp_clock.c | 31 ++++++++++++++----------------- - drivers/ptp/ptp_private.h | 2 +- - include/linux/posix-clock.h | 19 +++++++++++-------- - kernel/time/posix-clock.c | 31 +++++++++++++------------------ + drivers/ptp/ptp_clock.c | 31 ++++++++++++++----------------- + drivers/ptp/ptp_private.h | 2 +- + include/linux/posix-clock.h | 19 +++++++++++-------- + kernel/time/posix-clock.c | 31 +++++++++++++------------------ 4 files changed, 39 insertions(+), 44 deletions(-) -diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c -index a29772667f79b..977b52dbcbba2 100644 --- a/drivers/ptp/ptp_clock.c +++ b/drivers/ptp/ptp_clock.c -@@ -171,9 +171,9 @@ static struct posix_clock_operations ptp_clock_ops = { +@@ -171,9 +171,9 @@ static struct posix_clock_operations ptp .read = ptp_read, }; @@ -115,7 +113,7 @@ index a29772667f79b..977b52dbcbba2 100644 mutex_destroy(&ptp->tsevq_mux); mutex_destroy(&ptp->pincfg_mux); -@@ -205,7 +205,6 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, +@@ -205,7 +205,6 @@ struct ptp_clock *ptp_clock_register(str } ptp->clock.ops = ptp_clock_ops; @@ -123,7 +121,7 @@ index a29772667f79b..977b52dbcbba2 100644 ptp->info = info; ptp->devid = MKDEV(major, index); ptp->index = index; -@@ -218,15 +217,6 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, +@@ -218,15 +217,6 @@ struct ptp_clock *ptp_clock_register(str if (err) goto no_pin_groups; @@ -139,7 +137,7 @@ index a29772667f79b..977b52dbcbba2 100644 /* Register a new PPS source. */ if (info->pps) { struct pps_source_info pps; -@@ -242,8 +232,18 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info, +@@ -242,8 +232,18 @@ struct ptp_clock *ptp_clock_register(str } } @@ -169,7 +167,7 @@ index a29772667f79b..977b52dbcbba2 100644 ptp_cleanup_pin_groups(ptp); no_pin_groups: mutex_destroy(&ptp->tsevq_mux); -@@ -277,7 +275,6 @@ int ptp_clock_unregister(struct ptp_clock *ptp) +@@ -277,7 +275,6 @@ int ptp_clock_unregister(struct ptp_cloc if (ptp->pps_source) pps_unregister_source(ptp->pps_source); @@ -177,8 +175,6 @@ index a29772667f79b..977b52dbcbba2 100644 ptp_cleanup_pin_groups(ptp); posix_clock_unregister(&ptp->clock); -diff --git a/drivers/ptp/ptp_private.h b/drivers/ptp/ptp_private.h -index d95888974d0c6..15346e840caa9 100644 --- a/drivers/ptp/ptp_private.h +++ b/drivers/ptp/ptp_private.h @@ -40,7 +40,7 @@ struct timestamp_event_queue { @@ -190,8 +186,6 @@ index d95888974d0c6..15346e840caa9 100644 struct ptp_clock_info *info; dev_t devid; int index; /* index into clocks.map */ -diff --git a/include/linux/posix-clock.h b/include/linux/posix-clock.h -index 83b22ae9ae12a..b39420a0321c3 100644 --- a/include/linux/posix-clock.h +++ b/include/linux/posix-clock.h @@ -104,29 +104,32 @@ struct posix_clock_operations { @@ -243,8 +237,6 @@ index 83b22ae9ae12a..b39420a0321c3 100644 /** * posix_clock_unregister() - unregister a clock -diff --git a/kernel/time/posix-clock.c b/kernel/time/posix-clock.c -index e24008c098c6b..45a0a26023d4b 100644 --- a/kernel/time/posix-clock.c +++ b/kernel/time/posix-clock.c @@ -25,8 +25,6 @@ @@ -256,7 +248,7 @@ index e24008c098c6b..45a0a26023d4b 100644 /* * Returns NULL if the posix_clock instance attached to 'fp' is old and stale. */ -@@ -168,7 +166,7 @@ static int posix_clock_open(struct inode *inode, struct file *fp) +@@ -168,7 +166,7 @@ static int posix_clock_open(struct inode err = 0; if (!err) { @@ -265,7 +257,7 @@ index e24008c098c6b..45a0a26023d4b 100644 fp->private_data = clk; } out: -@@ -184,7 +182,7 @@ static int posix_clock_release(struct inode *inode, struct file *fp) +@@ -184,7 +182,7 @@ static int posix_clock_release(struct in if (clk->ops.release) err = clk->ops.release(clk); @@ -274,7 +266,7 @@ index e24008c098c6b..45a0a26023d4b 100644 fp->private_data = NULL; -@@ -206,38 +204,35 @@ static const struct file_operations posix_clock_file_operations = { +@@ -206,38 +204,35 @@ static const struct file_operations posi #endif }; @@ -324,6 +316,3 @@ index e24008c098c6b..45a0a26023d4b 100644 } EXPORT_SYMBOL_GPL(posix_clock_unregister); --- -2.20.1 - diff --git a/queue-4.4/ptp-free-ptp-device-pin-descriptors-properly.patch b/queue-4.4/ptp-free-ptp-device-pin-descriptors-properly.patch index b09dc025c95..b753c69b324 100644 --- a/queue-4.4/ptp-free-ptp-device-pin-descriptors-properly.patch +++ b/queue-4.4/ptp-free-ptp-device-pin-descriptors-properly.patch @@ -1,5 +1,5 @@ -From cff306c18d002a4a0ea187cae2115fc75d7f073a Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Vladis Dronov Date: Mon, 13 Jan 2020 14:00:09 +0100 Subject: ptp: free ptp device pin descriptors properly @@ -24,16 +24,14 @@ Signed-off-by: Vladis Dronov Acked-by: Richard Cochran Signed-off-by: David S. Miller Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - drivers/ptp/ptp_clock.c | 4 ++-- + drivers/ptp/ptp_clock.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c -index 977b52dbcbba2..efe68b13704d8 100644 --- a/drivers/ptp/ptp_clock.c +++ b/drivers/ptp/ptp_clock.c -@@ -175,6 +175,7 @@ static void ptp_clock_release(struct device *dev) +@@ -175,6 +175,7 @@ static void ptp_clock_release(struct dev { struct ptp_clock *ptp = container_of(dev, struct ptp_clock, dev); @@ -41,7 +39,7 @@ index 977b52dbcbba2..efe68b13704d8 100644 mutex_destroy(&ptp->tsevq_mux); mutex_destroy(&ptp->pincfg_mux); ida_simple_remove(&ptp_clocks_map, ptp->index); -@@ -275,9 +276,8 @@ int ptp_clock_unregister(struct ptp_clock *ptp) +@@ -275,9 +276,8 @@ int ptp_clock_unregister(struct ptp_cloc if (ptp->pps_source) pps_unregister_source(ptp->pps_source); @@ -52,6 +50,3 @@ index 977b52dbcbba2..efe68b13704d8 100644 return 0; } EXPORT_SYMBOL(ptp_clock_unregister); --- -2.20.1 - diff --git a/queue-4.4/ptp-use-is_visible-method-to-hide-unused-attributes.patch b/queue-4.4/ptp-use-is_visible-method-to-hide-unused-attributes.patch index 339fb86683f..48dd873efa4 100644 --- a/queue-4.4/ptp-use-is_visible-method-to-hide-unused-attributes.patch +++ b/queue-4.4/ptp-use-is_visible-method-to-hide-unused-attributes.patch @@ -1,5 +1,5 @@ -From f988e8551a81f003ad32e2c403ea528e953b566f Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From foo@baz Wed 13 May 2020 08:37:35 AM CEST +From: Dmitry Torokhov Date: Tue, 14 Feb 2017 10:23:33 -0800 Subject: ptp: use is_visible method to hide unused attributes @@ -16,16 +16,14 @@ of later) before userspace gets notified about new ptp class device. Signed-off-by: Dmitry Torokhov Signed-off-by: David S. Miller Signed-off-by: Ben Hutchings -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - drivers/ptp/ptp_sysfs.c | 125 ++++++++++++++++++---------------------- + drivers/ptp/ptp_sysfs.c | 125 +++++++++++++++++++++--------------------------- 1 file changed, 55 insertions(+), 70 deletions(-) -diff --git a/drivers/ptp/ptp_sysfs.c b/drivers/ptp/ptp_sysfs.c -index 302e626fe6b01..a55a6eb4dfde9 100644 --- a/drivers/ptp/ptp_sysfs.c +++ b/drivers/ptp/ptp_sysfs.c -@@ -46,27 +46,6 @@ PTP_SHOW_INT(n_periodic_outputs, n_per_out); +@@ -46,27 +46,6 @@ PTP_SHOW_INT(n_periodic_outputs, n_per_o PTP_SHOW_INT(n_programmable_pins, n_pins); PTP_SHOW_INT(pps_available, pps); @@ -53,7 +51,7 @@ index 302e626fe6b01..a55a6eb4dfde9 100644 static ssize_t extts_enable_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) -@@ -91,6 +70,7 @@ static ssize_t extts_enable_store(struct device *dev, +@@ -91,6 +70,7 @@ static ssize_t extts_enable_store(struct out: return err; } @@ -69,7 +67,7 @@ index 302e626fe6b01..a55a6eb4dfde9 100644 static ssize_t period_store(struct device *dev, struct device_attribute *attr, -@@ -151,6 +132,7 @@ static ssize_t period_store(struct device *dev, +@@ -151,6 +132,7 @@ static ssize_t period_store(struct devic out: return err; } @@ -77,7 +75,7 @@ index 302e626fe6b01..a55a6eb4dfde9 100644 static ssize_t pps_enable_store(struct device *dev, struct device_attribute *attr, -@@ -177,6 +159,57 @@ static ssize_t pps_enable_store(struct device *dev, +@@ -177,6 +159,57 @@ static ssize_t pps_enable_store(struct d out: return err; } @@ -135,7 +133,7 @@ index 302e626fe6b01..a55a6eb4dfde9 100644 static int ptp_pin_name2index(struct ptp_clock *ptp, const char *name) { -@@ -235,26 +268,11 @@ static ssize_t ptp_pin_store(struct device *dev, struct device_attribute *attr, +@@ -235,26 +268,11 @@ static ssize_t ptp_pin_store(struct devi return count; } @@ -210,6 +208,3 @@ index 302e626fe6b01..a55a6eb4dfde9 100644 -out1: - return err; } --- -2.20.1 - diff --git a/queue-4.4/series b/queue-4.4/series index 83a0824a480..850df501372 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -16,19 +16,19 @@ batman-adv-fix-batadv_nc_random_weight_tq.patch scripts-decodecode-fix-trapping-instruction-formatting.patch phy-micrel-disable-auto-negotiation-on-startup.patch phy-micrel-ensure-interrupts-are-reenabled-on-resume.patch +binfmt_elf-do-not-move-brk-for-interp-less-et_exec.patch ext4-add-cond_resched-to-ext4_protect_reserved_inode.patch net-ipv6-add-net-argument-to-ip6_dst_lookup_flow.patch -net-ipv6_stub-use-ip6_dst_lookup_flow-instead-of-ip6.patch -blktrace-fix-potential-deadlock-between-delete-sysfs.patch -blktrace-fix-unlocked-access-to-init-start-stop-tear.patch +net-ipv6_stub-use-ip6_dst_lookup_flow-instead-of-ip6_dst_lookup.patch +blktrace-fix-potential-deadlock-between-delete-sysfs-ops.patch +blktrace-fix-unlocked-access-to-init-start-stop-teardown.patch blktrace-fix-trace-mutex-deadlock.patch blktrace-protect-q-blk_trace-with-rcu.patch blktrace-fix-dereference-after-null-check.patch -ptp-do-not-explicitly-set-drvdata-in-ptp_clock_regis.patch +ptp-do-not-explicitly-set-drvdata-in-ptp_clock_register.patch ptp-use-is_visible-method-to-hide-unused-attributes.patch ptp-create-pins-together-with-the-rest-of-attributes.patch -chardev-add-helper-function-to-register-char-devs-wi.patch +chardev-add-helper-function-to-register-char-devs-with-a-struct-device.patch ptp-fix-pass-zero-to-err_ptr-in-ptp_clock_register.patch -ptp-fix-the-race-between-the-release-of-ptp_clock-an.patch +ptp-fix-the-race-between-the-release-of-ptp_clock-and-cdev.patch ptp-free-ptp-device-pin-descriptors-properly.patch -binfmt_elf-do-not-move-brk-for-interp-less-et_exec.patch