<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs/cifs, branch v3.4.72</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs/cifs?h=v3.4.72</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs/cifs?h=v3.4.72'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-09-27T00:15:31Z</updated>
<entry>
<title>cifs: ensure that srv_mutex is held when dealing with ssocket pointer</title>
<updated>2013-09-27T00:15:31Z</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@redhat.com</email>
</author>
<published>2013-09-05T12:38:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b11dc97469e8cf6776c82d2cfe975cf8aa1bd51d'/>
<id>urn:sha1:b11dc97469e8cf6776c82d2cfe975cf8aa1bd51d</id>
<content type='text'>
commit 73e216a8a42c0ef3d08071705c946c38fdbe12b0 upstream.

Oleksii reported that he had seen an oops similar to this:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000088
IP: [&lt;ffffffff814dcc13&gt;] sock_sendmsg+0x93/0xd0
PGD 0
Oops: 0000 [#1] PREEMPT SMP
Modules linked in: ipt_MASQUERADE xt_REDIRECT xt_tcpudp iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ip_tables x_tables carl9170 ath usb_storage f2fs nfnetlink_log nfnetlink md4 cifs dns_resolver hid_generic usbhid hid af_packet uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev rfcomm btusb bnep bluetooth qmi_wwan qcserial cdc_wdm usb_wwan usbnet usbserial mii snd_hda_codec_hdmi snd_hda_codec_realtek iwldvm mac80211 coretemp intel_powerclamp kvm_intel kvm iwlwifi snd_hda_intel cfg80211 snd_hda_codec xhci_hcd e1000e ehci_pci snd_hwdep sdhci_pci snd_pcm ehci_hcd microcode psmouse sdhci thinkpad_acpi mmc_core i2c_i801 pcspkr usbcore hwmon snd_timer snd_page_alloc snd ptp rfkill pps_core soundcore evdev usb_common vboxnetflt(O) vboxdrv(O)Oops#2 Part8
 loop tun binfmt_misc fuse msr acpi_call(O) ipv6 autofs4
CPU: 0 PID: 21612 Comm: kworker/0:1 Tainted: G        W  O 3.10.1SIGN #28
Hardware name: LENOVO 2306CTO/2306CTO, BIOS G2ET92WW (2.52 ) 02/22/2013
Workqueue: cifsiod cifs_echo_request [cifs]
task: ffff8801e1f416f0 ti: ffff880148744000 task.ti: ffff880148744000
RIP: 0010:[&lt;ffffffff814dcc13&gt;]  [&lt;ffffffff814dcc13&gt;] sock_sendmsg+0x93/0xd0
RSP: 0000:ffff880148745b00  EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff880148745b78 RCX: 0000000000000048
RDX: ffff880148745c90 RSI: ffff880181864a00 RDI: ffff880148745b78
RBP: ffff880148745c48 R08: 0000000000000048 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff880181864a00
R13: ffff880148745c90 R14: 0000000000000048 R15: 0000000000000048
FS:  0000000000000000(0000) GS:ffff88021e200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000088 CR3: 000000020c42c000 CR4: 00000000001407b0
Oops#2 Part7
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Stack:
 ffff880148745b30 ffffffff810c4af9 0000004848745b30 ffff880181864a00
 ffffffff81ffbc40 0000000000000000 ffff880148745c90 ffffffff810a5aab
 ffff880148745bc0 ffffffff81ffbc40 ffff880148745b60 ffffffff815a9fb8
Call Trace:
 [&lt;ffffffff810c4af9&gt;] ? finish_task_switch+0x49/0xe0
 [&lt;ffffffff810a5aab&gt;] ? lock_timer_base.isra.36+0x2b/0x50
 [&lt;ffffffff815a9fb8&gt;] ? _raw_spin_unlock_irqrestore+0x18/0x40
 [&lt;ffffffff810a673f&gt;] ? try_to_del_timer_sync+0x4f/0x70
 [&lt;ffffffff815aa38f&gt;] ? _raw_spin_unlock_bh+0x1f/0x30
 [&lt;ffffffff814dcc87&gt;] kernel_sendmsg+0x37/0x50
 [&lt;ffffffffa081a0e0&gt;] smb_send_kvec+0xd0/0x1d0 [cifs]
 [&lt;ffffffffa081a263&gt;] smb_send_rqst+0x83/0x1f0 [cifs]
 [&lt;ffffffffa081ab6c&gt;] cifs_call_async+0xec/0x1b0 [cifs]
 [&lt;ffffffffa08245e0&gt;] ? free_rsp_buf+0x40/0x40 [cifs]
Oops#2 Part6
 [&lt;ffffffffa082606e&gt;] SMB2_echo+0x8e/0xb0 [cifs]
 [&lt;ffffffffa0808789&gt;] cifs_echo_request+0x79/0xa0 [cifs]
 [&lt;ffffffff810b45b3&gt;] process_one_work+0x173/0x4a0
 [&lt;ffffffff810b52a1&gt;] worker_thread+0x121/0x3a0
 [&lt;ffffffff810b5180&gt;] ? manage_workers.isra.27+0x2b0/0x2b0
 [&lt;ffffffff810bae00&gt;] kthread+0xc0/0xd0
 [&lt;ffffffff810bad40&gt;] ? kthread_create_on_node+0x120/0x120
 [&lt;ffffffff815b199c&gt;] ret_from_fork+0x7c/0xb0
 [&lt;ffffffff810bad40&gt;] ? kthread_create_on_node+0x120/0x120
Code: 84 24 b8 00 00 00 4c 89 f1 4c 89 ea 4c 89 e6 48 89 df 4c 89 60 18 48 c7 40 28 00 00 00 00 4c 89 68 30 44 89 70 14 49 8b 44 24 28 &lt;ff&gt; 90 88 00 00 00 3d ef fd ff ff 74 10 48 8d 65 e0 5b 41 5c 41
 RIP  [&lt;ffffffff814dcc13&gt;] sock_sendmsg+0x93/0xd0
 RSP &lt;ffff880148745b00&gt;
CR2: 0000000000000088

The client was in the middle of trying to send a frame when the
server-&gt;ssocket pointer got zeroed out. In most places, that we access
that pointer, the srv_mutex is held. There's only one spot that I see
that the server-&gt;ssocket pointer gets set and the srv_mutex isn't held.
This patch corrects that.

The upstream bug report was here:

    https://bugzilla.kernel.org/show_bug.cgi?id=60557

Reported-by: Oleksii Shevchuk &lt;alxchk@gmail.com&gt;
Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>cifs: extend the buffer length enought for sprintf() using</title>
<updated>2013-08-15T05:57:07Z</updated>
<author>
<name>Chen Gang</name>
<email>gang.chen@asianux.com</email>
</author>
<published>2013-07-19T01:01:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3fbcb7f97cd2770e5d65490b57460844fb704f01'/>
<id>urn:sha1:3fbcb7f97cd2770e5d65490b57460844fb704f01</id>
<content type='text'>
commit 057d6332b24a4497c55a761c83c823eed9e3f23b upstream.

For cifs_set_cifscreds() in "fs/cifs/connect.c", 'desc' buffer length
is 'CIFSCREDS_DESC_SIZE' (56 is less than 256), and 'ses-&gt;domainName'
length may be "255 + '\0'".

The related sprintf() may cause memory overflow, so need extend related
buffer enough to hold all things.

It is also necessary to be sure of 'ses-&gt;domainName' must be less than
256, and define the related macro instead of hard code number '256'.

Signed-off-by: Chen Gang &lt;gang.chen@asianux.com&gt;
Reviewed-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Shirish Pargaonkar &lt;shirishpargaonkar@gmail.com&gt;
Reviewed-by: Scott Lovenberg &lt;scott.lovenberg@gmail.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Handle big endianness in NTLM (ntlmv2) authentication</title>
<updated>2013-07-22T01:19:02Z</updated>
<author>
<name>Steve French</name>
<email>smfrench@us.ibm.com</email>
</author>
<published>2013-06-25T19:03:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c1ee953c457d8dcca26c8586576066a887b4e0dd'/>
<id>urn:sha1:c1ee953c457d8dcca26c8586576066a887b4e0dd</id>
<content type='text'>
commit fdf96a907c1fbb93c633e2b7ede3b8df26d6a4c0 upstream.

This is RH bug 970891
Uppercasing of username during calculation of ntlmv2 hash fails
because UniStrupr function does not handle big endian wchars.

Also fix a comment in the same code to reflect its correct usage.

[To make it easier for stable (rather than require 2nd patch) fixed
this patch of Shirish's to remove endian warning generated
by sparse -- steve f.]

Reported-by: steve &lt;sanpatr1@in.ibm.com&gt;
Signed-off-by: Shirish Pargaonkar &lt;shirishpargaonkar@gmail.com&gt;
Reviewed-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>CIFS use sensible file nlink values if unprovided</title>
<updated>2013-07-22T01:19:00Z</updated>
<author>
<name>Steve French</name>
<email>smfrench@gmail.com</email>
</author>
<published>2013-07-04T19:38:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e2c411cce27a933da365034968f431a874e0001a'/>
<id>urn:sha1:e2c411cce27a933da365034968f431a874e0001a</id>
<content type='text'>
commit 6658b9f70ebca5fc0795b1d6d733996af1e2caa7 upstream.

Certain servers may not set the NumberOfLinks field in query file/path
info responses. In such a case, cifs_inode_needs_reval() assumes that
all regular files are hardlinks and triggers revalidation, leading to
excessive and unnecessary network traffic.

This change hardcodes cf_nlink (and subsequently i_nlink) when not
returned by the server, similar to what already occurs in cifs_mkdir().

Signed-off-by: David Disseldorp &lt;ddiss@suse.de&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>cifs: fix potential buffer overrun when composing a new options string</title>
<updated>2013-06-07T19:49:31Z</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@redhat.com</email>
</author>
<published>2013-05-24T11:40:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d0436288c2286cc471b03bddf36c04f937b1e752'/>
<id>urn:sha1:d0436288c2286cc471b03bddf36c04f937b1e752</id>
<content type='text'>
commit 166faf21bd14bc5c5295a44874bf7f3930c30b20 upstream.

Consider the case where we have a very short ip= string in the original
mount options, and when we chase a referral we end up with a very long
IPv6 address. Be sure to allow for that possibility when estimating the
size of the string to allocate.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>cifs: only set ops for inodes in I_NEW state</title>
<updated>2013-06-07T19:49:12Z</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@redhat.com</email>
</author>
<published>2013-05-07T15:28:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f6b6c15a9c4e1b5590b9524e1dc8f1e902e0aad7'/>
<id>urn:sha1:f6b6c15a9c4e1b5590b9524e1dc8f1e902e0aad7</id>
<content type='text'>
commit c2b93e0699723700f886ce17bb65ffd771195a6d upstream.

It's generally not safe to reset the inode ops once they've been set. In
the case where the inode was originally thought to be a directory and
then later found to be a DFS referral, this can lead to an oops when we
try to trigger an inode op on it after changing the ops to the blank
referral operations.

Reported-and-Tested-by: Sachin Prabhu &lt;sprabhu@redhat.com&gt;
Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>cifs: Allow passwords which begin with a delimitor</title>
<updated>2013-04-17T04:27:26Z</updated>
<author>
<name>Sachin Prabhu</name>
<email>sprabhu@redhat.com</email>
</author>
<published>2013-04-09T17:17:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e0b4cef3446f77889a3699309a9aad5f70d9a939'/>
<id>urn:sha1:e0b4cef3446f77889a3699309a9aad5f70d9a939</id>
<content type='text'>
commit c369c9a4a7c82d33329d869cbaf93304cc7a0c40 upstream.

Fixes a regression in cifs_parse_mount_options where a password
which begins with a delimitor is parsed incorrectly as being a blank
password.

Signed-off-by: Sachin Prabhu &lt;sprabhu@redhat.com&gt;
Acked-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>cifs: ignore everything in SPNEGO blob after mechTypes</title>
<updated>2013-03-28T19:12:15Z</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@redhat.com</email>
</author>
<published>2013-03-11T13:52:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=056f8c8c85d53311530fd1940a68a390cc615bde'/>
<id>urn:sha1:056f8c8c85d53311530fd1940a68a390cc615bde</id>
<content type='text'>
commit f853c616883a8de966873a1dab283f1369e275a1 upstream.

We've had several reports of people attempting to mount Windows 8 shares
and getting failures with a return code of -EINVAL. The default sec=
mode changed recently to sec=ntlmssp. With that, we expect and parse a
SPNEGO blob from the server in the NEGOTIATE reply.

The current decode_negTokenInit function first parses all of the
mechTypes and then tries to parse the rest of the negTokenInit reply.
The parser however currently expects a mechListMIC or nothing to follow the
mechTypes, but Windows 8 puts a mechToken field there instead to carry
some info for the new NegoEx stuff.

In practice, we don't do anything with the fields after the mechTypes
anyway so I don't see any real benefit in continuing to parse them.
This patch just has the kernel ignore the fields after the mechTypes.
We'll probably need to reinstate some of this if we ever want to support
NegoEx.

Reported-by: Jason Burgess &lt;jason@jacknife2.dns2go.com&gt;
Reported-by: Yan Li &lt;elliot.li.tech@gmail.com&gt;
Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>cifs: ensure that cifs_get_root() only traverses directories</title>
<updated>2013-03-14T18:29:42Z</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@redhat.com</email>
</author>
<published>2013-02-01T20:11:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=18d2c795ad10c2834518b083e3c6a58400f46a1a'/>
<id>urn:sha1:18d2c795ad10c2834518b083e3c6a58400f46a1a</id>
<content type='text'>
commit ce2ac52105aa663056dfc17966ebed1bf93e6e64 upstream.

Kjell Braden reported this oops:

[  833.211970] BUG: unable to handle kernel NULL pointer dereference at           (null)
[  833.212816] IP: [&lt;          (null)&gt;]           (null)
[  833.213280] PGD 1b9b2067 PUD e9f7067 PMD 0
[  833.213874] Oops: 0010 [#1] SMP
[  833.214344] CPU 0
[  833.214458] Modules linked in: des_generic md4 nls_utf8 cifs vboxvideo drm snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq bnep rfcomm snd_timer bluetooth snd_seq_device ppdev snd vboxguest parport_pc joydev mac_hid soundcore snd_page_alloc psmouse i2c_piix4 serio_raw lp parport usbhid hid e1000
[  833.215629]
[  833.215629] Pid: 1752, comm: mount.cifs Not tainted 3.0.0-rc7-bisectcifs-fec11dd9a0+ #18 innotek GmbH VirtualBox/VirtualBox
[  833.215629] RIP: 0010:[&lt;0000000000000000&gt;]  [&lt;          (null)&gt;]           (null)
[  833.215629] RSP: 0018:ffff8800119c9c50  EFLAGS: 00010282
[  833.215629] RAX: ffffffffa02186c0 RBX: ffff88000c427780 RCX: 0000000000000000
[  833.215629] RDX: 0000000000000000 RSI: ffff88000c427780 RDI: ffff88000c4362e8
[  833.215629] RBP: ffff8800119c9c88 R08: ffff88001fc15e30 R09: 00000000d69515c7
[  833.215629] R10: ffffffffa0201972 R11: ffff88000e8f6a28 R12: ffff88000c4362e8
[  833.215629] R13: 0000000000000000 R14: 0000000000000000 R15: ffff88001181aaa6
[  833.215629] FS:  00007f2986171700(0000) GS:ffff88001fc00000(0000) knlGS:0000000000000000
[  833.215629] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[  833.215629] CR2: 0000000000000000 CR3: 000000001b982000 CR4: 00000000000006f0
[  833.215629] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  833.215629] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  833.215629] Process mount.cifs (pid: 1752, threadinfo ffff8800119c8000, task ffff88001c1c16f0)
[  833.215629] Stack:
[  833.215629]  ffffffff8116a9b5 ffff8800119c9c88 ffffffff81178075 0000000000000286
[  833.215629]  0000000000000000 ffff88000c4276c0 ffff8800119c9ce8 ffff8800119c9cc8
[  833.215629]  ffffffff8116b06e ffff88001bc6fc00 ffff88000c4276c0 ffff88000c4276c0
[  833.215629] Call Trace:
[  833.215629]  [&lt;ffffffff8116a9b5&gt;] ? d_alloc_and_lookup+0x45/0x90
[  833.215629]  [&lt;ffffffff81178075&gt;] ? d_lookup+0x35/0x60
[  833.215629]  [&lt;ffffffff8116b06e&gt;] __lookup_hash.part.14+0x9e/0xc0
[  833.215629]  [&lt;ffffffff8116b1d6&gt;] lookup_one_len+0x146/0x1e0
[  833.215629]  [&lt;ffffffff815e4f7e&gt;] ? _raw_spin_lock+0xe/0x20
[  833.215629]  [&lt;ffffffffa01eef0d&gt;] cifs_do_mount+0x26d/0x500 [cifs]
[  833.215629]  [&lt;ffffffff81163bd3&gt;] mount_fs+0x43/0x1b0
[  833.215629]  [&lt;ffffffff8117d41a&gt;] vfs_kern_mount+0x6a/0xd0
[  833.215629]  [&lt;ffffffff8117e584&gt;] do_kern_mount+0x54/0x110
[  833.215629]  [&lt;ffffffff8117fdc2&gt;] do_mount+0x262/0x840
[  833.215629]  [&lt;ffffffff81108a0e&gt;] ? __get_free_pages+0xe/0x50
[  833.215629]  [&lt;ffffffff8117f9ca&gt;] ? copy_mount_options+0x3a/0x180
[  833.215629]  [&lt;ffffffff8118075d&gt;] sys_mount+0x8d/0xe0
[  833.215629]  [&lt;ffffffff815ece82&gt;] system_call_fastpath+0x16/0x1b
[  833.215629] Code:  Bad RIP value.
[  833.215629] RIP  [&lt;          (null)&gt;]           (null)
[  833.215629]  RSP &lt;ffff8800119c9c50&gt;
[  833.215629] CR2: 0000000000000000
[  833.238525] ---[ end trace ec00758b8d44f529 ]---

