Skip to content

odroidgoA: Patches to build with GCC 10 #410

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 13 commits into
base: odroidgoA-4.4.y
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions arch/arm64/include/asm/uaccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -410,12 +410,15 @@ static inline unsigned long __must_check __copy_to_user(void __user *to, const v

static inline unsigned long __must_check copy_from_user(void *to, const void __user *from, unsigned long n)
{
unsigned long res = n;

if (access_ok(VERIFY_READ, from, n)) {
check_object_size(to, n, false);
n = __arch_copy_from_user(to, from, n);
} else /* security hole - plug it */
memset(to, 0, n);
return n;
res = __arch_copy_from_user(to, from, n);
}
if (unlikely(res))
memset(to + (n - res), 0, res);
return res;
}

static inline unsigned long __must_check copy_to_user(void __user *to, const void *from, unsigned long n)
Expand Down
7 changes: 1 addition & 6 deletions arch/arm64/lib/copy_from_user.S
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,6 @@ ENDPROC(__arch_copy_from_user)

.section .fixup,"ax"
.align 2
9998:
sub x0, end, dst
9999:
strb wzr, [dst], #1 // zero remaining buffer space
cmp dst, end
b.lo 9999b
9998: sub x0, end, dst // bytes not copied
ret
.previous
8 changes: 5 additions & 3 deletions drivers/input/joystick/analog.c
Original file line number Diff line number Diff line change
Expand Up @@ -440,9 +440,11 @@ static void analog_name(struct analog *analog)
hweight8(analog->mask & ANALOG_BTNS_STD) + !!(analog->mask & ANALOG_BTNS_CHF) * 2 +
hweight16(analog->mask & ANALOG_BTNS_GAMEPAD) + !!(analog->mask & ANALOG_HBTN_CHF) * 4);

if (analog->mask & ANALOG_HATS_ALL)
snprintf(analog->name, sizeof(analog->name), "%s %d-hat",
analog->name, hweight16(analog->mask & ANALOG_HATS_ALL));
if (analog->mask & ANALOG_HATS_ALL) {
size_t len = strnlen(analog->name, sizeof(analog->name));
snprintf(analog->name + len, sizeof(analog->name) - len, " %d-hat",
hweight16(analog->mask & ANALOG_HATS_ALL));
}

if (analog->mask & ANALOG_HAT_FCS)
strlcat(analog->name, " FCS", sizeof(analog->name));
Expand Down
7 changes: 5 additions & 2 deletions drivers/net/phy/mdio_bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -661,9 +661,12 @@ phy_registers_show(struct device *dev, struct device_attribute *attr, char *buf)
struct phy_device *phydev = to_phy_device(dev);
int index;

for (index = 0; index < 32; index++)
sprintf(buf, "%s%2d: 0x%x\n", buf, index,
char tmp[50];
for (index = 0; index < 32; index++) {
snprintf(tmp, sizeof(tmp), "%2d: 0x%x\n", index,
phy_read(phydev, index));
strcat(buf, tmp);
}

return strlen(buf);
}
Expand Down
19 changes: 11 additions & 8 deletions drivers/net/wireless/ew-7611ulb/core/rtw_mp.c
Original file line number Diff line number Diff line change
Expand Up @@ -2093,14 +2093,17 @@ u32 mp_query_psd(PADAPTER pAdapter, u8 *data)

data[0] = '\0';

