diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-02-10 19:03:16 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-02-10 19:03:16 -0500 |
commit | 6792dfe383dd20ed270da198aa0676bac47245b4 (patch) | |
tree | 380a490de696b7f1f08323b56b149275cc43f2e1 /drivers | |
parent | cbf2822a7d44352c5c4c15baf0da3a3dc8495e90 (diff) | |
parent | 0e048316ff577e12c748e2d0a2e4f0f7b006654d (diff) |
Merge branch 'akpm' (patches from Andrew Morton)
Merge misc fixes from Andrew Morton:
"A bunch of fixes"
* emailed patches fron Andrew Morton <akpm@linux-foundation.org>:
ocfs2: check existence of old dentry in ocfs2_link()
ocfs2: update inode size after zeroing the hole
ocfs2: fix issue that ocfs2_setattr() does not deal with new_i_size==i_size
mm/memory-failure.c: move refcount only in !MF_COUNT_INCREASED
smp.h: fix x86+cpu.c sparse warnings about arch nonboot CPU calls
mm: fix page leak at nfs_symlink()
slub: do not assert not having lock in removing freed partial
gitignore: add all.config
ocfs2: fix ocfs2_sync_file() if filesystem is readonly
drivers/edac/edac_mc_sysfs.c: poll timeout cannot be zero
fs/file.c:fdtable: avoid triggering OOMs from alloc_fdmem
xen: properly account for _PAGE_NUMA during xen pte translations
mm/slub.c: list_lock may not be held in some circumstances
drivers/md/bcache/extents.c: use %zi to format size_t
vmcore: prevent PT_NOTE p_memsz overflow during header update
drivers/message/i2o/i2o_config.c: fix deadlock in compat_ioctl(I2OGETIOPS)
Documentation/: update 00-INDEX files
checkpatch: fix detection of git repository
get_maintainer: fix detection of git repository
drivers/misc/sgi-gru/grukdump.c: unlocking should be conditional in gru_dump_context()
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/edac/edac_mc_sysfs.c | 2 | ||||
-rw-r--r-- | drivers/md/bcache/extents.c | 2 | ||||
-rw-r--r-- | drivers/message/i2o/i2o_config.c | 4 | ||||
-rw-r--r-- | drivers/misc/sgi-gru/grukdump.c | 11 |
4 files changed, 9 insertions, 10 deletions
diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c index 51c0362acf5c..8ec1747b1c39 100644 --- a/drivers/edac/edac_mc_sysfs.c +++ b/drivers/edac/edac_mc_sysfs.c | |||
@@ -61,7 +61,7 @@ static int edac_set_poll_msec(const char *val, struct kernel_param *kp) | |||
61 | ret = kstrtol(val, 0, &l); | 61 | ret = kstrtol(val, 0, &l); |
62 | if (ret) | 62 | if (ret) |
63 | return ret; | 63 | return ret; |
64 | if ((int)l != l) | 64 | if (!l || ((int)l != l)) |
65 | return -EINVAL; | 65 | return -EINVAL; |
66 | *((int *)kp->arg) = l; | 66 | *((int *)kp->arg) = l; |
67 | 67 | ||
diff --git a/drivers/md/bcache/extents.c b/drivers/md/bcache/extents.c index c3ead586dc27..416d1a3e028e 100644 --- a/drivers/md/bcache/extents.c +++ b/drivers/md/bcache/extents.c | |||
@@ -194,7 +194,7 @@ err: | |||
194 | mutex_unlock(&b->c->bucket_lock); | 194 | mutex_unlock(&b->c->bucket_lock); |
195 | bch_extent_to_text(buf, sizeof(buf), k); | 195 | bch_extent_to_text(buf, sizeof(buf), k); |
196 | btree_bug(b, | 196 | btree_bug(b, |
197 | "inconsistent btree pointer %s: bucket %li pin %i prio %i gen %i last_gc %i mark %llu gc_gen %i", | 197 | "inconsistent btree pointer %s: bucket %zi pin %i prio %i gen %i last_gc %i mark %llu gc_gen %i", |
198 | buf, PTR_BUCKET_NR(b->c, k, i), atomic_read(&g->pin), | 198 | buf, PTR_BUCKET_NR(b->c, k, i), atomic_read(&g->pin), |
199 | g->prio, g->gen, g->last_gc, GC_MARK(g), g->gc_gen); | 199 | g->prio, g->gen, g->last_gc, GC_MARK(g), g->gc_gen); |
200 | return true; | 200 | return true; |
diff --git a/drivers/message/i2o/i2o_config.c b/drivers/message/i2o/i2o_config.c index a60c188c2bd9..04bd3b6de401 100644 --- a/drivers/message/i2o/i2o_config.c +++ b/drivers/message/i2o/i2o_config.c | |||
@@ -754,19 +754,19 @@ static long i2o_cfg_compat_ioctl(struct file *file, unsigned cmd, | |||
754 | unsigned long arg) | 754 | unsigned long arg) |
755 | { | 755 | { |
756 | int ret; | 756 | int ret; |
757 | mutex_lock(&i2o_cfg_mutex); | ||
758 | switch (cmd) { | 757 | switch (cmd) { |
759 | case I2OGETIOPS: | 758 | case I2OGETIOPS: |
760 | ret = i2o_cfg_ioctl(file, cmd, arg); | 759 | ret = i2o_cfg_ioctl(file, cmd, arg); |
761 | break; | 760 | break; |
762 | case I2OPASSTHRU32: | 761 | case I2OPASSTHRU32: |
762 | mutex_lock(&i2o_cfg_mutex); | ||
763 | ret = i2o_cfg_passthru32(file, cmd, arg); | 763 | ret = i2o_cfg_passthru32(file, cmd, arg); |
764 | mutex_unlock(&i2o_cfg_mutex); | ||
764 | break; | 765 | break; |
765 | default: | 766 | default: |
766 | ret = -ENOIOCTLCMD; | 767 | ret = -ENOIOCTLCMD; |
767 | break; | 768 | break; |
768 | } | 769 | } |
769 | mutex_unlock(&i2o_cfg_mutex); | ||
770 | return ret; | 770 | return ret; |
771 | } | 771 | } |
772 | 772 | ||
diff --git a/drivers/misc/sgi-gru/grukdump.c b/drivers/misc/sgi-gru/grukdump.c index 9b2062d17327..2bef3f76032a 100644 --- a/drivers/misc/sgi-gru/grukdump.c +++ b/drivers/misc/sgi-gru/grukdump.c | |||
@@ -139,8 +139,11 @@ static int gru_dump_context(struct gru_state *gru, int ctxnum, | |||
139 | 139 | ||
140 | ubuf += sizeof(hdr); | 140 | ubuf += sizeof(hdr); |
141 | ubufcch = ubuf; | 141 | ubufcch = ubuf; |
142 | if (gru_user_copy_handle(&ubuf, cch)) | 142 | if (gru_user_copy_handle(&ubuf, cch)) { |
143 | goto fail; | 143 | if (cch_locked) |
144 | unlock_cch_handle(cch); | ||
145 | return -EFAULT; | ||
146 | } | ||
144 | if (cch_locked) | 147 | if (cch_locked) |
145 | ubufcch->delresp = 0; | 148 | ubufcch->delresp = 0; |
146 | bytes = sizeof(hdr) + GRU_CACHE_LINE_BYTES; | 149 | bytes = sizeof(hdr) + GRU_CACHE_LINE_BYTES; |
@@ -179,10 +182,6 @@ static int gru_dump_context(struct gru_state *gru, int ctxnum, | |||
179 | ret = -EFAULT; | 182 | ret = -EFAULT; |
180 | 183 | ||
181 | return ret ? ret : bytes; | 184 | return ret ? ret : bytes; |
182 | |||
183 | fail: | ||
184 | unlock_cch_handle(cch); | ||
185 | return -EFAULT; | ||
186 | } | 185 | } |
187 | 186 | ||
188 | int gru_dump_chiplet_request(unsigned long arg) | 187 | int gru_dump_chiplet_request(unsigned long arg) |