The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 5f2efda71c09b12012053f457fac7692f268b72c Mon Sep 17 00:00:00 2001
From: Koen Vandeputte <koen.vandeputte(a)ncentric.com>
Date: Mon, 18 Mar 2019 12:40:05 -0400
Subject: [PATCH] media: i2c: tda1997x: select V4L2_FWNODE
Building tda1997x fails now unless V4L2_FWNODE is selected:
drivers/media/i2c/tda1997x.o: in function `tda1997x_parse_dt'
undefined reference to `v4l2_fwnode_endpoint_parse'
While at it, also sort the selections alphabetically
Fixes: 9ac0038db9a7 ("media: i2c: Add TDA1997x HDMI receiver driver")
Signed-off-by: Koen Vandeputte <koen.vandeputte(a)ncentric.com>
Cc: stable(a)vger.kernel.org # v4.17+
Acked-by: Sakari Ailus <sakari.ailus(a)linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco(a)xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
index 1a1746b3db91..5f5c36442710 100644
--- a/drivers/media/i2c/Kconfig
+++ b/drivers/media/i2c/Kconfig
@@ -60,8 +60,9 @@ config VIDEO_TDA1997X
tristate "NXP TDA1997x HDMI receiver"
depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
depends on SND_SOC
- select SND_PCM
select HDMI
+ select SND_PCM
+ select V4L2_FWNODE
help
V4L2 subdevice driver for the NXP TDA1997x HDMI receivers.
The patch below does not apply to the 5.0-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 5f2efda71c09b12012053f457fac7692f268b72c Mon Sep 17 00:00:00 2001
From: Koen Vandeputte <koen.vandeputte(a)ncentric.com>
Date: Mon, 18 Mar 2019 12:40:05 -0400
Subject: [PATCH] media: i2c: tda1997x: select V4L2_FWNODE
Building tda1997x fails now unless V4L2_FWNODE is selected:
drivers/media/i2c/tda1997x.o: in function `tda1997x_parse_dt'
undefined reference to `v4l2_fwnode_endpoint_parse'
While at it, also sort the selections alphabetically
Fixes: 9ac0038db9a7 ("media: i2c: Add TDA1997x HDMI receiver driver")
Signed-off-by: Koen Vandeputte <koen.vandeputte(a)ncentric.com>
Cc: stable(a)vger.kernel.org # v4.17+
Acked-by: Sakari Ailus <sakari.ailus(a)linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco(a)xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
index 1a1746b3db91..5f5c36442710 100644
--- a/drivers/media/i2c/Kconfig
+++ b/drivers/media/i2c/Kconfig
@@ -60,8 +60,9 @@ config VIDEO_TDA1997X
tristate "NXP TDA1997x HDMI receiver"
depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
depends on SND_SOC
- select SND_PCM
select HDMI
+ select SND_PCM
+ select V4L2_FWNODE
help
V4L2 subdevice driver for the NXP TDA1997x HDMI receivers.
The patch below does not apply to the 5.1-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 5f2efda71c09b12012053f457fac7692f268b72c Mon Sep 17 00:00:00 2001
From: Koen Vandeputte <koen.vandeputte(a)ncentric.com>
Date: Mon, 18 Mar 2019 12:40:05 -0400
Subject: [PATCH] media: i2c: tda1997x: select V4L2_FWNODE
Building tda1997x fails now unless V4L2_FWNODE is selected:
drivers/media/i2c/tda1997x.o: in function `tda1997x_parse_dt'
undefined reference to `v4l2_fwnode_endpoint_parse'
While at it, also sort the selections alphabetically
Fixes: 9ac0038db9a7 ("media: i2c: Add TDA1997x HDMI receiver driver")
Signed-off-by: Koen Vandeputte <koen.vandeputte(a)ncentric.com>
Cc: stable(a)vger.kernel.org # v4.17+
Acked-by: Sakari Ailus <sakari.ailus(a)linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco(a)xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
index 1a1746b3db91..5f5c36442710 100644
--- a/drivers/media/i2c/Kconfig
+++ b/drivers/media/i2c/Kconfig
@@ -60,8 +60,9 @@ config VIDEO_TDA1997X
tristate "NXP TDA1997x HDMI receiver"
depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
depends on SND_SOC
- select SND_PCM
select HDMI
+ select SND_PCM
+ select V4L2_FWNODE
help
V4L2 subdevice driver for the NXP TDA1997x HDMI receivers.
The patch below does not apply to the 5.0-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From d69cb728e70c40268762182a62f5d5d6fa51c5b2 Mon Sep 17 00:00:00 2001
From: Ronnie Sahlberg <lsahlber(a)redhat.com>
Date: Wed, 1 May 2019 12:03:41 +1000
Subject: [PATCH] cifs: fix credits leak for SMB1 oplock breaks
For SMB1 oplock breaks we would grab one credit while sending the PDU
but we would never relese the credit back since we will never receive a
response to this from the server. Eventuallt this would lead to a hang
once all credits are leaked.
Fix this by defining a new flag CIFS_NO_SRV_RSP which indicates that there
is no server response to this command and thus we need to add any credits back
immediately after sending the PDU.
CC: Stable <stable(a)vger.kernel.org> #v5.0+
Signed-off-by: Ronnie Sahlberg <lsahlber(a)redhat.com>
Reviewed-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Signed-off-by: Steve French <stfrench(a)microsoft.com>
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index 5ffe0e538cec..65faad3aa69a 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -1703,6 +1703,7 @@ static inline bool is_retryable_error(int error)
#define CIFS_HAS_CREDITS 0x0400 /* already has credits */
#define CIFS_TRANSFORM_REQ 0x0800 /* transform request before sending */
+#define CIFS_NO_SRV_RSP 0x1000 /* there is no server response */
/* Security Flags: indicate type of session setup needed */
#define CIFSSEC_MAY_SIGN 0x00001
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index f43747c062a7..6050851edcb8 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -2540,7 +2540,7 @@ CIFSSMBLock(const unsigned int xid, struct cifs_tcon *tcon,
if (lockType == LOCKING_ANDX_OPLOCK_RELEASE) {
/* no response expected */
- flags = CIFS_ASYNC_OP | CIFS_OBREAK_OP;
+ flags = CIFS_NO_SRV_RSP | CIFS_ASYNC_OP | CIFS_OBREAK_OP;
pSMB->Timeout = 0;
} else if (waitFlag) {
flags = CIFS_BLOCKING_OP; /* blocking operation, no timeout */
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c
index 5c59c498f56a..5573e38b13f3 100644
--- a/fs/cifs/transport.c
+++ b/fs/cifs/transport.c
@@ -1073,8 +1073,11 @@ compound_send_recv(const unsigned int xid, struct cifs_ses *ses,
mutex_unlock(&ses->server->srv_mutex);
- if (rc < 0) {
- /* Sending failed for some reason - return credits back */
+ /*
+ * If sending failed for some reason or it is an oplock break that we
+ * will not receive a response to - return credits back
+ */
+ if (rc < 0 || (flags & CIFS_NO_SRV_RSP)) {
for (i = 0; i < num_rqst; i++)
add_credits(ses->server, &credits[i], optype);
goto out;
@@ -1095,9 +1098,6 @@ compound_send_recv(const unsigned int xid, struct cifs_ses *ses,
smb311_update_preauth_hash(ses, rqst[0].rq_iov,
rqst[0].rq_nvec);
- if ((flags & CIFS_TIMEOUT_MASK) == CIFS_ASYNC_OP)
- goto out;
-
for (i = 0; i < num_rqst; i++) {
rc = wait_for_response(ses->server, midQ[i]);
if (rc != 0)
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From c7e2d94b3d1634988a95ac4d77a72dc7487ece06 Mon Sep 17 00:00:00 2001
From: Ming Lei <ming.lei(a)redhat.com>
Date: Tue, 30 Apr 2019 09:52:25 +0800
Subject: [PATCH] blk-mq: free hw queue's resource in hctx's release handler
Once blk_cleanup_queue() returns, tags shouldn't be used any more,
because blk_mq_free_tag_set() may be called. Commit 45a9c9d909b2
("blk-mq: Fix a use-after-free") fixes this issue exactly.
However, that commit introduces another issue. Before 45a9c9d909b2,
we are allowed to run queue during cleaning up queue if the queue's
kobj refcount is held. After that commit, queue can't be run during
queue cleaning up, otherwise oops can be triggered easily because
some fields of hctx are freed by blk_mq_free_queue() in blk_cleanup_queue().
We have invented ways for addressing this kind of issue before, such as:
8dc765d438f1 ("SCSI: fix queue cleanup race before queue initialization is done")
c2856ae2f315 ("blk-mq: quiesce queue before freeing queue")
But still can't cover all cases, recently James reports another such
kind of issue:
https://marc.info/?l=linux-scsi&m=155389088124782&w=2
This issue can be quite hard to address by previous way, given
scsi_run_queue() may run requeues for other LUNs.
Fixes the above issue by freeing hctx's resources in its release handler, and this
way is safe becasue tags isn't needed for freeing such hctx resource.
This approach follows typical design pattern wrt. kobject's release handler.
Cc: Dongli Zhang <dongli.zhang(a)oracle.com>
Cc: James Smart <james.smart(a)broadcom.com>
Cc: Bart Van Assche <bart.vanassche(a)wdc.com>
Cc: linux-scsi(a)vger.kernel.org,
Cc: Martin K . Petersen <martin.petersen(a)oracle.com>,
Cc: Christoph Hellwig <hch(a)lst.de>,
Cc: James E . J . Bottomley <jejb(a)linux.vnet.ibm.com>,
Reported-by: James Smart <james.smart(a)broadcom.com>
Fixes: 45a9c9d909b2 ("blk-mq: Fix a use-after-free")
Cc: stable(a)vger.kernel.org
Reviewed-by: Hannes Reinecke <hare(a)suse.com>
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Tested-by: James Smart <james.smart(a)broadcom.com>
Signed-off-by: Ming Lei <ming.lei(a)redhat.com>
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
diff --git a/block/blk-core.c b/block/blk-core.c
index 2af1040b2fa6..81d209568a26 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -375,7 +375,7 @@ void blk_cleanup_queue(struct request_queue *q)
blk_exit_queue(q);
if (queue_is_mq(q))
- blk_mq_free_queue(q);
+ blk_mq_exit_queue(q);
percpu_ref_exit(&q->q_usage_counter);
diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
index 61efc2a29e58..7593c4c78975 100644
--- a/block/blk-mq-sysfs.c
+++ b/block/blk-mq-sysfs.c
@@ -11,6 +11,7 @@
#include <linux/smp.h>
#include <linux/blk-mq.h>
+#include "blk.h"
#include "blk-mq.h"
#include "blk-mq-tag.h"
@@ -34,6 +35,11 @@ static void blk_mq_hw_sysfs_release(struct kobject *kobj)
{
struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx,
kobj);
+
+ if (hctx->flags & BLK_MQ_F_BLOCKING)
+ cleanup_srcu_struct(hctx->srcu);
+ blk_free_flush_queue(hctx->fq);
+ sbitmap_free(&hctx->ctx_map);
free_cpumask_var(hctx->cpumask);
kfree(hctx->ctxs);
kfree(hctx);
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 741cf8d55e9c..1fdb8de92a10 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2268,12 +2268,7 @@ static void blk_mq_exit_hctx(struct request_queue *q,
if (set->ops->exit_hctx)
set->ops->exit_hctx(hctx, hctx_idx);
- if (hctx->flags & BLK_MQ_F_BLOCKING)
- cleanup_srcu_struct(hctx->srcu);
-
blk_mq_remove_cpuhp(hctx);
- blk_free_flush_queue(hctx->fq);
- sbitmap_free(&hctx->ctx_map);
}
static void blk_mq_exit_hw_queues(struct request_queue *q,
@@ -2908,7 +2903,8 @@ struct request_queue *blk_mq_init_allocated_queue(struct blk_mq_tag_set *set,
}
EXPORT_SYMBOL(blk_mq_init_allocated_queue);
-void blk_mq_free_queue(struct request_queue *q)
+/* tags can _not_ be used after returning from blk_mq_exit_queue */
+void blk_mq_exit_queue(struct request_queue *q)
{
struct blk_mq_tag_set *set = q->tag_set;
diff --git a/block/blk-mq.h b/block/blk-mq.h
index 423ea88ab6fb..633a5a77ee8b 100644
--- a/block/blk-mq.h
+++ b/block/blk-mq.h
@@ -37,7 +37,7 @@ struct blk_mq_ctx {
struct kobject kobj;
} ____cacheline_aligned_in_smp;
-void blk_mq_free_queue(struct request_queue *q);
+void blk_mq_exit_queue(struct request_queue *q);
int blk_mq_update_nr_requests(struct request_queue *q, unsigned int nr);
void blk_mq_wake_waiters(struct request_queue *q);
bool blk_mq_dispatch_rq_list(struct request_queue *, struct list_head *, bool);
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From c7e2d94b3d1634988a95ac4d77a72dc7487ece06 Mon Sep 17 00:00:00 2001
From: Ming Lei <ming.lei(a)redhat.com>
Date: Tue, 30 Apr 2019 09:52:25 +0800
Subject: [PATCH] blk-mq: free hw queue's resource in hctx's release handler
Once blk_cleanup_queue() returns, tags shouldn't be used any more,
because blk_mq_free_tag_set() may be called. Commit 45a9c9d909b2
("blk-mq: Fix a use-after-free") fixes this issue exactly.
However, that commit introduces another issue. Before 45a9c9d909b2,
we are allowed to run queue during cleaning up queue if the queue's
kobj refcount is held. After that commit, queue can't be run during
queue cleaning up, otherwise oops can be triggered easily because
some fields of hctx are freed by blk_mq_free_queue() in blk_cleanup_queue().
We have invented ways for addressing this kind of issue before, such as:
8dc765d438f1 ("SCSI: fix queue cleanup race before queue initialization is done")
c2856ae2f315 ("blk-mq: quiesce queue before freeing queue")
But still can't cover all cases, recently James reports another such
kind of issue:
https://marc.info/?l=linux-scsi&m=155389088124782&w=2
This issue can be quite hard to address by previous way, given
scsi_run_queue() may run requeues for other LUNs.
Fixes the above issue by freeing hctx's resources in its release handler, and this
way is safe becasue tags isn't needed for freeing such hctx resource.
This approach follows typical design pattern wrt. kobject's release handler.
Cc: Dongli Zhang <dongli.zhang(a)oracle.com>
Cc: James Smart <james.smart(a)broadcom.com>
Cc: Bart Van Assche <bart.vanassche(a)wdc.com>
Cc: linux-scsi(a)vger.kernel.org,
Cc: Martin K . Petersen <martin.petersen(a)oracle.com>,
Cc: Christoph Hellwig <hch(a)lst.de>,
Cc: James E . J . Bottomley <jejb(a)linux.vnet.ibm.com>,
Reported-by: James Smart <james.smart(a)broadcom.com>
Fixes: 45a9c9d909b2 ("blk-mq: Fix a use-after-free")
Cc: stable(a)vger.kernel.org
Reviewed-by: Hannes Reinecke <hare(a)suse.com>
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Tested-by: James Smart <james.smart(a)broadcom.com>
Signed-off-by: Ming Lei <ming.lei(a)redhat.com>
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
diff --git a/block/blk-core.c b/block/blk-core.c
index 2af1040b2fa6..81d209568a26 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -375,7 +375,7 @@ void blk_cleanup_queue(struct request_queue *q)
blk_exit_queue(q);
if (queue_is_mq(q))
- blk_mq_free_queue(q);
+ blk_mq_exit_queue(q);
percpu_ref_exit(&q->q_usage_counter);
diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
index 61efc2a29e58..7593c4c78975 100644
--- a/block/blk-mq-sysfs.c
+++ b/block/blk-mq-sysfs.c
@@ -11,6 +11,7 @@
#include <linux/smp.h>
#include <linux/blk-mq.h>
+#include "blk.h"
#include "blk-mq.h"
#include "blk-mq-tag.h"
@@ -34,6 +35,11 @@ static void blk_mq_hw_sysfs_release(struct kobject *kobj)
{
struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx,
kobj);
+
+ if (hctx->flags & BLK_MQ_F_BLOCKING)
+ cleanup_srcu_struct(hctx->srcu);
+ blk_free_flush_queue(hctx->fq);
+ sbitmap_free(&hctx->ctx_map);
free_cpumask_var(hctx->cpumask);
kfree(hctx->ctxs);
kfree(hctx);
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 741cf8d55e9c..1fdb8de92a10 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2268,12 +2268,7 @@ static void blk_mq_exit_hctx(struct request_queue *q,
if (set->ops->exit_hctx)
set->ops->exit_hctx(hctx, hctx_idx);
- if (hctx->flags & BLK_MQ_F_BLOCKING)
- cleanup_srcu_struct(hctx->srcu);
-
blk_mq_remove_cpuhp(hctx);
- blk_free_flush_queue(hctx->fq);
- sbitmap_free(&hctx->ctx_map);
}
static void blk_mq_exit_hw_queues(struct request_queue *q,
@@ -2908,7 +2903,8 @@ struct request_queue *blk_mq_init_allocated_queue(struct blk_mq_tag_set *set,
}
EXPORT_SYMBOL(blk_mq_init_allocated_queue);
-void blk_mq_free_queue(struct request_queue *q)
+/* tags can _not_ be used after returning from blk_mq_exit_queue */
+void blk_mq_exit_queue(struct request_queue *q)
{
struct blk_mq_tag_set *set = q->tag_set;
diff --git a/block/blk-mq.h b/block/blk-mq.h
index 423ea88ab6fb..633a5a77ee8b 100644
--- a/block/blk-mq.h
+++ b/block/blk-mq.h
@@ -37,7 +37,7 @@ struct blk_mq_ctx {
struct kobject kobj;
} ____cacheline_aligned_in_smp;
-void blk_mq_free_queue(struct request_queue *q);
+void blk_mq_exit_queue(struct request_queue *q);
int blk_mq_update_nr_requests(struct request_queue *q, unsigned int nr);
void blk_mq_wake_waiters(struct request_queue *q);
bool blk_mq_dispatch_rq_list(struct request_queue *, struct list_head *, bool);
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From c7e2d94b3d1634988a95ac4d77a72dc7487ece06 Mon Sep 17 00:00:00 2001
From: Ming Lei <ming.lei(a)redhat.com>
Date: Tue, 30 Apr 2019 09:52:25 +0800
Subject: [PATCH] blk-mq: free hw queue's resource in hctx's release handler
Once blk_cleanup_queue() returns, tags shouldn't be used any more,
because blk_mq_free_tag_set() may be called. Commit 45a9c9d909b2
("blk-mq: Fix a use-after-free") fixes this issue exactly.
However, that commit introduces another issue. Before 45a9c9d909b2,
we are allowed to run queue during cleaning up queue if the queue's
kobj refcount is held. After that commit, queue can't be run during
queue cleaning up, otherwise oops can be triggered easily because
some fields of hctx are freed by blk_mq_free_queue() in blk_cleanup_queue().
We have invented ways for addressing this kind of issue before, such as:
8dc765d438f1 ("SCSI: fix queue cleanup race before queue initialization is done")
c2856ae2f315 ("blk-mq: quiesce queue before freeing queue")
But still can't cover all cases, recently James reports another such
kind of issue:
https://marc.info/?l=linux-scsi&m=155389088124782&w=2
This issue can be quite hard to address by previous way, given
scsi_run_queue() may run requeues for other LUNs.
Fixes the above issue by freeing hctx's resources in its release handler, and this
way is safe becasue tags isn't needed for freeing such hctx resource.
This approach follows typical design pattern wrt. kobject's release handler.
Cc: Dongli Zhang <dongli.zhang(a)oracle.com>
Cc: James Smart <james.smart(a)broadcom.com>
Cc: Bart Van Assche <bart.vanassche(a)wdc.com>
Cc: linux-scsi(a)vger.kernel.org,
Cc: Martin K . Petersen <martin.petersen(a)oracle.com>,
Cc: Christoph Hellwig <hch(a)lst.de>,
Cc: James E . J . Bottomley <jejb(a)linux.vnet.ibm.com>,
Reported-by: James Smart <james.smart(a)broadcom.com>
Fixes: 45a9c9d909b2 ("blk-mq: Fix a use-after-free")
Cc: stable(a)vger.kernel.org
Reviewed-by: Hannes Reinecke <hare(a)suse.com>
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Tested-by: James Smart <james.smart(a)broadcom.com>
Signed-off-by: Ming Lei <ming.lei(a)redhat.com>
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
diff --git a/block/blk-core.c b/block/blk-core.c
index 2af1040b2fa6..81d209568a26 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -375,7 +375,7 @@ void blk_cleanup_queue(struct request_queue *q)
blk_exit_queue(q);
if (queue_is_mq(q))
- blk_mq_free_queue(q);
+ blk_mq_exit_queue(q);
percpu_ref_exit(&q->q_usage_counter);
diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
index 61efc2a29e58..7593c4c78975 100644
--- a/block/blk-mq-sysfs.c
+++ b/block/blk-mq-sysfs.c
@@ -11,6 +11,7 @@
#include <linux/smp.h>
#include <linux/blk-mq.h>
+#include "blk.h"
#include "blk-mq.h"
#include "blk-mq-tag.h"
@@ -34,6 +35,11 @@ static void blk_mq_hw_sysfs_release(struct kobject *kobj)
{
struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx,
kobj);
+
+ if (hctx->flags & BLK_MQ_F_BLOCKING)
+ cleanup_srcu_struct(hctx->srcu);
+ blk_free_flush_queue(hctx->fq);
+ sbitmap_free(&hctx->ctx_map);
free_cpumask_var(hctx->cpumask);
kfree(hctx->ctxs);
kfree(hctx);
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 741cf8d55e9c..1fdb8de92a10 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2268,12 +2268,7 @@ static void blk_mq_exit_hctx(struct request_queue *q,
if (set->ops->exit_hctx)
set->ops->exit_hctx(hctx, hctx_idx);
- if (hctx->flags & BLK_MQ_F_BLOCKING)
- cleanup_srcu_struct(hctx->srcu);
-
blk_mq_remove_cpuhp(hctx);
- blk_free_flush_queue(hctx->fq);
- sbitmap_free(&hctx->ctx_map);
}
static void blk_mq_exit_hw_queues(struct request_queue *q,
@@ -2908,7 +2903,8 @@ struct request_queue *blk_mq_init_allocated_queue(struct blk_mq_tag_set *set,
}
EXPORT_SYMBOL(blk_mq_init_allocated_queue);
-void blk_mq_free_queue(struct request_queue *q)
+/* tags can _not_ be used after returning from blk_mq_exit_queue */
+void blk_mq_exit_queue(struct request_queue *q)
{
struct blk_mq_tag_set *set = q->tag_set;
diff --git a/block/blk-mq.h b/block/blk-mq.h
index 423ea88ab6fb..633a5a77ee8b 100644
--- a/block/blk-mq.h
+++ b/block/blk-mq.h
@@ -37,7 +37,7 @@ struct blk_mq_ctx {
struct kobject kobj;
} ____cacheline_aligned_in_smp;
-void blk_mq_free_queue(struct request_queue *q);
+void blk_mq_exit_queue(struct request_queue *q);
int blk_mq_update_nr_requests(struct request_queue *q, unsigned int nr);
void blk_mq_wake_waiters(struct request_queue *q);
bool blk_mq_dispatch_rq_list(struct request_queue *, struct list_head *, bool);
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From c7e2d94b3d1634988a95ac4d77a72dc7487ece06 Mon Sep 17 00:00:00 2001
From: Ming Lei <ming.lei(a)redhat.com>
Date: Tue, 30 Apr 2019 09:52:25 +0800
Subject: [PATCH] blk-mq: free hw queue's resource in hctx's release handler
Once blk_cleanup_queue() returns, tags shouldn't be used any more,
because blk_mq_free_tag_set() may be called. Commit 45a9c9d909b2
("blk-mq: Fix a use-after-free") fixes this issue exactly.
However, that commit introduces another issue. Before 45a9c9d909b2,
we are allowed to run queue during cleaning up queue if the queue's
kobj refcount is held. After that commit, queue can't be run during
queue cleaning up, otherwise oops can be triggered easily because
some fields of hctx are freed by blk_mq_free_queue() in blk_cleanup_queue().
We have invented ways for addressing this kind of issue before, such as:
8dc765d438f1 ("SCSI: fix queue cleanup race before queue initialization is done")
c2856ae2f315 ("blk-mq: quiesce queue before freeing queue")
But still can't cover all cases, recently James reports another such
kind of issue:
https://marc.info/?l=linux-scsi&m=155389088124782&w=2
This issue can be quite hard to address by previous way, given
scsi_run_queue() may run requeues for other LUNs.
Fixes the above issue by freeing hctx's resources in its release handler, and this
way is safe becasue tags isn't needed for freeing such hctx resource.
This approach follows typical design pattern wrt. kobject's release handler.
Cc: Dongli Zhang <dongli.zhang(a)oracle.com>
Cc: James Smart <james.smart(a)broadcom.com>
Cc: Bart Van Assche <bart.vanassche(a)wdc.com>
Cc: linux-scsi(a)vger.kernel.org,
Cc: Martin K . Petersen <martin.petersen(a)oracle.com>,
Cc: Christoph Hellwig <hch(a)lst.de>,
Cc: James E . J . Bottomley <jejb(a)linux.vnet.ibm.com>,
Reported-by: James Smart <james.smart(a)broadcom.com>
Fixes: 45a9c9d909b2 ("blk-mq: Fix a use-after-free")
Cc: stable(a)vger.kernel.org
Reviewed-by: Hannes Reinecke <hare(a)suse.com>
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Tested-by: James Smart <james.smart(a)broadcom.com>
Signed-off-by: Ming Lei <ming.lei(a)redhat.com>
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
diff --git a/block/blk-core.c b/block/blk-core.c
index 2af1040b2fa6..81d209568a26 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -375,7 +375,7 @@ void blk_cleanup_queue(struct request_queue *q)
blk_exit_queue(q);
if (queue_is_mq(q))
- blk_mq_free_queue(q);
+ blk_mq_exit_queue(q);
percpu_ref_exit(&q->q_usage_counter);
diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
index 61efc2a29e58..7593c4c78975 100644
--- a/block/blk-mq-sysfs.c
+++ b/block/blk-mq-sysfs.c
@@ -11,6 +11,7 @@
#include <linux/smp.h>
#include <linux/blk-mq.h>
+#include "blk.h"
#include "blk-mq.h"
#include "blk-mq-tag.h"
@@ -34,6 +35,11 @@ static void blk_mq_hw_sysfs_release(struct kobject *kobj)
{
struct blk_mq_hw_ctx *hctx = container_of(kobj, struct blk_mq_hw_ctx,
kobj);
+
+ if (hctx->flags & BLK_MQ_F_BLOCKING)
+ cleanup_srcu_struct(hctx->srcu);
+ blk_free_flush_queue(hctx->fq);
+ sbitmap_free(&hctx->ctx_map);
free_cpumask_var(hctx->cpumask);
kfree(hctx->ctxs);
kfree(hctx);
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 741cf8d55e9c..1fdb8de92a10 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2268,12 +2268,7 @@ static void blk_mq_exit_hctx(struct request_queue *q,
if (set->ops->exit_hctx)
set->ops->exit_hctx(hctx, hctx_idx);
- if (hctx->flags & BLK_MQ_F_BLOCKING)
- cleanup_srcu_struct(hctx->srcu);
-
blk_mq_remove_cpuhp(hctx);
- blk_free_flush_queue(hctx->fq);
- sbitmap_free(&hctx->ctx_map);
}
static void blk_mq_exit_hw_queues(struct request_queue *q,
@@ -2908,7 +2903,8 @@ struct request_queue *blk_mq_init_allocated_queue(struct blk_mq_tag_set *set,
}
EXPORT_SYMBOL(blk_mq_init_allocated_queue);
-void blk_mq_free_queue(struct request_queue *q)
+/* tags can _not_ be used after returning from blk_mq_exit_queue */
+void blk_mq_exit_queue(struct request_queue *q)
{
struct blk_mq_tag_set *set = q->tag_set;
diff --git a/block/blk-mq.h b/block/blk-mq.h
index 423ea88ab6fb..633a5a77ee8b 100644
--- a/block/blk-mq.h
+++ b/block/blk-mq.h
@@ -37,7 +37,7 @@ struct blk_mq_ctx {
struct kobject kobj;
} ____cacheline_aligned_in_smp;
-void blk_mq_free_queue(struct request_queue *q);
+void blk_mq_exit_queue(struct request_queue *q);
int blk_mq_update_nr_requests(struct request_queue *q, unsigned int nr);
void blk_mq_wake_waiters(struct request_queue *q);
bool blk_mq_dispatch_rq_list(struct request_queue *, struct list_head *, bool);
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 61fb0d01680771f72cc9d39783fb2c122aaad51e Mon Sep 17 00:00:00 2001
From: Eric Dumazet <edumazet(a)google.com>
Date: Wed, 15 May 2019 19:39:52 -0700
Subject: [PATCH] ipv6: prevent possible fib6 leaks
At ipv6 route dismantle, fib6_drop_pcpu_from() is responsible
for finding all percpu routes and set their ->from pointer
to NULL, so that fib6_ref can reach its expected value (1).
The problem right now is that other cpus can still catch the
route being deleted, since there is no rcu grace period
between the route deletion and call to fib6_drop_pcpu_from()
This can leak the fib6 and associated resources, since no
notifier will take care of removing the last reference(s).
I decided to add another boolean (fib6_destroying) instead
of reusing/renaming exception_bucket_flushed to ease stable backports,
and properly document the memory barriers used to implement this fix.
This patch has been co-developped with Wei Wang.
Fixes: 93531c674315 ("net/ipv6: separate handling of FIB entries from dst based routes")
Signed-off-by: Eric Dumazet <edumazet(a)google.com>
Reported-by: syzbot <syzkaller(a)googlegroups.com>
Cc: Wei Wang <weiwan(a)google.com>
Cc: David Ahern <dsahern(a)gmail.com>
Cc: Martin Lau <kafai(a)fb.com>
Acked-by: Wei Wang <weiwan(a)google.com>
Acked-by: Martin KaFai Lau <kafai(a)fb.com>
Reviewed-by: David Ahern <dsahern(a)gmail.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h
index 40105738e2f6..525f701653ca 100644
--- a/include/net/ip6_fib.h
+++ b/include/net/ip6_fib.h
@@ -167,7 +167,8 @@ struct fib6_info {
dst_nocount:1,
dst_nopolicy:1,
dst_host:1,
- unused:3;
+ fib6_destroying:1,
+ unused:2;
struct fib6_nh fib6_nh;
struct rcu_head rcu;
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
index 08e0390e001c..008421b550c6 100644
--- a/net/ipv6/ip6_fib.c
+++ b/net/ipv6/ip6_fib.c
@@ -904,6 +904,12 @@ static void fib6_drop_pcpu_from(struct fib6_info *f6i,
{
int cpu;
+ /* Make sure rt6_make_pcpu_route() wont add other percpu routes
+ * while we are cleaning them here.
+ */
+ f6i->fib6_destroying = 1;
+ mb(); /* paired with the cmpxchg() in rt6_make_pcpu_route() */
+
/* release the reference to this fib entry from
* all of its cached pcpu routes
*/
@@ -927,6 +933,9 @@ static void fib6_purge_rt(struct fib6_info *rt, struct fib6_node *fn,
{
struct fib6_table *table = rt->fib6_table;
+ if (rt->rt6i_pcpu)
+ fib6_drop_pcpu_from(rt, table);
+
if (refcount_read(&rt->fib6_ref) != 1) {
/* This route is used as dummy address holder in some split
* nodes. It is not leaked, but it still holds other resources,
@@ -948,9 +957,6 @@ static void fib6_purge_rt(struct fib6_info *rt, struct fib6_node *fn,
fn = rcu_dereference_protected(fn->parent,
lockdep_is_held(&table->tb6_lock));
}
-
- if (rt->rt6i_pcpu)
- fib6_drop_pcpu_from(rt, table);
}
}
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 23a20d62daac..27c0cc5d9d30 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1295,6 +1295,13 @@ static struct rt6_info *rt6_make_pcpu_route(struct net *net,
prev = cmpxchg(p, NULL, pcpu_rt);
BUG_ON(prev);
+ if (res->f6i->fib6_destroying) {
+ struct fib6_info *from;
+
+ from = xchg((__force struct fib6_info **)&pcpu_rt->from, NULL);
+ fib6_info_release(from);
+ }
+
return pcpu_rt;
}
From: Dexuan Cui <decui(a)microsoft.com>
commit b5679cebf780c6f1c2451a73bf1842a4409840e7 upstream
The changes to split ring allocation from open/close, broke
the cleanup of subchannels. This resulted in problems using
uio on network devices because the subchannel was left behind
when the network device was unbound.
The cause was in the disconnect logic which used list splice
to move the subchannel list into a local variable. This won't
work because the subchannel list is needed later during the
process of the rescind messages (relid2channel).
The fix is to just leave the subchannel list in place
which is what the original code did. The list is cleaned
up later when the host rescind is processed.
Without the fix, we have a lot of "hang" issues in netvsc when we
try to change the NIC's MTU, set the number of channels, etc.
Fixes: ae6935ed7d42 ("vmbus: split ring buffer allocation from open")
Cc: stable(a)vger.kernel.org
Signed-off-by: Stephen Hemminger <sthemmin(a)microsoft.com>
Signed-off-by: Dexuan Cui <decui(a)microsoft.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
---
drivers/hv/channel.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 170770339720..8e23ed6ea9ab 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -701,20 +701,12 @@ static int vmbus_close_internal(struct vmbus_channel *channel)
int vmbus_disconnect_ring(struct vmbus_channel *channel)
{
struct vmbus_channel *cur_channel, *tmp;
- unsigned long flags;
- LIST_HEAD(list);
int ret;
if (channel->primary_channel != NULL)
return -EINVAL;
- /* Snapshot the list of subchannels */
- spin_lock_irqsave(&channel->lock, flags);
- list_splice_init(&channel->sc_list, &list);
- channel->num_sc = 0;
- spin_unlock_irqrestore(&channel->lock, flags);
-
- list_for_each_entry_safe(cur_channel, tmp, &list, sc_list) {
+ list_for_each_entry_safe(cur_channel, tmp, &channel->sc_list, sc_list) {
if (cur_channel->rescind)
wait_for_completion(&cur_channel->rescind_event);
--
2.20.1
From: Ross Lagerwall <ross.lagerwall(a)citrix.com>
[ Upstream commit 7881ef3f33bb80f459ea6020d1e021fc524a6348 ]
Under certain conditions, lru_count may drop below zero resulting in
a large amount of log spam like this:
vmscan: shrink_slab: gfs2_dump_glock+0x3b0/0x630 [gfs2] \
negative objects to delete nr=-1
This happens as follows:
1) A glock is moved from lru_list to the dispose list and lru_count is
decremented.
2) The dispose function calls cond_resched() and drops the lru lock.
3) Another thread takes the lru lock and tries to add the same glock to
lru_list, checking if the glock is on an lru list.
4) It is on a list (actually the dispose list) and so it avoids
incrementing lru_count.
5) The glock is moved to lru_list.
5) The original thread doesn't dispose it because it has been re-added
to the lru list but the lru_count has still decreased by one.
Fix by checking if the LRU flag is set on the glock rather than checking
if the glock is on some list and rearrange the code so that the LRU flag
is added/removed precisely when the glock is added/removed from lru_list.
Signed-off-by: Ross Lagerwall <ross.lagerwall(a)citrix.com>
Signed-off-by: Andreas Gruenbacher <agruenba(a)redhat.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
---
fs/gfs2/glock.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index d5284d0dbdb59..cd6a64478a026 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -183,15 +183,19 @@ static int demote_ok(const struct gfs2_glock *gl)
void gfs2_glock_add_to_lru(struct gfs2_glock *gl)
{
+ if (!(gl->gl_ops->go_flags & GLOF_LRU))
+ return;
+
spin_lock(&lru_lock);
- if (!list_empty(&gl->gl_lru))
- list_del_init(&gl->gl_lru);
- else
+ list_del(&gl->gl_lru);
+ list_add_tail(&gl->gl_lru, &lru_list);
+
+ if (!test_bit(GLF_LRU, &gl->gl_flags)) {
+ set_bit(GLF_LRU, &gl->gl_flags);
atomic_inc(&lru_count);
+ }
- list_add_tail(&gl->gl_lru, &lru_list);
- set_bit(GLF_LRU, &gl->gl_flags);
spin_unlock(&lru_lock);
}
@@ -201,7 +205,7 @@ static void gfs2_glock_remove_from_lru(struct gfs2_glock *gl)
return;
spin_lock(&lru_lock);
- if (!list_empty(&gl->gl_lru)) {
+ if (test_bit(GLF_LRU, &gl->gl_flags)) {
list_del_init(&gl->gl_lru);
atomic_dec(&lru_count);
clear_bit(GLF_LRU, &gl->gl_flags);
@@ -1158,8 +1162,7 @@ void gfs2_glock_dq(struct gfs2_holder *gh)
!test_bit(GLF_DEMOTE, &gl->gl_flags))
fast_path = 1;
}
- if (!test_bit(GLF_LFLUSH, &gl->gl_flags) && demote_ok(gl) &&
- (glops->go_flags & GLOF_LRU))
+ if (!test_bit(GLF_LFLUSH, &gl->gl_flags) && demote_ok(gl))
gfs2_glock_add_to_lru(gl);
trace_gfs2_glock_queue(gh, 0);
@@ -1454,6 +1457,7 @@ __acquires(&lru_lock)
if (!spin_trylock(&gl->gl_lockref.lock)) {
add_back_to_lru:
list_add(&gl->gl_lru, &lru_list);
+ set_bit(GLF_LRU, &gl->gl_flags);
atomic_inc(&lru_count);
continue;
}
@@ -1461,7 +1465,6 @@ __acquires(&lru_lock)
spin_unlock(&gl->gl_lockref.lock);
goto add_back_to_lru;
}
- clear_bit(GLF_LRU, &gl->gl_flags);
gl->gl_lockref.count++;
if (demote_ok(gl))
handle_callback(gl, LM_ST_UNLOCKED, 0, false);
@@ -1496,6 +1499,7 @@ static long gfs2_scan_glock_lru(int nr)
if (!test_bit(GLF_LOCK, &gl->gl_flags)) {
list_move(&gl->gl_lru, &dispose);
atomic_dec(&lru_count);
+ clear_bit(GLF_LRU, &gl->gl_flags);
freed++;
continue;
}
--
2.20.1
This is an automatic generated email to let you know that the following patch were queued:
Subject: media: dvb: warning about dvb frequency limits produces too much noise
Author: Sean Young <sean(a)mess.org>
Date: Mon May 20 15:43:49 2019 -0400
This can be a debug message. Favour dev_dbg() over dprintk() as this is
already used much more than dprintk().
dvb_frontend: dvb_frontend_get_frequency_limits: frequency interval: tuner: 45000000...860000000, frontend: 44250000...867250000
Fixes: 00ecd6bc7128 ("media: dvb_frontend: add debug message for frequency intervals")
Cc: <stable(a)vger.kernel.org> # 5.0
Signed-off-by: Sean Young <sean(a)mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
drivers/media/dvb-core/dvb_frontend.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
index fbdb4ecc7c50..7402c9834189 100644
--- a/drivers/media/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb-core/dvb_frontend.c
@@ -917,7 +917,7 @@ static void dvb_frontend_get_frequency_limits(struct dvb_frontend *fe,
"DVB: adapter %i frontend %u frequency limits undefined - fix the driver\n",
fe->dvb->num, fe->id);
- dprintk("frequency interval: tuner: %u...%u, frontend: %u...%u",
+ dev_dbg(fe->dvb->device, "frequency interval: tuner: %u...%u, frontend: %u...%u",
tuner_min, tuner_max, frontend_min, frontend_max);
/* If the standard is for satellite, convert frequencies to kHz */
From: Ross Lagerwall <ross.lagerwall(a)citrix.com>
[ Upstream commit 7881ef3f33bb80f459ea6020d1e021fc524a6348 ]
Under certain conditions, lru_count may drop below zero resulting in
a large amount of log spam like this:
vmscan: shrink_slab: gfs2_dump_glock+0x3b0/0x630 [gfs2] \
negative objects to delete nr=-1
This happens as follows:
1) A glock is moved from lru_list to the dispose list and lru_count is
decremented.
2) The dispose function calls cond_resched() and drops the lru lock.
3) Another thread takes the lru lock and tries to add the same glock to
lru_list, checking if the glock is on an lru list.
4) It is on a list (actually the dispose list) and so it avoids
incrementing lru_count.
5) The glock is moved to lru_list.
5) The original thread doesn't dispose it because it has been re-added
to the lru list but the lru_count has still decreased by one.
Fix by checking if the LRU flag is set on the glock rather than checking
if the glock is on some list and rearrange the code so that the LRU flag
is added/removed precisely when the glock is added/removed from lru_list.
Signed-off-by: Ross Lagerwall <ross.lagerwall(a)citrix.com>
Signed-off-by: Andreas Gruenbacher <agruenba(a)redhat.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
---
fs/gfs2/glock.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 09a0cf5f3dd86..1eb737c466ddc 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -136,22 +136,26 @@ static int demote_ok(const struct gfs2_glock *gl)
void gfs2_glock_add_to_lru(struct gfs2_glock *gl)
{
+ if (!(gl->gl_ops->go_flags & GLOF_LRU))
+ return;
+
spin_lock(&lru_lock);
- if (!list_empty(&gl->gl_lru))
- list_del_init(&gl->gl_lru);
- else
+ list_del(&gl->gl_lru);
+ list_add_tail(&gl->gl_lru, &lru_list);
+
+ if (!test_bit(GLF_LRU, &gl->gl_flags)) {
+ set_bit(GLF_LRU, &gl->gl_flags);
atomic_inc(&lru_count);
+ }
- list_add_tail(&gl->gl_lru, &lru_list);
- set_bit(GLF_LRU, &gl->gl_flags);
spin_unlock(&lru_lock);
}
static void gfs2_glock_remove_from_lru(struct gfs2_glock *gl)
{
spin_lock(&lru_lock);
- if (!list_empty(&gl->gl_lru)) {
+ if (test_bit(GLF_LRU, &gl->gl_flags)) {
list_del_init(&gl->gl_lru);
atomic_dec(&lru_count);
clear_bit(GLF_LRU, &gl->gl_flags);
@@ -1040,8 +1044,7 @@ void gfs2_glock_dq(struct gfs2_holder *gh)
!test_bit(GLF_DEMOTE, &gl->gl_flags))
fast_path = 1;
}
- if (!test_bit(GLF_LFLUSH, &gl->gl_flags) && demote_ok(gl) &&
- (glops->go_flags & GLOF_LRU))
+ if (!test_bit(GLF_LFLUSH, &gl->gl_flags) && demote_ok(gl))
gfs2_glock_add_to_lru(gl);
trace_gfs2_glock_queue(gh, 0);
@@ -1341,6 +1344,7 @@ __acquires(&lru_lock)
if (!spin_trylock(&gl->gl_lockref.lock)) {
add_back_to_lru:
list_add(&gl->gl_lru, &lru_list);
+ set_bit(GLF_LRU, &gl->gl_flags);
atomic_inc(&lru_count);
continue;
}
@@ -1348,7 +1352,6 @@ __acquires(&lru_lock)
spin_unlock(&gl->gl_lockref.lock);
goto add_back_to_lru;
}
- clear_bit(GLF_LRU, &gl->gl_flags);
gl->gl_lockref.count++;
if (demote_ok(gl))
handle_callback(gl, LM_ST_UNLOCKED, 0, false);
@@ -1384,6 +1387,7 @@ static long gfs2_scan_glock_lru(int nr)
if (!test_bit(GLF_LOCK, &gl->gl_flags)) {
list_move(&gl->gl_lru, &dispose);
atomic_dec(&lru_count);
+ clear_bit(GLF_LRU, &gl->gl_flags);
freed++;
continue;
}
--
2.20.1
From: Ross Lagerwall <ross.lagerwall(a)citrix.com>
[ Upstream commit 7881ef3f33bb80f459ea6020d1e021fc524a6348 ]
Under certain conditions, lru_count may drop below zero resulting in
a large amount of log spam like this:
vmscan: shrink_slab: gfs2_dump_glock+0x3b0/0x630 [gfs2] \
negative objects to delete nr=-1
This happens as follows:
1) A glock is moved from lru_list to the dispose list and lru_count is
decremented.
2) The dispose function calls cond_resched() and drops the lru lock.
3) Another thread takes the lru lock and tries to add the same glock to
lru_list, checking if the glock is on an lru list.
4) It is on a list (actually the dispose list) and so it avoids
incrementing lru_count.
5) The glock is moved to lru_list.
5) The original thread doesn't dispose it because it has been re-added
to the lru list but the lru_count has still decreased by one.
Fix by checking if the LRU flag is set on the glock rather than checking
if the glock is on some list and rearrange the code so that the LRU flag
is added/removed precisely when the glock is added/removed from lru_list.
Signed-off-by: Ross Lagerwall <ross.lagerwall(a)citrix.com>
Signed-off-by: Andreas Gruenbacher <agruenba(a)redhat.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
---
fs/gfs2/glock.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 9d566e62684c2..775256141e9fb 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -183,15 +183,19 @@ static int demote_ok(const struct gfs2_glock *gl)
void gfs2_glock_add_to_lru(struct gfs2_glock *gl)
{
+ if (!(gl->gl_ops->go_flags & GLOF_LRU))
+ return;
+
spin_lock(&lru_lock);
- if (!list_empty(&gl->gl_lru))
- list_del_init(&gl->gl_lru);
- else
+ list_del(&gl->gl_lru);
+ list_add_tail(&gl->gl_lru, &lru_list);
+
+ if (!test_bit(GLF_LRU, &gl->gl_flags)) {
+ set_bit(GLF_LRU, &gl->gl_flags);
atomic_inc(&lru_count);
+ }
- list_add_tail(&gl->gl_lru, &lru_list);
- set_bit(GLF_LRU, &gl->gl_flags);
spin_unlock(&lru_lock);
}
@@ -201,7 +205,7 @@ static void gfs2_glock_remove_from_lru(struct gfs2_glock *gl)
return;
spin_lock(&lru_lock);
- if (!list_empty(&gl->gl_lru)) {
+ if (test_bit(GLF_LRU, &gl->gl_flags)) {
list_del_init(&gl->gl_lru);
atomic_dec(&lru_count);
clear_bit(GLF_LRU, &gl->gl_flags);
@@ -1158,8 +1162,7 @@ void gfs2_glock_dq(struct gfs2_holder *gh)
!test_bit(GLF_DEMOTE, &gl->gl_flags))
fast_path = 1;
}
- if (!test_bit(GLF_LFLUSH, &gl->gl_flags) && demote_ok(gl) &&
- (glops->go_flags & GLOF_LRU))
+ if (!test_bit(GLF_LFLUSH, &gl->gl_flags) && demote_ok(gl))
gfs2_glock_add_to_lru(gl);
trace_gfs2_glock_queue(gh, 0);
@@ -1455,6 +1458,7 @@ __acquires(&lru_lock)
if (!spin_trylock(&gl->gl_lockref.lock)) {
add_back_to_lru:
list_add(&gl->gl_lru, &lru_list);
+ set_bit(GLF_LRU, &gl->gl_flags);
atomic_inc(&lru_count);
continue;
}
@@ -1462,7 +1466,6 @@ __acquires(&lru_lock)
spin_unlock(&gl->gl_lockref.lock);
goto add_back_to_lru;
}
- clear_bit(GLF_LRU, &gl->gl_flags);
gl->gl_lockref.count++;
if (demote_ok(gl))
handle_callback(gl, LM_ST_UNLOCKED, 0, false);
@@ -1497,6 +1500,7 @@ static long gfs2_scan_glock_lru(int nr)
if (!test_bit(GLF_LOCK, &gl->gl_flags)) {
list_move(&gl->gl_lru, &dispose);
atomic_dec(&lru_count);
+ clear_bit(GLF_LRU, &gl->gl_flags);
freed++;
continue;
}
--
2.20.1
From: Ross Lagerwall <ross.lagerwall(a)citrix.com>
[ Upstream commit 7881ef3f33bb80f459ea6020d1e021fc524a6348 ]
Under certain conditions, lru_count may drop below zero resulting in
a large amount of log spam like this:
vmscan: shrink_slab: gfs2_dump_glock+0x3b0/0x630 [gfs2] \
negative objects to delete nr=-1
This happens as follows:
1) A glock is moved from lru_list to the dispose list and lru_count is
decremented.
2) The dispose function calls cond_resched() and drops the lru lock.
3) Another thread takes the lru lock and tries to add the same glock to
lru_list, checking if the glock is on an lru list.
4) It is on a list (actually the dispose list) and so it avoids
incrementing lru_count.
5) The glock is moved to lru_list.
5) The original thread doesn't dispose it because it has been re-added
to the lru list but the lru_count has still decreased by one.
Fix by checking if the LRU flag is set on the glock rather than checking
if the glock is on some list and rearrange the code so that the LRU flag
is added/removed precisely when the glock is added/removed from lru_list.
Signed-off-by: Ross Lagerwall <ross.lagerwall(a)citrix.com>
Signed-off-by: Andreas Gruenbacher <agruenba(a)redhat.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
---
fs/gfs2/glock.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 7a8b1d72e3d91..efd44d5645d83 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -136,22 +136,26 @@ static int demote_ok(const struct gfs2_glock *gl)
void gfs2_glock_add_to_lru(struct gfs2_glock *gl)
{
+ if (!(gl->gl_ops->go_flags & GLOF_LRU))
+ return;
+
spin_lock(&lru_lock);
- if (!list_empty(&gl->gl_lru))
- list_del_init(&gl->gl_lru);
- else
+ list_del(&gl->gl_lru);
+ list_add_tail(&gl->gl_lru, &lru_list);
+
+ if (!test_bit(GLF_LRU, &gl->gl_flags)) {
+ set_bit(GLF_LRU, &gl->gl_flags);
atomic_inc(&lru_count);
+ }
- list_add_tail(&gl->gl_lru, &lru_list);
- set_bit(GLF_LRU, &gl->gl_flags);
spin_unlock(&lru_lock);
}
static void gfs2_glock_remove_from_lru(struct gfs2_glock *gl)
{
spin_lock(&lru_lock);
- if (!list_empty(&gl->gl_lru)) {
+ if (test_bit(GLF_LRU, &gl->gl_flags)) {
list_del_init(&gl->gl_lru);
atomic_dec(&lru_count);
clear_bit(GLF_LRU, &gl->gl_flags);
@@ -1048,8 +1052,7 @@ void gfs2_glock_dq(struct gfs2_holder *gh)
!test_bit(GLF_DEMOTE, &gl->gl_flags))
fast_path = 1;
}
- if (!test_bit(GLF_LFLUSH, &gl->gl_flags) && demote_ok(gl) &&
- (glops->go_flags & GLOF_LRU))
+ if (!test_bit(GLF_LFLUSH, &gl->gl_flags) && demote_ok(gl))
gfs2_glock_add_to_lru(gl);
trace_gfs2_glock_queue(gh, 0);
@@ -1349,6 +1352,7 @@ __acquires(&lru_lock)
if (!spin_trylock(&gl->gl_lockref.lock)) {
add_back_to_lru:
list_add(&gl->gl_lru, &lru_list);
+ set_bit(GLF_LRU, &gl->gl_flags);
atomic_inc(&lru_count);
continue;
}
@@ -1356,7 +1360,6 @@ __acquires(&lru_lock)
spin_unlock(&gl->gl_lockref.lock);
goto add_back_to_lru;
}
- clear_bit(GLF_LRU, &gl->gl_flags);
gl->gl_lockref.count++;
if (demote_ok(gl))
handle_callback(gl, LM_ST_UNLOCKED, 0, false);
@@ -1392,6 +1395,7 @@ static long gfs2_scan_glock_lru(int nr)
if (!test_bit(GLF_LOCK, &gl->gl_flags)) {
list_move(&gl->gl_lru, &dispose);
atomic_dec(&lru_count);
+ clear_bit(GLF_LRU, &gl->gl_flags);
freed++;
continue;
}
--
2.20.1
The patch titled
Subject: memcg: make it work on sparse non-0-node systems
has been added to the -mm tree. Its filename is
memcg-make-it-work-on-sparse-non-0-node-systems.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/memcg-make-it-work-on-sparse-non-0…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/memcg-make-it-work-on-sparse-non-0…
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
The -mm tree is included into linux-next and is updated
there every 3-4 working days
------------------------------------------------------
From: Jiri Slaby <jslaby(a)suse.cz>
Subject: memcg: make it work on sparse non-0-node systems
We have a single node system with node 0 disabled:
Scanning NUMA topology in Northbridge 24
Number of physical nodes 2
Skipping disabled node 0
Node 1 MemBase 0000000000000000 Limit 00000000fbff0000
NODE_DATA(1) allocated [mem 0xfbfda000-0xfbfeffff]
This causes crashes in memcg when system boots:
BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
#PF error: [normal kernel read fault]
...
RIP: 0010:list_lru_add+0x94/0x170
...
Call Trace:
d_lru_add+0x44/0x50
dput.part.34+0xfc/0x110
__fput+0x108/0x230
task_work_run+0x9f/0xc0
exit_to_usermode_loop+0xf5/0x100
It is reproducible as far as 4.12. I did not try older kernels. You have
to have a new enough systemd, e.g. 241 (the reason is unknown -- was not
investigated). Cannot be reproduced with systemd 234.
The system crashes because the size of lru array is never updated in
memcg_update_all_list_lrus and the reads are past the zero-sized array,
causing dereferences of random memory.
The root cause are list_lru_memcg_aware checks in the list_lru code. The
test in list_lru_memcg_aware is broken: it assumes node 0 is always
present, but it is not true on some systems as can be seen above.
So fix this by avoiding checks on node 0. Remember the memcg-awareness by
a bool flag in struct list_lru.
Link: http://lkml.kernel.org/r/20190522091940.3615-1-jslaby@suse.cz
Fixes: 60d3fd32a7a9 ("list_lru: introduce per-memcg lists")
Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
Acked-by: Michal Hocko <mhocko(a)suse.com>
Suggested-by: Vladimir Davydov <vdavydov.dev(a)gmail.com>
Acked-by: Vladimir Davydov <vdavydov.dev(a)gmail.com>
Reviewed-by: Shakeel Butt <shakeelb(a)google.com>
Cc: Johannes Weiner <hannes(a)cmpxchg.org>
Cc: Raghavendra K T <raghavendra.kt(a)linux.vnet.ibm.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
include/linux/list_lru.h | 1 +
mm/list_lru.c | 8 +++-----
2 files changed, 4 insertions(+), 5 deletions(-)
--- a/include/linux/list_lru.h~memcg-make-it-work-on-sparse-non-0-node-systems
+++ a/include/linux/list_lru.h
@@ -54,6 +54,7 @@ struct list_lru {
#ifdef CONFIG_MEMCG_KMEM
struct list_head list;
int shrinker_id;
+ bool memcg_aware;
#endif
};
--- a/mm/list_lru.c~memcg-make-it-work-on-sparse-non-0-node-systems
+++ a/mm/list_lru.c
@@ -37,11 +37,7 @@ static int lru_shrinker_id(struct list_l
static inline bool list_lru_memcg_aware(struct list_lru *lru)
{
- /*
- * This needs node 0 to be always present, even
- * in the systems supporting sparse numa ids.
- */
- return !!lru->node[0].memcg_lrus;
+ return lru->memcg_aware;
}
static inline struct list_lru_one *
@@ -451,6 +447,8 @@ static int memcg_init_list_lru(struct li
{
int i;
+ lru->memcg_aware = memcg_aware;
+
if (!memcg_aware)
return 0;
_
Patches currently in -mm which might be from jslaby(a)suse.cz are
memcg-make-it-work-on-sparse-non-0-node-systems.patch
Commit 5f8cf712582617d523120df67d392059eaf2fc4b upstream.
This is a backport to stable 3.18.y. Implementation in 3.18 differs using
chip->probing flag instead of chip->active atomic but it still has the UAF
issue.
If a USB sound card reports 0 interfaces, an error condition is triggered
and the function usb_audio_probe errors out. In the error path, there was a
use-after-free vulnerability where the memory object of the card was first
freed, followed by a decrement of the number of active chips. Moving the
decrement above the atomic_dec fixes the UAF.
[ The original problem was introduced in 3.1 kernel, while it was
developed in a different form. The Fixes tag below indicates the
original commit but it doesn't mean that the patch is applicable
cleanly. -- tiwai ]
Fixes: 362e4e49abe5 ("ALSA: usb-audio - clear chip->probing on error exit")
Reported-by: Hui Peng <benquike(a)gmail.com>
Reported-by: Mathias Payer <mathias.payer(a)nebelwelt.net>
Signed-off-by: Hui Peng <benquike(a)gmail.com>
Signed-off-by: Mathias Payer <mathias.payer(a)nebelwelt.net>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
[surenb(a)google.com: resolve 3.18 differences]
Signed-off-by: Suren Baghdasaryan <surenb(a)google.com>
---
Analysis for 3.18 codebase:
snd_usb_audio_create() sets card->device_data = chip
snd_usb_audio_probe() calls snd_card_free() and then resets chip->probing
snd_card_free() results in the following call chain:
snd_card_free_when_closed() which waits on release_completion
snd_card_do_free() calls snd_device_free_all() and signals release_completion
snd_card_do_free() calls __snd_device_free()
__snd_device_free() calls dev->ops->dev_free() == snd_usb_audio_dev_free()
snd_usb_audio_dev_free() calls snd_usb_audio_free(chip) and frees "chip"
chip->probing = 0 results in UAF
sound/usb/card.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/usb/card.c b/sound/usb/card.c
index f7dbdc10bf77..59fb1ef3cd55 100644
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -593,9 +593,12 @@ snd_usb_audio_probe(struct usb_device *dev,
__error:
if (chip) {
+ /* chip->probing is inside the chip->card object,
+ * reset before memory is possibly returned.
+ */
+ chip->probing = 0;
if (!chip->num_interfaces)
snd_card_free(chip->card);
- chip->probing = 0;
}
mutex_unlock(®ister_mutex);
__err_val:
--
2.21.0.1020.gf2820cf01a-goog
This is a note to let you know that I've just added the patch titled
xhci: Use %zu for printing size_t type
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From c1a145a3ed9a40f3b6145feb97789e8eb49c5566 Mon Sep 17 00:00:00 2001
From: Fabio Estevam <festevam(a)gmail.com>
Date: Wed, 22 May 2019 10:35:29 -0300
Subject: xhci: Use %zu for printing size_t type
Commit 597c56e372da ("xhci: update bounce buffer with correct sg num")
caused the following build warnings:
drivers/usb/host/xhci-ring.c:676:19: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=]
Use %zu for printing size_t type in order to fix the warnings.
Fixes: 597c56e372da ("xhci: update bounce buffer with correct sg num")
Reported-by: kbuild test robot <lkp(a)intel.com>
Signed-off-by: Fabio Estevam <festevam(a)gmail.com>
Cc: stable <stable(a)vger.kernel.org>
Acked-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/host/xhci-ring.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 88392aa65722..feffceb31e8a 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -673,7 +673,7 @@ static void xhci_unmap_td_bounce_buffer(struct xhci_hcd *xhci,
len = sg_pcopy_from_buffer(urb->sg, urb->num_sgs, seg->bounce_buf,
seg->bounce_len, seg->bounce_offs);
if (len != seg->bounce_len)
- xhci_warn(xhci, "WARN Wrong bounce buffer read length: %ld != %d\n",
+ xhci_warn(xhci, "WARN Wrong bounce buffer read length: %zu != %d\n",
len, seg->bounce_len);
seg->bounce_len = 0;
seg->bounce_offs = 0;
@@ -3166,7 +3166,7 @@ static int xhci_align_td(struct xhci_hcd *xhci, struct urb *urb, u32 enqd_len,
seg->bounce_buf, new_buff_len, enqd_len);
if (len != seg->bounce_len)
xhci_warn(xhci,
- "WARN Wrong bounce buffer write length: %ld != %d\n",
+ "WARN Wrong bounce buffer write length: %zu != %d\n",
len, seg->bounce_len);
seg->bounce_dma = dma_map_single(dev, seg->bounce_buf,
max_pkt, DMA_TO_DEVICE);
--
2.21.0
The patch titled
Subject: signal: adjust error codes according to restore_user_sigmask()
has been added to the -mm tree. Its filename is
signal-adjust-error-codes-according-to-restore_user_sigmask.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/signal-adjust-error-codes-accordin…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/signal-adjust-error-codes-accordin…
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
The -mm tree is included into linux-next and is updated
there every 3-4 working days
------------------------------------------------------
From: Deepa Dinamani <deepa.kernel(a)gmail.com>
Subject: signal: adjust error codes according to restore_user_sigmask()
A regression caused by 854a6ed56839 ("signal: Add restore_user_sigmask()")
caused users of epoll_pwait, io_pgetevents, and ppoll to notice a latent
problem in signal handling during these syscalls.
That patch (854a6ed56839) moved the signal_pending() check closer to
restoring of the user sigmask. But, it failed to update the error code
accordingly. From the userspace perspective, the patch increased the time
window for the signal discovery and subsequent delivery to the userspace,
but did not always adjust the errno afterwards. The behavior before
854a6ed56839a was that the signals were dropped after the error code was
decided. This resulted in lost signals but the userspace did not notice
it as the syscalls had finished executing the core functionality and the
error codes returned notified success.
For all the syscalls that receive a sigmask from the userland, the user
sigmask is to be in effect through the syscall execution. At the end of
syscall, sigmask of the current process is restored to what it was before
the switch over to user sigmask. But, for this to be true in practice,
the sigmask should be restored only at the the point we change the
saved_sigmask. Anything before that loses signals. And, anything after
is just pointless as the signal is already lost by restoring the sigmask.
Detailed issue discussion permalink:
https://lore.kernel.org/linux-fsdevel/20190427093319.sgicqik2oqkez3wk@dcvr/
Note that this patch returns interrupted errors (EINTR, ERESTARTNOHAND,
etc) only when there is no other error. If there is a signal and an error
like EINVAL, the syscalls return -EINVAL rather than the interrupted error
codes.
Link: http://lkml.kernel.org/r/20190522032144.10995-1-deepa.kernel@gmail.com
Fixes: 854a6ed56839a40f ("signal: Add restore_user_sigmask()")
Signed-off-by: Deepa Dinamani <deepa.kernel(a)gmail.com>
Reported-by: Eric Wong <e(a)80x24.org>
Cc: Al Viro <viro(a)zeniv.linux.org.uk>
Cc: Arnd Bergmann <arnd(a)arndb.de>
Cc: Jens Axboe <axboe(a)kernel.dk>
Cc: Davidlohr Bueso <dave(a)stgolabs.net>
Cc: Jason Baron <jbaron(a)akamai.com>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Cc: Oleg Nesterov <oleg(a)redhat.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/aio.c | 24 ++++++++++++------------
fs/eventpoll.c | 14 ++++++++++----
fs/io_uring.c | 7 +++++--
fs/select.c | 37 +++++++++++++++++++++----------------
include/linux/signal.h | 2 +-
kernel/signal.c | 13 ++++++++++---
6 files changed, 59 insertions(+), 38 deletions(-)
--- a/fs/aio.c~signal-adjust-error-codes-according-to-restore_user_sigmask
+++ a/fs/aio.c
@@ -2095,7 +2095,7 @@ SYSCALL_DEFINE6(io_pgetevents,
struct __aio_sigset ksig = { NULL, };
sigset_t ksigmask, sigsaved;
struct timespec64 ts;
- int ret;
+ int ret, signal_detected;
if (timeout && unlikely(get_timespec64(&ts, timeout)))
return -EFAULT;
@@ -2108,8 +2108,8 @@ SYSCALL_DEFINE6(io_pgetevents,
return ret;
ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &ts : NULL);
- restore_user_sigmask(ksig.sigmask, &sigsaved);
- if (signal_pending(current) && !ret)
+ signal_detected = restore_user_sigmask(ksig.sigmask, &sigsaved);
+ if (signal_detected && !ret)
ret = -ERESTARTNOHAND;
return ret;
@@ -2128,7 +2128,7 @@ SYSCALL_DEFINE6(io_pgetevents_time32,
struct __aio_sigset ksig = { NULL, };
sigset_t ksigmask, sigsaved;
struct timespec64 ts;
- int ret;
+ int ret, signal_detected;
if (timeout && unlikely(get_old_timespec32(&ts, timeout)))
return -EFAULT;
@@ -2142,8 +2142,8 @@ SYSCALL_DEFINE6(io_pgetevents_time32,
return ret;
ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &ts : NULL);
- restore_user_sigmask(ksig.sigmask, &sigsaved);
- if (signal_pending(current) && !ret)
+ signal_detected = restore_user_sigmask(ksig.sigmask, &sigsaved);
+ if (signal_detected && !ret)
ret = -ERESTARTNOHAND;
return ret;
@@ -2193,7 +2193,7 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents,
struct __compat_aio_sigset ksig = { NULL, };
sigset_t ksigmask, sigsaved;
struct timespec64 t;
- int ret;
+ int ret, signal_detected;
if (timeout && get_old_timespec32(&t, timeout))
return -EFAULT;
@@ -2206,8 +2206,8 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents,
return ret;
ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &t : NULL);
- restore_user_sigmask(ksig.sigmask, &sigsaved);
- if (signal_pending(current) && !ret)
+ signal_detected = restore_user_sigmask(ksig.sigmask, &sigsaved);
+ if (signal_detected && !ret)
ret = -ERESTARTNOHAND;
return ret;
@@ -2226,7 +2226,7 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents_tim
struct __compat_aio_sigset ksig = { NULL, };
sigset_t ksigmask, sigsaved;
struct timespec64 t;
- int ret;
+ int ret, signal_detected;
if (timeout && get_timespec64(&t, timeout))
return -EFAULT;
@@ -2239,8 +2239,8 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents_tim
return ret;
ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &t : NULL);
- restore_user_sigmask(ksig.sigmask, &sigsaved);
- if (signal_pending(current) && !ret)
+ signal_detected = restore_user_sigmask(ksig.sigmask, &sigsaved);
+ if (signal_detected && !ret)
ret = -ERESTARTNOHAND;
return ret;
--- a/fs/eventpoll.c~signal-adjust-error-codes-according-to-restore_user_sigmask
+++ a/fs/eventpoll.c
@@ -2317,7 +2317,7 @@ SYSCALL_DEFINE6(epoll_pwait, int, epfd,
int, maxevents, int, timeout, const sigset_t __user *, sigmask,
size_t, sigsetsize)
{
- int error;
+ int error, signal_detected;
sigset_t ksigmask, sigsaved;
/*
@@ -2330,7 +2330,10 @@ SYSCALL_DEFINE6(epoll_pwait, int, epfd,
error = do_epoll_wait(epfd, events, maxevents, timeout);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
+
+ if (signal_detected && !error)
+ error = -EINTR;
return error;
}
@@ -2342,7 +2345,7 @@ COMPAT_SYSCALL_DEFINE6(epoll_pwait, int,
const compat_sigset_t __user *, sigmask,
compat_size_t, sigsetsize)
{
- long err;
+ long err, signal_detected;
sigset_t ksigmask, sigsaved;
/*
@@ -2355,7 +2358,10 @@ COMPAT_SYSCALL_DEFINE6(epoll_pwait, int,
err = do_epoll_wait(epfd, events, maxevents, timeout);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
+
+ if (signal_detected && !err)
+ err = -EINTR;
return err;
}
--- a/fs/io_uring.c~signal-adjust-error-codes-according-to-restore_user_sigmask
+++ a/fs/io_uring.c
@@ -2204,8 +2204,11 @@ static int io_cqring_wait(struct io_ring
if (ret == -ERESTARTSYS)
ret = -EINTR;
- if (sig)
- restore_user_sigmask(sig, &sigsaved);
+ if (sig) {
+ signal_detected = restore_user_sigmask(sig, &sigsaved);
+ if (signal_detected && !ret)
+ ret = -EINTR;
+ }
return READ_ONCE(ring->r.head) == READ_ONCE(ring->r.tail) ? ret : 0;
}
--- a/fs/select.c~signal-adjust-error-codes-according-to-restore_user_sigmask
+++ a/fs/select.c
@@ -732,7 +732,7 @@ static long do_pselect(int n, fd_set __u
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
switch (type) {
@@ -760,7 +760,9 @@ static long do_pselect(int n, fd_set __u
ret = core_sys_select(n, inp, outp, exp, to);
ret = poll_select_copy_remaining(&end_time, tsp, type, ret);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
+ if (signal_detected && !ret)
+ ret = -EINTR;
return ret;
}
@@ -1089,7 +1091,7 @@ SYSCALL_DEFINE5(ppoll, struct pollfd __u
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
if (get_timespec64(&ts, tsp))
@@ -1106,10 +1108,10 @@ SYSCALL_DEFINE5(ppoll, struct pollfd __u
ret = do_sys_poll(ufds, nfds, to);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
/* We can restart this syscall, usually */
- if (ret == -EINTR)
+ if (ret == -EINTR || (signal_detected && !ret))
ret = -ERESTARTNOHAND;
ret = poll_select_copy_remaining(&end_time, tsp, PT_TIMESPEC, ret);
@@ -1125,7 +1127,7 @@ SYSCALL_DEFINE5(ppoll_time32, struct pol
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
if (get_old_timespec32(&ts, tsp))
@@ -1142,10 +1144,10 @@ SYSCALL_DEFINE5(ppoll_time32, struct pol
ret = do_sys_poll(ufds, nfds, to);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
/* We can restart this syscall, usually */
- if (ret == -EINTR)
+ if (ret == -EINTR || (signal_detected && !ret))
ret = -ERESTARTNOHAND;
ret = poll_select_copy_remaining(&end_time, tsp, PT_OLD_TIMESPEC, ret);
@@ -1324,7 +1326,7 @@ static long do_compat_pselect(int n, com
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
switch (type) {
@@ -1352,7 +1354,10 @@ static long do_compat_pselect(int n, com
ret = compat_core_sys_select(n, inp, outp, exp, to);
ret = poll_select_copy_remaining(&end_time, tsp, type, ret);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
+
+ if (signal_detected && !ret)
+ ret = -EINTR;
return ret;
}
@@ -1408,7 +1413,7 @@ COMPAT_SYSCALL_DEFINE5(ppoll_time32, str
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
if (get_old_timespec32(&ts, tsp))
@@ -1425,10 +1430,10 @@ COMPAT_SYSCALL_DEFINE5(ppoll_time32, str
ret = do_sys_poll(ufds, nfds, to);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
/* We can restart this syscall, usually */
- if (ret == -EINTR)
+ if (ret == -EINTR || (signal_detected && !ret))
ret = -ERESTARTNOHAND;
ret = poll_select_copy_remaining(&end_time, tsp, PT_OLD_TIMESPEC, ret);
@@ -1444,7 +1449,7 @@ COMPAT_SYSCALL_DEFINE5(ppoll_time64, str
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
if (get_timespec64(&ts, tsp))
@@ -1461,10 +1466,10 @@ COMPAT_SYSCALL_DEFINE5(ppoll_time64, str
ret = do_sys_poll(ufds, nfds, to);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
/* We can restart this syscall, usually */
- if (ret == -EINTR)
+ if (ret == -EINTR || (signal_detected && !ret))
ret = -ERESTARTNOHAND;
ret = poll_select_copy_remaining(&end_time, tsp, PT_TIMESPEC, ret);
--- a/include/linux/signal.h~signal-adjust-error-codes-according-to-restore_user_sigmask
+++ a/include/linux/signal.h
@@ -275,7 +275,7 @@ extern int __group_send_sig_info(int, st
extern int sigprocmask(int, sigset_t *, sigset_t *);
extern int set_user_sigmask(const sigset_t __user *usigmask, sigset_t *set,
sigset_t *oldset, size_t sigsetsize);
-extern void restore_user_sigmask(const void __user *usigmask,
+extern int restore_user_sigmask(const void __user *usigmask,
sigset_t *sigsaved);
extern void set_current_blocked(sigset_t *);
extern void __set_current_blocked(const sigset_t *);
--- a/kernel/signal.c~signal-adjust-error-codes-according-to-restore_user_sigmask
+++ a/kernel/signal.c
@@ -2905,15 +2905,21 @@ EXPORT_SYMBOL(set_compat_user_sigmask);
* usigmask: sigmask passed in from userland.
* sigsaved: saved sigmask when the syscall started and changed the sigmask to
* usigmask.
+ * returns 1 in case a pending signal is detected.
+ *
+ * Users of the api need to adjust their return values based on whether the
+ * signal was detected here. If a signal is detected, it is delivered to the
+ * userspace. So without an error like -ETINR, userspace might fail to
+ * adjust the flow of execution.
*
* This is useful for syscalls such as ppoll, pselect, io_pgetevents and
* epoll_pwait where a new sigmask is passed in from userland for the syscalls.
*/
-void restore_user_sigmask(const void __user *usigmask, sigset_t *sigsaved)
+int restore_user_sigmask(const void __user *usigmask, sigset_t *sigsaved)
{
if (!usigmask)
- return;
+ return 0;
/*
* When signals are pending, do not restore them here.
* Restoring sigmask here can lead to delivering signals that the above
@@ -2922,7 +2928,7 @@ void restore_user_sigmask(const void __u
if (signal_pending(current)) {
current->saved_sigmask = *sigsaved;
set_restore_sigmask();
- return;
+ return 1;
}
/*
@@ -2930,6 +2936,7 @@ void restore_user_sigmask(const void __u
* saved_sigmask when signals are not pending.
*/
set_current_blocked(sigsaved);
+ return 0;
}
EXPORT_SYMBOL(restore_user_sigmask);
_
Patches currently in -mm which might be from deepa.kernel(a)gmail.com are
signal-adjust-error-codes-according-to-restore_user_sigmask.patch
A regression caused by 854a6ed56839 ("signal: Add restore_user_sigmask()")
caused users of epoll_pwait, io_pgetevents, and ppoll to notice a
latent problem in signal handling during these syscalls.
That patch (854a6ed56839) moved the signal_pending() check closer
to restoring of the user sigmask. But, it failed to update the error
code accordingly. From the userspace perspective, the patch increased
the time window for the signal discovery and subsequent delivery to the
userspace, but did not always adjust the errno afterwards. The behavior
before 854a6ed56839a was that the signals were dropped after the error
code was decided. This resulted in lost signals but the userspace did not
notice it as the syscalls had finished executing the core functionality
and the error codes returned notified success.
For all the syscalls that receive a sigmask from the userland,
the user sigmask is to be in effect through the syscall execution.
At the end of syscall, sigmask of the current process is restored
to what it was before the switch over to user sigmask.
But, for this to be true in practice, the sigmask should be restored
only at the the point we change the saved_sigmask. Anything before
that loses signals. And, anything after is just pointless as the
signal is already lost by restoring the sigmask.
Detailed issue discussion permalink:
https://lore.kernel.org/linux-fsdevel/20190427093319.sgicqik2oqkez3wk@dcvr/
Note that this patch returns interrupted errors (EINTR, ERESTARTNOHAND,
etc) only when there is no other error. If there is a signal and an error
like EINVAL, the syscalls return -EINVAL rather than the interrupted
error codes.
Reported-by: Eric Wong <e(a)80x24.org>
Fixes: 854a6ed56839a40f6b5d02a2962f48841482eec4 ("signal: Add restore_user_sigmask()")
Signed-off-by: Deepa Dinamani <deepa.kernel(a)gmail.com>
Reviewed-by: Davidlohr Bueso <dbueso(a)suse.de>
Cc: <stable(a)vger.kernel.org> # 5.0.x
Cc: <stable(a)vger.kernel.org> # 5.1.x
---
Applies to 5.1 using patch -p1.
Backport to 5.0 requires dropping the io_uring.c diff.
Changes since v2:
* added back the reviewed-by tag
* fixed missing local definition in io_uring.c
Changes since v1:
* updated the commit text for more context of the pre-existing condition
* added stable tags as requested
fs/aio.c | 24 ++++++++++++------------
fs/eventpoll.c | 14 ++++++++++----
fs/io_uring.c | 7 +++++--
fs/select.c | 37 +++++++++++++++++++++----------------
include/linux/signal.h | 2 +-
kernel/signal.c | 13 ++++++++++---
6 files changed, 59 insertions(+), 38 deletions(-)
diff --git a/fs/aio.c b/fs/aio.c
index 3490d1fa0e16..ebd2b1980161 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -2095,7 +2095,7 @@ SYSCALL_DEFINE6(io_pgetevents,
struct __aio_sigset ksig = { NULL, };
sigset_t ksigmask, sigsaved;
struct timespec64 ts;
- int ret;
+ int ret, signal_detected;
if (timeout && unlikely(get_timespec64(&ts, timeout)))
return -EFAULT;
@@ -2108,8 +2108,8 @@ SYSCALL_DEFINE6(io_pgetevents,
return ret;
ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &ts : NULL);
- restore_user_sigmask(ksig.sigmask, &sigsaved);
- if (signal_pending(current) && !ret)
+ signal_detected = restore_user_sigmask(ksig.sigmask, &sigsaved);
+ if (signal_detected && !ret)
ret = -ERESTARTNOHAND;
return ret;
@@ -2128,7 +2128,7 @@ SYSCALL_DEFINE6(io_pgetevents_time32,
struct __aio_sigset ksig = { NULL, };
sigset_t ksigmask, sigsaved;
struct timespec64 ts;
- int ret;
+ int ret, signal_detected;
if (timeout && unlikely(get_old_timespec32(&ts, timeout)))
return -EFAULT;
@@ -2142,8 +2142,8 @@ SYSCALL_DEFINE6(io_pgetevents_time32,
return ret;
ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &ts : NULL);
- restore_user_sigmask(ksig.sigmask, &sigsaved);
- if (signal_pending(current) && !ret)
+ signal_detected = restore_user_sigmask(ksig.sigmask, &sigsaved);
+ if (signal_detected && !ret)
ret = -ERESTARTNOHAND;
return ret;
@@ -2193,7 +2193,7 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents,
struct __compat_aio_sigset ksig = { NULL, };
sigset_t ksigmask, sigsaved;
struct timespec64 t;
- int ret;
+ int ret, signal_detected;
if (timeout && get_old_timespec32(&t, timeout))
return -EFAULT;
@@ -2206,8 +2206,8 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents,
return ret;
ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &t : NULL);
- restore_user_sigmask(ksig.sigmask, &sigsaved);
- if (signal_pending(current) && !ret)
+ signal_detected = restore_user_sigmask(ksig.sigmask, &sigsaved);
+ if (signal_detected && !ret)
ret = -ERESTARTNOHAND;
return ret;
@@ -2226,7 +2226,7 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents_time64,
struct __compat_aio_sigset ksig = { NULL, };
sigset_t ksigmask, sigsaved;
struct timespec64 t;
- int ret;
+ int ret, signal_detected;
if (timeout && get_timespec64(&t, timeout))
return -EFAULT;
@@ -2239,8 +2239,8 @@ COMPAT_SYSCALL_DEFINE6(io_pgetevents_time64,
return ret;
ret = do_io_getevents(ctx_id, min_nr, nr, events, timeout ? &t : NULL);
- restore_user_sigmask(ksig.sigmask, &sigsaved);
- if (signal_pending(current) && !ret)
+ signal_detected = restore_user_sigmask(ksig.sigmask, &sigsaved);
+ if (signal_detected && !ret)
ret = -ERESTARTNOHAND;
return ret;
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
index 4a0e98d87fcc..fe5a0724b417 100644
--- a/fs/eventpoll.c
+++ b/fs/eventpoll.c
@@ -2317,7 +2317,7 @@ SYSCALL_DEFINE6(epoll_pwait, int, epfd, struct epoll_event __user *, events,
int, maxevents, int, timeout, const sigset_t __user *, sigmask,
size_t, sigsetsize)
{
- int error;
+ int error, signal_detected;
sigset_t ksigmask, sigsaved;
/*
@@ -2330,7 +2330,10 @@ SYSCALL_DEFINE6(epoll_pwait, int, epfd, struct epoll_event __user *, events,
error = do_epoll_wait(epfd, events, maxevents, timeout);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
+
+ if (signal_detected && !error)
+ error = -EINTR;
return error;
}
@@ -2342,7 +2345,7 @@ COMPAT_SYSCALL_DEFINE6(epoll_pwait, int, epfd,
const compat_sigset_t __user *, sigmask,
compat_size_t, sigsetsize)
{
- long err;
+ long err, signal_detected;
sigset_t ksigmask, sigsaved;
/*
@@ -2355,7 +2358,10 @@ COMPAT_SYSCALL_DEFINE6(epoll_pwait, int, epfd,
err = do_epoll_wait(epfd, events, maxevents, timeout);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
+
+ if (signal_detected && !err)
+ err = -EINTR;
return err;
}
diff --git a/fs/io_uring.c b/fs/io_uring.c
index e11d77181398..b785c8d7efc4 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -2205,8 +2205,11 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events,
if (ret == -ERESTARTSYS)
ret = -EINTR;
- if (sig)
- restore_user_sigmask(sig, &sigsaved);
+ if (sig) {
+ int signal_detected = restore_user_sigmask(sig, &sigsaved);
+ if (signal_detected && !ret)
+ ret = -EINTR;
+ }
return READ_ONCE(ring->r.head) == READ_ONCE(ring->r.tail) ? ret : 0;
}
diff --git a/fs/select.c b/fs/select.c
index 6cbc9ff56ba0..da9cfea35159 100644
--- a/fs/select.c
+++ b/fs/select.c
@@ -732,7 +732,7 @@ static long do_pselect(int n, fd_set __user *inp, fd_set __user *outp,
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
switch (type) {
@@ -760,7 +760,9 @@ static long do_pselect(int n, fd_set __user *inp, fd_set __user *outp,
ret = core_sys_select(n, inp, outp, exp, to);
ret = poll_select_copy_remaining(&end_time, tsp, type, ret);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
+ if (signal_detected && !ret)
+ ret = -EINTR;
return ret;
}
@@ -1089,7 +1091,7 @@ SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds, unsigned int, nfds,
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
if (get_timespec64(&ts, tsp))
@@ -1106,10 +1108,10 @@ SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds, unsigned int, nfds,
ret = do_sys_poll(ufds, nfds, to);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
/* We can restart this syscall, usually */
- if (ret == -EINTR)
+ if (ret == -EINTR || (signal_detected && !ret))
ret = -ERESTARTNOHAND;
ret = poll_select_copy_remaining(&end_time, tsp, PT_TIMESPEC, ret);
@@ -1125,7 +1127,7 @@ SYSCALL_DEFINE5(ppoll_time32, struct pollfd __user *, ufds, unsigned int, nfds,
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
if (get_old_timespec32(&ts, tsp))
@@ -1142,10 +1144,10 @@ SYSCALL_DEFINE5(ppoll_time32, struct pollfd __user *, ufds, unsigned int, nfds,
ret = do_sys_poll(ufds, nfds, to);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
/* We can restart this syscall, usually */
- if (ret == -EINTR)
+ if (ret == -EINTR || (signal_detected && !ret))
ret = -ERESTARTNOHAND;
ret = poll_select_copy_remaining(&end_time, tsp, PT_OLD_TIMESPEC, ret);
@@ -1324,7 +1326,7 @@ static long do_compat_pselect(int n, compat_ulong_t __user *inp,
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
switch (type) {
@@ -1352,7 +1354,10 @@ static long do_compat_pselect(int n, compat_ulong_t __user *inp,
ret = compat_core_sys_select(n, inp, outp, exp, to);
ret = poll_select_copy_remaining(&end_time, tsp, type, ret);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
+
+ if (signal_detected && !ret)
+ ret = -EINTR;
return ret;
}
@@ -1408,7 +1413,7 @@ COMPAT_SYSCALL_DEFINE5(ppoll_time32, struct pollfd __user *, ufds,
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
if (get_old_timespec32(&ts, tsp))
@@ -1425,10 +1430,10 @@ COMPAT_SYSCALL_DEFINE5(ppoll_time32, struct pollfd __user *, ufds,
ret = do_sys_poll(ufds, nfds, to);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
/* We can restart this syscall, usually */
- if (ret == -EINTR)
+ if (ret == -EINTR || (signal_detected && !ret))
ret = -ERESTARTNOHAND;
ret = poll_select_copy_remaining(&end_time, tsp, PT_OLD_TIMESPEC, ret);
@@ -1444,7 +1449,7 @@ COMPAT_SYSCALL_DEFINE5(ppoll_time64, struct pollfd __user *, ufds,
{
sigset_t ksigmask, sigsaved;
struct timespec64 ts, end_time, *to = NULL;
- int ret;
+ int ret, signal_detected;
if (tsp) {
if (get_timespec64(&ts, tsp))
@@ -1461,10 +1466,10 @@ COMPAT_SYSCALL_DEFINE5(ppoll_time64, struct pollfd __user *, ufds,
ret = do_sys_poll(ufds, nfds, to);
- restore_user_sigmask(sigmask, &sigsaved);
+ signal_detected = restore_user_sigmask(sigmask, &sigsaved);
/* We can restart this syscall, usually */
- if (ret == -EINTR)
+ if (ret == -EINTR || (signal_detected && !ret))
ret = -ERESTARTNOHAND;
ret = poll_select_copy_remaining(&end_time, tsp, PT_TIMESPEC, ret);
diff --git a/include/linux/signal.h b/include/linux/signal.h
index 9702016734b1..1d36e8629edf 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -275,7 +275,7 @@ extern int __group_send_sig_info(int, struct kernel_siginfo *, struct task_struc
extern int sigprocmask(int, sigset_t *, sigset_t *);
extern int set_user_sigmask(const sigset_t __user *usigmask, sigset_t *set,
sigset_t *oldset, size_t sigsetsize);
-extern void restore_user_sigmask(const void __user *usigmask,
+extern int restore_user_sigmask(const void __user *usigmask,
sigset_t *sigsaved);
extern void set_current_blocked(sigset_t *);
extern void __set_current_blocked(const sigset_t *);
diff --git a/kernel/signal.c b/kernel/signal.c
index 1c86b78a7597..7cc33d23ee4b 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -2916,15 +2916,21 @@ EXPORT_SYMBOL(set_compat_user_sigmask);
* usigmask: sigmask passed in from userland.
* sigsaved: saved sigmask when the syscall started and changed the sigmask to
* usigmask.
+ * returns 1 in case a pending signal is detected.
+ *
+ * Users of the api need to adjust their return values based on whether the
+ * signal was detected here. If a signal is detected, it is delivered to the
+ * userspace. So without an error like -ETINR, userspace might fail to
+ * adjust the flow of execution.
*
* This is useful for syscalls such as ppoll, pselect, io_pgetevents and
* epoll_pwait where a new sigmask is passed in from userland for the syscalls.
*/
-void restore_user_sigmask(const void __user *usigmask, sigset_t *sigsaved)
+int restore_user_sigmask(const void __user *usigmask, sigset_t *sigsaved)
{
if (!usigmask)
- return;
+ return 0;
/*
* When signals are pending, do not restore them here.
* Restoring sigmask here can lead to delivering signals that the above
@@ -2933,7 +2939,7 @@ void restore_user_sigmask(const void __user *usigmask, sigset_t *sigsaved)
if (signal_pending(current)) {
current->saved_sigmask = *sigsaved;
set_restore_sigmask();
- return;
+ return 1;
}
/*
@@ -2941,6 +2947,7 @@ void restore_user_sigmask(const void __user *usigmask, sigset_t *sigsaved)
* saved_sigmask when signals are not pending.
*/
set_current_blocked(sigsaved);
+ return 0;
}
EXPORT_SYMBOL(restore_user_sigmask);
--
2.17.1
This is a note to let you know that I've just added the patch titled
usb: xhci: avoid null pointer deref when bos field is NULL
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 7aa1bb2ffd84d6b9b5f546b079bb15cd0ab6e76e Mon Sep 17 00:00:00 2001
From: Carsten Schmid <carsten_schmid(a)mentor.com>
Date: Wed, 22 May 2019 14:33:59 +0300
Subject: usb: xhci: avoid null pointer deref when bos field is NULL
With defective USB sticks we see the following error happen:
usb 1-3: new high-speed USB device number 6 using xhci_hcd
usb 1-3: device descriptor read/64, error -71
usb 1-3: device descriptor read/64, error -71
usb 1-3: new high-speed USB device number 7 using xhci_hcd
usb 1-3: device descriptor read/64, error -71
usb 1-3: unable to get BOS descriptor set
usb 1-3: New USB device found, idVendor=0781, idProduct=5581
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
...
BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
This comes from the following place:
[ 1660.215380] IP: xhci_set_usb2_hardware_lpm+0xdf/0x3d0 [xhci_hcd]
[ 1660.222092] PGD 0 P4D 0
[ 1660.224918] Oops: 0000 [#1] PREEMPT SMP NOPTI
[ 1660.425520] CPU: 1 PID: 38 Comm: kworker/1:1 Tainted: P U W O 4.14.67-apl #1
[ 1660.434277] Workqueue: usb_hub_wq hub_event [usbcore]
[ 1660.439918] task: ffffa295b6ae4c80 task.stack: ffffad4580150000
[ 1660.446532] RIP: 0010:xhci_set_usb2_hardware_lpm+0xdf/0x3d0 [xhci_hcd]
[ 1660.453821] RSP: 0018:ffffad4580153c70 EFLAGS: 00010046
[ 1660.459655] RAX: 0000000000000000 RBX: ffffa295b4d7c000 RCX: 0000000000000002
[ 1660.467625] RDX: 0000000000000002 RSI: ffffffff984a55b2 RDI: ffffffff984a55b2
[ 1660.475586] RBP: ffffad4580153cc8 R08: 0000000000d6520a R09: 0000000000000001
[ 1660.483556] R10: ffffad4580a004a0 R11: 0000000000000286 R12: ffffa295b4d7c000
[ 1660.491525] R13: 0000000000010648 R14: ffffa295a84e1800 R15: 0000000000000000
[ 1660.499494] FS: 0000000000000000(0000) GS:ffffa295bfc80000(0000) knlGS:0000000000000000
[ 1660.508530] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1660.514947] CR2: 0000000000000008 CR3: 000000025a114000 CR4: 00000000003406a0
[ 1660.522917] Call Trace:
[ 1660.525657] usb_set_usb2_hardware_lpm+0x3d/0x70 [usbcore]
[ 1660.531792] usb_disable_device+0x242/0x260 [usbcore]
[ 1660.537439] usb_disconnect+0xc1/0x2b0 [usbcore]
[ 1660.542600] hub_event+0x596/0x18f0 [usbcore]
[ 1660.547467] ? trace_preempt_on+0xdf/0x100
[ 1660.552040] ? process_one_work+0x1c1/0x410
[ 1660.556708] process_one_work+0x1d2/0x410
[ 1660.561184] ? preempt_count_add.part.3+0x21/0x60
[ 1660.566436] worker_thread+0x2d/0x3f0
[ 1660.570522] kthread+0x122/0x140
[ 1660.574123] ? process_one_work+0x410/0x410
[ 1660.578792] ? kthread_create_on_node+0x60/0x60
[ 1660.583849] ret_from_fork+0x3a/0x50
[ 1660.587839] Code: 00 49 89 c3 49 8b 84 24 50 16 00 00 8d 4a ff 48 8d 04 c8 48 89 ca 4c 8b 10 45 8b 6a 04 48 8b 00 48 89 45 c0 49 8b 86 80 03 00 00 <48> 8b 40 08 8b 40 03 0f 1f 44 00 00 45 85 ff 0f 84 81 01 00 00
[ 1660.608980] RIP: xhci_set_usb2_hardware_lpm+0xdf/0x3d0 [xhci_hcd] RSP: ffffad4580153c70
[ 1660.617921] CR2: 0000000000000008
Tracking this down shows that udev->bos is NULL in the following code:
(xhci.c, in xhci_set_usb2_hardware_lpm)
field = le32_to_cpu(udev->bos->ext_cap->bmAttributes); <<<<<<< here
xhci_dbg(xhci, "%s port %d USB2 hardware LPM\n",
enable ? "enable" : "disable", port_num + 1);
if (enable) {
/* Host supports BESL timeout instead of HIRD */
if (udev->usb2_hw_lpm_besl_capable) {
/* if device doesn't have a preferred BESL value use a
* default one which works with mixed HIRD and BESL
* systems. See XHCI_DEFAULT_BESL definition in xhci.h
*/
if ((field & USB_BESL_SUPPORT) &&
(field & USB_BESL_BASELINE_VALID))
hird = USB_GET_BESL_BASELINE(field);
else
hird = udev->l1_params.besl;
The failing case is when disabling LPM. So it is sufficient to avoid
access to udev->bos by moving the instruction into the "enable" clause.
Cc: Stable <stable(a)vger.kernel.org>
Signed-off-by: Carsten Schmid <carsten_schmid(a)mentor.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/host/xhci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index a9bb796794e3..048a675bbc52 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4320,7 +4320,6 @@ static int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
pm_addr = ports[port_num]->addr + PORTPMSC;
pm_val = readl(pm_addr);
hlpm_addr = ports[port_num]->addr + PORTHLPMC;
- field = le32_to_cpu(udev->bos->ext_cap->bmAttributes);
xhci_dbg(xhci, "%s port %d USB2 hardware LPM\n",
enable ? "enable" : "disable", port_num + 1);
@@ -4332,6 +4331,7 @@ static int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
* default one which works with mixed HIRD and BESL
* systems. See XHCI_DEFAULT_BESL definition in xhci.h
*/
+ field = le32_to_cpu(udev->bos->ext_cap->bmAttributes);
if ((field & USB_BESL_SUPPORT) &&
(field & USB_BESL_BASELINE_VALID))
hird = USB_GET_BESL_BASELINE(field);
--
2.21.0
This is a note to let you know that I've just added the patch titled
xhci: update bounce buffer with correct sg num
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 597c56e372dab2c7f79b8d700aad3a5deebf9d1b Mon Sep 17 00:00:00 2001
From: Henry Lin <henryl(a)nvidia.com>
Date: Wed, 22 May 2019 14:33:57 +0300
Subject: xhci: update bounce buffer with correct sg num
This change fixes a data corruption issue occurred on USB hard disk for
the case that bounce buffer is used during transferring data.
While updating data between sg list and bounce buffer, current
implementation passes mapped sg number (urb->num_mapped_sgs) to
sg_pcopy_from_buffer() and sg_pcopy_to_buffer(). This causes data
not get copied if target buffer is located in the elements after
mapped sg elements. This change passes sg number for full list to
fix issue.
Besides, for copying data from bounce buffer, calling dma_unmap_single()
on the bounce buffer before copying data to sg list can avoid cache issue.
Fixes: f9c589e142d0 ("xhci: TD-fragment, align the unsplittable case with a bounce buffer")
Cc: <stable(a)vger.kernel.org> # v4.8+
Signed-off-by: Henry Lin <henryl(a)nvidia.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/host/xhci-ring.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index fed3385aeac0..ef7c8698772e 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -656,6 +656,7 @@ static void xhci_unmap_td_bounce_buffer(struct xhci_hcd *xhci,
struct device *dev = xhci_to_hcd(xhci)->self.controller;
struct xhci_segment *seg = td->bounce_seg;
struct urb *urb = td->urb;
+ size_t len;
if (!ring || !seg || !urb)
return;
@@ -666,11 +667,14 @@ static void xhci_unmap_td_bounce_buffer(struct xhci_hcd *xhci,
return;
}
- /* for in tranfers we need to copy the data from bounce to sg */
- sg_pcopy_from_buffer(urb->sg, urb->num_mapped_sgs, seg->bounce_buf,
- seg->bounce_len, seg->bounce_offs);
dma_unmap_single(dev, seg->bounce_dma, ring->bounce_buf_len,
DMA_FROM_DEVICE);
+ /* for in tranfers we need to copy the data from bounce to sg */
+ len = sg_pcopy_from_buffer(urb->sg, urb->num_sgs, seg->bounce_buf,
+ seg->bounce_len, seg->bounce_offs);
+ if (len != seg->bounce_len)
+ xhci_warn(xhci, "WARN Wrong bounce buffer read length: %ld != %d\n",
+ len, seg->bounce_len);
seg->bounce_len = 0;
seg->bounce_offs = 0;
}
@@ -3127,6 +3131,7 @@ static int xhci_align_td(struct xhci_hcd *xhci, struct urb *urb, u32 enqd_len,
unsigned int unalign;
unsigned int max_pkt;
u32 new_buff_len;
+ size_t len;
max_pkt = usb_endpoint_maxp(&urb->ep->desc);
unalign = (enqd_len + *trb_buff_len) % max_pkt;
@@ -3157,8 +3162,12 @@ static int xhci_align_td(struct xhci_hcd *xhci, struct urb *urb, u32 enqd_len,
/* create a max max_pkt sized bounce buffer pointed to by last trb */
if (usb_urb_dir_out(urb)) {
- sg_pcopy_to_buffer(urb->sg, urb->num_mapped_sgs,
+ len = sg_pcopy_to_buffer(urb->sg, urb->num_sgs,
seg->bounce_buf, new_buff_len, enqd_len);
+ if (len != seg->bounce_len)
+ xhci_warn(xhci,
+ "WARN Wrong bounce buffer write length: %ld != %d\n",
+ len, seg->bounce_len);
seg->bounce_dma = dma_map_single(dev, seg->bounce_buf,
max_pkt, DMA_TO_DEVICE);
} else {
--
2.21.0
This is a note to let you know that I've just added the patch titled
media: usb: siano: Fix false-positive "uninitialized variable"
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 45457c01171fd1488a7000d1751c06ed8560ee38 Mon Sep 17 00:00:00 2001
From: Alan Stern <stern(a)rowland.harvard.edu>
Date: Tue, 21 May 2019 11:38:07 -0400
Subject: media: usb: siano: Fix false-positive "uninitialized variable"
warning
GCC complains about an apparently uninitialized variable recently
added to smsusb_init_device(). It's a false positive, but to silence
the warning this patch adds a trivial initialization.
Signed-off-by: Alan Stern <stern(a)rowland.harvard.edu>
Reported-by: kbuild test robot <lkp(a)intel.com>
CC: <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/media/usb/siano/smsusb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c
index 27ad14a3f831..59b3c124b49d 100644
--- a/drivers/media/usb/siano/smsusb.c
+++ b/drivers/media/usb/siano/smsusb.c
@@ -400,7 +400,7 @@ static int smsusb_init_device(struct usb_interface *intf, int board_id)
struct smsusb_device_t *dev;
void *mdev;
int i, rc;
- int in_maxp;
+ int in_maxp = 0;
/* create device object */
dev = kzalloc(sizeof(struct smsusb_device_t), GFP_KERNEL);
--
2.21.0
From: Andrey Smirnov <andrew.smirnov(a)gmail.com>
Xhci_handshake() implements the algorithm already captured by
readl_poll_timeout_atomic(). Convert the former to use the latter to
avoid repetition.
Turned out this patch also fixes a bug on the AMD Stoneyridge platform
where usleep(1) sometimes takes over 10ms.
This means a 5 second timeout can easily take over 15 seconds which will
trigger the watchdog and reboot the system.
[Add info about patch fixing a bug to commit message -Mathias]
Signed-off-by: Andrey Smirnov <andrew.smirnov(a)gmail.com>
Tested-by: Raul E Rangel <rrangel(a)chromium.org>
Reviewed-by: Raul E Rangel <rrangel(a)chromium.org>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
---
drivers/usb/host/xhci.c | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 048a675..20db378 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -9,6 +9,7 @@
*/
#include <linux/pci.h>
+#include <linux/iopoll.h>
#include <linux/irq.h>
#include <linux/log2.h>
#include <linux/module.h>
@@ -52,7 +53,6 @@ static bool td_on_ring(struct xhci_td *td, struct xhci_ring *ring)
return false;
}
-/* TODO: copied from ehci-hcd.c - can this be refactored? */
/*
* xhci_handshake - spin reading hc until handshake completes or fails
* @ptr: address of hc register to be read
@@ -69,18 +69,16 @@ static bool td_on_ring(struct xhci_td *td, struct xhci_ring *ring)
int xhci_handshake(void __iomem *ptr, u32 mask, u32 done, int usec)
{
u32 result;
+ int ret;
- do {
- result = readl(ptr);
- if (result == ~(u32)0) /* card removed */
- return -ENODEV;
- result &= mask;
- if (result == done)
- return 0;
- udelay(1);
- usec--;
- } while (usec > 0);
- return -ETIMEDOUT;
+ ret = readl_poll_timeout_atomic(ptr, result,
+ (result & mask) == done ||
+ result == U32_MAX,
+ 1, usec);
+ if (result == U32_MAX) /* card removed */
+ return -ENODEV;
+
+ return ret;
}
/*
--
2.7.4
From: Henry Lin <henryl(a)nvidia.com>
This change fixes a data corruption issue occurred on USB hard disk for
the case that bounce buffer is used during transferring data.
While updating data between sg list and bounce buffer, current
implementation passes mapped sg number (urb->num_mapped_sgs) to
sg_pcopy_from_buffer() and sg_pcopy_to_buffer(). This causes data
not get copied if target buffer is located in the elements after
mapped sg elements. This change passes sg number for full list to
fix issue.
Besides, for copying data from bounce buffer, calling dma_unmap_single()
on the bounce buffer before copying data to sg list can avoid cache issue.
Fixes: f9c589e142d0 ("xhci: TD-fragment, align the unsplittable case with a bounce buffer")
Cc: <stable(a)vger.kernel.org> # v4.8+
Signed-off-by: Henry Lin <henryl(a)nvidia.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
---
drivers/usb/host/xhci-ring.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index fed3385..ef7c869 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -656,6 +656,7 @@ static void xhci_unmap_td_bounce_buffer(struct xhci_hcd *xhci,
struct device *dev = xhci_to_hcd(xhci)->self.controller;
struct xhci_segment *seg = td->bounce_seg;
struct urb *urb = td->urb;
+ size_t len;
if (!ring || !seg || !urb)
return;
@@ -666,11 +667,14 @@ static void xhci_unmap_td_bounce_buffer(struct xhci_hcd *xhci,
return;
}
- /* for in tranfers we need to copy the data from bounce to sg */
- sg_pcopy_from_buffer(urb->sg, urb->num_mapped_sgs, seg->bounce_buf,
- seg->bounce_len, seg->bounce_offs);
dma_unmap_single(dev, seg->bounce_dma, ring->bounce_buf_len,
DMA_FROM_DEVICE);
+ /* for in tranfers we need to copy the data from bounce to sg */
+ len = sg_pcopy_from_buffer(urb->sg, urb->num_sgs, seg->bounce_buf,
+ seg->bounce_len, seg->bounce_offs);
+ if (len != seg->bounce_len)
+ xhci_warn(xhci, "WARN Wrong bounce buffer read length: %ld != %d\n",
+ len, seg->bounce_len);
seg->bounce_len = 0;
seg->bounce_offs = 0;
}
@@ -3127,6 +3131,7 @@ static int xhci_align_td(struct xhci_hcd *xhci, struct urb *urb, u32 enqd_len,
unsigned int unalign;
unsigned int max_pkt;
u32 new_buff_len;
+ size_t len;
max_pkt = usb_endpoint_maxp(&urb->ep->desc);
unalign = (enqd_len + *trb_buff_len) % max_pkt;
@@ -3157,8 +3162,12 @@ static int xhci_align_td(struct xhci_hcd *xhci, struct urb *urb, u32 enqd_len,
/* create a max max_pkt sized bounce buffer pointed to by last trb */
if (usb_urb_dir_out(urb)) {
- sg_pcopy_to_buffer(urb->sg, urb->num_mapped_sgs,
+ len = sg_pcopy_to_buffer(urb->sg, urb->num_sgs,
seg->bounce_buf, new_buff_len, enqd_len);
+ if (len != seg->bounce_len)
+ xhci_warn(xhci,
+ "WARN Wrong bounce buffer write length: %ld != %d\n",
+ len, seg->bounce_len);
seg->bounce_dma = dma_map_single(dev, seg->bounce_buf,
max_pkt, DMA_TO_DEVICE);
} else {
--
2.7.4
We have a single node system with node 0 disabled:
Scanning NUMA topology in Northbridge 24
Number of physical nodes 2
Skipping disabled node 0
Node 1 MemBase 0000000000000000 Limit 00000000fbff0000
NODE_DATA(1) allocated [mem 0xfbfda000-0xfbfeffff]
This causes crashes in memcg when system boots:
BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
#PF error: [normal kernel read fault]
...
RIP: 0010:list_lru_add+0x94/0x170
...
Call Trace:
d_lru_add+0x44/0x50
dput.part.34+0xfc/0x110
__fput+0x108/0x230
task_work_run+0x9f/0xc0
exit_to_usermode_loop+0xf5/0x100
It is reproducible as far as 4.12. I did not try older kernels. You have
to have a new enough systemd, e.g. 241 (the reason is unknown -- was not
investigated). Cannot be reproduced with systemd 234.
The system crashes because the size of lru array is never updated in
memcg_update_all_list_lrus and the reads are past the zero-sized array,
causing dereferences of random memory.
The root cause are list_lru_memcg_aware checks in the list_lru code.
The test in list_lru_memcg_aware is broken: it assumes node 0 is always
present, but it is not true on some systems as can be seen above.
So fix this by avoiding checks on node 0. Remember the memcg-awareness
by a bool flag in struct list_lru.
[v2] use the idea proposed by Vladimir -- the bool flag.
Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
Fixes: 60d3fd32a7a9 ("list_lru: introduce per-memcg lists")
Cc: Johannes Weiner <hannes(a)cmpxchg.org>
Acked-by: Michal Hocko <mhocko(a)suse.com>
Suggested-by: Vladimir Davydov <vdavydov.dev(a)gmail.com>
Acked-by: Vladimir Davydov <vdavydov.dev(a)gmail.com>
Reviewed-by: Shakeel Butt <shakeelb(a)google.com>
Cc: <cgroups(a)vger.kernel.org>
Cc: <stable(a)vger.kernel.org>
Cc: <linux-mm(a)kvack.org>
Cc: Raghavendra K T <raghavendra.kt(a)linux.vnet.ibm.com>
---
This is only a resent patch. I did not send it the akpm's way previously.
include/linux/list_lru.h | 1 +
mm/list_lru.c | 8 +++-----
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/include/linux/list_lru.h b/include/linux/list_lru.h
index aa5efd9351eb..d5ceb2839a2d 100644
--- a/include/linux/list_lru.h
+++ b/include/linux/list_lru.h
@@ -54,6 +54,7 @@ struct list_lru {
#ifdef CONFIG_MEMCG_KMEM
struct list_head list;
int shrinker_id;
+ bool memcg_aware;
#endif
};
diff --git a/mm/list_lru.c b/mm/list_lru.c
index 0730bf8ff39f..d3b538146efd 100644
--- a/mm/list_lru.c
+++ b/mm/list_lru.c
@@ -37,11 +37,7 @@ static int lru_shrinker_id(struct list_lru *lru)
static inline bool list_lru_memcg_aware(struct list_lru *lru)
{
- /*
- * This needs node 0 to be always present, even
- * in the systems supporting sparse numa ids.
- */
- return !!lru->node[0].memcg_lrus;
+ return lru->memcg_aware;
}
static inline struct list_lru_one *
@@ -451,6 +447,8 @@ static int memcg_init_list_lru(struct list_lru *lru, bool memcg_aware)
{
int i;
+ lru->memcg_aware = memcg_aware;
+
if (!memcg_aware)
return 0;
--
2.21.0
The saturation bit was being set at bit 9 in the second 32-bit word
of the TPMEM CSC. This isn't correct, the saturation bit is bit 42,
which is bit 10 of the second word.
Fixes: 1aa8ea0d2bd5d ("gpu: ipu-v3: Add Image Converter unit")
Signed-off-by: Steve Longerbeam <slongerbeam(a)gmail.com>
Reviewed-by: Philipp Zabel <p.zabel(a)pengutronix.de>
Cc: stable(a)vger.kernel.org
---
drivers/gpu/ipu-v3/ipu-ic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/ipu-v3/ipu-ic.c b/drivers/gpu/ipu-v3/ipu-ic.c
index 594c3cbc8291..18816ccf600e 100644
--- a/drivers/gpu/ipu-v3/ipu-ic.c
+++ b/drivers/gpu/ipu-v3/ipu-ic.c
@@ -257,7 +257,7 @@ static int init_csc(struct ipu_ic *ic,
writel(param, base++);
param = ((a[0] & 0x1fe0) >> 5) | (params->scale << 8) |
- (params->sat << 9);
+ (params->sat << 10);
writel(param, base++);
param = ((a[1] & 0x1f) << 27) | ((c[0][1] & 0x1ff) << 18) |
--
2.17.1
A few new fields were added to mmu_gather to make TLB flush smarter for
huge page by telling what level of page table is changed.
__tlb_reset_range() is used to reset all these page table state to
unchanged, which is called by TLB flush for parallel mapping changes for
the same range under non-exclusive lock (i.e. read mmap_sem). Before
commit dd2283f2605e ("mm: mmap: zap pages with read mmap_sem in
munmap"), the syscalls (e.g. MADV_DONTNEED, MADV_FREE) which may update
PTEs in parallel don't remove page tables. But, the forementioned
commit may do munmap() under read mmap_sem and free page tables. This
may result in program hang on aarch64 reported by Jan Stancek. The
problem could be reproduced by his test program with slightly modified
below.
---8<---
static int map_size = 4096;
static int num_iter = 500;
static long threads_total;
static void *distant_area;
void *map_write_unmap(void *ptr)
{
int *fd = ptr;
unsigned char *map_address;
int i, j = 0;
for (i = 0; i < num_iter; i++) {
map_address = mmap(distant_area, (size_t) map_size, PROT_WRITE | PROT_READ,
MAP_SHARED | MAP_ANONYMOUS, -1, 0);
if (map_address == MAP_FAILED) {
perror("mmap");
exit(1);
}
for (j = 0; j < map_size; j++)
map_address[j] = 'b';
if (munmap(map_address, map_size) == -1) {
perror("munmap");
exit(1);
}
}
return NULL;
}
void *dummy(void *ptr)
{
return NULL;
}
int main(void)
{
pthread_t thid[2];
/* hint for mmap in map_write_unmap() */
distant_area = mmap(0, DISTANT_MMAP_SIZE, PROT_WRITE | PROT_READ,
MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
munmap(distant_area, (size_t)DISTANT_MMAP_SIZE);
distant_area += DISTANT_MMAP_SIZE / 2;
while (1) {
pthread_create(&thid[0], NULL, map_write_unmap, NULL);
pthread_create(&thid[1], NULL, dummy, NULL);
pthread_join(thid[0], NULL);
pthread_join(thid[1], NULL);
}
}
---8<---
The program may bring in parallel execution like below:
t1 t2
munmap(map_address)
downgrade_write(&mm->mmap_sem);
unmap_region()
tlb_gather_mmu()
inc_tlb_flush_pending(tlb->mm);
free_pgtables()
tlb->freed_tables = 1
tlb->cleared_pmds = 1
pthread_exit()
madvise(thread_stack, 8M, MADV_DONTNEED)
zap_page_range()
tlb_gather_mmu()
inc_tlb_flush_pending(tlb->mm);
tlb_finish_mmu()
if (mm_tlb_flush_nested(tlb->mm))
__tlb_reset_range()
__tlb_reset_range() would reset freed_tables and cleared_* bits, but
this may cause inconsistency for munmap() which do free page tables.
Then it may result in some architectures, e.g. aarch64, may not flush
TLB completely as expected to have stale TLB entries remained.
Use fullmm flush since it yields much better performance on aarch64 and
non-fullmm doesn't yields significant difference on x86.
The original proposed fix came from Jan Stancek who mainly debugged this
issue, I just wrapped up everything together.
Reported-by: Jan Stancek <jstancek(a)redhat.com>
Tested-by: Jan Stancek <jstancek(a)redhat.com>
Suggested-by: Will Deacon <will.deacon(a)arm.com>
Cc: Peter Zijlstra <peterz(a)infradead.org>
Cc: Nick Piggin <npiggin(a)gmail.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar(a)linux.ibm.com>
Cc: Nadav Amit <namit(a)vmware.com>
Cc: Minchan Kim <minchan(a)kernel.org>
Cc: Mel Gorman <mgorman(a)suse.de>
Cc: stable(a)vger.kernel.org 4.20+
Signed-off-by: Yang Shi <yang.shi(a)linux.alibaba.com>
Signed-off-by: Jan Stancek <jstancek(a)redhat.com>
---
v3: Adopted fullmm flush suggestion from Will
v2: Reworked the commit log per Peter and Will
Adopted the suggestion from Peter
mm/mmu_gather.c | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/mm/mmu_gather.c b/mm/mmu_gather.c
index 99740e1..289f8cf 100644
--- a/mm/mmu_gather.c
+++ b/mm/mmu_gather.c
@@ -245,14 +245,28 @@ void tlb_finish_mmu(struct mmu_gather *tlb,
{
/*
* If there are parallel threads are doing PTE changes on same range
- * under non-exclusive lock(e.g., mmap_sem read-side) but defer TLB
- * flush by batching, a thread has stable TLB entry can fail to flush
- * the TLB by observing pte_none|!pte_dirty, for example so flush TLB
- * forcefully if we detect parallel PTE batching threads.
+ * under non-exclusive lock (e.g., mmap_sem read-side) but defer TLB
+ * flush by batching, one thread may end up seeing inconsistent PTEs
+ * and result in having stale TLB entries. So flush TLB forcefully
+ * if we detect parallel PTE batching threads.
+ *
+ * However, some syscalls, e.g. munmap(), may free page tables, this
+ * needs force flush everything in the given range. Otherwise this
+ * may result in having stale TLB entries for some architectures,
+ * e.g. aarch64, that could specify flush what level TLB.
*/
if (mm_tlb_flush_nested(tlb->mm)) {
+ /*
+ * The aarch64 yields better performance with fullmm by
+ * avoiding multiple CPUs spamming TLBI messages at the
+ * same time.
+ *
+ * On x86 non-fullmm doesn't yield significant difference
+ * against fullmm.
+ */
+ tlb->fullmm = 1;
__tlb_reset_range(tlb);
- __tlb_adjust_range(tlb, start, end - start);
+ tlb->freed_tables = 1;
}
tlb_flush_mmu(tlb);
--
1.8.3.1
The patch titled
Subject: fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount
has been removed from the -mm tree. Its filename was
fs-writeback-use-rcu_barrier-to-wait-for-inflight-wb-switches-going-into-workqueue-when-umount.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Jiufei Xue <jiufei.xue(a)linux.alibaba.com>
Subject: fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount
synchronize_rcu() didn't wait for call_rcu() callbacks, so inode wb switch
may not go to the workqueue after synchronize_rcu(). Thus previous
scheduled switches was not finished even flushing the workqueue, which
will cause a NULL pointer dereferenced followed below.
VFS: Busy inodes after unmount of vdd. Self-destruct in 5 seconds. Have a nice day...
BUG: unable to handle kernel NULL pointer dereference at 0000000000000278
[<ffffffff8126a303>] evict+0xb3/0x180
[<ffffffff8126a760>] iput+0x1b0/0x230
[<ffffffff8127c690>] inode_switch_wbs_work_fn+0x3c0/0x6a0
[<ffffffff810a5b2e>] worker_thread+0x4e/0x490
[<ffffffff810a5ae0>] ? process_one_work+0x410/0x410
[<ffffffff810ac056>] kthread+0xe6/0x100
[<ffffffff8173c199>] ret_from_fork+0x39/0x50
Replace the synchronize_rcu() call with a rcu_barrier() to wait for all
pending callbacks to finish. And inc isw_nr_in_flight after call_rcu() in
inode_switch_wbs() to make more sense.
Link: http://lkml.kernel.org/r/20190429024108.54150-1-jiufei.xue@linux.alibaba.com
Signed-off-by: Jiufei Xue <jiufei.xue(a)linux.alibaba.com>
Acked-by: Tejun Heo <tj(a)kernel.org>
Suggested-by: Tejun Heo <tj(a)kernel.org>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/fs-writeback.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
--- a/fs/fs-writeback.c~fs-writeback-use-rcu_barrier-to-wait-for-inflight-wb-switches-going-into-workqueue-when-umount
+++ a/fs/fs-writeback.c
@@ -523,8 +523,6 @@ static void inode_switch_wbs(struct inod
isw->inode = inode;
- atomic_inc(&isw_nr_in_flight);
-
/*
* In addition to synchronizing among switchers, I_WB_SWITCH tells
* the RCU protected stat update paths to grab the i_page
@@ -532,6 +530,9 @@ static void inode_switch_wbs(struct inod
* Let's continue after I_WB_SWITCH is guaranteed to be visible.
*/
call_rcu(&isw->rcu_head, inode_switch_wbs_rcu_fn);
+
+ atomic_inc(&isw_nr_in_flight);
+
goto out_unlock;
out_free:
@@ -901,7 +902,11 @@ restart:
void cgroup_writeback_umount(void)
{
if (atomic_read(&isw_nr_in_flight)) {
- synchronize_rcu();
+ /*
+ * Use rcu_barrier() to wait for all pending callbacks to
+ * ensure that all in-flight wb switches are in the workqueue.
+ */
+ rcu_barrier();
flush_workqueue(isw_wq);
}
}
_
Patches currently in -mm which might be from jiufei.xue(a)linux.alibaba.com are
The patch titled
Subject: mm/compaction.c: correct zone boundary handling when isolating pages from a pageblock
has been removed from the -mm tree. Its filename was
mm-compactionc-correct-zone-boundary-handling-when-isolating-pages-from-a-pageblock.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Mel Gorman <mgorman(a)techsingularity.net>
Subject: mm/compaction.c: correct zone boundary handling when isolating pages from a pageblock
syzbot reported the following error from a tree with a head commit of
baf76f0c58ae ("slip: make slhc_free() silently accept an error pointer")
BUG: unable to handle kernel paging request at ffffea0003348000
#PF error: [normal kernel read fault]
PGD 12c3f9067 P4D 12c3f9067 PUD 12c3f8067 PMD 0
Oops: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 28916 Comm: syz-executor.2 Not tainted 5.1.0-rc6+ #89
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:constant_test_bit arch/x86/include/asm/bitops.h:314 [inline]
RIP: 0010:PageCompound include/linux/page-flags.h:186 [inline]
RIP: 0010:isolate_freepages_block+0x1c0/0xd40 mm/compaction.c:579
Code: 01 d8 ff 4d 85 ed 0f 84 ef 07 00 00 e8 29 00 d8 ff 4c 89 e0 83 85 38 ff
ff ff 01 48 c1 e8 03 42 80 3c 38 00 0f 85 31 0a 00 00 <4d> 8b 2c 24 31 ff 49
c1 ed 10 41 83 e5 01 44 89 ee e8 3a 01 d8 ff
RSP: 0018:ffff88802b31eab8 EFLAGS: 00010246
RAX: 1ffffd4000669000 RBX: 00000000000cd200 RCX: ffffc9000a235000
RDX: 000000000001ca5e RSI: ffffffff81988cc7 RDI: 0000000000000001
RBP: ffff88802b31ebd8 R08: ffff88805af700c0 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffffea0003348000
R13: 0000000000000000 R14: ffff88802b31f030 R15: dffffc0000000000
FS: 00007f61648dc700(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffea0003348000 CR3: 0000000037c64000 CR4: 00000000001426e0
Call Trace:
fast_isolate_around mm/compaction.c:1243 [inline]
fast_isolate_freepages mm/compaction.c:1418 [inline]
isolate_freepages mm/compaction.c:1438 [inline]
compaction_alloc+0x1aee/0x22e0 mm/compaction.c:1550
There is no reproducer and it is difficult to hit -- 1 crash every few
days. The issue is very similar to the fix in commit 6b0868c820ff
("mm/compaction.c: correct zone boundary handling when resetting pageblock
skip hints"). When isolating free pages around a target pageblock, the
boundary handling is off by one and can stray into the next pageblock.
Triggering the syzbot error requires that the end of pageblock is section
or zone aligned, and that the next section is unpopulated.
A more subtle consequence of the bug is that pageblocks were being
improperly used as migration targets which potentially hurts fragmentation
avoidance in the long-term one page at a time.
A debugging patch revealed that it's definitely possible to stray outside
of a pageblock which is not intended. While syzbot cannot be used to
verify this patch, it was confirmed that the debugging warning no longer
triggers with this patch applied. It has also been confirmed that the THP
allocation stress tests are not degraded by this patch.
Link: http://lkml.kernel.org/r/20190510182124.GI18914@techsingularity.net
Fixes: e332f741a8dd ("mm, compaction: be selective about what pageblocks to clear skip hints")
Signed-off-by: Mel Gorman <mgorman(a)techsingularity.net>
Reported-by: syzbot+d84c80f9fe26a0f7a734(a)syzkaller.appspotmail.com
Cc: Dmitry Vyukov <dvyukov(a)google.com>
Cc: Andrey Ryabinin <aryabinin(a)virtuozzo.com>
Cc: Qian Cai <cai(a)lca.pw>
Cc: Michal Hocko <mhocko(a)suse.com>
Cc: Vlastimil Babka <vbabka(a)suse.cz>
Cc: <stable(a)vger.kernel.org> # v5.1+
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/compaction.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/mm/compaction.c~mm-compactionc-correct-zone-boundary-handling-when-isolating-pages-from-a-pageblock
+++ a/mm/compaction.c
@@ -1230,7 +1230,7 @@ fast_isolate_around(struct compact_contr
/* Pageblock boundaries */
start_pfn = pageblock_start_pfn(pfn);
- end_pfn = min(start_pfn + pageblock_nr_pages, zone_end_pfn(cc->zone));
+ end_pfn = min(pageblock_end_pfn(pfn), zone_end_pfn(cc->zone)) - 1;
/* Scan before */
if (start_pfn != pfn) {
@@ -1241,7 +1241,7 @@ fast_isolate_around(struct compact_contr
/* Scan after */
start_pfn = pfn + nr_isolated;
- if (start_pfn != end_pfn)
+ if (start_pfn < end_pfn)
isolate_freepages_block(cc, &start_pfn, end_pfn, &cc->freepages, 1, false);
/* Skip this pageblock in the future as it's full or nearly full */
_
Patches currently in -mm which might be from mgorman(a)techsingularity.net are
This is the start of the stable review cycle for the 4.9.178 release.
There are 44 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Wed 22 May 2019 11:50:58 AM UTC.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.178-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.9.178-rc1
Sean Christopherson <sean.j.christopherson(a)intel.com>
KVM: x86: Skip EFER vs. guest CPUID checks for host-initiated writes
Michał Wadowski <wadosm(a)gmail.com>
ALSA: hda/realtek - Fix for Lenovo B50-70 inverted internal microphone bug
Lukas Czerner <lczerner(a)redhat.com>
ext4: fix data corruption caused by overlapping unaligned and aligned IO
Sriram Rajagopalan <sriramr(a)arista.com>
ext4: zero out the unused memory region in the extent tree block
Jiufei Xue <jiufei.xue(a)linux.alibaba.com>
fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount
Tejun Heo <tj(a)kernel.org>
writeback: synchronize sync(2) against cgroup writeback membership switches
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")
Eric Biggers <ebiggers(a)google.com>
crypto: arm/aes-neonbs - don't access already-freed walk.iv
Eric Biggers <ebiggers(a)google.com>
crypto: salsa20 - don't access already-freed walk.iv
Eric Biggers <ebiggers(a)google.com>
crypto: gcm - fix incompatibility between "gcm" and "gcm_base"
Wei Yongjun <weiyongjun1(a)huawei.com>
crypto: gcm - Fix error return code in crypto_gcm_create_common()
Kamlakant Patel <kamlakantp(a)marvell.com>
ipmi:ssif: compare block number correctly for multi-part return messages
Coly Li <colyli(a)suse.de>
bcache: never set KEY_PTRS of journal key to 0 in journal_reclaim()
Liang Chen <liangchen.linux(a)gmail.com>
bcache: fix a race between cache register and cacheset unregister
Filipe Manana <fdmanana(a)suse.com>
Btrfs: do not start a transaction at iterate_extent_inodes()
Debabrata Banerjee <dbanerje(a)akamai.com>
ext4: fix ext4_show_options for file systems w/o journal
Kirill Tkhai <ktkhai(a)virtuozzo.com>
ext4: actually request zeroing of inode table after grow
Jiufei Xue <jiufei.xue(a)linux.alibaba.com>
jbd2: check superblock mapped prior to committing
Sergei Trofimovich <slyfox(a)gentoo.org>
tty/vt: fix write/write race in ioctl(KDSKBSENT) handler
Dmitry Osipenko <digetx(a)gmail.com>
mfd: max77620: Fix swapped FPS_PERIOD_MAX_US values
Steve Twiss <stwiss.opensource(a)diasemi.com>
mfd: da9063: Fix OTP control register names to match datasheets for DA9063/63L
Shuning Zhang <sunny.s.zhang(a)oracle.com>
ocfs2: fix ocfs2 read inode data panic in ocfs2_iget
Jiri Kosina <jkosina(a)suse.cz>
mm/mincore.c: make mincore() more conservative
Curtis Malainey <cujomalainey(a)chromium.org>
ASoC: RT5677-SPI: Disable 16Bit SPI Transfers
Jon Hunter <jonathanh(a)nvidia.com>
ASoC: max98090: Fix restore of DAPM Muxes
Kailang Yang <kailang(a)realtek.com>
ALSA: hda/realtek - EAPD turn on later
Hui Wang <hui.wang(a)canonical.com>
ALSA: hda/hdmi - Consider eld_valid when reporting jack event
Hui Wang <hui.wang(a)canonical.com>
ALSA: hda/hdmi - Read the pin sense from register when repolling
Wenwen Wang <wang6495(a)umn.edu>
ALSA: usb-audio: Fix a memory leak bug
Eric Biggers <ebiggers(a)google.com>
crypto: x86/crct10dif-pcl - fix use via crypto_shash_digest()
Eric Biggers <ebiggers(a)google.com>
crypto: crct10dif-generic - fix use via crypto_shash_digest()
Daniel Axtens <dja(a)axtens.net>
crypto: vmx - fix copy-paste error in CTR mode
Eric Biggers <ebiggers(a)google.com>
crypto: chacha20poly1305 - set cra_name correctly
Peter Zijlstra <peterz(a)infradead.org>
sched/x86: Save [ER]FLAGS on context switch
Jean-Philippe Brucker <jean-philippe.brucker(a)arm.com>
arm64: Clear OSDLR_EL1 on CPU boot
Vincenzo Frascino <vincenzo.frascino(a)arm.com>
arm64: compat: Reduce address limit
Gustavo A. R. Silva <gustavo(a)embeddedor.com>
power: supply: axp288_charger: Fix unchecked return value
Wen Yang <wen.yang99(a)zte.com.cn>
ARM: exynos: Fix a leaked reference by adding missing of_node_put
Josh Poimboeuf <jpoimboe(a)redhat.com>
objtool: Fix function fallthrough detection
Andy Lutomirski <luto(a)kernel.org>
x86/speculation/mds: Improve CPU buffer clear documentation
Andy Lutomirski <luto(a)kernel.org>
x86/speculation/mds: Revert CPU buffer clear on double fault exit
Dexuan Cui <decui(a)microsoft.com>
PCI: hv: Fix a memory leak in hv_eject_device_work()
Waiman Long <longman(a)redhat.com>
locking/rwsem: Prevent decrement of reader count before increment
Sasha Levin <sashal(a)kernel.org>
net: core: another layer of lists, around PF_MEMALLOC skb handling
-------------
Diffstat:
Documentation/x86/mds.rst | 44 ++++------------------------
Makefile | 4 +--
arch/arm/crypto/aesbs-glue.c | 4 +++
arch/arm/mach-exynos/firmware.c | 1 +
arch/arm/mach-exynos/suspend.c | 2 ++
arch/arm64/include/asm/processor.h | 8 ++++++
arch/arm64/kernel/debug-monitors.c | 1 +
arch/x86/crypto/crct10dif-pclmul_glue.c | 13 ++++-----
arch/x86/entry/entry_32.S | 2 ++
arch/x86/entry/entry_64.S | 2 ++
arch/x86/include/asm/switch_to.h | 1 +
arch/x86/kernel/process_32.c | 7 +++++
arch/x86/kernel/process_64.c | 8 ++++++
arch/x86/kernel/traps.c | 8 ------
arch/x86/kvm/x86.c | 33 ++++++++++++++-------
crypto/chacha20poly1305.c | 4 +--
crypto/crct10dif_generic.c | 11 +++----
crypto/gcm.c | 36 ++++++++---------------
crypto/salsa20_generic.c | 2 +-
drivers/char/ipmi/ipmi_ssif.c | 6 +++-
drivers/crypto/vmx/aesp8-ppc.pl | 4 +--
drivers/md/bcache/journal.c | 11 ++++---
drivers/md/bcache/super.c | 2 +-
drivers/pci/host/pci-hyperv.c | 1 +
drivers/power/supply/axp288_charger.c | 4 +++
drivers/tty/vt/keyboard.c | 33 +++++++++++++++++----
fs/btrfs/backref.c | 18 ++++++++----
fs/ext4/extents.c | 17 +++++++++--
fs/ext4/file.c | 7 +++++
fs/ext4/ioctl.c | 2 +-
fs/ext4/super.c | 2 +-
fs/fs-writeback.c | 51 +++++++++++++++++++++++++++++----
fs/jbd2/journal.c | 4 +++
fs/ocfs2/export.c | 30 ++++++++++++++++++-
include/linux/backing-dev-defs.h | 1 +
include/linux/list.h | 30 +++++++++++++++++++
include/linux/mfd/da9063/registers.h | 6 ++--
include/linux/mfd/max77620.h | 4 +--
kernel/locking/rwsem-xadd.c | 44 +++++++++++++++++++---------
mm/backing-dev.c | 1 +
mm/mincore.c | 23 ++++++++++++++-
net/core/fib_rules.c | 1 +
sound/pci/hda/patch_hdmi.c | 11 +++++--
sound/pci/hda/patch_realtek.c | 5 ++--
sound/soc/codecs/max98090.c | 12 ++++----
sound/soc/codecs/rt5677-spi.c | 35 +++++++++++-----------
sound/usb/mixer.c | 2 ++
tools/objtool/check.c | 3 +-
48 files changed, 379 insertions(+), 182 deletions(-)
This is the start of the stable review cycle for the 4.14.121 release.
There are 63 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Wed 22 May 2019 11:50:54 AM UTC.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.14.121-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.14.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.14.121-rc1
zhangyi (F) <yi.zhang(a)huawei.com>
ext4: fix compile error when using BUFFER_TRACE
Eric Dumazet <edumazet(a)google.com>
iov_iter: optimize page_copy_sane()
Sean Christopherson <sean.j.christopherson(a)intel.com>
KVM: x86: Skip EFER vs. guest CPUID checks for host-initiated writes
Michał Wadowski <wadosm(a)gmail.com>
ALSA: hda/realtek - Fix for Lenovo B50-70 inverted internal microphone bug
Sahitya Tummala <stummala(a)codeaurora.org>
ext4: fix use-after-free in dx_release()
Lukas Czerner <lczerner(a)redhat.com>
ext4: fix data corruption caused by overlapping unaligned and aligned IO
Sriram Rajagopalan <sriramr(a)arista.com>
ext4: zero out the unused memory region in the extent tree block
Jiufei Xue <jiufei.xue(a)linux.alibaba.com>
fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")
Eric Biggers <ebiggers(a)google.com>
crypto: ccm - fix incompatibility between "ccm" and "ccm_base"
Eric Biggers <ebiggers(a)google.com>
crypto: salsa20 - don't access already-freed walk.iv
Eric Biggers <ebiggers(a)google.com>
crypto: arm64/aes-neonbs - don't access already-freed walk.iv
Kamlakant Patel <kamlakantp(a)marvell.com>
ipmi:ssif: compare block number correctly for multi-part return messages
Debabrata Banerjee <dbanerje(a)akamai.com>
ext4: fix ext4_show_options for file systems w/o journal
Kirill Tkhai <ktkhai(a)virtuozzo.com>
ext4: actually request zeroing of inode table after grow
Barret Rhoden <brho(a)google.com>
ext4: fix use-after-free race with debug_want_extra_isize
Coly Li <colyli(a)suse.de>
bcache: never set KEY_PTRS of journal key to 0 in journal_reclaim()
Liang Chen <liangchen.linux(a)gmail.com>
bcache: fix a race between cache register and cacheset unregister
Filipe Manana <fdmanana(a)suse.com>
Btrfs: do not start a transaction at iterate_extent_inodes()
Filipe Manana <fdmanana(a)suse.com>
Btrfs: do not start a transaction during fiemap
Pan Bian <bianpan2016(a)163.com>
ext4: avoid drop reference to iloc.bh twice
Theodore Ts'o <tytso(a)mit.edu>
ext4: ignore e_value_offs for xattrs with value-in-ea-inode
Jan Kara <jack(a)suse.cz>
ext4: make sanity check in mballoc more strict
Jiufei Xue <jiufei.xue(a)linux.alibaba.com>
jbd2: check superblock mapped prior to committing
Sergei Trofimovich <slyfox(a)gentoo.org>
tty/vt: fix write/write race in ioctl(KDSKBSENT) handler
Yifeng Li <tomli(a)tomli.me>
tty: vt.c: Fix TIOCL_BLANKSCREEN console blanking if blankinterval == 0
Alexander Sverdlin <alexander.sverdlin(a)nokia.com>
mtd: spi-nor: intel-spi: Avoid crossing 4K address boundary on read/write
Dmitry Osipenko <digetx(a)gmail.com>
mfd: max77620: Fix swapped FPS_PERIOD_MAX_US values
Steve Twiss <stwiss.opensource(a)diasemi.com>
mfd: da9063: Fix OTP control register names to match datasheets for DA9063/63L
Andrea Arcangeli <aarcange(a)redhat.com>
userfaultfd: use RCU to free the task struct when fork fails
Shuning Zhang <sunny.s.zhang(a)oracle.com>
ocfs2: fix ocfs2 read inode data panic in ocfs2_iget
Jiri Kosina <jkosina(a)suse.cz>
mm/mincore.c: make mincore() more conservative
Daniel Borkmann <daniel(a)iogearbox.net>
bpf, arm64: remove prefetch insn in xadd mapping
Curtis Malainey <cujomalainey(a)chromium.org>
ASoC: RT5677-SPI: Disable 16Bit SPI Transfers
Jon Hunter <jonathanh(a)nvidia.com>
ASoC: max98090: Fix restore of DAPM Muxes
Kailang Yang <kailang(a)realtek.com>
ALSA: hda/realtek - EAPD turn on later
Hui Wang <hui.wang(a)canonical.com>
ALSA: hda/hdmi - Consider eld_valid when reporting jack event
Hui Wang <hui.wang(a)canonical.com>
ALSA: hda/hdmi - Read the pin sense from register when repolling
Wenwen Wang <wang6495(a)umn.edu>
ALSA: usb-audio: Fix a memory leak bug
Eric Biggers <ebiggers(a)google.com>
crypto: arm/aes-neonbs - don't access already-freed walk.iv
Zhang Zhijie <zhangzj(a)rock-chips.com>
crypto: rockchip - update IV buffer to contain the next IV
Eric Biggers <ebiggers(a)google.com>
crypto: gcm - fix incompatibility between "gcm" and "gcm_base"
Eric Biggers <ebiggers(a)google.com>
crypto: x86/crct10dif-pcl - fix use via crypto_shash_digest()
Eric Biggers <ebiggers(a)google.com>
crypto: crct10dif-generic - fix use via crypto_shash_digest()
Eric Biggers <ebiggers(a)google.com>
crypto: skcipher - don't WARN on unprocessed data after slow walk step
Daniel Axtens <dja(a)axtens.net>
crypto: vmx - fix copy-paste error in CTR mode
Eric Biggers <ebiggers(a)google.com>
crypto: chacha20poly1305 - set cra_name correctly
Peter Zijlstra <peterz(a)infradead.org>
sched/x86: Save [ER]FLAGS on context switch
Jean-Philippe Brucker <jean-philippe.brucker(a)arm.com>
arm64: Save and restore OSDLR_EL1 across suspend/resume
Jean-Philippe Brucker <jean-philippe.brucker(a)arm.com>
arm64: Clear OSDLR_EL1 on CPU boot
Vincenzo Frascino <vincenzo.frascino(a)arm.com>
arm64: compat: Reduce address limit
Gustavo A. R. Silva <gustavo(a)embeddedor.com>
power: supply: axp288_charger: Fix unchecked return value
Wen Yang <wen.yang99(a)zte.com.cn>
ARM: exynos: Fix a leaked reference by adding missing of_node_put
Sylwester Nawrocki <s.nawrocki(a)samsung.com>
ARM: dts: exynos: Fix audio (microphone) routing on Odroid XU3
Stuart Menefy <stuart.menefy(a)mathembedded.com>
ARM: dts: exynos: Fix interrupt for shared EINTs on Exynos5260
Josh Poimboeuf <jpoimboe(a)redhat.com>
objtool: Fix function fallthrough detection
Andy Lutomirski <luto(a)kernel.org>
x86/speculation/mds: Improve CPU buffer clear documentation
Andy Lutomirski <luto(a)kernel.org>
x86/speculation/mds: Revert CPU buffer clear on double fault exit
Dexuan Cui <decui(a)microsoft.com>
PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary
Dexuan Cui <decui(a)microsoft.com>
PCI: hv: Add hv_pci_remove_slots() when we unload the driver
Dexuan Cui <decui(a)microsoft.com>
PCI: hv: Fix a memory leak in hv_eject_device_work()
Waiman Long <longman(a)redhat.com>
locking/rwsem: Prevent decrement of reader count before increment
Sasha Levin <sashal(a)kernel.org>
net: core: another layer of lists, around PF_MEMALLOC skb handling
-------------
Diffstat:
Documentation/x86/mds.rst | 44 +++-------------
Makefile | 4 +-
arch/arm/boot/dts/exynos5260.dtsi | 2 +-
arch/arm/boot/dts/exynos5422-odroidxu3-audio.dtsi | 2 +-
arch/arm/crypto/aes-neonbs-glue.c | 2 +
arch/arm/mach-exynos/firmware.c | 1 +
arch/arm/mach-exynos/suspend.c | 2 +
arch/arm64/crypto/aes-neonbs-glue.c | 2 +
arch/arm64/include/asm/processor.h | 8 +++
arch/arm64/kernel/debug-monitors.c | 1 +
arch/arm64/mm/proc.S | 34 ++++++------
arch/arm64/net/bpf_jit.h | 6 ---
arch/arm64/net/bpf_jit_comp.c | 1 -
arch/x86/crypto/crct10dif-pclmul_glue.c | 13 ++---
arch/x86/entry/entry_32.S | 2 +
arch/x86/entry/entry_64.S | 2 +
arch/x86/include/asm/switch_to.h | 1 +
arch/x86/kernel/process_32.c | 7 +++
arch/x86/kernel/process_64.c | 8 +++
arch/x86/kernel/traps.c | 8 ---
arch/x86/kvm/x86.c | 37 ++++++++-----
crypto/ccm.c | 44 +++++++---------
crypto/chacha20poly1305.c | 4 +-
crypto/crct10dif_generic.c | 11 ++--
crypto/gcm.c | 34 ++++--------
crypto/salsa20_generic.c | 2 +-
crypto/skcipher.c | 9 +++-
drivers/char/ipmi/ipmi_ssif.c | 6 ++-
drivers/crypto/rockchip/rk3288_crypto_ablkcipher.c | 25 ++++++---
drivers/crypto/vmx/aesp8-ppc.pl | 4 +-
drivers/md/bcache/journal.c | 11 ++--
drivers/md/bcache/super.c | 2 +-
drivers/mtd/spi-nor/intel-spi.c | 8 +++
drivers/pci/host/pci-hyperv.c | 21 ++++++++
drivers/power/supply/axp288_charger.c | 4 ++
drivers/tty/vt/keyboard.c | 33 +++++++++---
drivers/tty/vt/vt.c | 2 -
fs/btrfs/backref.c | 34 +++++++-----
fs/ext4/extents.c | 17 +++++-
fs/ext4/file.c | 7 +++
fs/ext4/inode.c | 2 +-
fs/ext4/ioctl.c | 2 +-
fs/ext4/mballoc.c | 2 +-
fs/ext4/namei.c | 5 +-
fs/ext4/resize.c | 1 +
fs/ext4/super.c | 60 +++++++++++++---------
fs/ext4/xattr.c | 2 +-
fs/fs-writeback.c | 11 ++--
fs/jbd2/journal.c | 4 ++
fs/ocfs2/export.c | 30 ++++++++++-
include/linux/list.h | 30 +++++++++++
include/linux/mfd/da9063/registers.h | 6 +--
include/linux/mfd/max77620.h | 4 +-
kernel/fork.c | 31 ++++++++++-
kernel/locking/rwsem-xadd.c | 44 +++++++++++-----
lib/iov_iter.c | 17 +++++-
mm/mincore.c | 23 ++++++++-
net/core/fib_rules.c | 1 +
sound/pci/hda/patch_hdmi.c | 11 +++-
sound/pci/hda/patch_realtek.c | 5 +-
sound/soc/codecs/max98090.c | 12 ++---
sound/soc/codecs/rt5677-spi.c | 35 ++++++-------
sound/usb/mixer.c | 2 +
tools/objtool/check.c | 3 +-
64 files changed, 527 insertions(+), 281 deletions(-)
stable/linux-4.9.y build: 197 builds: 6 failed, 191 passed, 5 errors, 3135 warnings (v4.9.178)
Full Build Summary: https://kernelci.org/build/stable/branch/linux-4.9.y/kernel/v4.9.178/
Tree: stable
Branch: linux-4.9.y
Git Describe: v4.9.178
Git Commit: a5f56b52c878585b12b8bc37f737dcce4a660c64
Git URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Built: 6 unique architectures
Build Failures Detected:
mips:
32r2el_defconfig: (gcc-8) FAIL
bigsur_defconfig: (gcc-8) FAIL
decstation_defconfig: (gcc-8) FAIL
jmr3927_defconfig: (gcc-8) FAIL
nlm_xlr_defconfig: (gcc-8) FAIL
sb1250_swarm_defconfig: (gcc-8) FAIL
Errors and Warnings Detected:
arc:
allnoconfig (gcc-8): 4 warnings
axs103_defconfig (gcc-8): 16 warnings
axs103_smp_defconfig (gcc-8): 17 warnings
nsim_hs_defconfig (gcc-8): 3 warnings
nsim_hs_smp_defconfig (gcc-8): 4 warnings
nsimosci_hs_defconfig (gcc-8): 6 warnings
nsimosci_hs_smp_defconfig (gcc-8): 7 warnings
tinyconfig (gcc-8): 5 warnings
vdk_hs38_defconfig (gcc-8): 17 warnings
vdk_hs38_smp_defconfig (gcc-8): 18 warnings
zebu_hs_defconfig (gcc-8): 3 warnings
zebu_hs_smp_defconfig (gcc-8): 4 warnings
arm64:
defconfig (gcc-8): 1 warning
tinyconfig (gcc-8): 1 warning
arm:
multi_v7_defconfig (gcc-8): 2 warnings
omap2plus_defconfig (gcc-8): 1 warning
sunxi_defconfig (gcc-8): 1 warning
i386:
mips:
allnoconfig (gcc-8): 52 warnings
ar7_defconfig (gcc-8): 52 warnings
ath25_defconfig (gcc-8): 52 warnings
ath79_defconfig (gcc-8): 52 warnings
bcm47xx_defconfig (gcc-8): 52 warnings
bcm63xx_defconfig (gcc-8): 52 warnings
bigsur_defconfig (gcc-8): 1 error, 56 warnings
bmips_be_defconfig (gcc-8): 52 warnings
bmips_stb_defconfig (gcc-8): 52 warnings
capcella_defconfig (gcc-8): 52 warnings
cavium_octeon_defconfig (gcc-8): 52 warnings
ci20_defconfig (gcc-8): 52 warnings
cobalt_defconfig (gcc-8): 52 warnings
db1xxx_defconfig (gcc-8): 52 warnings
decstation_defconfig (gcc-8): 1 error
e55_defconfig (gcc-8): 52 warnings
fuloong2e_defconfig (gcc-8): 52 warnings
gpr_defconfig (gcc-8): 52 warnings
ip22_defconfig (gcc-8): 52 warnings
ip27_defconfig (gcc-8): 52 warnings
ip28_defconfig (gcc-8): 52 warnings
ip32_defconfig (gcc-8): 52 warnings
jazz_defconfig (gcc-8): 52 warnings
jmr3927_defconfig (gcc-8): 1 error
lasat_defconfig (gcc-8): 52 warnings
lemote2f_defconfig (gcc-8): 52 warnings
loongson1b_defconfig (gcc-8): 52 warnings
loongson1c_defconfig (gcc-8): 52 warnings
loongson3_defconfig (gcc-8): 52 warnings
malta_defconfig (gcc-8): 52 warnings
malta_kvm_defconfig (gcc-8): 52 warnings
malta_kvm_guest_defconfig (gcc-8): 52 warnings
malta_qemu_32r6_defconfig (gcc-8): 52 warnings
maltaaprp_defconfig (gcc-8): 52 warnings
maltasmvp_defconfig (gcc-8): 52 warnings
maltasmvp_eva_defconfig (gcc-8): 52 warnings
maltaup_defconfig (gcc-8): 52 warnings
maltaup_xpa_defconfig (gcc-8): 52 warnings
markeins_defconfig (gcc-8): 52 warnings
mips_paravirt_defconfig (gcc-8): 52 warnings
mpc30x_defconfig (gcc-8): 52 warnings
msp71xx_defconfig (gcc-8): 52 warnings
mtx1_defconfig (gcc-8): 52 warnings
nlm_xlp_defconfig (gcc-8): 52 warnings
nlm_xlr_defconfig (gcc-8): 1 error, 1 warning
pic32mzda_defconfig (gcc-8): 52 warnings
pistachio_defconfig (gcc-8): 52 warnings
pnx8335_stb225_defconfig (gcc-8): 52 warnings
qi_lb60_defconfig (gcc-8): 52 warnings
rb532_defconfig (gcc-8): 52 warnings
rbtx49xx_defconfig (gcc-8): 52 warnings
rm200_defconfig (gcc-8): 52 warnings
rt305x_defconfig (gcc-8): 52 warnings
sb1250_swarm_defconfig (gcc-8): 1 error, 56 warnings
tb0219_defconfig (gcc-8): 52 warnings
tb0226_defconfig (gcc-8): 52 warnings
tb0287_defconfig (gcc-8): 52 warnings
tinyconfig (gcc-8): 52 warnings
workpad_defconfig (gcc-8): 52 warnings
xilfpga_defconfig (gcc-8): 52 warnings
xway_defconfig (gcc-8): 52 warnings
x86_64:
Errors summary:
1 cc1: error: '-march=r3900' requires '-mfp32'
1 cc1: error: '-march=r3000' requires '-mfp32'
1 arch/mips/include/asm/netlogic/xlr/fmn.h:304:22: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
1 (.text+0x1bf10): undefined reference to `iommu_is_span_boundary'
1 (.text+0x1bbc0): undefined reference to `iommu_is_span_boundary'
Warnings summary:
2668 arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
348 arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
36 fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
12 kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
12 arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
10 net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
10 include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
8 warning: (SIBYTE_SWARM && SIBYTE_SENTOSA && SIBYTE_BIGSUR && SWIOTLB_XEN && AMD_IOMMU) selects SWIOTLB which has unmet direct dependencies (CAVIUM_OCTEON_SOC || MACH_LOONGSON64 && CPU_LOONGSON3 || NLM_XLP_BOARD || NLM_XLR_BOARD)
7 warning: (ARC) selects HAVE_FUTEX_CMPXCHG which has unmet direct dependencies (FUTEX)
6 fs/posix_acl.c:34:1: warning: control reaches end of non-void function [-Wreturn-type]
5 lib/cpumask.c:211:1: warning: control reaches end of non-void function [-Wreturn-type]
4 block/cfq-iosched.c:3840:1: warning: control reaches end of non-void function [-Wreturn-type]
3 drivers/clk/sunxi/clk-sun8i-bus-gates.c:85:27: warning: 'clk_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
2 drivers/mfd/omap-usb-tll.c:90:53: warning: overflow in conversion from 'int' to 'u8' {aka 'unsigned char'} changes value from 'i * 256 + 2070' to '22' [-Woverflow]
2 arch/arc/kernel/unwind.c:188:14: warning: 'unw_hdr_alloc' defined but not used [-Wunused-function]
1 cc1: all warnings being treated as errors
1 arch/arm64/kernel/vdso.c:127:6: warning: 'memcmp' reading 4 bytes from a region of size 1 [-Wstringop-overflow=]
================================================================================
Detailed per-defconfig build reports:
--------------------------------------------------------------------------------
32r2el_defconfig (mips, gcc-8) — FAIL, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
acs5k_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
acs5k_tiny_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
allnoconfig (arc, gcc-8) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
warning: (ARC) selects HAVE_FUTEX_CMPXCHG which has unmet direct dependencies (FUTEX)
warning: (ARC) selects HAVE_FUTEX_CMPXCHG which has unmet direct dependencies (FUTEX)
warning: (ARC) selects HAVE_FUTEX_CMPXCHG which has unmet direct dependencies (FUTEX)
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
allnoconfig (arm64, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
allnoconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
allnoconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
allnoconfig (x86_64, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
allnoconfig (i386, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
am200epdkit_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ar7_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
aspeed_g4_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
aspeed_g5_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
assabet_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
at91_dt_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ath25_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
ath79_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
axm55xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
axs103_defconfig (arc, gcc-8) — PASS, 0 errors, 16 warnings, 0 section mismatches
Warnings:
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
block/cfq-iosched.c:3840:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
fs/posix_acl.c:34:1: warning: control reaches end of non-void function [-Wreturn-type]
include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
axs103_smp_defconfig (arc, gcc-8) — PASS, 0 errors, 17 warnings, 0 section mismatches
Warnings:
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
block/cfq-iosched.c:3840:1: warning: control reaches end of non-void function [-Wreturn-type]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
fs/posix_acl.c:34:1: warning: control reaches end of non-void function [-Wreturn-type]
net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
lib/cpumask.c:211:1: warning: control reaches end of non-void function [-Wreturn-type]
include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
badge4_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm2835_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm47xx_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
bcm63xx_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
bigsur_defconfig (mips, gcc-8) — FAIL, 1 error, 56 warnings, 0 section mismatches
Errors:
(.text+0x1bf10): undefined reference to `iommu_is_span_boundary'
Warnings:
warning: (SIBYTE_SWARM && SIBYTE_SENTOSA && SIBYTE_BIGSUR && SWIOTLB_XEN && AMD_IOMMU) selects SWIOTLB which has unmet direct dependencies (CAVIUM_OCTEON_SOC || MACH_LOONGSON64 && CPU_LOONGSON3 || NLM_XLP_BOARD || NLM_XLR_BOARD)
warning: (SIBYTE_SWARM && SIBYTE_SENTOSA && SIBYTE_BIGSUR && SWIOTLB_XEN && AMD_IOMMU) selects SWIOTLB which has unmet direct dependencies (CAVIUM_OCTEON_SOC || MACH_LOONGSON64 && CPU_LOONGSON3 || NLM_XLP_BOARD || NLM_XLR_BOARD)
warning: (SIBYTE_SWARM && SIBYTE_SENTOSA && SIBYTE_BIGSUR && SWIOTLB_XEN && AMD_IOMMU) selects SWIOTLB which has unmet direct dependencies (CAVIUM_OCTEON_SOC || MACH_LOONGSON64 && CPU_LOONGSON3 || NLM_XLP_BOARD || NLM_XLR_BOARD)
warning: (SIBYTE_SWARM && SIBYTE_SENTOSA && SIBYTE_BIGSUR && SWIOTLB_XEN && AMD_IOMMU) selects SWIOTLB which has unmet direct dependencies (CAVIUM_OCTEON_SOC || MACH_LOONGSON64 && CPU_LOONGSON3 || NLM_XLP_BOARD || NLM_XLR_BOARD)
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
bmips_be_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
bmips_stb_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
capcella_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
cavium_octeon_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
cerfcube_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ci20_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
clps711x_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cm_x2xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cm_x300_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cns3420vb_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cobalt_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
colibri_pxa270_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
colibri_pxa300_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
collie_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
corgi_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
davinci_all_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
db1xxx_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
decstation_defconfig (mips, gcc-8) — FAIL, 1 error, 0 warnings, 0 section mismatches
Errors:
cc1: error: '-march=r3000' requires '-mfp32'
--------------------------------------------------------------------------------
defconfig (arm64, gcc-8) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
drivers/clk/sunxi/clk-sun8i-bus-gates.c:85:27: warning: 'clk_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
--------------------------------------------------------------------------------
dove_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
e55_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
ebsa110_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
efm32_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
em_x270_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ep93xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
eseries_pxa_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
exynos_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ezx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
footbridge_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
fuloong2e_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
gpr_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
h3600_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
h5000_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
hackkit_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
hisi_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
i386_defconfig (i386, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
imote2_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
imx_v4_v5_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
imx_v6_v7_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
integrator_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
iop13xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
iop32x_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
iop33x_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip22_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
ip27_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
ip28_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
ip32_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
ixp4xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jazz_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
jmr3927_defconfig (mips, gcc-8) — FAIL, 1 error, 0 warnings, 0 section mismatches
Errors:
cc1: error: '-march=r3900' requires '-mfp32'
--------------------------------------------------------------------------------
jornada720_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
keystone_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ks8695_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lart_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lasat_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
lemote2f_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
loongson1b_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
loongson1c_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
loongson3_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
lpc18xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lpc32xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lpd270_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lubbock_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
magician_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mainstone_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
malta_kvm_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
malta_kvm_guest_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
malta_qemu_32r6_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
maltaaprp_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
maltasmvp_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
maltasmvp_eva_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
maltaup_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
maltaup_xpa_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
markeins_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
mini2440_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mips_paravirt_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
mmp2_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
moxart_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mpc30x_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
mps2_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
msp71xx_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
mtx1_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
multi_v4t_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
multi_v5_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
multi_v7_defconfig (arm, gcc-8) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
drivers/clk/sunxi/clk-sun8i-bus-gates.c:85:27: warning: 'clk_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/mfd/omap-usb-tll.c:90:53: warning: overflow in conversion from 'int' to 'u8' {aka 'unsigned char'} changes value from 'i * 256 + 2070' to '22' [-Woverflow]
--------------------------------------------------------------------------------
mv78xx0_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mvebu_v5_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mvebu_v7_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mxs_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
neponset_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
netwinder_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
netx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nhk8815_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nlm_xlp_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
nlm_xlr_defconfig (mips, gcc-8) — FAIL, 1 error, 1 warning, 0 section mismatches
Errors:
arch/mips/include/asm/netlogic/xlr/fmn.h:304:22: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
Warnings:
cc1: all warnings being treated as errors
--------------------------------------------------------------------------------
nsim_hs_defconfig (arc, gcc-8) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
nsim_hs_smp_defconfig (arc, gcc-8) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
lib/cpumask.c:211:1: warning: control reaches end of non-void function [-Wreturn-type]
include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
nsimosci_hs_defconfig (arc, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
fs/posix_acl.c:34:1: warning: control reaches end of non-void function [-Wreturn-type]
net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
nsimosci_hs_smp_defconfig (arc, gcc-8) — PASS, 0 errors, 7 warnings, 0 section mismatches
Warnings:
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
fs/posix_acl.c:34:1: warning: control reaches end of non-void function [-Wreturn-type]
net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
lib/cpumask.c:211:1: warning: control reaches end of non-void function [-Wreturn-type]
include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
nuc910_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nuc950_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nuc960_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
omap1_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
omap2plus_defconfig (arm, gcc-8) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
drivers/mfd/omap-usb-tll.c:90:53: warning: overflow in conversion from 'int' to 'u8' {aka 'unsigned char'} changes value from 'i * 256 + 2070' to '22' [-Woverflow]
--------------------------------------------------------------------------------
orion5x_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
palmz72_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pcm027_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pic32mzda_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
pistachio_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
pleb_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pnx8335_stb225_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
prima2_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pxa168_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pxa255-idp_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pxa3xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pxa910_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
pxa_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
qcom_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
qi_lb60_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
raumfeld_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rb532_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
rbtx49xx_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
realview_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rm200_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
rpc_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rt305x_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
s3c2410_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
s3c6400_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
s5pv210_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sama5_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sb1250_swarm_defconfig (mips, gcc-8) — FAIL, 1 error, 56 warnings, 0 section mismatches
Errors:
(.text+0x1bbc0): undefined reference to `iommu_is_span_boundary'
Warnings:
warning: (SIBYTE_SWARM && SIBYTE_SENTOSA && SIBYTE_BIGSUR && SWIOTLB_XEN && AMD_IOMMU) selects SWIOTLB which has unmet direct dependencies (CAVIUM_OCTEON_SOC || MACH_LOONGSON64 && CPU_LOONGSON3 || NLM_XLP_BOARD || NLM_XLR_BOARD)
warning: (SIBYTE_SWARM && SIBYTE_SENTOSA && SIBYTE_BIGSUR && SWIOTLB_XEN && AMD_IOMMU) selects SWIOTLB which has unmet direct dependencies (CAVIUM_OCTEON_SOC || MACH_LOONGSON64 && CPU_LOONGSON3 || NLM_XLP_BOARD || NLM_XLR_BOARD)
warning: (SIBYTE_SWARM && SIBYTE_SENTOSA && SIBYTE_BIGSUR && SWIOTLB_XEN && AMD_IOMMU) selects SWIOTLB which has unmet direct dependencies (CAVIUM_OCTEON_SOC || MACH_LOONGSON64 && CPU_LOONGSON3 || NLM_XLP_BOARD || NLM_XLR_BOARD)
warning: (SIBYTE_SWARM && SIBYTE_SENTOSA && SIBYTE_BIGSUR && SWIOTLB_XEN && AMD_IOMMU) selects SWIOTLB which has unmet direct dependencies (CAVIUM_OCTEON_SOC || MACH_LOONGSON64 && CPU_LOONGSON3 || NLM_XLP_BOARD || NLM_XLR_BOARD)
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
shannon_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
shmobile_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
simpad_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
socfpga_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
spear13xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
spear3xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
spear6xx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
spitz_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
stm32_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sunxi_defconfig (arm, gcc-8) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
drivers/clk/sunxi/clk-sun8i-bus-gates.c:85:27: warning: 'clk_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
--------------------------------------------------------------------------------
tb0219_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
tb0226_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
tb0287_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
tct_hammer_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tegra_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tinyconfig (i386, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tinyconfig (x86_64, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tinyconfig (arm64, gcc-8) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
arch/arm64/kernel/vdso.c:127:6: warning: 'memcmp' reading 4 bytes from a region of size 1 [-Wstringop-overflow=]
--------------------------------------------------------------------------------
tinyconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tinyconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
tinyconfig (arc, gcc-8) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
warning: (ARC) selects HAVE_FUTEX_CMPXCHG which has unmet direct dependencies (FUTEX)
warning: (ARC) selects HAVE_FUTEX_CMPXCHG which has unmet direct dependencies (FUTEX)
warning: (ARC) selects HAVE_FUTEX_CMPXCHG which has unmet direct dependencies (FUTEX)
warning: (ARC) selects HAVE_FUTEX_CMPXCHG which has unmet direct dependencies (FUTEX)
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
trizeps4_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
u300_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
u8500_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
vdk_hs38_defconfig (arc, gcc-8) — PASS, 0 errors, 17 warnings, 0 section mismatches
Warnings:
arch/arc/kernel/unwind.c:188:14: warning: 'unw_hdr_alloc' defined but not used [-Wunused-function]
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
block/cfq-iosched.c:3840:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
fs/posix_acl.c:34:1: warning: control reaches end of non-void function [-Wreturn-type]
include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
vdk_hs38_smp_defconfig (arc, gcc-8) — PASS, 0 errors, 18 warnings, 0 section mismatches
Warnings:
arch/arc/kernel/unwind.c:188:14: warning: 'unw_hdr_alloc' defined but not used [-Wunused-function]
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
fs/ext4/ext4_jbd2.h:430:1: warning: control reaches end of non-void function [-Wreturn-type]
block/cfq-iosched.c:3840:1: warning: control reaches end of non-void function [-Wreturn-type]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
arch/arc/include/asm/cmpxchg.h:95:29: warning: value computed is not used [-Wunused-value]
fs/posix_acl.c:34:1: warning: control reaches end of non-void function [-Wreturn-type]
net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
lib/cpumask.c:211:1: warning: control reaches end of non-void function [-Wreturn-type]
include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
versatile_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
vexpress_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
vf610m4_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
viper_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
vt8500_v6_v7_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
workpad_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
x86_64_defconfig (x86_64, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
xcep_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
xilfpga_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
xway_defconfig (mips, gcc-8) — PASS, 0 errors, 52 warnings, 0 section mismatches
Warnings:
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:831:36: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:836:14: warning: '~' on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
zebu_hs_defconfig (arc, gcc-8) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
zebu_hs_smp_defconfig (arc, gcc-8) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
kernel/sched/core.c:3294:1: warning: control reaches end of non-void function [-Wreturn-type]
net/core/ethtool.c:300:1: warning: control reaches end of non-void function [-Wreturn-type]
lib/cpumask.c:211:1: warning: control reaches end of non-void function [-Wreturn-type]
include/linux/sunrpc/svc_xprt.h:178:1: warning: control reaches end of non-void function [-Wreturn-type]
--------------------------------------------------------------------------------
zeus_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
zx_defconfig (arm, gcc-8) — PASS, 0 errors, 0 warnings, 0 section mismatches
---
For more info write to <info(a)kernelci.org>
We didn't wait for outstanding direct IO during truncate in nojournal
mode (as we skip orphan handling in that case). This can lead to fs
corruption or stale data exposure if truncate ends up freeing blocks
and these get reallocated before direct IO finishes. Fix the condition
determining whether the wait is necessary.
CC: stable(a)vger.kernel.org
Fixes: 1c9114f9c0f1 ("ext4: serialize unlocked dio reads with truncate")
Signed-off-by: Jan Kara <jack(a)suse.cz>
---
fs/ext4/inode.c | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 82298c63ea6d..9bcb7f2b86dd 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -5630,20 +5630,17 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr)
goto err_out;
}
}
- if (!shrink)
+ if (!shrink) {
pagecache_isize_extended(inode, oldsize, inode->i_size);
-
- /*
- * Blocks are going to be removed from the inode. Wait
- * for dio in flight. Temporarily disable
- * dioread_nolock to prevent livelock.
- */
- if (orphan) {
- if (!ext4_should_journal_data(inode)) {
- inode_dio_wait(inode);
- } else
- ext4_wait_for_tail_page_commit(inode);
+ } else {
+ /*
+ * Blocks are going to be removed from the inode. Wait
+ * for dio in flight.
+ */
+ inode_dio_wait(inode);
}
+ if (orphan && ext4_should_journal_data(inode))
+ ext4_wait_for_tail_page_commit(inode);
down_write(&EXT4_I(inode)->i_mmap_sem);
rc = ext4_break_layouts(inode);
--
2.16.4
commit 0b777eee88d712256ba8232a9429edb17c4f9ceb upstream
In commit 376991db4b64 ("driver core: Postpone DMA tear-down until after
devres release"), we changed the ordering of tearing down the device DMA
ops and releasing all the device's resources; this was because the DMA ops
should be maintained until we release the device's managed DMA memories.
However, we have seen another crash on an arm64 system when a
device driver probe fails:
hisi_sas_v3_hw 0000:74:02.0: Adding to iommu group 2
scsi host1: hisi_sas_v3_hw
BUG: Bad page state in process swapper/0 pfn:313f5
page:ffff7e0000c4fd40 count:1 mapcount:0
mapping:0000000000000000 index:0x0
flags: 0xfffe00000001000(reserved)
raw: 0fffe00000001000 ffff7e0000c4fd48 ffff7e0000c4fd48
0000000000000000
raw: 0000000000000000 0000000000000000 00000001ffffffff
0000000000000000
page dumped because: PAGE_FLAGS_CHECK_AT_FREE flag(s) set
bad because of flags: 0x1000(reserved)
Modules linked in:
CPU: 49 PID: 1 Comm: swapper/0 Not tainted
5.1.0-rc1-43081-g22d97fd-dirty #1433
Hardware name: Huawei D06/D06, BIOS Hisilicon D06 UEFI
RC0 - V1.12.01 01/29/2019
Call trace:
dump_backtrace+0x0/0x118
show_stack+0x14/0x1c
dump_stack+0xa4/0xc8
bad_page+0xe4/0x13c
free_pages_check_bad+0x4c/0xc0
__free_pages_ok+0x30c/0x340
__free_pages+0x30/0x44
__dma_direct_free_pages+0x30/0x38
dma_direct_free+0x24/0x38
dma_free_attrs+0x9c/0xd8
dmam_release+0x20/0x28
release_nodes+0x17c/0x220
devres_release_all+0x34/0x54
really_probe+0xc4/0x2c8
driver_probe_device+0x58/0xfc
device_driver_attach+0x68/0x70
__driver_attach+0x94/0xdc
bus_for_each_dev+0x5c/0xb4
driver_attach+0x20/0x28
bus_add_driver+0x14c/0x200
driver_register+0x6c/0x124
__pci_register_driver+0x48/0x50
sas_v3_pci_driver_init+0x20/0x28
do_one_initcall+0x40/0x25c
kernel_init_freeable+0x2b8/0x3c0
kernel_init+0x10/0x100
ret_from_fork+0x10/0x18
Disabling lock debugging due to kernel taint
BUG: Bad page state in process swapper/0 pfn:313f6
page:ffff7e0000c4fd80 count:1 mapcount:0
mapping:0000000000000000 index:0x0
[ 89.322983] flags: 0xfffe00000001000(reserved)
raw: 0fffe00000001000 ffff7e0000c4fd88 ffff7e0000c4fd88
0000000000000000
raw: 0000000000000000 0000000000000000 00000001ffffffff
0000000000000000
The crash occurs for the same reason.
In this case, on the really_probe() failure path, we are still clearing
the DMA ops prior to releasing the device's managed memories.
This patch fixes this issue by reordering the DMA ops teardown and the
call to devres_release_all() on the failure path.
Reported-by: Xiang Chen <chenxiang66(a)hisilicon.com>
Tested-by: Xiang Chen <chenxiang66(a)hisilicon.com>
Signed-off-by: John Garry <john.garry(a)huawei.com>
Cc: stable <stable(a)vger.kernel.org> # 4.20.x - 5.1.x
Reviewed-by: Robin Murphy <robin.murphy(a)arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: John Garry <john.garry(a)huawei.com>
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index b4ee11d6e665..b55d372e9aba 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -483,7 +483,7 @@ static int really_probe(struct device *dev, struct device_driver *drv)
if (dev->bus->dma_configure) {
ret = dev->bus->dma_configure(dev);
if (ret)
- goto dma_failed;
+ goto probe_failed;
}
if (driver_sysfs_add(dev)) {
@@ -539,14 +539,13 @@ static int really_probe(struct device *dev, struct device_driver *drv)
goto done;
probe_failed:
- arch_teardown_dma_ops(dev);
-dma_failed:
if (dev->bus)
blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
BUS_NOTIFY_DRIVER_NOT_BOUND, dev);
pinctrl_bind_failed:
device_links_no_driver(dev);
devres_release_all(dev);
+ arch_teardown_dma_ops(dev);
driver_sysfs_remove(dev);
dev->driver = NULL;
dev_set_drvdata(dev, NULL);
--
2.17.1
This is a note to let you know that I've just added the patch titled
tty: max310x: Fix external crystal register setup
to my tty git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
in the tty-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 5d24f455c182d5116dd5db8e1dc501115ecc9c2c Mon Sep 17 00:00:00 2001
From: Joe Burmeister <joe.burmeister(a)devtank.co.uk>
Date: Mon, 13 May 2019 11:23:57 +0100
Subject: tty: max310x: Fix external crystal register setup
The datasheet states:
Bit 4: ClockEnSet the ClockEn bit high to enable an external clocking
(crystal or clock generator at XIN). Set the ClockEn bit to 0 to disable
clocking
Bit 1: CrystalEnSet the CrystalEn bit high to enable the crystal
oscillator. When using an external clock source at XIN, CrystalEn must
be set low.
The bit 4, MAX310X_CLKSRC_EXTCLK_BIT, should be set and was not.
This was required to make the MAX3107 with an external crystal on our
board able to send or receive data.
Signed-off-by: Joe Burmeister <joe.burmeister(a)devtank.co.uk>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/tty/serial/max310x.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/tty/serial/max310x.c b/drivers/tty/serial/max310x.c
index 450ba6d7996c..e5aebbf5f302 100644
--- a/drivers/tty/serial/max310x.c
+++ b/drivers/tty/serial/max310x.c
@@ -581,7 +581,7 @@ static int max310x_set_ref_clk(struct device *dev, struct max310x_port *s,
}
/* Configure clock source */
- clksrc = xtal ? MAX310X_CLKSRC_CRYST_BIT : MAX310X_CLKSRC_EXTCLK_BIT;
+ clksrc = MAX310X_CLKSRC_EXTCLK_BIT | (xtal ? MAX310X_CLKSRC_CRYST_BIT : 0);
/* Configure PLL */
if (pllcfg) {
--
2.21.0
This can be a debug message. Favour dev_dbg() over dprintk() as this is
already used much more than dprintk().
dvb_frontend: dvb_frontend_get_frequency_limits: frequency interval: tuner: 45000000...860000000, frontend: 44250000...867250000
Fixes: 00ecd6bc7128 ("media: dvb_frontend: add debug message for frequency intervals")
Cc: <stable(a)vger.kernel.org> # 5.0
Signed-off-by: Sean Young <sean(a)mess.org>
---
drivers/media/dvb-core/dvb_frontend.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
index fbdb4ecc7c50..7402c9834189 100644
--- a/drivers/media/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb-core/dvb_frontend.c
@@ -917,7 +917,7 @@ static void dvb_frontend_get_frequency_limits(struct dvb_frontend *fe,
"DVB: adapter %i frontend %u frequency limits undefined - fix the driver\n",
fe->dvb->num, fe->id);
- dprintk("frequency interval: tuner: %u...%u, frontend: %u...%u",
+ dev_dbg(fe->dvb->device, "frequency interval: tuner: %u...%u, frontend: %u...%u",
tuner_min, tuner_max, frontend_min, frontend_max);
/* If the standard is for satellite, convert frequencies to kHz */
--
2.20.1
This may confuse user-space clients like plymouth that opens a drm
file descriptor as a result of a hotplug event and then generates a
new event...
Cc: <stable(a)vger.kernel.org>
Fixes: 5ea1734827bb ("drm/vmwgfx: Send a hotplug event at master_set")
Signed-off-by: Thomas Hellstrom <thellstrom(a)vmware.com>
Reviewed-by: Deepak Rawat <drawat(a)vmware.com>
---
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index bf6c3500d363..4ff11a0077e1 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -1239,7 +1239,13 @@ static int vmw_master_set(struct drm_device *dev,
}
dev_priv->active_master = vmaster;
- drm_sysfs_hotplug_event(dev);
+
+ /*
+ * Inform a new master that the layout may have changed while
+ * it was gone.
+ */
+ if (!from_open)
+ drm_sysfs_hotplug_event(dev);
return 0;
}
--
2.20.1
This is a note to let you know that I've just added the patch titled
USB: rio500: fix memory leak in close after disconnect
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From e0feb73428b69322dd5caae90b0207de369b5575 Mon Sep 17 00:00:00 2001
From: Oliver Neukum <oneukum(a)suse.com>
Date: Thu, 9 May 2019 11:30:59 +0200
Subject: USB: rio500: fix memory leak in close after disconnect
If a disconnected device is closed, rio_close() must free
the buffers.
Signed-off-by: Oliver Neukum <oneukum(a)suse.com>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/misc/rio500.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/misc/rio500.c b/drivers/usb/misc/rio500.c
index 1d397d93d127..a32d61a79ab8 100644
--- a/drivers/usb/misc/rio500.c
+++ b/drivers/usb/misc/rio500.c
@@ -86,9 +86,22 @@ static int close_rio(struct inode *inode, struct file *file)
{
struct rio_usb_data *rio = &rio_instance;
- rio->isopen = 0;
+ /* against disconnect() */
+ mutex_lock(&rio500_mutex);
+ mutex_lock(&(rio->lock));
- dev_info(&rio->rio_dev->dev, "Rio closed.\n");
+ rio->isopen = 0;
+ if (!rio->present) {
+ /* cleanup has been delayed */
+ kfree(rio->ibuf);
+ kfree(rio->obuf);
+ rio->ibuf = NULL;
+ rio->obuf = NULL;
+ } else {
+ dev_info(&rio->rio_dev->dev, "Rio closed.\n");
+ }
+ mutex_unlock(&(rio->lock));
+ mutex_unlock(&rio500_mutex);
return 0;
}
--
2.21.0
This is a note to let you know that I've just added the patch titled
USB: rio500: refuse more than one device at a time
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 3864d33943b4a76c6e64616280e98d2410b1190f Mon Sep 17 00:00:00 2001
From: Oliver Neukum <oneukum(a)suse.com>
Date: Thu, 9 May 2019 11:30:58 +0200
Subject: USB: rio500: refuse more than one device at a time
This driver is using a global variable. It cannot handle more than
one device at a time. The issue has been existing since the dawn
of the driver.
Signed-off-by: Oliver Neukum <oneukum(a)suse.com>
Reported-by: syzbot+35f04d136fc975a70da4(a)syzkaller.appspotmail.com
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/misc/rio500.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/drivers/usb/misc/rio500.c b/drivers/usb/misc/rio500.c
index 7b9adeb3e7aa..1d397d93d127 100644
--- a/drivers/usb/misc/rio500.c
+++ b/drivers/usb/misc/rio500.c
@@ -447,15 +447,23 @@ static int probe_rio(struct usb_interface *intf,
{
struct usb_device *dev = interface_to_usbdev(intf);
struct rio_usb_data *rio = &rio_instance;
- int retval;
+ int retval = 0;
- dev_info(&intf->dev, "USB Rio found at address %d\n", dev->devnum);
+ mutex_lock(&rio500_mutex);
+ if (rio->present) {
+ dev_info(&intf->dev, "Second USB Rio at address %d refused\n", dev->devnum);
+ retval = -EBUSY;
+ goto bail_out;
+ } else {
+ dev_info(&intf->dev, "USB Rio found at address %d\n", dev->devnum);
+ }
retval = usb_register_dev(intf, &usb_rio_class);
if (retval) {
dev_err(&dev->dev,
"Not able to get a minor for this device.\n");
- return -ENOMEM;
+ retval = -ENOMEM;
+ goto bail_out;
}
rio->rio_dev = dev;
@@ -464,7 +472,8 @@ static int probe_rio(struct usb_interface *intf,
dev_err(&dev->dev,
"probe_rio: Not enough memory for the output buffer\n");
usb_deregister_dev(intf, &usb_rio_class);
- return -ENOMEM;
+ retval = -ENOMEM;
+ goto bail_out;
}
dev_dbg(&intf->dev, "obuf address:%p\n", rio->obuf);
@@ -473,7 +482,8 @@ static int probe_rio(struct usb_interface *intf,
"probe_rio: Not enough memory for the input buffer\n");
usb_deregister_dev(intf, &usb_rio_class);
kfree(rio->obuf);
- return -ENOMEM;
+ retval = -ENOMEM;
+ goto bail_out;
}
dev_dbg(&intf->dev, "ibuf address:%p\n", rio->ibuf);
@@ -481,8 +491,10 @@ static int probe_rio(struct usb_interface *intf,
usb_set_intfdata (intf, rio);
rio->present = 1;
+bail_out:
+ mutex_unlock(&rio500_mutex);
- return 0;
+ return retval;
}
static void disconnect_rio(struct usb_interface *intf)
--
2.21.0
This is a note to let you know that I've just added the patch titled
USB: sisusbvga: fix oops in error path of sisusb_probe
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 9a5729f68d3a82786aea110b1bfe610be318f80a Mon Sep 17 00:00:00 2001
From: Oliver Neukum <oneukum(a)suse.com>
Date: Thu, 9 May 2019 14:41:50 +0200
Subject: USB: sisusbvga: fix oops in error path of sisusb_probe
The pointer used to log a failure of usb_register_dev() must
be set before the error is logged.
v2: fix that minor is not available before registration
Signed-off-by: oliver Neukum <oneukum(a)suse.com>
Reported-by: syzbot+a0cbdbd6d169020c8959(a)syzkaller.appspotmail.com
Fixes: 7b5cd5fefbe02 ("USB: SisUSB2VGA: Convert printk to dev_* macros")
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/misc/sisusbvga/sisusb.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c
index 9560fde621ee..ea06f1fed6fa 100644
--- a/drivers/usb/misc/sisusbvga/sisusb.c
+++ b/drivers/usb/misc/sisusbvga/sisusb.c
@@ -3029,6 +3029,13 @@ static int sisusb_probe(struct usb_interface *intf,
mutex_init(&(sisusb->lock));
+ sisusb->sisusb_dev = dev;
+ sisusb->vrambase = SISUSB_PCI_MEMBASE;
+ sisusb->mmiobase = SISUSB_PCI_MMIOBASE;
+ sisusb->mmiosize = SISUSB_PCI_MMIOSIZE;
+ sisusb->ioportbase = SISUSB_PCI_IOPORTBASE;
+ /* Everything else is zero */
+
/* Register device */
retval = usb_register_dev(intf, &usb_sisusb_class);
if (retval) {
@@ -3039,13 +3046,7 @@ static int sisusb_probe(struct usb_interface *intf,
goto error_1;
}
- sisusb->sisusb_dev = dev;
- sisusb->minor = intf->minor;
- sisusb->vrambase = SISUSB_PCI_MEMBASE;
- sisusb->mmiobase = SISUSB_PCI_MMIOBASE;
- sisusb->mmiosize = SISUSB_PCI_MMIOSIZE;
- sisusb->ioportbase = SISUSB_PCI_IOPORTBASE;
- /* Everything else is zero */
+ sisusb->minor = intf->minor;
/* Allocate buffers */
sisusb->ibufsize = SISUSB_IBUF_SIZE;
--
2.21.0
This is a note to let you know that I've just added the patch titled
USB: Add LPM quirk for Surface Dock GigE adapter
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From ea261113385ac0a71c2838185f39e8452d54b152 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian(a)gmail.com>
Date: Thu, 16 May 2019 17:08:31 +0200
Subject: USB: Add LPM quirk for Surface Dock GigE adapter
Without USB_QUIRK_NO_LPM ethernet will not work and rtl8152 will
complain with
r8152 <device...>: Stop submitting intr, status -71
Adding the quirk resolves this. As the dock is externally powered, this
should not have any drawbacks.
Signed-off-by: Maximilian Luz <luzmaximilian(a)gmail.com>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/core/quirks.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 8bc35d53408b..6082b008969b 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -209,6 +209,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Microsoft LifeCam-VX700 v2.0 */
{ USB_DEVICE(0x045e, 0x0770), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Microsoft Surface Dock Ethernet (RTL8153 GigE) */
+ { USB_DEVICE(0x045e, 0x07c6), .driver_info = USB_QUIRK_NO_LPM },
+
/* Cherry Stream G230 2.0 (G85-231) and 3.0 (G85-232) */
{ USB_DEVICE(0x046a, 0x0023), .driver_info = USB_QUIRK_RESET_RESUME },
--
2.21.0
This is a note to let you know that I've just added the patch titled
media: usb: siano: Fix general protection fault in smsusb
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 31e0456de5be379b10fea0fa94a681057114a96e Mon Sep 17 00:00:00 2001
From: Alan Stern <stern(a)rowland.harvard.edu>
Date: Tue, 7 May 2019 12:39:47 -0400
Subject: media: usb: siano: Fix general protection fault in smsusb
The syzkaller USB fuzzer found a general-protection-fault bug in the
smsusb part of the Siano DVB driver. The fault occurs during probe
because the driver assumes without checking that the device has both
IN and OUT endpoints and the IN endpoint is ep1.
By slightly rearranging the driver's initialization code, we can make
the appropriate checks early on and thus avoid the problem. If the
expected endpoints aren't present, the new code safely returns -ENODEV
from the probe routine.
Signed-off-by: Alan Stern <stern(a)rowland.harvard.edu>
Reported-and-tested-by: syzbot+53f029db71c19a47325a(a)syzkaller.appspotmail.com
CC: <stable(a)vger.kernel.org>
Reviewed-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/media/usb/siano/smsusb.c | 33 +++++++++++++++++++-------------
1 file changed, 20 insertions(+), 13 deletions(-)
diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c
index 4fc03ec8a4f1..27ad14a3f831 100644
--- a/drivers/media/usb/siano/smsusb.c
+++ b/drivers/media/usb/siano/smsusb.c
@@ -400,6 +400,7 @@ static int smsusb_init_device(struct usb_interface *intf, int board_id)
struct smsusb_device_t *dev;
void *mdev;
int i, rc;
+ int in_maxp;
/* create device object */
dev = kzalloc(sizeof(struct smsusb_device_t), GFP_KERNEL);
@@ -411,6 +412,24 @@ static int smsusb_init_device(struct usb_interface *intf, int board_id)
dev->udev = interface_to_usbdev(intf);
dev->state = SMSUSB_DISCONNECTED;
+ for (i = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i++) {
+ struct usb_endpoint_descriptor *desc =
+ &intf->cur_altsetting->endpoint[i].desc;
+
+ if (desc->bEndpointAddress & USB_DIR_IN) {
+ dev->in_ep = desc->bEndpointAddress;
+ in_maxp = usb_endpoint_maxp(desc);
+ } else {
+ dev->out_ep = desc->bEndpointAddress;
+ }
+ }
+
+ pr_debug("in_ep = %02x, out_ep = %02x\n", dev->in_ep, dev->out_ep);
+ if (!dev->in_ep || !dev->out_ep) { /* Missing endpoints? */
+ smsusb_term_device(intf);
+ return -ENODEV;
+ }
+
params.device_type = sms_get_board(board_id)->type;
switch (params.device_type) {
@@ -425,24 +444,12 @@ static int smsusb_init_device(struct usb_interface *intf, int board_id)
/* fall-thru */
default:
dev->buffer_size = USB2_BUFFER_SIZE;
- dev->response_alignment =
- le16_to_cpu(dev->udev->ep_in[1]->desc.wMaxPacketSize) -
- sizeof(struct sms_msg_hdr);
+ dev->response_alignment = in_maxp - sizeof(struct sms_msg_hdr);
params.flags |= SMS_DEVICE_FAMILY2;
break;
}
- for (i = 0; i < intf->cur_altsetting->desc.bNumEndpoints; i++) {
- if (intf->cur_altsetting->endpoint[i].desc. bEndpointAddress & USB_DIR_IN)
- dev->in_ep = intf->cur_altsetting->endpoint[i].desc.bEndpointAddress;
- else
- dev->out_ep = intf->cur_altsetting->endpoint[i].desc.bEndpointAddress;
- }
-
- pr_debug("in_ep = %02x, out_ep = %02x\n",
- dev->in_ep, dev->out_ep);
-
params.device = &dev->udev->dev;
params.usb_device = dev->udev;
params.buffer_size = dev->buffer_size;
--
2.21.0
This is a note to let you know that I've just added the patch titled
USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From a03ff54460817c76105f81f3aa8ef655759ccc9a Mon Sep 17 00:00:00 2001
From: Alan Stern <stern(a)rowland.harvard.edu>
Date: Mon, 13 May 2019 13:14:29 -0400
Subject: USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor
The syzkaller USB fuzzer found a slab-out-of-bounds write bug in the
USB core, caused by a failure to check the actual size of a BOS
descriptor. This patch adds a check to make sure the descriptor is at
least as large as it is supposed to be, so that the code doesn't
inadvertently access memory beyond the end of the allocated region
when assigning to dev->bos->desc->bNumDeviceCaps later on.
Signed-off-by: Alan Stern <stern(a)rowland.harvard.edu>
Reported-and-tested-by: syzbot+71f1e64501a309fcc012(a)syzkaller.appspotmail.com
CC: <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/core/config.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c
index 20ff036b4c22..9d6cb709ca7b 100644
--- a/drivers/usb/core/config.c
+++ b/drivers/usb/core/config.c
@@ -932,8 +932,8 @@ int usb_get_bos_descriptor(struct usb_device *dev)
/* Get BOS descriptor */
ret = usb_get_descriptor(dev, USB_DT_BOS, 0, bos, USB_DT_BOS_SIZE);
- if (ret < USB_DT_BOS_SIZE) {
- dev_err(ddev, "unable to get BOS descriptor\n");
+ if (ret < USB_DT_BOS_SIZE || bos->bLength < USB_DT_BOS_SIZE) {
+ dev_err(ddev, "unable to get BOS descriptor or descriptor too short\n");
if (ret >= 0)
ret = -ENOMSG;
kfree(bos);
--
2.21.0
This barrier only applies to the read-modify-write operations; in
particular, it does not apply to the atomic64_set() primitive.
Replace the barrier with an smp_mb().
Fixes: fdd4e15838e59 ("ceph: rework dcache readdir")
Cc: stable(a)vger.kernel.org
Reported-by: "Paul E. McKenney" <paulmck(a)linux.ibm.com>
Reported-by: Peter Zijlstra <peterz(a)infradead.org>
Signed-off-by: Andrea Parri <andrea.parri(a)amarulasolutions.com>
Cc: "Yan, Zheng" <zyan(a)redhat.com>
Cc: Sage Weil <sage(a)redhat.com>
Cc: Ilya Dryomov <idryomov(a)gmail.com>
Cc: ceph-devel(a)vger.kernel.org
Cc: "Paul E. McKenney" <paulmck(a)linux.ibm.com>
Cc: Peter Zijlstra <peterz(a)infradead.org>
---
fs/ceph/super.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index 6edab9a750f8a..e02f4ff0be3f1 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -541,7 +541,12 @@ static inline void __ceph_dir_set_complete(struct ceph_inode_info *ci,
long long release_count,
long long ordered_count)
{
- smp_mb__before_atomic();
+ /*
+ * Makes sure operations that setup readdir cache (update page
+ * cache and i_size) are strongly ordered w.r.t. the following
+ * atomic64_set() operations.
+ */
+ smp_mb();
atomic64_set(&ci->i_complete_seq[0], release_count);
atomic64_set(&ci->i_complete_seq[1], ordered_count);
}
--
2.7.4
The driver stores crop rectangle settings supposed to be in line with
hardware state in a device private structure. Since the driver initial
submission, crop rectangle width and height settings are not updated
correctly when rectangle offset settings are applied on hardware. If
an error occurs while the device is updated, the stored settings my no
longer reflect hardware state and consecutive calls to .get_selection()
as well as .get/set_fmt() may return incorrect information. That in
turn may affect ability of a bridge device to use correct DMA transfer
settings if such incorrect informamtion on active frame format returned
by .get/set_fmt() is used.
Assuming a failed update of the device means its actual settings haven't
changed, update crop rectangle width and height settings stored in the
device private structure correctly while the rectangle offset is
successfully applied on hardware so the stored values always reflect
actual hardware state to the extent possible.
Fixes: 2f6e2404799a ("[media] SoC Camera: add driver for OV6650 sensor")
Signed-off-by: Janusz Krzysztofik <jmkrzyszt(a)gmail.com>
Cc: stable(a)vger.kernel.org
---
drivers/media/i2c/ov6650.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/media/i2c/ov6650.c b/drivers/media/i2c/ov6650.c
index 65d43390dbeb..c728f718716b 100644
--- a/drivers/media/i2c/ov6650.c
+++ b/drivers/media/i2c/ov6650.c
@@ -494,6 +494,7 @@ static int ov6650_set_selection(struct v4l2_subdev *sd,
ret = ov6650_reg_write(client, REG_HSTRT, sel->r.left >> 1);
if (!ret) {
+ priv->rect.width += priv->rect.left - sel->r.left;
priv->rect.left = sel->r.left;
ret = ov6650_reg_write(client, REG_HSTOP,
(sel->r.left + sel->r.width) >> 1);
@@ -503,6 +504,7 @@ static int ov6650_set_selection(struct v4l2_subdev *sd,
ret = ov6650_reg_write(client, REG_VSTRT, sel->r.top >> 1);
}
if (!ret) {
+ priv->rect.height += priv->rect.top - sel->r.top;
priv->rect.top = sel->r.top;
ret = ov6650_reg_write(client, REG_VSTOP,
(sel->r.top + sel->r.height) >> 1);
--
2.21.0
The driver stores frame format settings supposed to be in line with
hardware state in a device private structure. Since the driver initial
submission, those settings are updated before they are actually applied
on hardware. If an error occurs on device update, the stored settings
my not reflect hardware state anymore and consecutive calls to
.get_fmt() may return incorrect information. That in turn may affect
ability of a bridge device to use correct DMA transfer settings if such
incorrect informmation on active frame format returned by .get_fmt() is
used.
Assuming a failed device update mean its state hasn't changed, update
frame format related settings stored in the device private structure
only after they are successfully applied so the stored values always
reflect hardware state as closely as possible.
Fixes: 2f6e2404799a ("[media] SoC Camera: add driver for OV6650 sensor")
Signed-off-by: Janusz Krzysztofik <jmkrzyszt(a)gmail.com>
Cc: stable(a)vger.kernel.org
---
drivers/media/i2c/ov6650.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/media/i2c/ov6650.c b/drivers/media/i2c/ov6650.c
index b199332f62d7..65d43390dbeb 100644
--- a/drivers/media/i2c/ov6650.c
+++ b/drivers/media/i2c/ov6650.c
@@ -630,7 +630,6 @@ static int ov6650_s_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefmt *mf)
dev_err(&client->dev, "Pixel format not handled: 0x%x\n", code);
return -EINVAL;
}
- priv->code = code;
if (code == MEDIA_BUS_FMT_Y8_1X8 ||
code == MEDIA_BUS_FMT_SBGGR8_1X8) {
@@ -651,7 +650,6 @@ static int ov6650_s_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefmt *mf)
dev_dbg(&client->dev, "max resolution: CIF\n");
coma_mask |= COMA_QCIF;
}
- priv->half_scale = half_scale;
clkrc = CLKRC_12MHz;
mclk = 12000000;
@@ -669,8 +667,13 @@ static int ov6650_s_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefmt *mf)
ret = ov6650_reg_rmw(client, REG_COMA, coma_set, coma_mask);
if (!ret)
ret = ov6650_reg_write(client, REG_CLKRC, clkrc);
- if (!ret)
+ if (!ret) {
+ priv->half_scale = half_scale;
+
ret = ov6650_reg_rmw(client, REG_COML, coml_set, coml_mask);
+ }
+ if (!ret)
+ priv->code = code;
return ret;
}
--
2.21.0
It is not clear what pixel format is actually configured in hardware on
reset. MEDIA_BUS_FMT_YUYV8_2X8, assumed on device probe since the
driver was intiially submitted, is for sure not the one.
Fix it by explicitly applying a known, driver default frame format just
after initial device reset.
Fixes: 2f6e2404799a ("[media] SoC Camera: add driver for OV6650 sensor")
Signed-off-by: Janusz Krzysztofik <jmkrzyszt(a)gmail.com>
Cc: stable(a)vger.kernel.org
---
drivers/media/i2c/ov6650.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/media/i2c/ov6650.c b/drivers/media/i2c/ov6650.c
index 1915a43bff87..b199332f62d7 100644
--- a/drivers/media/i2c/ov6650.c
+++ b/drivers/media/i2c/ov6650.c
@@ -876,6 +876,11 @@ static int ov6650_video_probe(struct v4l2_subdev *sd)
ret = ov6650_reset(client);
if (!ret)
ret = ov6650_prog_dflt(client);
+ if (!ret) {
+ struct v4l2_mbus_framefmt mf = ov6650_def_fmt;
+
+ ret = ov6650_s_fmt(sd, &mf);
+ }
if (!ret)
ret = v4l2_ctrl_handler_setup(&priv->hdl);
@@ -1030,8 +1035,6 @@ static int ov6650_probe(struct i2c_client *client,
priv->rect.top = DEF_VSTRT << 1;
priv->rect.width = W_CIF;
priv->rect.height = H_CIF;
- priv->half_scale = false;
- priv->code = MEDIA_BUS_FMT_YUYV8_2X8;
priv->subdev.internal_ops = &ov6650_internal_ops;
priv->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
--
2.21.0
Commit da298c6d98d5 ("[media] v4l2: replace video op g_mbus_fmt by pad
op get_fmt") converted a former ov6650_g_fmt() video operation callback
to an ov6650_get_fmt() pad operation callback. However, the converted
function disregards a format->which flag that pad operations should
obey and always returns active frame format settings.
That can be fixed by always responding to V4L2_SUBDEV_FORMAT_TRY with
-EINVAL, or providing the response from a pad config argument, likely
updated by a former user call to V4L2_SUBDEV_FORMAT_TRY .set_fmt().
Since implementation of the latter is trivial, go for it.
Fixes: da298c6d98d5 ("[media] v4l2: replace video op g_mbus_fmt by pad op get_fmt")
Signed-off-by: Janusz Krzysztofik <jmkrzyszt(a)gmail.com>
Cc: stable(a)vger.kernel.org
---
drivers/media/i2c/ov6650.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/media/i2c/ov6650.c b/drivers/media/i2c/ov6650.c
index 731b03bef7a5..1915a43bff87 100644
--- a/drivers/media/i2c/ov6650.c
+++ b/drivers/media/i2c/ov6650.c
@@ -528,10 +528,16 @@ static int ov6650_get_fmt(struct v4l2_subdev *sd,
*mf = ov6650_def_fmt;
/* update media bus format code and frame size */
- mf->width = priv->rect.width >> priv->half_scale;
- mf->height = priv->rect.height >> priv->half_scale;
- mf->code = priv->code;
+ if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
+ mf->width = cfg->try_fmt.width;
+ mf->height = cfg->try_fmt.height;
+ mf->code = cfg->try_fmt.code;
+ } else {
+ mf->width = priv->rect.width >> priv->half_scale;
+ mf->height = priv->rect.height >> priv->half_scale;
+ mf->code = priv->code;
+ }
return 0;
}
--
2.21.0
User arguments passed to .get/set_fmt() pad operation callbacks may
contain unsupported values. The driver takes control over frame size
and pixel code as well as colorspace and field attributes but has never
cared for remainig format attributes, i.e., ycbcr_enc, quantization
and xfer_func, introduced by commit 11ff030c7365 ("[media]
v4l2-mediabus: improve colorspace support"). Fix it.
Set up a static v4l2_mbus_framefmt structure with attributes
initialized to reasonable defaults and use it for updating content of
user provided arguments. In case of V4L2_SUBDEV_FORMAT_ACTIVE,
postpone frame size update, now performed from inside ov6650_s_fmt()
helper, util the user argument is first updated in ov6650_set_fmt() with
default frame format content. For V4L2_SUBDEV_FORMAT_TRY, don't copy
all attributes to pad config, only those handled by the driver, then
fill the response with the default frame format updated with updated
pad config format code and frame size.
Fixes: 11ff030c7365 ("[media] v4l2-mediabus: improve colorspace support")
Signed-off-by: Janusz Krzysztofik <jmkrzyszt(a)gmail.com>
Cc: stable(a)vger.kernel.org
---
drivers/media/i2c/ov6650.c | 51 +++++++++++++++++++++++++++++---------
1 file changed, 39 insertions(+), 12 deletions(-)
diff --git a/drivers/media/i2c/ov6650.c b/drivers/media/i2c/ov6650.c
index e7790e9b8887..731b03bef7a5 100644
--- a/drivers/media/i2c/ov6650.c
+++ b/drivers/media/i2c/ov6650.c
@@ -215,6 +215,17 @@ static u32 ov6650_codes[] = {
MEDIA_BUS_FMT_Y8_1X8,
};
+static const struct v4l2_mbus_framefmt ov6650_def_fmt = {
+ .width = W_CIF,
+ .height = H_CIF,
+ .code = MEDIA_BUS_FMT_SBGGR8_1X8,
+ .colorspace = V4L2_COLORSPACE_SRGB,
+ .field = V4L2_FIELD_NONE,
+ .ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT,
+ .quantization = V4L2_QUANTIZATION_DEFAULT,
+ .xfer_func = V4L2_XFER_FUNC_DEFAULT,
+};
+
/* read a register */
static int ov6650_reg_read(struct i2c_client *client, u8 reg, u8 *val)
{
@@ -513,11 +524,13 @@ static int ov6650_get_fmt(struct v4l2_subdev *sd,
if (format->pad)
return -EINVAL;
+ /* initialize response with default media bus frame format */
+ *mf = ov6650_def_fmt;
+
+ /* update media bus format code and frame size */
mf->width = priv->rect.width >> priv->half_scale;
mf->height = priv->rect.height >> priv->half_scale;
mf->code = priv->code;
- mf->colorspace = V4L2_COLORSPACE_SRGB;
- mf->field = V4L2_FIELD_NONE;
return 0;
}
@@ -653,10 +666,6 @@ static int ov6650_s_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefmt *mf)
if (!ret)
ret = ov6650_reg_rmw(client, REG_COML, coml_set, coml_mask);
- if (!ret) {
- mf->width = priv->rect.width >> half_scale;
- mf->height = priv->rect.height >> half_scale;
- }
return ret;
}
@@ -675,9 +684,6 @@ static int ov6650_set_fmt(struct v4l2_subdev *sd,
v4l_bound_align_image(&mf->width, 2, W_CIF, 1,
&mf->height, 2, H_CIF, 1, 0);
- mf->field = V4L2_FIELD_NONE;
- mf->colorspace = V4L2_COLORSPACE_SRGB;
-
switch (mf->code) {
case MEDIA_BUS_FMT_Y10_1X10:
mf->code = MEDIA_BUS_FMT_Y8_1X8;
@@ -695,10 +701,31 @@ static int ov6650_set_fmt(struct v4l2_subdev *sd,
break;
}
- if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
- return ov6650_s_fmt(sd, mf);
- cfg->try_fmt = *mf;
+ if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
+ /* store media bus format code and frame size in pad config */
+ cfg->try_fmt.width = mf->width;
+ cfg->try_fmt.height = mf->height;
+ cfg->try_fmt.code = mf->code;
+ /* return default mbus frame format updated with pad config */
+ *mf = ov6650_def_fmt;
+ mf->width = cfg->try_fmt.width;
+ mf->height = cfg->try_fmt.height;
+ mf->code = cfg->try_fmt.code;
+
+ } else {
+ /* apply new media bus format code and frame size */
+ int ret = ov6650_s_fmt(sd, mf);
+
+ if (ret)
+ return ret;
+
+ /* return default format updated with active size and code */
+ *mf = ov6650_def_fmt;
+ mf->width = priv->rect.width >> priv->half_scale;
+ mf->height = priv->rect.height >> priv->half_scale;
+ mf->code = priv->code;
+ }
return 0;
}
--
2.21.0
Commit 4f996594ceaf ("[media] v4l2: make vidioc_s_crop const")
introduced a writable copy of constified user requested crop rectangle
in order to be able to perform hardware alignments on it. Later
on, commit 10d5509c8d50 ("[media] v4l2: remove g/s_crop from video
ops") replaced s_crop() video operaion using that const argument with
set_selection() pad operation which had a corresponding argument not
constified, however the original behavior of the driver was not
restored. Since that time, any hardware alignment applied on a user
requested crop rectangle is not passed back to the user calling
.set_selection() as it should be.
Fix the issue by dropping the copy and replacing all references to it
with references to the crop rectangle embedded in the user argument.
Fixes: 10d5509c8d50 ("[media] v4l2: remove g/s_crop from video ops")
Signed-off-by: Janusz Krzysztofik <jmkrzyszt(a)gmail.com>
Cc: stable(a)vger.kernel.org
---
drivers/media/i2c/ov6650.c | 31 +++++++++++++++----------------
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/drivers/media/i2c/ov6650.c b/drivers/media/i2c/ov6650.c
index 007f0ca24913..751b48483f27 100644
--- a/drivers/media/i2c/ov6650.c
+++ b/drivers/media/i2c/ov6650.c
@@ -468,38 +468,37 @@ static int ov6650_set_selection(struct v4l2_subdev *sd,
{
struct i2c_client *client = v4l2_get_subdevdata(sd);
struct ov6650 *priv = to_ov6650(client);
- struct v4l2_rect rect = sel->r;
int ret;
if (sel->which != V4L2_SUBDEV_FORMAT_ACTIVE ||
sel->target != V4L2_SEL_TGT_CROP)
return -EINVAL;
- v4l_bound_align_image(&rect.width, 2, W_CIF, 1,
- &rect.height, 2, H_CIF, 1, 0);
- v4l_bound_align_image(&rect.left, DEF_HSTRT << 1,
- (DEF_HSTRT << 1) + W_CIF - (__s32)rect.width, 1,
- &rect.top, DEF_VSTRT << 1,
- (DEF_VSTRT << 1) + H_CIF - (__s32)rect.height, 1,
- 0);
+ v4l_bound_align_image(&sel->r.width, 2, W_CIF, 1,
+ &sel->r.height, 2, H_CIF, 1, 0);
+ v4l_bound_align_image(&sel->r.left, DEF_HSTRT << 1,
+ (DEF_HSTRT << 1) + W_CIF - (__s32)sel->r.width, 1,
+ &sel->r.top, DEF_VSTRT << 1,
+ (DEF_VSTRT << 1) + H_CIF - (__s32)sel->r.height,
+ 1, 0);
- ret = ov6650_reg_write(client, REG_HSTRT, rect.left >> 1);
+ ret = ov6650_reg_write(client, REG_HSTRT, sel->r.left >> 1);
if (!ret) {
- priv->rect.left = rect.left;
+ priv->rect.left = sel->r.left;
ret = ov6650_reg_write(client, REG_HSTOP,
- (rect.left + rect.width) >> 1);
+ (sel->r.left + sel->r.width) >> 1);
}
if (!ret) {
- priv->rect.width = rect.width;
- ret = ov6650_reg_write(client, REG_VSTRT, rect.top >> 1);
+ priv->rect.width = sel->r.width;
+ ret = ov6650_reg_write(client, REG_VSTRT, sel->r.top >> 1);
}
if (!ret) {
- priv->rect.top = rect.top;
+ priv->rect.top = sel->r.top;
ret = ov6650_reg_write(client, REG_VSTOP,
- (rect.top + rect.height) >> 1);
+ (sel->r.top + sel->r.height) >> 1);
}
if (!ret)
- priv->rect.height = rect.height;
+ priv->rect.height = sel->r.height;
return ret;
}
--
2.21.0
From: Kim Phillips <kim.phillips(a)amd.com>
Commit d7cbbe49a930 ("perf/x86/amd/uncore: Set ThreadMask and SliceMask
for L3 Cache perf events") enables L3 PMC events for all threads and
slices by writing 1s in ChL3PmcCfg (L3 PMC PERF_CTL) register fields.
Those bitfields overlap with high order event select bits in the Data
Fabric PMC control register, however.
So when a user requests raw Data Fabric events (-e amd_df/event=0xYYY/),
the two highest order bits get inadvertently set, changing the counter
select to events that don't exist, and for which no counts are read.
This patch changes the logic to write the L3 masks only when dealing
with L3 PMC counters.
AMD Family 16h and below Northbridge (NB) counters were not affected.
Signed-off-by: Kim Phillips <kim.phillips(a)amd.com>
Cc: <stable(a)vger.kernel.org> # v4.19+
Cc: Peter Zijlstra <peterz(a)infradead.org>
Cc: Ingo Molnar <mingo(a)redhat.com>
Cc: Arnaldo Carvalho de Melo <acme(a)kernel.org>
Cc: Alexander Shishkin <alexander.shishkin(a)linux.intel.com>
Cc: Jiri Olsa <jolsa(a)redhat.com>
Cc: Namhyung Kim <namhyung(a)kernel.org>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Cc: Borislav Petkov <bp(a)alien8.de>
Cc: "H. Peter Anvin" <hpa(a)zytor.com>
Cc: Martin Liška <mliska(a)suse.cz>
Cc: Suravee Suthikulpanit <Suravee.Suthikulpanit(a)amd.com>
Cc: Janakarajan Natarajan <Janakarajan.Natarajan(a)amd.com>
Cc: Gary Hook <Gary.Hook(a)amd.com>
Cc: Pu Wen <puwen(a)hygon.cn>
Cc: Stephane Eranian <eranian(a)google.com>
Cc: Vince Weaver <vincent.weaver(a)maine.edu>
Cc: x86(a)kernel.org
Fixes: d7cbbe49a930 ("perf/x86/amd/uncore: Set ThreadMask and SliceMask for L3 Cache perf events")
---
arch/x86/events/amd/uncore.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c
index 79cfd3b30ceb..a8dc2635a719 100644
--- a/arch/x86/events/amd/uncore.c
+++ b/arch/x86/events/amd/uncore.c
@@ -209,7 +209,7 @@ static int amd_uncore_event_init(struct perf_event *event)
* SliceMask and ThreadMask need to be set for certain L3 events in
* Family 17h. For other events, the two fields do not affect the count.
*/
- if (l3_mask)
+ if (l3_mask && is_llc_event(event))
hwc->config |= (AMD64_L3_SLICE_MASK | AMD64_L3_THREAD_MASK);
if (event->cpu < 0)
--
2.21.0