diff options
author | Alex Shi <alex.shi@linaro.org> | 2017-04-13 12:01:30 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2017-04-13 12:01:30 +0800 |
commit | 4f380dc2632d4bbb183b4574bf810e198002cf6b (patch) | |
tree | efdf2c9d9be9a2428473fe0bddb484c1d8b6a718 /fs | |
parent | d2454284af5af30c433f0cc8828e12981271ddc4 (diff) | |
parent | ec5e61608ad1919c1ff3cc0369dbf1b1ede9eb88 (diff) |
Merge tag 'v4.4.61' into linux-linaro-lsk-v4.4
This is the 4.4.61 stable release
Diffstat (limited to 'fs')
-rw-r--r-- | fs/cifs/smb2pdu.c | 4 | ||||
-rw-r--r-- | fs/sysfs/file.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c index 2fa754c5fd62..6cb5c4b30e78 100644 --- a/fs/cifs/smb2pdu.c +++ b/fs/cifs/smb2pdu.c @@ -952,6 +952,10 @@ SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree, return -EINVAL; } + /* SMB2 TREE_CONNECT request must be called with TreeId == 0 */ + if (tcon) + tcon->tid = 0; + rc = small_smb2_init(SMB2_TREE_CONNECT, tcon, (void **) &req); if (rc) { kfree(unc_path); diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index b803213d1307..39c75a86c67f 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c @@ -108,7 +108,7 @@ static ssize_t sysfs_kf_read(struct kernfs_open_file *of, char *buf, { const struct sysfs_ops *ops = sysfs_file_ops(of->kn); struct kobject *kobj = of->kn->parent->priv; - size_t len; + ssize_t len; /* * If buf != of->prealloc_buf, we don't know how @@ -117,13 +117,15 @@ static ssize_t sysfs_kf_read(struct kernfs_open_file *of, char *buf, if (WARN_ON_ONCE(buf != of->prealloc_buf)) return 0; len = ops->show(kobj, of->kn->priv, buf); + if (len < 0) + return len; if (pos) { if (len <= pos) return 0; len -= pos; memmove(buf, buf + pos, len); } - return min(count, len); + return min_t(ssize_t, count, len); } /* kernfs write callback for regular sysfs files */ |