The patch titled m68k: get_user() build fix has been added to the -mm tree. Its filename is m68k-get_user-build-fix.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: m68k: get_user() build fix From: Andrew Morton <akpm@xxxxxxxx> include/linux/pagemap.h: In function 'fault_in_pages_readable': include/linux/pagemap.h:244: error: read-only variable '__gu_val' used as 'asm' output include/linux/pagemap.h:244: error: read-only variable '__gu_val' used as 'asm' output include/linux/pagemap.h:244: error: read-only variable '__gu_val' used as 'asm' output include/linux/pagemap.h:244: warning: passing argument 1 of '__constant_copy_from_user' discards qualifiers from pointer target type The problem is the typeof(). It maintains the constness, so we end up using a const cariable as an asm output and gcc-4.1.0 barfs. Fix that up by creating separate temporaries. Might cause an increase in stack usage, depending upon how dumb the compiler is being. (gcc-4.1.0 fails later: {standard input}:804: Error: operands mismatch -- statement `bfset -(%a0){%d0,#1}' ignored distcc[13414] ERROR: compile kernel/signal.c on g5/128 failed ) Cc: Roman Zippel <zippel@xxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- include/asm-m68k/uaccess.h | 59 ++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 25 deletions(-) diff -puN include/asm-m68k/uaccess.h~m68k-get_user-build-fix include/asm-m68k/uaccess.h --- devel/include/asm-m68k/uaccess.h~m68k-get_user-build-fix 2006-06-03 12:28:20.000000000 -0700 +++ devel-akpm/include/asm-m68k/uaccess.h 2006-06-03 12:33:40.000000000 -0700 @@ -88,31 +88,40 @@ __asm__ __volatile__ \ : "=d"(err) \ : "m"(*(ptr)), "r"(x), "i"(-EFAULT), "0"(0)) -#define get_user(x, ptr) \ -({ \ - int __gu_err; \ - typeof(*(ptr)) __gu_val; \ - __chk_user_ptr(ptr); \ - switch (sizeof(*(ptr))) { \ - case 1: \ - __get_user_asm(__gu_err, __gu_val, ptr, b, "=d"); \ - break; \ - case 2: \ - __get_user_asm(__gu_err, __gu_val, ptr, w, "=r"); \ - break; \ - case 4: \ - __get_user_asm(__gu_err, __gu_val, ptr, l, "=r"); \ - break; \ - case 8: \ - __gu_err = __constant_copy_from_user(&__gu_val, ptr, 8); \ - break; \ - default: \ - __gu_val = (typeof(*(ptr)))0; \ - __gu_err = __get_user_bad(); \ - break; \ - } \ - (x) = __gu_val; \ - __gu_err; \ +#define get_user(x, ptr) \ +({ \ + int __gu_err; \ + __chk_user_ptr(ptr); \ + switch (sizeof(*(ptr))) { \ + case 1: { \ + u8 v; \ + __get_user_asm(__gu_err, v, ptr, b, "=d"); \ + (x) = v; \ + } \ + break; \ + case 2: { \ + u16 v; \ + __get_user_asm(__gu_err, v, ptr, w, "=r"); \ + (x) = v; \ + } \ + break; \ + case 4: { \ + u32 v; \ + __get_user_asm(__gu_err, v, ptr, l, "=r"); \ + (x) = v; \ + } \ + break; \ + case 8: { \ + u64 v; \ + __gu_err = __constant_copy_from_user(&v, ptr, 8); \ + (x) = v; \ + } \ + break; \ + default: \ + __gu_err = __get_user_bad(); \ + break; \ + } \ + __gu_err; \ }) #define __get_user(x, ptr) get_user(x, ptr) _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch m48t86-ia64-build-fix.patch m68k-get_user-build-fix.patch git-acpi.patch acpi-update-asus_acpi-driver-registration-fix.patch catch-notification-of-memory-add-event-of-acpi-via-container-driver-register-start-func-for-memory-device.patch catch-notification-of-memory-add-event-of-acpi-via-container-driveravoid-redundant-call-add_memory.patch acpi-atlas-acpi-driver-fix.patch remove-for_each_cpu.patch sony_apci-resume.patch uninorth-agp-warning-fixes.patch alpha-agp-warning-fix.patch kauditd_thread-warning-fix.patch git-cifs.patch git-cpufreq-fixup.patch powernow-k8-crash-workaround.patch git-dvb.patch git-gfs2.patch git-infiniband.patch git-intelfb.patch git-klibc.patch git-hdrcleanup-fixup.patch git-hdrcleanup-vs-git-klibc-on-ia64.patch git-hdrcleanup-vs-git-klibc-on-ia64-2.patch git-hdrinstall-fixup.patch revert-sata_sil24-sii3124-sata-driver-endian-problem.patch git-libata-all.patch libata-reduce-timeouts.patch sdhci-truncated-pointer-fix.patch git-mtd.patch git-mtd-fixup.patch git-netdev-all.patch git-netdev-all-fixup.patch smc911x-Kconfig-fix.patch pci-error-recovery-e1000-network-device-driver.patch git-net.patch git-net-git-klibc-fixup.patch git-nfs-fixup.patch git-powerpc.patch powerpc-kbuild-warning-fix.patch git-rbtree.patch git-sas.patch kconfigurable-resources-core-changes-i386-fix.patch kconfigurable-resources-core-changes-fix.patch typesh-sector_t-and-blkcnt_t-arent-for-userspace.patch kconfigurable-resources-mtd-fixes.patch megaraid_sas-add-support-for-zcr-controller-fix.patch areca-raid-linux-scsi-driver.patch git-scsi-target-warning-fix.patch git-scsi-target-fixup.patch git-supertrak-fixup.patch x86_64-mm-moving-phys_proc_id-and-cpu_core_id-to-cpuinfo_x86-warning-fix.patch x86_64-dont-warn-for-overflow-in-nommu-case-when-dma_mask-is-32bit-fix.patch pg_uncached-is-ia64-only.patch fix-update_mmu_cache-in-fremapc-fix.patch page-migration-simplify-migrate_pages-tweaks.patch page-migration-support-moving-of-individual-pages-x86-support-fix.patch acx1xx-wireless-driver.patch tiacx-pci-build-fix.patch x86-kernel-irq-balancer-fix-tidy.patch i386-moving-phys_proc_id-and-cpu_core_id-to-cpuinfo_x86-warning-fix.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-tidy.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-arch_vma_name-fix.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-vs-x86_64-mm-reliable-stack-trace-support-i386.patch vdso-randomize-the-i386-vdso-by-moving-it-into-a-vma-vs-x86_64-mm-reliable-stack-trace-support-i386-2.patch prune_one_dentry-tweaks.patch mmput-might-sleep.patch jbd-avoid-kfree-null.patch ext3_clear_inode-avoid-kfree-null.patch leds-amstrad-delta-led-support-tidy.patch connector-exports.patch config_net=n-build-fix.patch rewritten-backlight-infrastructure-for-portable-apple-computers-fix.patch allow-for-per-cpu-data-being-in-tdata-and-tbss-sections-fix.patch allow-for-per-cpu-data-being-in-tdata-and-tbss-sections-tidy.patch deprecate-smbfs-in-favour-of-cifs.patch msnd-section-fix.patch openpromfs-factorize-out-tidy.patch add-export_unused_symbol-and-export_unused_symbol_gpl-default.patch kernel-sysc-cleanups-fix.patch cpqarray-section-fix.patch pdflush-handle-resume-wakeups.patch schedule_on_each_cpu-reduce-kmalloc-size.patch ax88796-parallel-port-driver-build-fix.patch keys-fix-race-between-two-instantiators-of-a-key-tidy.patch for_each_cpu_mask-warning-fix.patch add-max6902-rtc-support-tidy.patch per-task-delay-accounting-proc-export-of-aggregated-block-i-o-delays-warning-fix.patch add-via-hw-rng-driver-fix.patch hangcheck-remove-monotomic_clock-on-x86.patch sched-fix-smt-nice-lock-contention-and-optimization-tidy.patch swap-prefetch-fix-lru_cache_add_tail-tidy.patch mark-address_space_operations-const-vs-ecryptfs-mmap-operations.patch ecryptfs-alpha-build-fix.patch namespaces-add-nsproxy-dont-include-compileh.patch namespaces-utsname-switch-to-using-uts-namespaces-alpha-fix.patch namespaces-utsname-use-init_utsname-when-appropriate-cifs-update.patch namespaces-utsname-implement-utsname-namespaces-export.patch namespaces-utsname-implement-utsname-namespaces-dont-include-compileh.patch namespaces-utsname-sysctl-hack-cleanup-2-fix.patch readahead-sysctl-parameters-fix.patch make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch reiser4-hardirq-include-fix.patch reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch ide_dma_speed-fixes-warning-fix.patch ide_dma_speed-fixes-tidy.patch hpt3xx-rework-rate-filtering-tidy.patch savagefb-add-state-save-and_restore-hooks-tidy.patch au1100fb-add-power-management-support-tidy.patch lib-add-idr_replace-tidy.patch genirq-rename-desc-handler-to-desc-chip-power-fix.patch genirq-rename-desc-handler-to-desc-chip-ia64-fix.patch genirq-rename-desc-handler-to-desc-chip-ia64-fix-2.patch genirq-convert-the-i386-architecture-to-irq-chips-fix-2.patch lock-validator-beautify-x86_64-stacktraces-fix.patch lock-validator-stacktrace-build-fix.patch lock-validator-stacktrace-warning-fix.patch lock-validator-irqtrace-core-powerpc-fix-1.patch lock-validator-irqtrace-core-non-x86-fix.patch lock-validator-irqtrace-core-non-x86-fix-2.patch lock-validator-irqtrace-core-non-x86-fix-3.patch lock-validator-add-per_cpu_offset-fix.patch lock-validator-core-multichar-fix.patch lock-validator-prove-rwsem-locking-correctness-fix.patch lock-validator-prove-rwsem-locking-correctness-powerpc-fix.patch lock-validator-special-locking-serial-fix.patch lock-validator-special-locking-sb-s_umount-fix.patch lock-validator-enable-lock-validator-in-kconfig-not-yet.patch kgdb-core-lite-add-reboot-command.patch kgdb-8250-fix.patch nr_blockdev_pages-in_interrupt-warning.patch device-suspend-debug.patch revert-tty-buffering-comment-out-debug-code.patch slab-leaks3-default-y.patch x86-kmap_atomic-debugging.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html