m68knommu: collection of fixes for v5.8
Fixes include: . casting clean up in the user access macros . memory leak on error case fix for PCI probing . update of a defconfig. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEmsfM6tQwfNjBOxr3TiQVqaG9L4AFAl7huk8ACgkQTiQVqaG9 L4C1jQ/+P6rtN1H+c9uBqWpfsqrvhc7wOeaFd3JL9kgSSEdWI7SRyJQobpl95WNZ J2rtcANZD1qrx0cXnQP30TOq4Pap++9H0H1rNj930YJzA23wDrlbWta3OlqFyzGK uFSKdAjADjyUzGUOdtpGW4g4nG3cv2BjO3vSCit12KMI1KHmhdaAlG6UOFr22drS Yg3Z+SfPtkNv2okUNVdZ4gPbt/TGGfKHKIBbqE2YxQ0qRymsoMEbBOUpz71vfNKX igYS+yf5r9Wm8oMRjAN61g0Jm/0hvs7s3IicOw/FVewK6m3IkIKIpXpKQ7gtEknd USlnFpkdd9YJE/+qxCbEtJ6VwQBXno5EPRK79xhuW2WNaoPDZtlRDNtmMBD4CdDt A/EyOBcC4//KIyUQvOEiS/He/iHN58T//XW8SgF2fpMRKgLGVqf7tttIDutjgPp2 36KWBmdPW42EhFFLdIKYBqlPnysZR0O/2cLyMpHAu4206Z59Qzupaqrq0/v8ITzA UQ8eVaTTE9dMI40orrBsnMNCS309XkeVYVhUE6UN95KRpL1tvfI4fLqV/98tjBT8 2FXmj73OM75sMUketCQF3cSehPaGC5xhwLDrZXk47vNcob9n+bexy4wD5vGe6+kM a5Fe2oKaIqBDsYCwtvRoJ0qB52uqWZu6FIudbfTJVORg3GmvWt8= =/4NZ -----END PGP SIGNATURE----- Merge tag 'm68knommu-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu Pull m68knommu updates from Greg Ungerer: - casting clean up in the user access macros - memory leak on error case fix for PCI probing - update of a defconfig * tag 'm68knommu-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k,nommu: fix implicit cast from __user in __{get,put}_user_asm() m68k,nommu: add missing __user in uaccess' __ptr() macro m68k: Drop CONFIG_MTD_M25P80 in stmark2_defconfig m68k/PCI: Fix a memory leak in an error handling path
This commit is contained in:
commit
d3ea693439
|
@ -216,8 +216,10 @@ static int __init mcf_pci_init(void)
|
|||
|
||||
/* Keep a virtual mapping to IO/config space active */
|
||||
iospace = (unsigned long) ioremap(PCI_IO_PA, PCI_IO_SIZE);
|
||||
if (iospace == 0)
|
||||
if (iospace == 0) {
|
||||
pci_free_host_bridge(bridge);
|
||||
return -ENODEV;
|
||||
}
|
||||
pr_info("Coldfire: PCI IO/config window mapped to 0x%x\n",
|
||||
(u32) iospace);
|
||||
|
||||
|
|
|
@ -48,7 +48,6 @@ CONFIG_MTD_CFI_STAA=y
|
|||
CONFIG_MTD_ROM=y
|
||||
CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
CONFIG_MTD_PLATRAM=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
|
|
|
@ -42,7 +42,7 @@ static inline int _access_ok(unsigned long addr, unsigned long size)
|
|||
__put_user_asm(__pu_err, __pu_val, ptr, l); \
|
||||
break; \
|
||||
case 8: \
|
||||
memcpy(ptr, &__pu_val, sizeof (*(ptr))); \
|
||||
memcpy((void __force *)ptr, &__pu_val, sizeof(*(ptr))); \
|
||||
break; \
|
||||
default: \
|
||||
__pu_err = __put_user_bad(); \
|
||||
|
@ -60,7 +60,7 @@ extern int __put_user_bad(void);
|
|||
* aliasing issues.
|
||||
*/
|
||||
|
||||
#define __ptr(x) ((unsigned long *)(x))
|
||||
#define __ptr(x) ((unsigned long __user *)(x))
|
||||
|
||||
#define __put_user_asm(err,x,ptr,bwl) \
|
||||
__asm__ ("move" #bwl " %0,%1" \
|
||||
|
@ -85,7 +85,7 @@ extern int __put_user_bad(void);
|
|||
u64 l; \
|
||||
__typeof__(*(ptr)) t; \
|
||||
} __gu_val; \
|
||||
memcpy(&__gu_val.l, ptr, sizeof(__gu_val.l)); \
|
||||
memcpy(&__gu_val.l, (const void __force *)ptr, sizeof(__gu_val.l)); \
|
||||
(x) = __gu_val.t; \
|
||||
break; \
|
||||
} \
|
||||
|
|
Loading…
Reference in New Issue