pmaports/device/testing/linux-xiaomi-willow/fix_gcc.patch

56 lines
1.8 KiB
Diff
Raw Normal View History

diff --git a/Makefile b/Makefile
index 539e4cd3c..e95fc2571 100644
--- a/Makefile
+++ b/Makefile
@@ -677,6 +677,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context)
KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias)
+KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
diff --git a/drivers/char/rdbg.c b/drivers/char/rdbg.c
index 0c623221b..400efb134 100644
--- a/drivers/char/rdbg.c
+++ b/drivers/char/rdbg.c
@@ -136,7 +136,7 @@ struct rdbg_device {
int registers[32] = {0};
static struct rdbg_device g_rdbg_instance = {
- { {0} },
+ {},
NULL,
0,
SMP2P_NUM_PROCS,
Newer GCC doesn't trust that `dbg_buff` can hold `count` for the copy_from_user.
Probably related to unsigned overflow?
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa.c b/drivers/platform/msm/ipa/ipa_v3/ipa.c
index 9c0643d01..e2aa6d9bb 100644
--- a/drivers/platform/msm/ipa/ipa_v3/ipa.c
+++ b/drivers/platform/msm/ipa/ipa_v3/ipa.c
@@ -5970,6 +5970,9 @@ static ssize_t ipa3_write(struct file *file, const char __user *buf,
char dbg_buff[32] = { 0 };
+ if (sizeof(dbg_buff) < count)
+ return -EFAULT;
+
if (sizeof(dbg_buff) < count + 1)
return -EFAULT;
diff --git a/techpack/audio/asoc/codecs/wcd_cpe_core.c b/techpack/audio/asoc/codecs/wcd_cpe_core.c
index 2e154e701..9fd3eb7ea 100644
--- a/techpack/audio/asoc/codecs/wcd_cpe_core.c
+++ b/techpack/audio/asoc/codecs/wcd_cpe_core.c
@@ -2257,6 +2257,7 @@ static int fill_cmi_header(struct cmi_hdr *hdr,
return -EINVAL;
}
+ memset(hdr, 0, sizeof(*hdr));
CMI_HDR_SET_SESSION(hdr, session_id);
CMI_HDR_SET_SERVICE(hdr, service_id);
if (version)