diff options
| author | David Dillow <[email protected]> | 2011-01-20 22:44:22 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2011-01-21 01:02:05 +0000 |
| commit | 20d9600cb407b0b55fef6ee814b60345c6f58264 (patch) | |
| tree | a023082339b33c55e8def552abecd441ffe92fb5 /drivers/usb/core/buffer.c | |
| parent | mm: compaction: prevent division-by-zero during user-requested compaction (diff) | |
| download | kernel-20d9600cb407b0b55fef6ee814b60345c6f58264.tar.gz kernel-20d9600cb407b0b55fef6ee814b60345c6f58264.zip | |
fs/direct-io.c: don't try to allocate more than BIO_MAX_PAGES in a bio
When using devices that support max_segments > BIO_MAX_PAGES (256), direct
IO tries to allocate a bio with more pages than allowed, which leads to an
oops in dio_bio_alloc(). Clamp the request to the supported maximum, and
change dio_bio_alloc() to reflect that bio_alloc() will always return a
bio when called with __GFP_WAIT and a valid number of vectors.
[[email protected]: remove redundant BUG_ON()]
Signed-off-by: David Dillow <[email protected]>
Reviewed-by: Jeff Moyer <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'drivers/usb/core/buffer.c')
0 files changed, 0 insertions, 0 deletions
