Currently device_supports_dax() just checks to see if the QUEUE_FLAG_DAX
flag is set on the device's request queue to decide whether or not the
device supports filesystem DAX. Really we should be using
bdev_dax_supported() like filesystems do at mount time. This performs
other tests like checking to make sure the dax_direct_access() path works.
We also explicitly clear QUEUE_FLAG_DAX on the DM device's request queue if
any of the underlying devices do not support DAX. This makes the handling
of QUEUE_FLAG_DAX consistent with the setting/clearing of most other flags
in dm_table_set_restrictions().
Now that bdev_dax_supported() explicitly checks for QUEUE_FLAG_DAX, this
will ensure that filesystems built upon DM devices will only be able to
mount with DAX if all underlying devices also support DAX.
Signed-off-by: Ross Zwisler <ross.zwisler(a)linux.intel.com>
Fixes: commit 545ed20e6df6 ("dm: add infrastructure for DAX support")
Cc: stable(a)vger.kernel.org
---
drivers/md/dm-table.c | 7 ++++---
drivers/md/dm.c | 3 +--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
index 938766794c2e..3d0e2c198f06 100644
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
@@ -885,9 +885,7 @@ EXPORT_SYMBOL_GPL(dm_table_set_type);
static int device_supports_dax(struct dm_target *ti, struct dm_dev *dev,
sector_t start, sector_t len, void *data)
{
- struct request_queue *q = bdev_get_queue(dev->bdev);
-
- return q && blk_queue_dax(q);
+ return bdev_dax_supported(dev->bdev, PAGE_SIZE);
}
static bool dm_table_supports_dax(struct dm_table *t)
@@ -1907,6 +1905,9 @@ void dm_table_set_restrictions(struct dm_table *t, struct request_queue *q,
if (dm_table_supports_dax(t))
blk_queue_flag_set(QUEUE_FLAG_DAX, q);
+ else
+ blk_queue_flag_clear(QUEUE_FLAG_DAX, q);
+
if (dm_table_supports_dax_write_cache(t))
dax_write_cache(t->md->dax_dev, true);
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index e65429a29c06..bef5a3f243ed 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1056,8 +1056,7 @@ static long dm_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff,
if (len < 1)
goto out;
nr_pages = min(len, nr_pages);
- if (ti->type->direct_access)
- ret = ti->type->direct_access(ti, pgoff, nr_pages, kaddr, pfn);
+ ret = ti->type->direct_access(ti, pgoff, nr_pages, kaddr, pfn);
out:
dm_put_live_table(md, srcu_idx);
--
2.14.4
Add an explicit check for QUEUE_FLAG_DAX to __bdev_dax_supported(). This
is needed for DM configurations where the first element in the dm-linear or
dm-stripe target supports DAX, but other elements do not. Without this
check __bdev_dax_supported() will pass for such devices, letting a
filesystem on that device mount with the DAX option.
Signed-off-by: Ross Zwisler <ross.zwisler(a)linux.intel.com>
Suggested-by: Mike Snitzer <snitzer(a)redhat.com>
Fixes: commit 545ed20e6df6 ("dm: add infrastructure for DAX support")
Cc: stable(a)vger.kernel.org
---
drivers/dax/super.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/dax/super.c b/drivers/dax/super.c
index 903d9c473749..45276abf03aa 100644
--- a/drivers/dax/super.c
+++ b/drivers/dax/super.c
@@ -86,6 +86,7 @@ bool __bdev_dax_supported(struct block_device *bdev, int blocksize)
{
struct dax_device *dax_dev;
bool dax_enabled = false;
+ struct request_queue *q;
pgoff_t pgoff;
int err, id;
void *kaddr;
@@ -99,6 +100,13 @@ bool __bdev_dax_supported(struct block_device *bdev, int blocksize)
return false;
}
+ q = bdev_get_queue(bdev);
+ if (!q || !blk_queue_dax(q)) {
+ pr_debug("%s: error: request queue doesn't support dax\n",
+ bdevname(bdev, buf));
+ return false;
+ }
+
err = bdev_dax_pgoff(bdev, 0, PAGE_SIZE, &pgoff);
if (err) {
pr_debug("%s: error: unaligned partition for dax\n",
--
2.14.4
Hi Doug and Jason,
Here are a couple patches that we'd like to get into 4.18 rc cycle. These fix
bugs and aren't too complex. One of them is an issue that Dan Carpenter just
reported recently and is marked for stable.
---
Michael J. Ruhl (3):
IB/hfi1: Set in_use_ctxts bits for user ctxts only
IB/hfi1: Remove incorrect call to do_interrupt callback
IB/hfi1: Fix incorrect mixing of ERR_PTR and NULL return values
drivers/infiniband/hw/hfi1/chip.c | 30 +++++++++++++++++-------------
drivers/infiniband/hw/hfi1/file_ops.c | 4 ++++
drivers/infiniband/hw/hfi1/init.c | 1 -
drivers/infiniband/hw/hfi1/rc.c | 2 +-
drivers/infiniband/hw/hfi1/uc.c | 4 ++--
drivers/infiniband/hw/hfi1/ud.c | 4 ++--
drivers/infiniband/hw/hfi1/verbs_txreq.c | 4 ++--
drivers/infiniband/hw/hfi1/verbs_txreq.h | 4 ++--
8 files changed, 30 insertions(+), 23 deletions(-)
--
-Denny
Currently device_supports_dax() just checks to see if the QUEUE_FLAG_DAX
flag is set on the device's request queue to decide whether or not the
device supports filesystem DAX. Really we should be using
bdev_dax_supported() like filesystems do at mount time. This performs
other tests like checking to make sure the dax_direct_access() path works.
Conditionally set QUEUE_FLAG_DAX on the DM device's request queue based on
whether all underlying devices support DAX. Now that bdev_dax_supported()
explicitly checks for this flag, this will ensure that filesystems built
upon DM devices will only be able to mount with DAX if all underlying
devices also support DAX.
Signed-off-by: Ross Zwisler <ross.zwisler(a)linux.intel.com>
Fixes: commit 545ed20e6df6 ("dm: add infrastructure for DAX support")
Cc: stable(a)vger.kernel.org
---
drivers/md/dm-ioctl.c | 5 +++++
drivers/md/dm-table.c | 7 +++----
drivers/md/dm.c | 3 +--
include/linux/device-mapper.h | 5 +++++
4 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
index b810ea77e6b1..0055bdbee5b1 100644
--- a/drivers/md/dm-ioctl.c
+++ b/drivers/md/dm-ioctl.c
@@ -1350,6 +1350,11 @@ static int table_load(struct file *filp, struct dm_ioctl *param, size_t param_si
goto err_unlock_md_type;
}
+ if (dm_table_supports_dax(t))
+ blk_queue_flag_set(QUEUE_FLAG_DAX, md->queue);
+ else
+ blk_queue_flag_clear(QUEUE_FLAG_DAX, md->queue);
+
dm_unlock_md_type(md);
/* stage inactive table */
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
index 938766794c2e..c673b4a51fb2 100644
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
@@ -885,12 +885,10 @@ EXPORT_SYMBOL_GPL(dm_table_set_type);
static int device_supports_dax(struct dm_target *ti, struct dm_dev *dev,
sector_t start, sector_t len, void *data)
{
- struct request_queue *q = bdev_get_queue(dev->bdev);
-
- return q && blk_queue_dax(q);
+ return bdev_dax_supported(dev->bdev, PAGE_SIZE);
}
-static bool dm_table_supports_dax(struct dm_table *t)
+bool dm_table_supports_dax(struct dm_table *t)
{
struct dm_target *ti;
unsigned i;
@@ -909,6 +907,7 @@ static bool dm_table_supports_dax(struct dm_table *t)
return true;
}
+EXPORT_SYMBOL_GPL(dm_table_supports_dax);
static bool dm_table_does_not_support_partial_completion(struct dm_table *t);
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index e65429a29c06..bef5a3f243ed 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1056,8 +1056,7 @@ static long dm_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff,
if (len < 1)
goto out;
nr_pages = min(len, nr_pages);
- if (ti->type->direct_access)
- ret = ti->type->direct_access(ti, pgoff, nr_pages, kaddr, pfn);
+ ret = ti->type->direct_access(ti, pgoff, nr_pages, kaddr, pfn);
out:
dm_put_live_table(md, srcu_idx);
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
index 6fb0808e87c8..45ea9e1f9af9 100644
--- a/include/linux/device-mapper.h
+++ b/include/linux/device-mapper.h
@@ -461,6 +461,11 @@ void dm_table_add_target_callbacks(struct dm_table *t, struct dm_target_callback
*/
void dm_table_set_type(struct dm_table *t, enum dm_queue_mode type);
+/*
+ * Check to see if this target type and all table devices support DAX.
+ */
+bool dm_table_supports_dax(struct dm_table *t);
+
/*
* Finally call this to make the table ready for use.
*/
--
2.14.4
A device may have boundary restrictions where the number of sectors
between boundaries exceeds its max transfer size. In this case, we need
to cap the max size to the smaller of the two limits.
Reported-by: Jitendra Bhivare <jitendra.bhivare(a)broadcom.com>
Tested-by: Jitendra Bhivare <jitendra.bhivare(a)broadcom.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Keith Busch <keith.busch(a)intel.com>
---
include/linux/blkdev.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 9154570edf29..79226ca8f80f 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1119,8 +1119,8 @@ static inline unsigned int blk_max_size_offset(struct request_queue *q,
if (!q->limits.chunk_sectors)
return q->limits.max_sectors;
- return q->limits.chunk_sectors -
- (offset & (q->limits.chunk_sectors - 1));
+ return min(q->limits.max_sectors, (unsigned int)(q->limits.chunk_sectors -
+ (offset & (q->limits.chunk_sectors - 1))));
}
static inline unsigned int blk_rq_get_max_sectors(struct request *rq,
--
2.14.3
Add an explicit check for QUEUE_FLAG_DAX to __bdev_dax_supported(). This
is needed for DM configurations where the first element in the dm-linear or
dm-stripe target supports DAX, but other elements do not. Without this
check __bdev_dax_supported() will pass for such devices, letting a
filesystem on that device mount with the DAX option.
Signed-off-by: Ross Zwisler <ross.zwisler(a)linux.intel.com>
Suggested-by: Mike Snitzer <snitzer(a)redhat.com>
Cc: stable(a)vger.kernel.org
---
drivers/dax/super.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/dax/super.c b/drivers/dax/super.c
index 903d9c473749..45276abf03aa 100644
--- a/drivers/dax/super.c
+++ b/drivers/dax/super.c
@@ -86,6 +86,7 @@ bool __bdev_dax_supported(struct block_device *bdev, int blocksize)
{
struct dax_device *dax_dev;
bool dax_enabled = false;
+ struct request_queue *q;
pgoff_t pgoff;
int err, id;
void *kaddr;
@@ -99,6 +100,13 @@ bool __bdev_dax_supported(struct block_device *bdev, int blocksize)
return false;
}
+ q = bdev_get_queue(bdev);
+ if (!q || !blk_queue_dax(q)) {
+ pr_debug("%s: error: request queue doesn't support dax\n",
+ bdevname(bdev, buf));
+ return false;
+ }
+
err = bdev_dax_pgoff(bdev, 0, PAGE_SIZE, &pgoff);
if (err) {
pr_debug("%s: error: unaligned partition for dax\n",
--
2.14.4
From: Maciej S. Szmigiero <mail(a)maciej.szmigiero.name>
The signatureValue field of a X.509 certificate is encoded as a BIT STRING.
For RSA signatures this BIT STRING is of so-called primitive subtype, which
contains a u8 prefix indicating a count of unused bits in the encoding.
We have to strip this prefix from signature data, just as we already do for
key data in x509_extract_key_data() function.
This wasn't noticed earlier because this prefix byte is zero for RSA key
sizes divisible by 8. Since BIT STRING is a big-endian encoding adding zero
prefixes has no bearing on its value.
The signature length, however was incorrect, which is a problem for RSA
implementations that need it to be exactly correct (like AMD CCP).
Signed-off-by: Maciej S. Szmigiero <mail(a)maciej.szmigiero.name>
Fixes: c26fd69fa009 ("X.509: Add a crypto key parser for binary (DER) X.509 certificates")
Cc: stable(a)vger.kernel.org
Signed-off-by: David Howells <dhowells(a)redhat.com>
---
crypto/asymmetric_keys/x509_cert_parser.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/crypto/asymmetric_keys/x509_cert_parser.c b/crypto/asymmetric_keys/x509_cert_parser.c
index 7d81e6bb461a..b6cabac4b62b 100644
--- a/crypto/asymmetric_keys/x509_cert_parser.c
+++ b/crypto/asymmetric_keys/x509_cert_parser.c
@@ -249,6 +249,15 @@ int x509_note_signature(void *context, size_t hdrlen,
return -EINVAL;
}
+ if (strcmp(ctx->cert->sig->pkey_algo, "rsa") == 0) {
+ /* Discard the BIT STRING metadata */
+ if (vlen < 1 || *(const u8 *)value != 0)
+ return -EBADMSG;
+
+ value++;
+ vlen--;
+ }
+
ctx->cert->raw_sig = value;
ctx->cert->raw_sig_size = vlen;
return 0;
With commit 8f111bc357aa ("cpufreq/schedutil: Rewrite CPUFREQ_RT support")
schedutil governor uses rq->rt.rt_nr_running to detect whether a RT task is
currently running on the CPU and to set frequency to max if necessary.
cpufreq_update_util() is called in enqueue/dequeue_top_rt_rq() but
rq->rt.rt_nr_running as not been updated yet when dequeue_top_rt_rq() is
called so schedutil still considers that a RT task is running when the
last task is dequeued. The update of rq->rt.rt_nr_running happens later
in dequeue_rt_stack()
Fixes: 8f111bc357aa ('cpufreq/schedutil: Rewrite CPUFREQ_RT support')
Cc: <stable(a)vger.kernel.org> # v4.16+
Signed-off-by: Vincent Guittot <vincent.guittot(a)linaro.org>
---
- v2:
- remove blank line
kernel/sched/rt.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index 7aef6b4..a9f1119 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -1000,9 +1000,6 @@ dequeue_top_rt_rq(struct rt_rq *rt_rq)
sub_nr_running(rq, rt_rq->rt_nr_running);
rt_rq->rt_queued = 0;
-
- /* Kick cpufreq (see the comment in kernel/sched/sched.h). */
- cpufreq_update_util(rq, 0);
}
static void
@@ -1288,6 +1285,9 @@ static void dequeue_rt_stack(struct sched_rt_entity *rt_se, unsigned int flags)
if (on_rt_rq(rt_se))
__dequeue_rt_entity(rt_se, flags);
}
+
+ /* Kick cpufreq (see the comment in kernel/sched/sched.h). */
+ cpufreq_update_util(rq_of_rt_rq(rt_rq_of_se(back)), 0);
}
static void enqueue_rt_entity(struct sched_rt_entity *rt_se, unsigned int flags)
--
2.7.4
If an iio channel defines a basic property, there are duplicate entries
in /sys/class/power/*/uevent.
So add a check to avoid duplicates. Since all channels may be duplicates,
we have to modify the related error check.
Signed-off-by: H. Nikolaus Schaller <hns(a)goldelico.com>
Cc: stable(a)vger.kernel.org
---
drivers/power/supply/generic-adc-battery.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c
index 11f59275bff4..bc462d1ec963 100644
--- a/drivers/power/supply/generic-adc-battery.c
+++ b/drivers/power/supply/generic-adc-battery.c
@@ -244,6 +244,7 @@ static int gab_probe(struct platform_device *pdev)
int ret = 0;
int chan;
int index = ARRAY_SIZE(gab_props);
+ bool any = false;
adc_bat = devm_kzalloc(&pdev->dev, sizeof(*adc_bat), GFP_KERNEL);
if (!adc_bat) {
@@ -290,12 +291,22 @@ static int gab_probe(struct platform_device *pdev)
adc_bat->channel[chan] = NULL;
} else {
/* copying properties for supported channels only */
- psy_desc->properties[index++] = gab_dyn_props[chan];
+ int index2;
+
+ for (index2 = 0; index2 < index; index2++) {
+ if (psy_desc->properties[index2] ==
+ gab_dyn_props[chan])
+ break; /* already known */
+ }
+ if (index2 == index) /* really new */
+ psy_desc->properties[index++] =
+ gab_dyn_props[chan];
+ any = true;
}
}
/* none of the channels are supported so let's bail out */
- if (index == ARRAY_SIZE(gab_props)) {
+ if (!any) {
ret = -ENODEV;
goto second_mem_fail;
}
--
2.12.2
We did have sporadic problems in the pinctrl framework during boot
where a pin group name unexpectedly became NULL leading to a NULL
dereference in strcmp.
Detailled analysis of the failing cases did reveal that there were
two devm allocated objects close to each other. The second one was
the affected group_desc in pinmux and the first one was the
psy_desc->properties buffer of the gab driver.
Review of the gab code showed that the address calculation for
one memcpy() is wrong. It does
properties + sizeof(type) * index
but C is defined to do the index multiplication already for
pointer + integer additions. Hence the factor was applied twice
and the memcpy() does write outside of the properties buffer.
Sometimes it happened to be the pinctrl and triggered the strcmp(NULL).
Anyways, it is overkill to use a memcpy() here instead of a simple
assignment, which is easier to read and has less risk for wrong
address calculations. So we change code to a simple assignment.
If we initialize the index to the first free location, we can even
remove the local variable 'properties'.
This bug seems to exist right from the beginning in 3.7-rc1 in
commit e60fea794e6e ("power: battery: Generic battery driver using IIO")
Signed-off-by: H. Nikolaus Schaller <hns(a)goldelico.com>
Cc: stable(a)vger.kernel.org
---
drivers/power/supply/generic-adc-battery.c | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/drivers/power/supply/generic-adc-battery.c b/drivers/power/supply/generic-adc-battery.c
index 28dc056eaafa..11f59275bff4 100644
--- a/drivers/power/supply/generic-adc-battery.c
+++ b/drivers/power/supply/generic-adc-battery.c
@@ -241,10 +241,9 @@ static int gab_probe(struct platform_device *pdev)
struct power_supply_desc *psy_desc;
struct power_supply_config psy_cfg = {};
struct gab_platform_data *pdata = pdev->dev.platform_data;
- enum power_supply_property *properties;
int ret = 0;
int chan;
- int index = 0;
+ int index = ARRAY_SIZE(gab_props);
adc_bat = devm_kzalloc(&pdev->dev, sizeof(*adc_bat), GFP_KERNEL);
if (!adc_bat) {
@@ -278,8 +277,6 @@ static int gab_probe(struct platform_device *pdev)
}
memcpy(psy_desc->properties, gab_props, sizeof(gab_props));
- properties = (enum power_supply_property *)
- ((char *)psy_desc->properties + sizeof(gab_props));
/*
* getting channel from iio and copying the battery properties
@@ -293,15 +290,12 @@ static int gab_probe(struct platform_device *pdev)
adc_bat->channel[chan] = NULL;
} else {
/* copying properties for supported channels only */
- memcpy(properties + sizeof(*(psy_desc->properties)) * index,
- &gab_dyn_props[chan],
- sizeof(gab_dyn_props[chan]));
- index++;
+ psy_desc->properties[index++] = gab_dyn_props[chan];
}
}
/* none of the channels are supported so let's bail out */
- if (index == 0) {
+ if (index == ARRAY_SIZE(gab_props)) {
ret = -ENODEV;
goto second_mem_fail;
}
@@ -312,7 +306,7 @@ static int gab_probe(struct platform_device *pdev)
* as come channels may be not be supported by the device.So
* we need to take care of that.
*/
- psy_desc->num_properties = ARRAY_SIZE(gab_props) + index;
+ psy_desc->num_properties = index;
adc_bat->psy = power_supply_register(&pdev->dev, psy_desc, &psy_cfg);
if (IS_ERR(adc_bat->psy)) {
--
2.12.2
If the ALL bit is set in the ZBC_OUT command, the command zone ID field
(block) should be ignored.
Reported-by: David Butterfield <david.butterfield(a)wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal(a)wdc.com>
Cc: stable(a)vger.kernel.org
---
drivers/ata/libata-scsi.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index a5543751f446..aad1b01447de 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -3805,7 +3805,14 @@ static unsigned int ata_scsi_zbc_out_xlat(struct ata_queued_cmd *qc)
*/
goto invalid_param_len;
}
- if (block >= dev->n_sectors) {
+
+ all = cdb[14] & 0x1;
+ if (all) {
+ /*
+ * Ignore the block address (zone ID) as defined by ZBC.
+ */
+ block = 0;
+ } else if (block >= dev->n_sectors) {
/*
* Block must be a valid zone ID (a zone start LBA).
*/
@@ -3813,8 +3820,6 @@ static unsigned int ata_scsi_zbc_out_xlat(struct ata_queued_cmd *qc)
goto invalid_fld;
}
- all = cdb[14] & 0x1;
-
if (ata_ncq_enabled(qc->dev) &&
ata_fpdma_zac_mgmt_out_supported(qc->dev)) {
tf->protocol = ATA_PROT_NCQ_NODATA;
--
2.17.1
The block (LBA) specified must not exceed the last addressable LBA,
which is dev->nr_sectors - 1. So fix the correct check is
"if (block >= dev->n_sectors)" and not "if (block > dev->n_sectords)".
Additionally, the asc/ascq to return for an LBA that is not a zone start
LBA should be ILLEGAL REQUEST, regardless if the bad LBA is out of
range.
Reported-by: David Butterfield <david.butterfield(a)wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal(a)wdc.com>
Cc: stable(a)vger.kernel.org
---
drivers/ata/libata-scsi.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 6a91d04351d9..a5543751f446 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -3805,8 +3805,13 @@ static unsigned int ata_scsi_zbc_out_xlat(struct ata_queued_cmd *qc)
*/
goto invalid_param_len;
}
- if (block > dev->n_sectors)
- goto out_of_range;
+ if (block >= dev->n_sectors) {
+ /*
+ * Block must be a valid zone ID (a zone start LBA).
+ */
+ fp = 2;
+ goto invalid_fld;
+ }
all = cdb[14] & 0x1;
@@ -3837,10 +3842,6 @@ static unsigned int ata_scsi_zbc_out_xlat(struct ata_queued_cmd *qc)
invalid_fld:
ata_scsi_set_invalid_field(qc->dev, scmd, fp, 0xff);
return 1;
- out_of_range:
- /* "Logical Block Address out of range" */
- ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x21, 0x00);
- return 1;
invalid_param_len:
/* "Parameter list length error" */
ata_scsi_set_sense(qc->dev, scmd, ILLEGAL_REQUEST, 0x1a, 0x0);
--
2.17.1
Tejun,
These two patches fix problems with the checks of the ZBC_OUT command fields
prior to its translation to ZAC MANAGEMENT OUT.
The first patch fixes an incorrect out-of-range check and changes the returned
asc/ascq to the ZBC defined INVALID FIELD IN CDB instead of (the more natural
but incorrect) LBA OUT OF RANGE.
The second patch disables the ZBC_OUT command block address check if the ALL
bit is set, as defined by the ZBC specifications.
Thank you for considering these patches for inclusion in 4.18 fixes (and CC
stable).
Damien Le Moal (2):
ata: Fix ZBC_OUT command block check
ata: Fix ZBC_OUT all bit handling
drivers/ata/libata-scsi.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
--
2.17.1
Hi balbi,
Thanks for reponse. Now I fixed this case without check STALL status when clear-Halt request.
BDW, I have meet other case:
Run dwc3 for uvc function, the uvc video show video overlapping when windows 7 restart camera app.
I debug the dwc3 drivers ,found :
1. when camera app close, the dwc3 ep_dequeue is call. Then giveback request with status: -ECONNRESET to uvc function layer. dep->trb_dequeue keep stable
2.when camera app reopen ,the dwc3 ep_queue is call. Then kick a transfer, fetch a new trb to dwc3 core. dep->trb_enqueue increment.
3.when one trb tranfter complete, handle event process function fetch one frb by current dep->trb_dequeue, and uvc function would get one request complete giveback, which have been dequeue.
But in fact, current dep->trb_dequeue pointer buffer is "old", because stp1 have been dequeue it.
Current dwc3 drivers: the correct enqueue req process is " ep enqueue > fetch a new trb by trb_enqueue > increase trb_enqueue > pack trb to dwc3 core", Right?
For dequeue request process, now is " ep dequeue > stop started_list request > giveback request with -ECONNRESET status" Right ?
To avoid getting a older request which has been dequeued, I think dequeue process necessary sync the trb_dequeue to trb_enqueue. Right ?
Liang Shengjun
-----邮件原件-----
发件人: Felipe Balbi [mailto:felipe.balbi@linux.intel.com]
发送时间: 2018年6月25日 15:48
收件人: Alan Stern <stern(a)rowland.harvard.edu>
抄送: liangshengjun <liangshengjun(a)hisilicon.com>; stable(a)vger.kernel.org; linux-usb(a)vger.kernel.org
主题: Re: make a confirm for [usb: dwc3: gadget: skip Set/Clear Halt when invalid]
Hi,
Alan Stern <stern(a)rowland.harvard.edu> writes:
>> that patch is not 100% correct. You can revert it in your tree. I
>> added that because of a problem I found when running adb against macOS.
>>
>> It's actually okay to send Clear Halt at any time, but for some
>> reason
>> dwc3 was hanging when running adb against macOS.
>
> Note: According to the USB spec it's okay to send Clear-Halt at any
> time. But there are plenty of devices that get upset if they receive
> this message when the endpoint isn't actually halted.
right. The weird thing here is that dwc3 has never suffered from this until we ran ADB against macOS. That was the only way to get any problems.
Without clear halt, though, we have no means for syncing data toggle.
--
balbi
Hello Greg,
#Forgot to add --compose
Following up on our discussion during the review of
kernel 4.4.138-stable, I have backported a few
patches that remove the remaining FPU lazy mode deadcode
from 4.4.y and 4.9.y. To avoid confusion I will send the
explanation on separate e-mails:
Patches for 4.4.y:
[PATCH 1/4] KVM: x86: remove eager_fpu field of struct kvm_vcpu_arch
- This is a git cherry-pick of
5a5fbdc0e3f1 ("KVM: x86: remove eager_fpu field of struct kvm_vcpu_arch").
It applies cleanly and is required for the next patch not to cause conflicts
on arch/x86/kvm/cpuid.c
[PATCH 2/4] x86/fpu: Remove use_eager_fpu()
- The main conflict ocurred on fpu/core.c because commit
bf15a8cf8d14 ("x86/fpu/xstate: Rename 'xstate_size' to 'fpu_kernel_xstate_size', to distinguish it from 'fpu_user_xstate_size'")
is not on 4.4.y. That commit renames xstate_size to fpu_kernel_xstate_size
but it also has its conflicts so I decided just to fix the conflict manually/
[PATCH 3/4] x86/fpu: Remove struct fpu::counter
- caused one conflict because 4.4.y does not have commit
d1898b733619 ("x86/fpu: Add tracepoints to dump FPU state at key points")
I fixed it manually.
[PATCH 4/4] x86/fpu: Finish excising 'eagerfpu'
- caused a small conflict because 'nopku' is not in 4.4.y
- sorry my editor might have removed a couple of trailing spaces
automatically to Documentation/kernel-paramters.txt
- cause one conflict in these files because they didn't exist
arch/x86/include/asm/cpufeatures.h
arch/x86/mm/pkeys.c
tools/arch/x86/include/asm/cpufeatures.h
- Instead I removed the X86_FEATURE_EAGER_FPU definition from arch/x86/include/asm/cpufeature.h
Best regards,
Daniel Sangorrin
PS: Used git send-email --to stable(a)vger.kernel.org --cc-cmd="./scripts/get_maintainer.pl --norolestats" 2197a44..HEAD
but it doesn't seem to work sorry...humm
Hi Ingo,
Please consider pulling,
- Arnaldo
Test results at the end of this message, as usual.
The following changes since commit 57d6a7938a8fc6cee8420b40ca244220b41721f5:
perf/core: Move the inline keyword at the beginning of the function declaration (2018-06-22 11:07:47 +0200)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo-4.18-20180625
for you to fetch changes up to 92ead7ee30c80f8852d28735cbcb9d79bc85f715:
perf tools: Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE] (2018-06-25 11:59:37 -0300)
----------------------------------------------------------------
perf/urgent fixes:
perf bench: (Jiri Olsa):
. Fix NUMA report output code handling of less than 1s runtimes.
perf script: (Ravi Bangoria)
. Add missing output fields in a 'perf script -h' hint.
. Fix crash because of missing evsel->priv.
. Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE], which
is just a end of features header marker.
perf stat: (Thomas Richter)
. Remove duplicate event counting
perf test:
. Wire parsing error handling in 'parse events' test (Jiri Olsa)
. Fix 'session topology' test on s/390 (Thomas Richter)
eBPF: (Yonghong Song)
. Fix a clang 7.0 compilation error when building perf linking
with libclang
intel-pt: (Adrian Hunter)
. Fix packet decoding of CYC packets.
Copies of kernel files: (Arnaldo Carvalho de Melo)
. Synchronize drm/drm.h UAPI
. Update x86's syscall_64.tbl, adding support for 'io_pgetevents' and 'rseq'
in 'perf trace'.
. Update powerpc uapi/asm/unistd.h, adding support for the 'rseq' syscall.
. Update if_link.h and bpf.h, no effect on tool features.
PowerPC: (Sandipan Das)
. Fix crash if callchain is empty.
s/390: (Thomas Richter)
. Support random socked_id assignment in the perf header.
. Support s390 random socket_id assignment in perf.data file.
. Make PMU alias definitions taken from sysfs and JSON files comparable
by normalizing them wrt spaces and newlines.
Signed-off-by: Arnaldo Carvalho de Melo <acme(a)redhat.com>
----------------------------------------------------------------
Adrian Hunter (1):
perf intel-pt: Fix packet decoding of CYC packets
Arnaldo Carvalho de Melo (5):
tools headers uapi: Synchronize drm/drm.h
perf tools: Update x86's syscall_64.tbl, adding 'io_pgetevents' and 'rseq'
tools include powerpc: Update arch/powerpc/include/uapi/asm/unistd.h copy to get 'rseq' syscall
tools include uapi: Update if_link.h to pick IFLA_{BRPORT_ISOLATED,VXLAN_TTL_INHERIT}
tools include uapi: Synchronize bpf.h with the kernel
Jiri Olsa (3):
perf tests: Add event parsing error handling to parse events test
perf tests: Add valid callback for parse-events test
perf bench: Fix numa report output code
Ravi Bangoria (3):
perf script: Add missing output fields in a hint
perf script: Fix crash because of missing evsel->priv
perf tools: Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE]
Sandipan Das (1):
perf report powerpc: Fix crash if callchain is empty
Thomas Richter (5):
perf record: Support s390 random socket_id assignment
perf test session topology: Fix test on s390
perf alias: Remove trailing newline when reading sysfs files
perf alias: Rebuild alias expression string to make it comparable
perf stat: Remove duplicate event counting
Yonghong Song (1):
perf tools: Fix a clang 7.0 compilation error
tools/arch/powerpc/include/uapi/asm/unistd.h | 1 +
tools/include/uapi/drm/drm.h | 7 ++
tools/include/uapi/linux/bpf.h | 2 +-
tools/include/uapi/linux/if_link.h | 2 +
tools/perf/arch/powerpc/util/skip-callchain-idx.c | 2 +-
tools/perf/arch/x86/entry/syscalls/syscall_64.tbl | 2 +
tools/perf/bench/numa.c | 5 +-
tools/perf/builtin-annotate.c | 11 ++-
tools/perf/builtin-report.c | 3 +-
tools/perf/builtin-script.c | 30 ++++++-
tools/perf/tests/parse-events.c | 25 ++++--
tools/perf/tests/topology.c | 1 +
tools/perf/util/c++/clang.cpp | 11 ++-
tools/perf/util/header.c | 12 ++-
.../util/intel-pt-decoder/intel-pt-pkt-decoder.c | 2 +-
tools/perf/util/pmu.c | 99 +++++++++++++++++++++-
16 files changed, 194 insertions(+), 21 deletions(-)
Test results:
The first ones are container (docker) based builds of tools/perf with
and without libelf support. Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.
The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container cluster.
Those will come back later.
Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.
The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.
Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.
# dm
1 alpine:3.4 : Ok gcc (Alpine 5.3.0) 5.3.0
2 alpine:3.5 : Ok gcc (Alpine 6.2.1) 6.2.1 20160822
3 alpine:3.6 : Ok gcc (Alpine 6.3.0) 6.3.0
4 alpine:3.7 : Ok gcc (Alpine 6.4.0) 6.4.0
5 alpine:edge : Ok gcc (Alpine 6.4.0) 6.4.0
6 amazonlinux:1 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
7 amazonlinux:2 : Ok gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
8 android-ndk:r12b-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
9 android-ndk:r15c-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
10 centos:5 : Ok gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
11 centos:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
12 centos:7 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
13 debian:7 : Ok gcc (Debian 4.7.2-5) 4.7.2
14 debian:8 : Ok gcc (Debian 4.9.2-10+deb8u1) 4.9.2
15 debian:9 : Ok gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
16 debian:experimental : Ok gcc (Debian 7.3.0-19) 7.3.0
17 debian:experimental-x-arm64 : Ok aarch64-linux-gnu-gcc (Debian 7.3.0-19) 7.3.0
18 debian:experimental-x-mips : Ok mips-linux-gnu-gcc (Debian 7.3.0-19) 7.3.0
19 debian:experimental-x-mips64 : Ok mips64-linux-gnuabi64-gcc (Debian 7.3.0-18) 7.3.0
20 debian:experimental-x-mipsel : Ok mipsel-linux-gnu-gcc (Debian 7.3.0-19) 7.3.0
21 fedora:20 : Ok gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
22 fedora:21 : Ok gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
23 fedora:22 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
24 fedora:23 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6)
<stopped due to a power outage>
# git log --oneline -1
92ead7ee30c8 (HEAD -> perf/urgent) perf tools: Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE]
# perf version
perf version 4.17.g92ead7
# uname -a
Linux jouet 4.17.0-rc5 #21 SMP Mon May 14 15:35:35 -03 2018 x86_64 x86_64 x86_64 GNU/Linux
# perf test
1: vmlinux symtab matches kallsyms : Ok
2: Detect openat syscall event : Ok
3: Detect openat syscall event on all cpus : Ok
4: Read samples using the mmap interface : Ok
5: Test data source output : Ok
6: Parse event definition strings : Ok
7: Simple expression parser : Ok
8: PERF_RECORD_* events & perf_sample fields : Ok
9: Parse perf pmu format : Ok
10: DSO data read : Ok
11: DSO data cache : Ok
12: DSO data reopen : Ok
13: Roundtrip evsel->name : Ok
14: Parse sched tracepoints fields : Ok
15: syscalls:sys_enter_openat event fields : Ok
16: Setup struct perf_event_attr : Ok
17: Match and link multiple hists : Ok
18: 'import perf' in python : Ok
19: Breakpoint overflow signal handler : Ok
20: Breakpoint overflow sampling : Ok
21: Breakpoint accounting : Ok
22: Number of exit events of a simple workload : Ok
23: Software clock events period values : Ok
24: Object code reading : Ok
25: Sample parsing : Ok
26: Use a dummy software event to keep tracking : Ok
27: Parse with no sample_id_all bit set : Ok
28: Filter hist entries : Ok
29: Lookup mmap thread : Ok
30: Share thread mg : Ok
31: Sort output of hist entries : Ok
32: Cumulate child hist entries : Ok
33: Track with sched_switch : Ok
34: Filter fds with revents mask in a fdarray : Ok
35: Add fd to a fdarray, making it autogrow : Ok
36: kmod_path__parse : Ok
37: Thread map : Ok
38: LLVM search and compile :
38.1: Basic BPF llvm compile : Ok
38.2: kbuild searching : Ok
38.3: Compile source for BPF prologue generation : Ok
38.4: Compile source for BPF relocation : Ok
39: Session topology : Ok
40: BPF filter :
40.1: Basic BPF filtering : Ok
40.2: BPF pinning : Ok
40.3: BPF prologue generation : Ok
40.4: BPF relocation checker : Ok
41: Synthesize thread map : Ok
42: Remove thread map : Ok
43: Synthesize cpu map : Ok
44: Synthesize stat config : Ok
45: Synthesize stat : Ok
46: Synthesize stat round : Ok
47: Synthesize attr update : Ok
48: Event times : Ok
49: Read backward ring buffer : Ok
50: Print cpu map : Ok
51: Probe SDT events : Ok
52: is_printable_array : Ok
53: Print bitmap : Ok
54: perf hooks : Ok
55: builtin clang support : Skip (not compiled in)
56: unit_number__scnprintf : Ok
57: mem2node : Ok
58: x86 rdpmc : Ok
59: Convert perf time to TSC : Ok
60: DWARF unwind : Ok
61: x86 instruction decoder - new instructions : Ok
62: Use vfs_getname probe to get syscall args filenames : Ok
63: Check open filename arg using perf trace + vfs_getname: Ok
64: probe libc's inet_pton & backtrace it with ping : Ok
65: Add vfs_getname probe to get syscall args filenames : Ok
#
$ make -C tools/perf build-test
make: Entering directory '/home/acme/git/perf/tools/perf'
- tarpkg: ./tests/perf-targz-src-pkg .
make_install_prefix_O: make install prefix=/tmp/krava
make_install_O: make install
make_clean_all_O: make clean all
make_no_libnuma_O: make NO_LIBNUMA=1
make_perf_o_O: make perf.o
make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
make_no_libelf_O: make NO_LIBELF=1
make_no_demangle_O: make NO_DEMANGLE=1
make_no_libbionic_O: make NO_LIBBIONIC=1
make_with_babeltrace_O: make LIBBABELTRACE=1
make_pure_O: make
make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
make_util_map_o_O: make util/map.o
make_util_pmu_bison_o_O: make util/pmu-bison.o
make_install_bin_O: make install-bin
make_install_prefix_slash_O: make install prefix=/tmp/krava/
make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
make_doc_O: make doc
make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
make_tags_O: make tags
make_static_O: make LDFLAGS=-static
make_no_slang_O: make NO_SLANG=1
make_no_libbpf_O: make NO_LIBBPF=1
make_no_libperl_O: make NO_LIBPERL=1
make_debug_O: make DEBUG=1
make_no_libunwind_O: make NO_LIBUNWIND=1
make_no_libaudit_O: make NO_LIBAUDIT=1
make_no_newt_O: make NO_NEWT=1
make_no_libpython_O: make NO_LIBPYTHON=1
make_no_backtrace_O: make NO_BACKTRACE=1
make_help_O: make help
make_with_clangllvm_O: make LIBCLANGLLVM=1
make_no_gtk2_O: make NO_GTK2=1
make_no_auxtrace_O: make NO_AUXTRACE=1
OK
make: Leaving directory '/home/acme/git/perf/tools/perf'
$
Hello Greg,
Following up on our discussion during the review of
kernel 4.4.138-stable, I have backported a few
patches that remove the remaining FPU lazy mode deadcode
from 4.4.y and 4.9.y. To avoid confusion I will send the
explanation on separate e-mails:
Patches for 4.9.y:
[PATCH 1/4] x86/fpu: Remove use_eager_fpu()
-> I only had to solve a small conflict caused by the fact that
commit b22cbe404a9c ("x86/fpu: Fix invalid FPU ptrace state after execve()")
had been applied before (it was supposed to come after)
[PATCH 2/4] x86/fpu: Remove struct fpu::counter
-> This is just a git cherry-pick of 3913cc350757 ("x86/fpu: Remove struct fpu::counter")
which applies cleanly on 4.9.y. You can cherry-pick it instead of applying my patch.
[PATCH 3/4] Revert "perf: sync up x86/.../cpufeatures.h"
-> Sorry to revert your patch ;). This was just for the next patch to apply cleanly.
[PATCH 4/4] x86/fpu: Finish excising 'eagerfpu'
-> Again you can use a cherry pick of e63650840e8b ("x86/fpu: Finish excising 'eagerfpu'")
instead of applying my patch.
Tested on x86_64 only with:
- ./runltp -f math (all tests pass)
- IEEE 754 tests (no regressions seen)
Ref: http://www.math.utah.edu/~beebe/software/ieee/
[Note] I could not prepare a x86 32-bit machine to test no387
[Note] If someone knows better about testing the FPU please let me know.
Best regards,
Daniel Sangorrin
PS: Using git send-email --cc-cmd="scripts/get_maintainer.pl" for the first time. Apologies if this is not the right method.
I'm announcing the release of the 4.9.110 kernel.
All users of the 4.9 kernel series must upgrade.
The updated 4.9.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.9.y
and can be browsed at the normal kernel.org git web browser:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/devicetree/bindings/net/dsa/b53.txt | 1
Makefile | 2 -
drivers/ata/libata-core.c | 3 -
drivers/ata/libata-zpodd.c | 4 +-
drivers/atm/zatm.c | 4 +-
drivers/base/core.c | 14 +++++++-
drivers/cpufreq/cpufreq.c | 2 +
drivers/hid/intel-ish-hid/ipc/pci-ish.c | 22 ++++---------
drivers/net/bonding/bond_options.c | 1
drivers/net/dsa/b53/b53_common.c | 13 +++++++
drivers/net/dsa/b53/b53_mdio.c | 5 ++-
drivers/net/dsa/b53/b53_priv.h | 1
drivers/net/ethernet/natsemi/sonic.c | 2 -
drivers/net/usb/qmi_wwan.c | 1
drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 10 +++---
drivers/platform/x86/asus-wmi.c | 23 +++++++-------
drivers/usb/musb/musb_host.c | 5 ++-
drivers/usb/musb/musb_host.h | 7 +++-
drivers/usb/musb/musb_virthub.c | 25 +++++++++------
drivers/vhost/vhost.c | 3 +
drivers/w1/masters/mxc_w1.c | 20 +++++++-----
fs/binfmt_misc.c | 12 +++++--
fs/btrfs/ioctl.c | 18 ++++++-----
fs/btrfs/scrub.c | 2 -
fs/cifs/smb2pdu.c | 1
fs/ext4/indirect.c | 14 ++++++--
fs/ext4/inode.c | 36 +++++++++++-----------
fs/ext4/resize.c | 2 -
fs/orangefs/namei.c | 7 ++++
net/bridge/netfilter/ebtables.c | 3 +
net/ipv4/tcp_input.c | 2 -
net/ipv4/tcp_ipv4.c | 4 ++
net/ipv6/route.c | 3 -
net/ipv6/tcp_ipv6.c | 4 ++
net/ipv6/xfrm6_policy.c | 2 -
net/netfilter/ipvs/ip_vs_ctl.c | 21 +++++++++---
net/sched/act_simple.c | 15 +++------
sound/pci/hda/hda_controller.c | 4 +-
sound/pci/hda/patch_conexant.c | 2 +
sound/pci/hda/patch_realtek.c | 8 ++++
tools/objtool/.gitignore | 2 -
41 files changed, 211 insertions(+), 119 deletions(-)
Bo Chen (1):
ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream()
Colin Ian King (1):
libata: zpodd: make arrays cdb static, reduces object code size
Damien Thébault (1):
net: dsa: b53: Add BCM5389 support
Dan Carpenter (1):
libata: zpodd: small read overflow in eject_tray()
Daniel Glöckner (1):
usb: musb: fix remote wakeup racing with suspend
Davide Caratti (1):
net/sched: act_simple: fix parsing of TCA_DEF_DATA
Dennis Wassenberg (2):
ALSA: hda: add dock and led support for HP EliteBook 830 G5
ALSA: hda: add dock and led support for HP ProBook 640 G4
Eric Dumazet (2):
xfrm6: avoid potential infinite loop in _decode_session6()
tcp: do not overshoot window_clamp in tcp_rcv_space_adjust()
Even Xu (1):
HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation
Finn Thain (1):
net/sonic: Use dma_mapping_error()
Frank van der Linden (1):
tcp: verify the checksum of the first data segment in a new connection
Greg Kroah-Hartman (2):
objtool: update .gitignore file
Linux 4.9.110
Hans de Goede (1):
libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk
Hao Wei Tee (1):
iwlwifi: pcie: compare with number of IRQs requested for, not number of CPUs
Ivan Bornyakov (1):
atm: zatm: fix memcmp casting
Jan Kara (2):
ext4: fix hole length detection in ext4_ind_map_blocks()
ext4: fix fencepost error in check for inode count overflow during resize
Josh Hill (1):
net: qmi_wwan: Add Netgear Aircard 779S
João Paulo Rechi Vita (1):
platform/x86: asus-wmi: Fix NULL pointer dereference
Julian Anastasov (2):
ipvs: fix buffer overflow with sync daemon and service
ipv6: allow PMTU exceptions to local routes
Kailang Yang (1):
ALSA: hda/realtek - New codec support for ALC257
Liu Bo (1):
Btrfs: make raid6 rebuild retry more
Lukas Czerner (1):
ext4: update mtime in ext4_punch_hole even if no blocks are released
Martin Brandenburg (1):
orangefs: set i_size on new symlink
Michael S. Tsirkin (1):
vhost: fix info leak due to uninitialized memory
Omar Sandoval (2):
Btrfs: fix clone vs chattr NODATASUM race
Btrfs: fix memory and mount leak in btrfs_ioctl_rm_dev_v2()
Paolo Abeni (1):
netfilter: ebtables: handle string from userspace with care
Qu Wenruo (1):
btrfs: scrub: Don't use inode pages for device replace
Sasha Levin (1):
Revert "Btrfs: fix scrub to repair raid6 corruption"
Stefan Potyra (1):
w1: mxc_w1: Enable clock before calling clk_get_rate() on it
Steve French (1):
smb3: on reconnect set PreviousSessionId field
Tao Wang (1):
cpufreq: Fix new policy initialization during limits updates via sysfs
Tetsuo Handa (1):
driver core: Don't ignore class_dir_create_and_add() failure.
Thadeu Lima de Souza Cascardo (1):
fs/binfmt_misc.c: do not allow offset overflow
Xiangning Yu (1):
bonding: re-evaluate force_primary when the primary slave name changes
I'm announcing the release of the 4.14.52 kernel.
All users of the 4.14 kernel series must upgrade.
The updated 4.14.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.14.y
and can be browsed at the normal kernel.org git web browser:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2
arch/x86/kernel/cpu/intel_rdt.c | 2
arch/x86/kernel/cpu/mcheck/mce-inject.c | 2
block/blk-mq.c | 3
drivers/ata/libata-core.c | 3
drivers/ata/libata-zpodd.c | 2
drivers/base/core.c | 14 ++
drivers/block/nbd.c | 17 ++
drivers/cpufreq/cpufreq.c | 2
drivers/cpufreq/cpufreq_governor.c | 12 --
drivers/hid/intel-ish-hid/ipc/pci-ish.c | 22 +--
drivers/hid/wacom_sys.c | 8 +
drivers/net/bonding/bond_options.c | 1
drivers/net/hyperv/netvsc_drv.c | 4
drivers/net/tap.c | 5
drivers/net/tun.c | 3
drivers/net/usb/cdc_ncm.c | 4
drivers/net/virtio_net.c | 3
drivers/net/wireless/intel/iwlwifi/fw/paging.c | 49 ++++++--
drivers/vhost/vhost.c | 3
drivers/w1/masters/mxc_w1.c | 20 ++-
fs/binfmt_misc.c | 12 +-
fs/btrfs/inode.c | 4
fs/btrfs/ioctl.c | 18 +--
fs/btrfs/scrub.c | 2
fs/cifs/cifsacl.h | 14 ++
fs/cifs/smb2ops.c | 68 +++++++----
fs/cifs/smb2pdu.c | 4
fs/ext4/indirect.c | 14 +-
fs/ext4/inline.c | 6 +
fs/ext4/inode.c | 46 ++++---
fs/ext4/resize.c | 2
fs/ext4/xattr.c | 2
fs/nfs/nfs4_fs.h | 2
fs/nfs/nfs4proc.c | 148 +++++++++++++++++--------
fs/orangefs/inode.c | 7 +
fs/orangefs/namei.c | 7 +
include/linux/virtio_net.h | 11 -
include/net/transp_v6.h | 11 +
include/net/udp.h | 5
mm/backing-dev.c | 18 ++-
mm/page_alloc.c | 1
net/dsa/tag_trailer.c | 3
net/ipv4/tcp_ipv4.c | 4
net/ipv4/udp.c | 2
net/ipv4/udp_diag.c | 2
net/ipv6/datagram.c | 6 -
net/ipv6/route.c | 3
net/ipv6/tcp_ipv6.c | 4
net/ipv6/udp.c | 3
net/packet/af_packet.c | 4
net/sched/act_simple.c | 15 +-
net/socket.c | 18 ++-
net/tls/tls_sw.c | 26 ++--
sound/pci/hda/hda_controller.c | 4
sound/pci/hda/patch_conexant.c | 3
sound/pci/hda/patch_realtek.c | 6 -
57 files changed, 472 insertions(+), 214 deletions(-)
Bjørn Mork (1):
cdc_ncm: avoid padding beyond end of skb
Bo Chen (1):
ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream()
Chen Yu (1):
cpufreq: governors: Fix long idle detection logic in load calculation
Cong Wang (1):
socket: close race condition between sock_close() and sockfs_setattr()
Dan Carpenter (1):
libata: zpodd: small read overflow in eject_tray()
Daniel Borkmann (1):
tls: fix use-after-free in tls_push_record
Davide Caratti (1):
net/sched: act_simple: fix parsing of TCA_DEF_DATA
Dennis Wassenberg (2):
ALSA: hda: add dock and led support for HP EliteBook 830 G5
ALSA: hda: add dock and led support for HP ProBook 640 G4
Dexuan Cui (1):
hv_netvsc: Fix a network regression after ifdown/ifup
Even Xu (1):
HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation
Frank van der Linden (1):
tcp: verify the checksum of the first data segment in a new connection
Greg Kroah-Hartman (1):
Linux 4.14.52
Hans de Goede (1):
libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk
Hui Wang (1):
ALSA: hda/realtek - Enable mic-mute hotkey for several Lenovo AIOs
Jan Kara (2):
ext4: fix hole length detection in ext4_ind_map_blocks()
ext4: fix fencepost error in check for inode count overflow during resize
Jason Gerecke (1):
HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large
Josef Bacik (3):
nbd: fix nbd device deletion
nbd: update size when connected
nbd: use bd_set_size when updating disk size
Julian Anastasov (1):
ipv6: allow PMTU exceptions to local routes
Luca Coelho (1):
iwlwifi: fw: harden page loading code
Lukas Czerner (1):
ext4: update mtime in ext4_punch_hole even if no blocks are released
Mark Syms (1):
CIFS: 511c54a2f69195b28afb9dd119f03787b1625bb4 adds a check for session expiry
Martin Brandenburg (2):
orangefs: set i_size on new symlink
orangefs: report attributes_mask and attributes for statx
Michael S. Tsirkin (1):
vhost: fix info leak due to uninitialized memory
Omar Sandoval (2):
Btrfs: fix clone vs chattr NODATASUM race
Btrfs: fix memory and mount leak in btrfs_ioctl_rm_dev_v2()
Paolo Abeni (1):
udp: fix rx queue len reported by diag and proc interface
Qu Wenruo (1):
btrfs: scrub: Don't use inode pages for device replace
Roman Pen (1):
blk-mq: reinit q->tag_set_list entry only after grace period
Shirish Pargaonkar (1):
cifs: For SMB2 security informaion query, check for minimum sized security descriptor instead of sizeof FileAllInformation class
Stefan Potyra (1):
w1: mxc_w1: Enable clock before calling clk_get_rate() on it
Steve French (2):
smb3: fix various xid leaks
smb3: on reconnect set PreviousSessionId field
Su Yue (1):
btrfs: return error value if create_io_em failed in cow_file_range
Takashi Iwai (1):
ALSA: hda/conexant - Add fixup for HP Z2 G4 workstation
Tao Wang (1):
cpufreq: Fix new policy initialization during limits updates via sysfs
Tejun Heo (1):
bdi: Move cgroup bdi_writeback to a dedicated low concurrency workqueue
Tetsuo Handa (1):
driver core: Don't ignore class_dir_create_and_add() failure.
Thadeu Lima de Souza Cascardo (1):
fs/binfmt_misc.c: do not allow offset overflow
Theodore Ts'o (3):
ext4: do not allow external inodes for inline data
ext4: bubble errors from ext4_find_inline_data_nolock() up to ext4_iget()
ext4: correctly handle a zero-length xattr with a non-zero e_value_offs
Tony Luck (2):
x86/MCE: Fix stack out-of-bounds write in mce-inject.c: Flags_read()
x86/intel_rdt: Enable CMT and MBM on new Skylake stepping
Trond Myklebust (1):
NFSv4.1: Fix up replays of interrupted requests
Vlastimil Babka (1):
mm, page_alloc: do not break __GFP_THISNODE by zonelist reset
Willem de Bruijn (1):
net: in virtio_net_hdr only add VLAN_HLEN to csum_start if payload holds vlan
Xiangning Yu (1):
bonding: re-evaluate force_primary when the primary slave name changes
Zhouyang Jia (1):
net: dsa: add error handling for pskb_trim_rcsum
---------------------
Note, this is the LAST 4.16.y kernel release. This branch is now
end-of-life. Please move to the 4.17.y kernel now.
---------------------
I'm announcing the release of the 4.16.18 kernel.
All users of the 4.16 kernel series must upgrade.
The updated 4.16.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.16.y
and can be browsed at the normal kernel.org git web browser:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2
arch/x86/include/asm/apic.h | 2
arch/x86/include/asm/trace/irq_vectors.h | 2
arch/x86/kernel/apic/io_apic.c | 2
arch/x86/kernel/apic/vector.c | 18 +++++-
arch/x86/kernel/cpu/intel_rdt.c | 2
arch/x86/kernel/cpu/mcheck/mce-inject.c | 2
arch/x86/platform/uv/uv_irq.c | 7 --
block/blk-mq.c | 3 -
drivers/ata/libata-core.c | 3 -
drivers/ata/libata-zpodd.c | 2
drivers/base/core.c | 14 ++++-
drivers/block/nbd.c | 17 +++++-
drivers/cpufreq/cpufreq.c | 2
drivers/cpufreq/cpufreq_governor.c | 12 +---
drivers/cpufreq/ti-cpufreq.c | 2
drivers/hid/intel-ish-hid/ipc/pci-ish.c | 22 ++------
drivers/hid/wacom_sys.c | 8 ++
drivers/iommu/amd_iommu.c | 2
drivers/iommu/intel_irq_remapping.c | 2
drivers/iommu/irq_remapping.c | 5 -
drivers/iommu/irq_remapping.h | 2
drivers/net/bonding/bond_options.c | 1
drivers/net/hyperv/netvsc_drv.c | 4 +
drivers/net/phy/dp83848.c | 35 ++++++++++--
drivers/net/tap.c | 5 +
drivers/net/tun.c | 3 -
drivers/net/usb/cdc_ncm.c | 4 -
drivers/net/virtio_net.c | 3 -
drivers/net/wireless/intel/iwlwifi/fw/paging.c | 49 +++++++++++++++---
drivers/nvme/host/pci.c | 11 +++-
drivers/vhost/vhost.c | 3 +
drivers/w1/masters/mxc_w1.c | 20 ++++---
fs/binfmt_misc.c | 12 +++-
fs/btrfs/inode.c | 4 +
fs/btrfs/ioctl.c | 18 ++++--
fs/btrfs/scrub.c | 2
fs/cifs/cifsacl.h | 14 +++++
fs/cifs/smb2ops.c | 68 +++++++++++++++++--------
fs/cifs/smb2pdu.c | 4 -
fs/ext4/indirect.c | 14 +++--
fs/ext4/inline.c | 6 ++
fs/ext4/inode.c | 46 +++++++++-------
fs/ext4/resize.c | 2
fs/ext4/xattr.c | 2
fs/orangefs/inode.c | 7 ++
fs/orangefs/namei.c | 7 ++
include/linux/irq.h | 7 ++
include/linux/virtio_net.h | 11 +---
include/net/transp_v6.h | 11 +++-
include/net/udp.h | 5 +
kernel/irq/manage.c | 37 ++++++++++++-
kernel/irq/migration.c | 31 +++++++----
mm/backing-dev.c | 18 ++++++
mm/page_alloc.c | 1
net/dsa/tag_trailer.c | 3 -
net/ipv4/tcp_ipv4.c | 4 +
net/ipv4/udp.c | 2
net/ipv4/udp_diag.c | 2
net/ipv6/datagram.c | 6 +-
net/ipv6/route.c | 3 -
net/ipv6/tcp_ipv6.c | 4 +
net/ipv6/udp.c | 3 -
net/packet/af_packet.c | 4 -
net/sched/act_simple.c | 15 ++---
net/socket.c | 18 +++++-
net/tls/tls_sw.c | 26 ++++-----
sound/pci/hda/hda_controller.c | 4 +
sound/pci/hda/patch_conexant.c | 3 +
sound/pci/hda/patch_realtek.c | 6 +-
sound/usb/quirks-table.h | 5 +
71 files changed, 497 insertions(+), 209 deletions(-)
Alvaro Gamez Machado (1):
net: phy: dp83822: use BMCR_ANENABLE instead of BMSR_ANEGCAPABLE for DP83620
Bjørn Mork (1):
cdc_ncm: avoid padding beyond end of skb
Bo Chen (1):
ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream()
Chen Yu (1):
cpufreq: governors: Fix long idle detection logic in load calculation
Cong Wang (1):
socket: close race condition between sock_close() and sockfs_setattr()
Dan Carpenter (1):
libata: zpodd: small read overflow in eject_tray()
Daniel Borkmann (1):
tls: fix use-after-free in tls_push_record
Davide Caratti (1):
net/sched: act_simple: fix parsing of TCA_DEF_DATA
Dennis Wassenberg (2):
ALSA: hda: add dock and led support for HP EliteBook 830 G5
ALSA: hda: add dock and led support for HP ProBook 640 G4
Dexuan Cui (1):
hv_netvsc: Fix a network regression after ifdown/ifup
Dou Liyang (1):
x86/vector: Fix the args of vector_alloc tracepoint
Even Xu (1):
HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation
Frank van der Linden (1):
tcp: verify the checksum of the first data segment in a new connection
Greg Kroah-Hartman (1):
Linux 4.16.18
Hans de Goede (1):
libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk
Hui Wang (1):
ALSA: hda/realtek - Enable mic-mute hotkey for several Lenovo AIOs
Jan Kara (2):
ext4: fix hole length detection in ext4_ind_map_blocks()
ext4: fix fencepost error in check for inode count overflow during resize
Jason Gerecke (1):
HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large
Josef Bacik (3):
nbd: fix nbd device deletion
nbd: update size when connected
nbd: use bd_set_size when updating disk size
Julian Anastasov (1):
ipv6: allow PMTU exceptions to local routes
Keith Busch (1):
nvme/pci: Sync controller reset for AER slot_reset
Luca Coelho (1):
iwlwifi: fw: harden page loading code
Lukas Czerner (1):
ext4: update mtime in ext4_punch_hole even if no blocks are released
Mark Syms (1):
CIFS: 511c54a2f69195b28afb9dd119f03787b1625bb4 adds a check for session expiry
Martin Brandenburg (2):
orangefs: set i_size on new symlink
orangefs: report attributes_mask and attributes for statx
Michael S. Tsirkin (1):
vhost: fix info leak due to uninitialized memory
Omar Sandoval (2):
Btrfs: fix clone vs chattr NODATASUM race
Btrfs: fix memory and mount leak in btrfs_ioctl_rm_dev_v2()
Paolo Abeni (1):
udp: fix rx queue len reported by diag and proc interface
Qu Wenruo (1):
btrfs: scrub: Don't use inode pages for device replace
Roman Pen (1):
blk-mq: reinit q->tag_set_list entry only after grace period
Shirish Pargaonkar (1):
cifs: For SMB2 security informaion query, check for minimum sized security descriptor instead of sizeof FileAllInformation class
Stefan Potyra (1):
w1: mxc_w1: Enable clock before calling clk_get_rate() on it
Steve French (2):
smb3: fix various xid leaks
smb3: on reconnect set PreviousSessionId field
Su Yue (1):
btrfs: return error value if create_io_em failed in cow_file_range
Suman Anna (1):
cpufreq: ti-cpufreq: Fix an incorrect error return value
Takashi Iwai (2):
ALSA: usb-audio: Disable the quirk for Nura headset
ALSA: hda/conexant - Add fixup for HP Z2 G4 workstation
Tao Wang (1):
cpufreq: Fix new policy initialization during limits updates via sysfs
Tejun Heo (1):
bdi: Move cgroup bdi_writeback to a dedicated low concurrency workqueue
Tetsuo Handa (1):
driver core: Don't ignore class_dir_create_and_add() failure.
Thadeu Lima de Souza Cascardo (1):
fs/binfmt_misc.c: do not allow offset overflow
Theodore Ts'o (3):
ext4: do not allow external inodes for inline data
ext4: bubble errors from ext4_find_inline_data_nolock() up to ext4_iget()
ext4: correctly handle a zero-length xattr with a non-zero e_value_offs
Thomas Gleixner (8):
x86/apic/vector: Prevent hlist corruption and leaks
x86/apic: Provide apic_ack_irq()
x86/ioapic: Use apic_ack_irq()
x86/platform/uv: Use apic_ack_irq()
irq_remapping: Use apic_ack_irq()
genirq/generic_pending: Do not lose pending affinity update
genirq/affinity: Defer affinity setting if irq chip is busy
genirq/migration: Avoid out of line call if pending is not set
Tony Luck (2):
x86/MCE: Fix stack out-of-bounds write in mce-inject.c: Flags_read()
x86/intel_rdt: Enable CMT and MBM on new Skylake stepping
Vlastimil Babka (1):
mm, page_alloc: do not break __GFP_THISNODE by zonelist reset
Willem de Bruijn (1):
net: in virtio_net_hdr only add VLAN_HLEN to csum_start if payload holds vlan
Xiangning Yu (1):
bonding: re-evaluate force_primary when the primary slave name changes
Zhouyang Jia (1):
net: dsa: add error handling for pskb_trim_rcsum
I'm announcing the release of the 4.17.3 kernel.
All users of the 4.17 kernel series must upgrade.
The updated 4.17.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.17.y
and can be browsed at the normal kernel.org git web browser:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2
arch/um/drivers/vector_transports.c | 3
arch/x86/include/asm/apic.h | 2
arch/x86/include/asm/trace/irq_vectors.h | 2
arch/x86/kernel/apic/io_apic.c | 2
arch/x86/kernel/apic/vector.c | 18 ++++-
arch/x86/kernel/cpu/intel_rdt.c | 2
arch/x86/kernel/cpu/mcheck/mce-inject.c | 2
arch/x86/platform/uv/uv_irq.c | 7 -
block/blk-mq.c | 3
drivers/acpi/acpica/psloop.c | 51 +++++++++++++-
drivers/acpi/acpica/psobject.c | 30 ++++++++
drivers/acpi/acpica/uterror.c | 10 +-
drivers/ata/libata-core.c | 3
drivers/ata/libata-zpodd.c | 2
drivers/base/core.c | 14 +++
drivers/block/nbd.c | 17 ++++
drivers/cpufreq/cpufreq.c | 2
drivers/cpufreq/cpufreq_governor.c | 12 +--
drivers/cpufreq/ti-cpufreq.c | 2
drivers/hid/intel-ish-hid/ipc/pci-ish.c | 22 +-----
drivers/hid/wacom_sys.c | 8 ++
drivers/iommu/amd_iommu.c | 2
drivers/iommu/intel_irq_remapping.c | 2
drivers/iommu/irq_remapping.c | 5 -
drivers/iommu/irq_remapping.h | 2
drivers/media/rc/rc-main.c | 4 -
drivers/media/usb/uvc/uvc_ctrl.c | 17 ++--
drivers/net/bonding/bond_options.c | 1
drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c | 11 +--
drivers/net/hyperv/netvsc_drv.c | 4 -
drivers/net/phy/dp83848.c | 35 ++++++++-
drivers/net/tap.c | 5 +
drivers/net/tun.c | 3
drivers/net/usb/cdc_ncm.c | 4 -
drivers/net/virtio_net.c | 3
drivers/net/wireless/intel/iwlwifi/fw/paging.c | 49 +++++++++++--
drivers/nvme/host/pci.c | 11 ++-
drivers/vhost/vhost.c | 3
drivers/w1/masters/mxc_w1.c | 20 +++--
fs/binfmt_misc.c | 12 ++-
fs/btrfs/inode.c | 4 -
fs/btrfs/ioctl.c | 18 +++--
fs/btrfs/scrub.c | 2
fs/btrfs/super.c | 3
fs/cifs/cifsacl.h | 14 +++
fs/cifs/smb2ops.c | 68 +++++++++++++------
fs/cifs/smb2pdu.c | 4 -
fs/ext4/indirect.c | 14 ++-
fs/ext4/inline.c | 6 +
fs/ext4/inode.c | 46 ++++++------
fs/ext4/resize.c | 2
fs/ext4/xattr.c | 2
fs/orangefs/inode.c | 7 +
fs/orangefs/namei.c | 7 +
include/linux/irq.h | 7 +
include/linux/virtio_net.h | 11 +--
include/net/transp_v6.h | 11 ++-
include/net/udp.h | 5 +
kernel/irq/manage.c | 37 +++++++++-
kernel/irq/migration.c | 31 +++++---
mm/backing-dev.c | 18 ++++-
mm/page_alloc.c | 1
net/dsa/tag_trailer.c | 3
net/ipv4/tcp_ipv4.c | 4 +
net/ipv4/udp.c | 2
net/ipv4/udp_diag.c | 2
net/ipv6/datagram.c | 6 -
net/ipv6/route.c | 3
net/ipv6/tcp_ipv6.c | 4 +
net/ipv6/udp.c | 3
net/packet/af_packet.c | 4 -
net/sched/act_simple.c | 15 +---
net/socket.c | 18 ++++-
net/tls/tls_sw.c | 32 +++++---
sound/pci/hda/hda_controller.c | 4 -
sound/pci/hda/patch_conexant.c | 3
sound/pci/hda/patch_realtek.c | 6 +
sound/usb/quirks-table.h | 5 +
79 files changed, 608 insertions(+), 233 deletions(-)
Alvaro Gamez Machado (1):
net: phy: dp83822: use BMCR_ANENABLE instead of BMSR_ANEGCAPABLE for DP83620
Bjørn Mork (1):
cdc_ncm: avoid padding beyond end of skb
Bo Chen (1):
ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream()
Chen Yu (1):
cpufreq: governors: Fix long idle detection logic in load calculation
Colin Ian King (1):
net: aquantia: fix unsigned numvecs comparison with less than zero
Cong Wang (1):
socket: close race condition between sock_close() and sockfs_setattr()
Dan Carpenter (1):
libata: zpodd: small read overflow in eject_tray()
Daniel Borkmann (2):
tls: fix use-after-free in tls_push_record
tls: fix waitall behavior in tls_sw_recvmsg
Davide Caratti (1):
net/sched: act_simple: fix parsing of TCA_DEF_DATA
Dennis Wassenberg (2):
ALSA: hda: add dock and led support for HP EliteBook 830 G5
ALSA: hda: add dock and led support for HP ProBook 640 G4
Dexuan Cui (1):
hv_netvsc: Fix a network regression after ifdown/ifup
Dou Liyang (1):
x86/vector: Fix the args of vector_alloc tracepoint
Erik Schmauss (1):
ACPICA: AML parser: attempt to continue loading table after error
Even Xu (1):
HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation
Frank van der Linden (1):
tcp: verify the checksum of the first data segment in a new connection
Greg Kroah-Hartman (1):
Linux 4.17.3
Hans de Goede (1):
libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk
Hui Wang (1):
ALSA: hda/realtek - Enable mic-mute hotkey for several Lenovo AIOs
Jan Kara (2):
ext4: fix hole length detection in ext4_ind_map_blocks()
ext4: fix fencepost error in check for inode count overflow during resize
Jason Gerecke (1):
HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large
Josef Bacik (3):
nbd: fix nbd device deletion
nbd: update size when connected
nbd: use bd_set_size when updating disk size
Julian Anastasov (1):
ipv6: allow PMTU exceptions to local routes
Keith Busch (1):
nvme/pci: Sync controller reset for AER slot_reset
Kieran Bingham (1):
media: uvcvideo: Prevent setting unavailable flags
Luca Coelho (1):
iwlwifi: fw: harden page loading code
Lukas Czerner (1):
ext4: update mtime in ext4_punch_hole even if no blocks are released
Mark Syms (1):
CIFS: 511c54a2f69195b28afb9dd119f03787b1625bb4 adds a check for session expiry
Martin Brandenburg (2):
orangefs: set i_size on new symlink
orangefs: report attributes_mask and attributes for statx
Michael S. Tsirkin (1):
vhost: fix info leak due to uninitialized memory
Omar Sandoval (3):
Btrfs: allow empty subvol= again
Btrfs: fix clone vs chattr NODATASUM race
Btrfs: fix memory and mount leak in btrfs_ioctl_rm_dev_v2()
Paolo Abeni (1):
udp: fix rx queue len reported by diag and proc interface
Qu Wenruo (1):
btrfs: scrub: Don't use inode pages for device replace
Roman Pen (1):
blk-mq: reinit q->tag_set_list entry only after grace period
Sean Young (1):
media: rc: ensure input/lirc device can be opened after register
Shirish Pargaonkar (1):
cifs: For SMB2 security informaion query, check for minimum sized security descriptor instead of sizeof FileAllInformation class
Stefan Potyra (1):
w1: mxc_w1: Enable clock before calling clk_get_rate() on it
Steve French (2):
smb3: fix various xid leaks
smb3: on reconnect set PreviousSessionId field
Su Yue (1):
btrfs: return error value if create_io_em failed in cow_file_range
Suman Anna (1):
cpufreq: ti-cpufreq: Fix an incorrect error return value
Takashi Iwai (2):
ALSA: usb-audio: Disable the quirk for Nura headset
ALSA: hda/conexant - Add fixup for HP Z2 G4 workstation
Tao Wang (1):
cpufreq: Fix new policy initialization during limits updates via sysfs
Tejun Heo (1):
bdi: Move cgroup bdi_writeback to a dedicated low concurrency workqueue
Tetsuo Handa (1):
driver core: Don't ignore class_dir_create_and_add() failure.
Thadeu Lima de Souza Cascardo (1):
fs/binfmt_misc.c: do not allow offset overflow
Theodore Ts'o (3):
ext4: do not allow external inodes for inline data
ext4: bubble errors from ext4_find_inline_data_nolock() up to ext4_iget()
ext4: correctly handle a zero-length xattr with a non-zero e_value_offs
Thomas Gleixner (8):
x86/apic/vector: Prevent hlist corruption and leaks
x86/apic: Provide apic_ack_irq()
x86/ioapic: Use apic_ack_irq()
x86/platform/uv: Use apic_ack_irq()
irq_remapping: Use apic_ack_irq()
genirq/generic_pending: Do not lose pending affinity update
genirq/affinity: Defer affinity setting if irq chip is busy
genirq/migration: Avoid out of line call if pending is not set
Tony Luck (2):
x86/MCE: Fix stack out-of-bounds write in mce-inject.c: Flags_read()
x86/intel_rdt: Enable CMT and MBM on new Skylake stepping
Vlastimil Babka (1):
mm, page_alloc: do not break __GFP_THISNODE by zonelist reset
Willem de Bruijn (1):
net: in virtio_net_hdr only add VLAN_HLEN to csum_start if payload holds vlan
Xiangning Yu (1):
bonding: re-evaluate force_primary when the primary slave name changes
Zhouyang Jia (1):
net: dsa: add error handling for pskb_trim_rcsum