<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/isofs, branch linux-3.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-07-03T09:18:40Z</updated>
<entry>
<title>isofs: fix potential memory leak in mount option parsing</title>
<updated>2018-07-03T09:18:40Z</updated>
<author>
<name>Chengguang Xu</name>
</author>
<published>2018-04-14T12:16:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b224e22506433899effa8c74a05d8052b1d0a93c'/>
<id>urn:sha1:b224e22506433899effa8c74a05d8052b1d0a93c</id>
<content type='text'>
[ Upstream commit 4f34a5130a471f32f2fe7750769ab4057dc3eaa0 ]

When specifying string type mount option (e.g., iocharset)
several times in a mount, current option parsing may
cause memory leak. Hence, call kfree for previous one
in this case. Meanwhile, check memory allocation result
for it.

Signed-off-by: Chengguang Xu &lt;cgxu519@gmx.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>isofs: fix timestamps beyond 2027</title>
<updated>2017-11-30T08:35:50Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2017-10-19T14:47:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=491e4e3b12701cf54458f4ffe7dd76c64c37f076'/>
<id>urn:sha1:491e4e3b12701cf54458f4ffe7dd76c64c37f076</id>
<content type='text'>
commit 34be4dbf87fc3e474a842305394534216d428f5d upstream.

isofs uses a 'char' variable to load the number of years since
1900 for an inode timestamp. On architectures that use a signed
char type by default, this results in an invalid date for
anything beyond 2027.

This changes the function argument to a 'u8' array, which
is defined the same way on all architectures, and unambiguously
lets us use years until 2155.

This should be backported to all kernels that might still be
in use by that date.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>isofs: Do not return EACCES for unknown filesystems</title>
<updated>2016-11-24T02:31:09Z</updated>
<author>
<name>Jan Kara</name>
</author>
<published>2016-10-04T11:44:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=249ed62d33fe9e0193cdc29a0a371076f9a71857'/>
<id>urn:sha1:249ed62d33fe9e0193cdc29a0a371076f9a71857</id>
<content type='text'>
[ Upstream commit a2ed0b391dd9c3ef1d64c7c3e370f4a5ffcd324a ]

When isofs_mount() is called to mount a device read-write, it returns
EACCES even before it checks that the device actually contains an isofs
filesystem. This may confuse mount(8) which then tries to mount all
subsequent filesystem types in read-only mode.

Fix the problem by returning EACCES only once we verify that the device
indeed contains an iso9660 filesystem.

CC: stable@vger.kernel.org
Fixes: 17b7f7cf58926844e1dd40f5eb5348d481deca6a
Reported-by: Kent Overstreet &lt;kent.overstreet@gmail.com&gt;
Reported-by: Karel Zak &lt;kzak@redhat.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
</content>
</entry>
<entry>
<title>get_rock_ridge_filename(): handle malformed NM entries</title>
<updated>2016-05-18T01:48:14Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2016-05-05T20:25:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8500fc5acce9976a6de1c60daa09f40d148f11d'/>
<id>urn:sha1:b8500fc5acce9976a6de1c60daa09f40d148f11d</id>
<content type='text'>
[ Upstream commit 99d825822eade8d827a1817357cbf3f889a552d6 ]

Payloads of NM entries are not supposed to contain NUL.  When we run
into such, only the part prior to the first NUL goes into the
concatenation (i.e. the directory entry name being encoded by a bunch
of NM entries).  We do stop when the amount collected so far + the
claimed amount in the current NM entry exceed 254.  So far, so good,
but what we return as the total length is the sum of *claimed*
sizes, not the actual amount collected.  And that can grow pretty
large - not unlimited, since you'd need to put CE entries in
between to be able to get more than the maximum that could be
contained in one isofs directory entry / continuation chunk and
we are stop once we'd encountered 32 CEs, but you can get about 8Kb
easily.  And that's what will be passed to readdir callback as the
name length.  8Kb __copy_to_user() from a buffer allocated by
__get_free_page()