i = psd_start;
while (i < psd_stop) {
if (i >= psd_pts)
psd_data = rtw_GetPSDData(pAdapter, i - psd_pts);
else
psd_data = rtw_GetPSDData(pAdapter, i);
sprintf(data, "%s%x ", data, psd_data);
i++;
{
size_t extra_len = strlen(data);
i = psd_start;
while (i < psd_stop) {
if (i >= psd_pts)
psd_data = rtw_GetPSDData(pAdapter, i - psd_pts);
else
psd_data = rtw_GetPSDData(pAdapter, i);
extra_len += sprintf(data + extra_len, "%x ", psd_data);
i++;
}
}

#ifdef CONFIG_LONG_DELAY_ISSUE
Expand Down
14 changes: 9 additions & 5 deletions drivers/net/wireless/ew-7611ulb/os_dep/linux/ioctl_mp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1719,7 +1719,7 @@ int rtw_mp_tx(struct net_device *dev,
char *pextra = extra;
RTW_INFO("Got format [ch=%d,bw=%d,rate=%d,pwr=%d,ant=%d,tx=%d]\n", channel, bandwidth, rate, txpower, ant, txmode);
_rtw_memset(extra, 0, wrqu->data.length);
sprintf(extra, "Change Current channel %d to channel %d", padapter->mppriv.channel , channel);
pextra += sprintf(pextra, "Change Current channel %d to channel %d", padapter->mppriv.channel , channel);
padapter->mppriv.channel = channel;
SetChannel(padapter);
pHalData->current_channel = channel;
Expand Down Expand Up @@ -2074,6 +2074,7 @@ int rtw_efuse_mask_file(struct net_device *dev,
u8 count = 0;
u8 i = 0;
u32 datalen = 0;
size_t extra_len;

ptmp = extra;
pch = strsep(&ptmp, ",");
Expand All @@ -2099,12 +2100,13 @@ int rtw_efuse_mask_file(struct net_device *dev,

} while (count < 64);

extra_len = strlen(extra);
for (i = 0; i < count; i++)
sprintf(extra, "%s:%02x", extra, maskfileBuffer[i]);
extra_len += sprintf(extra + extra_len, ":%02x", maskfileBuffer[i]);

padapter->registrypriv.bFileMaskEfuse = _TRUE;

sprintf(extra, "%s\nLoad Efuse Mask data %d hex ok\n", extra, count);
extra_len += sprintf(extra + extra_len, "\nLoad Efuse Mask data %d hex ok\n", count);
wrqu->data.length = strlen(extra);
return 0;
}
Expand Down Expand Up @@ -2522,16 +2524,18 @@ int rtw_mp_SetBT(struct net_device *dev,
mptbt_BtControlProcess(padapter, &BtReq);

if (readtherm == 0) {
size_t extra_len;
sprintf(extra, "BT thermal=");
for (i = 4; i < pMptCtx->mptOutLen; i++) {
if ((pMptCtx->mptOutBuf[i] == 0x00) && (pMptCtx->mptOutBuf[i + 1] == 0x00))
goto exit;

sprintf(extra, "%s %d ", extra, (pMptCtx->mptOutBuf[i] & 0x1f));
extra_len += sprintf(extra + extra_len, " %d ", (pMptCtx->mptOutBuf[i] & 0x1f));
}
} else {
size_t extra_len;
for (i = 4; i < pMptCtx->mptOutLen; i++)
sprintf(extra, "%s 0x%x ", extra, pMptCtx->mptOutBuf[i]);
extra_len += sprintf(extra + extra_len, " 0x%x ", pMptCtx->mptOutBuf[i]);
}

exit:
Expand Down
19 changes: 11 additions & 8 deletions drivers/net/wireless/rockchip_wlan/rtl8188eu/core/rtw_mp.c
Original file line number Diff line number Diff line change
Expand Up @@ -2119,14 +2119,17 @@ u32 mp_query_psd(PADAPTER pAdapter, u8 *data)

data[0] = '\0';

i = psd_start;
while (i < psd_stop) {
if (i >= psd_pts)
psd_data = rtw_GetPSDData(pAdapter, i - psd_pts);
else
psd_data = rtw_GetPSDData(pAdapter, i);
sprintf(data, "%s%x ", data, psd_data);
i++;
{
size_t extra_len = strlen(data);
i = psd_start;
while (i < psd_stop) {
if (i >= psd_pts)
psd_data = rtw_GetPSDData(pAdapter, i - psd_pts);
else
psd_data = rtw_GetPSDData(pAdapter, i);
extra_len += sprintf(data + extra_len, "%x ", psd_data);
i++;
}
}

#ifdef CONFIG_LONG_DELAY_ISSUE
Expand Down
Loading