When walking down the path on the server, it's possible to hit a
symlink. The path walking code assumes that the caller will handle that
situation properly, but cifs_get_root() isn't set up for it. This patch
prevents the oops by simply returning an error.

A better solution would be to try and chase the symlinks here, but that's
fairly complicated to handle.

Fixes:

    https://bugzilla.kernel.org/show_bug.cgi?id=53221

Reported-and-tested-by: Kjell Braden &lt;afflux@pentabarf.de&gt;
Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>fs/cifs/cifs_dfs_ref.c: fix potential memory leakage</title>
<updated>2013-02-04T00:24:40Z</updated>
<author>
<name>Cong Ding</name>
<email>dinggnu@gmail.com</email>
</author>
<published>2013-01-23T00:20:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bad73b66c3862db14a5362113df7680f4ef84200'/>
<id>urn:sha1:bad73b66c3862db14a5362113df7680f4ef84200</id>
<content type='text'>
commit 10b8c7dff5d3633b69e77f57d404dab54ead3787 upstream.

When it goes to error through line 144, the memory allocated to *devname is
not freed, and the caller doesn't free it either in line 250. So we free the
memroy of *devname in function cifs_compose_mount_options() when it goes to
error.

Signed-off-by: Cong Ding &lt;dinggnu@gmail.com&gt;
Reviewed-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
