The patch titled core-aio-changes-to-support-vectored-aio-fix-2 has been added to the -mm tree. Its filename is core-aio-changes-to-support-vectored-aio-fix-2.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: core-aio-changes-to-support-vectored-aio-fix-2 From: Andrew Morton <akpm@xxxxxxxx> 17th time lucky. Cc: Zach Brown <zach.brown@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Badari Pulavarty <pbadari@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- fs/aio.c | 8 ++++---- fs/read_write.c | 22 +++++++++++----------- include/linux/fs.h | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff -puN fs/aio.c~core-aio-changes-to-support-vectored-aio-fix-2 fs/aio.c --- 25-sparc64/fs/aio.c~core-aio-changes-to-support-vectored-aio-fix-2 2006-05-20 04:05:37.000000000 -0700 +++ 25-sparc64-akpm/fs/aio.c 2006-05-20 04:05:37.000000000 -0700 @@ -1387,11 +1387,11 @@ static ssize_t aio_fsync(struct kiocb *i return ret; } -static ssize_t aio_setup_vectored_rw(struct kiocb *kiocb) +static ssize_t aio_setup_vectored_rw(int type, struct kiocb *kiocb) { ssize_t ret; - ret = rw_copy_check_uvector((struct iovec __user *)kiocb->ki_buf, + ret = rw_copy_check_uvector(type, (struct iovec __user *)kiocb->ki_buf, kiocb->ki_nbytes, 1, &kiocb->ki_inline_vec, &kiocb->ki_iovec); if (ret < 0) @@ -1473,7 +1473,7 @@ static ssize_t aio_setup_iocb(struct kio ret = security_file_permission(file, MAY_READ); if (unlikely(ret)) break; - ret = aio_setup_vectored_rw(kiocb); + ret = aio_setup_vectored_rw(READ, kiocb); if (ret) break; ret = -EINVAL; @@ -1487,7 +1487,7 @@ static ssize_t aio_setup_iocb(struct kio ret = security_file_permission(file, MAY_WRITE); if (unlikely(ret)) break; - ret = aio_setup_vectored_rw(kiocb); + ret = aio_setup_vectored_rw(WRITE, kiocb); if (ret) break; ret = -EINVAL; diff -puN fs/read_write.c~core-aio-changes-to-support-vectored-aio-fix-2 fs/read_write.c --- 25-sparc64/fs/read_write.c~core-aio-changes-to-support-vectored-aio-fix-2 2006-05-20 04:05:37.000000000 -0700 +++ 25-sparc64-akpm/fs/read_write.c 2006-05-20 04:05:37.000000000 -0700 @@ -507,11 +507,14 @@ ssize_t do_loop_readv_writev(struct file return ret; } -ssize_t rw_copy_check_uvector(const struct iovec __user * uvector, - unsigned long nr_segs, unsigned long fast_segs, - struct iovec *fast_pointer, - struct iovec **ret_pointer) - { +/* A write operation does a read from user space and vice versa */ +#define rw_verify_direction(type) ((type) == READ ? VERIFY_WRITE : VERIFY_READ) + +ssize_t rw_copy_check_uvector(int type, + const struct iovec __user * uvector, unsigned long nr_segs, + unsigned long fast_segs, struct iovec *fast_pointer, + struct iovec **ret_pointer) +{ unsigned long seg; ssize_t ret; struct iovec *iov = fast_pointer; @@ -563,7 +566,7 @@ ssize_t rw_copy_check_uvector(const stru ret = -EINVAL; goto out; } - if (unlikely(!access_ok(vrfy_dir(type), buf, len))) { + if (unlikely(!access_ok(rw_verify_direction(type), buf, len))) { ret = -EFAULT; goto out; } @@ -575,9 +578,6 @@ out: return ret; } -/* A write operation does a read from user space and vice versa */ -#define vrfy_dir(type) ((type) == READ ? VERIFY_WRITE : VERIFY_READ) - static ssize_t do_readv_writev(int type, struct file *file, const struct iovec __user * uvector, unsigned long nr_segs, loff_t *pos) @@ -594,8 +594,8 @@ static ssize_t do_readv_writev(int type, goto out; } - ret = rw_copy_check_uvector(uvector, nr_segs, ARRAY_SIZE(iovstack), - iovstack, &iov); + ret = rw_copy_check_uvector(type, uvector, nr_segs, + ARRAY_SIZE(iovstack), iovstack, &iov); if (ret <= 0) goto out; diff -puN include/linux/fs.h~core-aio-changes-to-support-vectored-aio-fix-2 include/linux/fs.h --- 25-sparc64/include/linux/fs.h~core-aio-changes-to-support-vectored-aio-fix-2 2006-05-20 04:05:37.000000000 -0700 +++ 25-sparc64-akpm/include/linux/fs.h 2006-05-20 04:05:37.000000000 -0700 @@ -1067,7 +1067,7 @@ struct inode_operations { struct seq_file; -ssize_t rw_copy_check_uvector(const struct iovec __user * uvector, +ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector, unsigned long nr_segs, unsigned long fast_segs, struct iovec *fast_pointer, struct iovec **ret_pointer); _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch x86_64-dont-warn-for-overflow-in-nommu-case-when-dma_mask-is-32bit-fix.patch binfmt_flat-dont-check-for-emfile.patch s3c24xx-hardware-spi-driver-tidy.patch revert-forcedeth-fix-multi-irq-issues.patch pd6729-section-fix.patch i810-section-fix.patch mpu401-section-fix.patch es18xx-build-fix.patch nm256_audio-section-fix.patch ad1848-section-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-dock-driver-interface-fixups.patch remove-for_each_cpu.patch sony_apci-resume.patch uninorth-agp-warning-fixes.patch alpha-agp-warning-fix.patch git-audit-master-build-fix.patch kauditd_thread-warning-fix.patch audit-build-fix.patch powernow-k8-crash-workaround.patch gregkh-driver-platform_bus-learns-about-modalias-warning-fix.patch gregkh-driver-warn-when-statically-allocated-kobjects-are-used-fix.patch git-dvb.patch scx200_acb-use-pci-i-o-resource-when-appropriate-fix.patch w1-warning-fix.patch git-gfs2.patch git-infiniband.patch via-pmu-add-input-device-tidy.patch git-klibc.patch git-klibc-build-hacks.patch git-klibc-stdint-build-fix.patch git-klibc-stdint-build-fix-2.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 git-libata-all.patch libata-reduce-timeouts.patch sdhci-truncated-pointer-fix.patch git-mtd.patch git-mtd-fixup.patch git-mtd-symbol_get-fix.patch git-mtd-moddi-fix.patch git-netdev-all.patch smc911x-Kconfig-fix.patch pci-error-recovery-e1000-network-device-driver.patch git-powerpc.patch powerpc-kbuild-warning-fix.patch git-rbtree.patch git-sas.patch gregkh-pci-pci-64-bit-resources-drivers-others-changes-amba-fix.patch kconfigurable-resources-core-changes-i386-fix.patch kconfigurable-resources-core-changes-fix.patch kconfigurable-resources-arch-dependent-changes-arch-a-i-fix.patch typesh-sector_t-and-blkcnt_t-arent-for-userspace.patch kconfigurable-resources-mtd-fixes.patch qla2xxx-lock-ordering-fix-warning-fix.patch areca-raid-linux-scsi-driver-update6-for-2617-rc1-mm3-externs-go-in-headers.patch git-scsi-target-fixup.patch gregkh-usb-usb-serial-mos7720-powerpc-wrokaround.patch git-watchdog.patch revert-x86_64-mm-profile-pc-fp.patch xfs-sparc32-build-fix.patch pg_uncached-is-ia64-only.patch pgdat-allocation-for-new-node-add-specify-node-id-powerpc-fix.patch pgdat-allocation-for-new-node-add-specify-node-id-tidy.patch pgdat-allocation-for-new-node-add-specify-node-id-fix-3.patch pgdat-allocation-for-new-node-add-get-node-id-by-acpi-tidy.patch pgdat-allocation-for-new-node-add-generic-alloc-node_data-tidy.patch pgdat-allocation-for-new-node-add-refresh-node_data-fix.patch pgdat-allocation-for-new-node-add-export-kswapd-start-func-tidy.patch catch-valid-mem-range-at-onlining-memory-tidy.patch catch-valid-mem-range-at-onlining-memory-fix.patch mm-introduce-remap_vmalloc_range-fix.patch tracking-dirty-pages-in-shared-mappings-v4-fix2.patch tracking-dirty-pages-in-shared-mappings-v4-fix3.patch throttle-writers-of-shared-mappings-tidy.patch page-migration-simplify-migrate_pages-tweaks.patch acx1xx-wireless-driver.patch tiacx-pci-build-fix.patch x86-kernel-irq-balancer-fix-tidy.patch dont-use-flush_tlb_all-in-suspend-time-tidy.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 percpu-counter-data-type-changes-to-suppport-fix.patch connector-exports.patch config_net=n-build-fix.patch jbd-split-checkpoint-lists-tidy.patch mark-address_space_operations-const-fix.patch mark-address_space_operations-const-fix-2.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 hptiop-highpoint-rocketraid-3xxx-controller-driver-list-locking.patch hptiop-highpoint-rocketraid-3xxx-controller-driver-list-locking-updates.patch hptiop-highpoint-rocketraid-3xxx-controller-driver-list-locking-updates-updates-2.patch ufs-right-block-allocation-fixes.patch ufs-change-block-number-on-the-fly-tweaks.patch sunsu-license-fix.patch msnd-section-fix.patch openpromfs-factorize-out-tidy.patch add-driver-for-arm-amba-pl031-rtc-tidy.patch add-export_unused_symbol-and-export_unused_symbol_gpl-default.patch kernel-sysc-cleanups-fix.patch add-a-sysfs-file-to-determine-if-a-kexec-kernel-is-loaded-tidy.patch cpqarray-section-fix.patch per-task-delay-accounting-proc-export-of-aggregated-block-i-o-delays-warning-fix.patch add-via-hw-rng-driver-fix.patch core-aio-changes-to-support-vectored-aio-fix-2.patch nfs-open-code-the-nfs-direct-write-rescheduler-printk-fix.patch hangcheck-remove-monotomic_clock-on-x86.patch swap-prefetch-fix-lru_cache_add_tail-tidy.patch pi-futex-futex-code-cleanups-fix.patch document-futex-pi-design-fix-fix.patch ecryptfs-vs-streamline-generic_file_-interfaces-and-filemap.patch mark-address_space_operations-const-vs-ecryptfs-mmap-operations.patch ecryptfs-alpha-build-fix.patch namespaces-utsname-switch-to-using-uts-namespaces-alpha-fix.patch namespaces-utsname-implement-utsname-namespaces-export.patch reiser4.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 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 profile-likely-unlikely-macros-tidy.patch profile-likely-unlikely-macros-fix.patch profile-likely-unlikely-macros-fix-2.patch git-viro-bird-volatile-fixup.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