Cc: stable@vger.kernel.org # 0.98pl6+ (yes, really)
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>isofs: Fix unchecked printing of ER records</title>
<updated>2015-01-08T18:30:21Z</updated>
<author>
<name>Jan Kara</name>
</author>
<published>2014-12-18T16:26:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9c0f8266e97ab401365e8b7fbe1cf9a76541633e'/>
<id>urn:sha1:9c0f8266e97ab401365e8b7fbe1cf9a76541633e</id>
<content type='text'>
commit 4e2024624e678f0ebb916e6192bd23c1f9fdf696 upstream.

We didn't check length of rock ridge ER records before printing them.
Thus corrupted isofs image can cause us to access and print some memory
behind the buffer with obvious consequences.

Reported-and-tested-by: Carl Henrik Lunde &lt;chlunde@ping.uio.no&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>isofs: Fix infinite looping over CE entries</title>
<updated>2015-01-08T18:30:14Z</updated>
<author>
<name>Jan Kara</name>
</author>
<published>2014-12-15T13:22:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b6d20edb6e7cedb4eedb9e0193d20dd488ebae84'/>
<id>urn:sha1:b6d20edb6e7cedb4eedb9e0193d20dd488ebae84</id>
<content type='text'>
commit f54e18f1b831c92f6512d2eedb224cd63d607d3d upstream.

Rock Ridge extensions define so called Continuation Entries (CE) which
define where is further space with Rock Ridge data. Corrupted isofs
image can contain arbitrarily long chain of these, including a one
containing loop and thus causing kernel to end in an infinite loop when
traversing these entries.

Limit the traversal to 32 entries which should be more than enough space
to store all the Rock Ridge data.

Reported-by: P J P &lt;ppandit@redhat.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>isofs: avoid unused function warning</title>
<updated>2014-11-19T18:09:37Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2014-11-19T14:11:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ca2f234404e738cc807ed87c43f9932513bc8c6'/>
<id>urn:sha1:7ca2f234404e738cc807ed87c43f9932513bc8c6</id>
<content type='text'>
With the isofs_hash() function removed, isofs_hash_ms() is the only user
of isofs_hash_common(), but it's defined inside of an #ifdef, which triggers
this gcc warning in ARM axm55xx_defconfig starting with v3.18-rc3:

fs/isofs/inode.c:177:1: warning: 'isofs_hash_common' defined but not used [-Wunused-function]

This patch moves the function inside of the same #ifdef section to avoid that
warning, which seems the best compromise of a relatively harmless patch for
a late -rc.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Fixes: b0afd8e5db7b ("isofs: don't bother with -&gt;d_op for normal case")
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>isofs: don't bother with -&gt;d_op for normal case</title>
<updated>2014-10-31T10:33:17Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2014-10-28T22:40:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b0afd8e5db7b11aa9078e82e7f9abc30dc35a3c1'/>
<id>urn:sha1:b0afd8e5db7b11aa9078e82e7f9abc30dc35a3c1</id>
<content type='text'>
we only need it for joliet and case-insensitive mounts

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>isofs_cmp(): we'll never see a dentry for . or ..</title>
<updated>2014-10-28T22:37:40Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2014-10-28T22:37:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f643ff550afbc82a2bc7026f4a6d64427e4fbc99'/>
<id>urn:sha1:f643ff550afbc82a2bc7026f4a6d64427e4fbc99</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>isofs: replace strnicmp with strncasecmp</title>
<updated>2014-10-14T00:18:24Z</updated>
<author>
<name>Rasmus Villemoes</name>
</author>
<published>2014-10-13T22:54:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a97df4277da28329f88520bc65d6310715563855'/>
<id>urn:sha1:a97df4277da28329f88520bc65d6310715563855</id>
<content type='text'>
The kernel used to contain two functions for length-delimited,
case-insensitive string comparison, strnicmp with correct semantics and
a slightly buggy strncasecmp.  The latter is the POSIX name, so strnicmp
was renamed to strncasecmp, and strnicmp made into a wrapper for the new
strncasecmp to avoid breaking existing users.

To allow the compat wrapper strnicmp to be removed at some point in the
future, and to avoid the extra indirection cost, do
s/strnicmp/strncasecmp/g.

Signed-off-by: Rasmus Villemoes &lt;linux@rasmusvillemoes.dk&gt;
Reviewed-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
