From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B842C27C79 for ; Thu, 20 Jun 2024 20:30:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4C12E8D00DE; Thu, 20 Jun 2024 16:30:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 497C88D00DB; Thu, 20 Jun 2024 16:30:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 338098D00DE; Thu, 20 Jun 2024 16:30:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 104C18D00DB for ; Thu, 20 Jun 2024 16:30:12 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 86010140574 for ; Thu, 20 Jun 2024 20:30:11 +0000 (UTC) X-FDA: 82252409022.03.E5548EB Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) by imf05.hostedemail.com (Postfix) with ESMTP id 84A0B100017 for ; Thu, 20 Jun 2024 20:30:09 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kHnkBtaF; spf=pass (imf05.hostedemail.com: domain of smfrench@gmail.com designates 209.85.208.182 as permitted sender) smtp.mailfrom=smfrench@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718915405; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=0AaZXz6HCbDa8eUXXe1u+dAsA44D+SEYRxa0tXuHTh0=; b=ZlZbaPlo5+Y5ZQVWMQPwWEoZ0MCYJ2gvVzozHveXujig/cRXnyaQjQU1gxOQRbYunUCeaa SL4q+xORibI84qbWD9gmT3SvFkA+ly8TZjyCZ+RgMGVRubFFwMt6v6bYU3W3ZEkVS+TDyF WWCPBLU1nRrLTQ1sOO8bRgG9q4PZsa0= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kHnkBtaF; spf=pass (imf05.hostedemail.com: domain of smfrench@gmail.com designates 209.85.208.182 as permitted sender) smtp.mailfrom=smfrench@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718915405; a=rsa-sha256; cv=none; b=2T5vOa1obTRbvYWBP1eX0aIz5S/k9nuzJ7WkO369aCD5YM7c10F52vbUhCDLPkZCOabFi1 Ce1Jj4DpX4TB3d2C56mZZxog/kgw1VG0Wu3sS4w3x8DUXjKpE4ufto83g3XYNTOPOpnUDs 76c2gm8TGocuCl0MOo7lljGCCN6Llqs= Received: by mail-lj1-f182.google.com with SMTP id 38308e7fff4ca-2ec4a35baa7so5939361fa.1 for ; Thu, 20 Jun 2024 13:30:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718915408; x=1719520208; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0AaZXz6HCbDa8eUXXe1u+dAsA44D+SEYRxa0tXuHTh0=; b=kHnkBtaFs/SimzpP+iUABQzENq/TBvY6IppNXEI4kikAfF5Lz+4bpCU3qVdlAm4wRg EWgjbX+woKvuA2LWp8fjNrX3UqLBNBLPKVrOQ6rLZ8BGwHMImR73UwCeVionUGpZlDJB 0LyHH5UkZ5oYGYJYKK38cRbFaP5wJEQwYgrwQN8S9MxpFn0i04+NBd1Y3Y+jQDvIkFr9 dUa+CVHh04b4NOs98jL+ukxTDqwaO8N4K+YgPCMgMef0WVHC5bMp3Mdggi7H+PcEWSTU akowcW1HTXwV8HRqDw6dErLpTo0uOqmnoRboJpAXZJvpZrL/e29s9jCPKZJFSV68zWS4 2gNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718915408; x=1719520208; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0AaZXz6HCbDa8eUXXe1u+dAsA44D+SEYRxa0tXuHTh0=; b=tC52xVtAPa1wqnzdzDcHRmP/FMlt6FYvik5rq7zX0MnjNfejeXtaNnzHswHMTrqi+2 w7YyMu8sRNvb/YEY8PuLsbnmxdry5SbHo4pGN8c4aVdgDMvnr3JdJTWvghlJ8LBo6Oir LXq1PsscAExhiUhw3IXuuHolggSLXJavX05S9Dc5sZIr1Lj1nox3GVpFxeitctfcjLTi LJbTut9cpQOs6xMxh8TBQQbAoaLQiEHTL2LM7jHDedBN7DktPIroAXOsX/zd2r6SGxVU zjVPzeYYgNpX5PXlJ3sWL4VC63fdiVYphJPlM1/fAuRqy+/9ws5FMuooyEClXjix5p5j IWhA== X-Forwarded-Encrypted: i=1; AJvYcCV4cg2A/ZuvKuyTwxbo5pkrx/2Rqw0qFF54Tr5+FzJRmFOvZRdTUdw1suNpbMyUPeGqfG1iOFwb8WCgfJ07dlGXwK0= X-Gm-Message-State: AOJu0YyUJ1w6XkEX75QVOP7mD8JkDSYGZPyE1yLJAhMWpUQO3rcsFVjm k1eh96OMq8iZ0ql5o6Ey77K9C8yAydJOgM2gphUdLD3QCVz+bu9oiP48+MhPYrWcYGhRjOA7PON vjxuU206z0vZuByi22ysjzi7zDNI= X-Google-Smtp-Source: AGHT+IFk6q/dXNhXYXDhrUm+mDzeMQfdZv7VZ9OPGc51XKug052EHkQ3ljAMDvpoF6rjKSriSIZLOgYF8z96ER7Fo8Q= X-Received: by 2002:a05:651c:2006:b0:2ec:35a3:20bd with SMTP id 38308e7fff4ca-2ec35a321eemr24171601fa.22.1718915407469; Thu, 20 Jun 2024 13:30:07 -0700 (PDT) MIME-Version: 1.0 References: <20240620173137.610345-1-dhowells@redhat.com> <20240620173137.610345-12-dhowells@redhat.com> In-Reply-To: <20240620173137.610345-12-dhowells@redhat.com> From: Steve French Date: Thu, 20 Jun 2024 15:29:55 -0500 Message-ID: Subject: Re: [PATCH 11/17] cifs: Move the 'pid' from the subreq to the req To: David Howells Cc: Christian Brauner , Matthew Wilcox , Jeff Layton , Gao Xiang , Dominique Martinet , Marc Dionne , Paulo Alcantara , Shyam Prasad N , Tom Talpey , Eric Van Hensbergen , Ilya Dryomov , netfs@lists.linux.dev, linux-afs@lists.infradead.org, linux-cifs@vger.kernel.org, linux-nfs@vger.kernel.org, ceph-devel@vger.kernel.org, v9fs@lists.linux.dev, linux-erofs@lists.ozlabs.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Steve French Content-Type: multipart/mixed; boundary="0000000000004305c8061b582e10" X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 84A0B100017 X-Stat-Signature: nzefrtc4fzuwosdg8w9ajff8wwajtzdf X-HE-Tag: 1718915409-790079 X-HE-Meta: U2FsdGVkX1/cGi75v4XyfjIEOwygQGjTvsxW3FcePDE8Xx+K7qvEitUtwlxVd6yp2MPrdpoB2E8/r8CIL9zQB+u99m2Z8Z0EKhvEH/1e0iFJFNPyD0sK2vS/gsU/Hyav9ypMSNOaQh2jzdbenRxJWM2Pm/jv37okgDdjtLz0rWTtPhKbeVVK78FUjm3R4vfGNnAN7cWcOtGfIiuW3OFTwLcD2eIgefVOeryNj6jqAJaVH9Lea+eWTeOX1p142nEW/XgfvwfqpmXejdDZI6VxqKrfu4ttA8D1YjNJMGsXBuGSiwJkXlPGFDfFnxSwIIvtyOC/SpObxNc2mQyohf2sM/UXG34lFK//QEKrDOwgRR89+sGCzRlu1ux93lLx5oGljB0vUb1vxBMIfyhMqAQOQmYs22sKUgqIV+9xBmnv0USkqwzl8ioPNKQ7U5zohVubGKMPVrnsszkVVO2ElFy0C51VOMSfi23eU5WCogOin5g7QOEaqAZ2y5UVJ9WoLXuOSAa+mc4GFXBPY6O2AvlP4zurXS7/1jJ/t/+FHGjDnJ3fCSTQASKjZN1oyMVsuou8vM+F8FYmIeQRDBvlGC1RO9gRKBNIh+cmlXWeCVsDfX6g96jPLjAz7KOjSGfvjJuLAsTkFObVKsMwzBEDV/I++8c7V9rrudP7Dk2g/zq+URj8xr3Mj6mlC60WvR9iOCOhffZgXlXBqxXJeyoSmGG5OL1duPdZA9AXfcZ1zarQxMbWsY7CMx12UgzjGtjXdpGMIhSGIK4DXBrs73sor4BmmVAEsdS8IxhtFa/hkDNG1QJWjjgjcB6DEX8q6Y9d2P0oyw0ltFO/WCORUl0ywkP09DbmmDugoql+lRw+RKr3/DVlEzscJ+V5m9mPtkX3kKnxKDdT/kPfbdRchuuQoAbGqL7/eNypb8gmNXrX8xCKRw9Ir81caRXCTVOKNr5ZFU0d3q6rlOxXjp3ffr4nMgl 3tmBqarx 8WFkycdotQpgXHGUUprjZf9BDVY5L+1F2fPQJ/v2UP/2l/BN+6tDAIevCCWSlVffblMTcwxl2pXWr1U8TYZaiRIznzmZh6HRW/p1AqrDf7rB9aTYhGDZ25pDHz4DKLB5AMV8JsXesSKkHoi/KD5Rr+6lgclQ0JCP1iPb6MnlYfVig3Qj7yR4zT4Jw/emYe6nQIQ+0ed3p9cZCk0hX5Th3dYu9ipb8EMJIK5EDjiGGYnD7fUvUW7uSdawT53gGcKPi4h5tvqVD5ui+vDyoifrGy5/6ncgLLgRr1HNHq5HOHopeE27cVdfwLNpuFXq0c6PGYP3e0PCQjRL66effSBolSTxY3sgn08IzOhjtRN4Gj0F20BosbCaJW+B1vV8KVuUDcUH0YYsf8aUNdnjCWzcVPjCg8bPAjgrgANFcNZZRG+NHzOggc4qa6+4/NKfo2s7YzUGooh/5Z7kg+sigcuAZQZwheqbQokCWv5dEr+adOZe5OVXQxJqk5Tm1Ao9H9Q6ihsRCJ0sy5VGO73l05v5knFwA5Ham6Z/GyHdzYAu0sGsOCLXlIH9BB6sbPBM/HoeMAF2juh9/EhMA2eq5tyr3STEUD8q/4UhVCmgo95Mc6l3jiuxa0Z1CAfVrdOO5KVXRZCtxzGYJSmSy86aW0aFZSoVV29USXmA2VK6BSHbjFhBuluzn93S6VScxF4mSDPrvHcLUar4dA3Ptjk6h9Kblr7jEXAs2BngYQUfEiCkZVBRZ65vfq93S2s0k1Q== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --0000000000004305c8061b582e10 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable minor update to the patch. Fix function =E2=80=98cifs_req_issue_read=E2=80= =99 to remove the warning: /home/smfrench/cifs-2.6/fs/smb/client/file.c:180:30: warning: unused variable =E2=80=98cifs_sb See attached. Merged this and two more from the series tentatively into cifs-2.6.git for-next pending more testing/review 969b3010cbfc cifs: Only pick a channel once per read request ce5291e56081 cifs: Defer read completion On Thu, Jun 20, 2024 at 12:33=E2=80=AFPM David Howells wrote: > > Move the reference pid from the cifs_io_subrequest struct to the > cifs_io_request struct as it's the same for all subreqs of a particular > request. > > Signed-off-by: David Howells > cc: Steve French > cc: Paulo Alcantara > cc: Jeff Layton > cc: linux-cifs@vger.kernel.org > cc: netfs@lists.linux.dev > cc: linux-fsdevel@vger.kernel.org > --- > fs/smb/client/cifsglob.h | 2 +- > fs/smb/client/cifssmb.c | 8 ++++---- > fs/smb/client/file.c | 10 +++------- > fs/smb/client/smb2pdu.c | 4 ++-- > 4 files changed, 10 insertions(+), 14 deletions(-) > > diff --git a/fs/smb/client/cifsglob.h b/fs/smb/client/cifsglob.h > index b48d3f5e8889..bbcc552c07be 100644 > --- a/fs/smb/client/cifsglob.h > +++ b/fs/smb/client/cifsglob.h > @@ -1495,6 +1495,7 @@ struct cifs_io_request { > struct netfs_io_request rreq; > struct cifsFileInfo *cfile; > struct TCP_Server_Info *server; > + pid_t pid; > }; > > /* asynchronous read support */ > @@ -1505,7 +1506,6 @@ struct cifs_io_subrequest { > struct cifs_io_request *req; > }; > ssize_t got_bytes; > - pid_t pid; > unsigned int xid; > int result; > bool have_xid; > diff --git a/fs/smb/client/cifssmb.c b/fs/smb/client/cifssmb.c > index 25e9ab947c17..595c4b673707 100644 > --- a/fs/smb/client/cifssmb.c > +++ b/fs/smb/client/cifssmb.c > @@ -1345,8 +1345,8 @@ cifs_async_readv(struct cifs_io_subrequest *rdata) > if (rc) > return rc; > > - smb->hdr.Pid =3D cpu_to_le16((__u16)rdata->pid); > - smb->hdr.PidHigh =3D cpu_to_le16((__u16)(rdata->pid >> 16)); > + smb->hdr.Pid =3D cpu_to_le16((__u16)rdata->req->pid); > + smb->hdr.PidHigh =3D cpu_to_le16((__u16)(rdata->req->pid >> 16)); > > smb->AndXCommand =3D 0xFF; /* none */ > smb->Fid =3D rdata->req->cfile->fid.netfid; > @@ -1689,8 +1689,8 @@ cifs_async_writev(struct cifs_io_subrequest *wdata) > if (rc) > goto async_writev_out; > > - smb->hdr.Pid =3D cpu_to_le16((__u16)wdata->pid); > - smb->hdr.PidHigh =3D cpu_to_le16((__u16)(wdata->pid >> 16)); > + smb->hdr.Pid =3D cpu_to_le16((__u16)wdata->req->pid); > + smb->hdr.PidHigh =3D cpu_to_le16((__u16)(wdata->req->pid >> 16)); > > smb->AndXCommand =3D 0xFF; /* none */ > smb->Fid =3D wdata->req->cfile->fid.netfid; > diff --git a/fs/smb/client/file.c b/fs/smb/client/file.c > index 16fa1ac1ed2d..45c860f0e7fd 100644 > --- a/fs/smb/client/file.c > +++ b/fs/smb/client/file.c > @@ -178,14 +178,8 @@ static void cifs_req_issue_read(struct netfs_io_subr= equest *subreq) > struct cifs_io_subrequest *rdata =3D container_of(subreq, struct = cifs_io_subrequest, subreq); > struct cifs_io_request *req =3D container_of(subreq->rreq, struct= cifs_io_request, rreq); > struct cifs_sb_info *cifs_sb =3D CIFS_SB(rreq->inode->i_sb); > - pid_t pid; > int rc =3D 0; > > - if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_RWPIDFORWARD) > - pid =3D req->cfile->pid; > - else > - pid =3D current->tgid; // Ummm... This may be a workqueu= e > - > cifs_dbg(FYI, "%s: op=3D%08x[%x] mapping=3D%p len=3D%zu/%zu\n", > __func__, rreq->debug_id, subreq->debug_index, rreq->map= ping, > subreq->transferred, subreq->len); > @@ -199,7 +193,6 @@ static void cifs_req_issue_read(struct netfs_io_subre= quest *subreq) > } > > __set_bit(NETFS_SREQ_CLEAR_TAIL, &subreq->flags); > - rdata->pid =3D pid; > > rc =3D rdata->server->ops->async_readv(rdata); > out: > @@ -236,12 +229,15 @@ static int cifs_init_request(struct netfs_io_reques= t *rreq, struct file *file) > > rreq->rsize =3D cifs_sb->ctx->rsize; > rreq->wsize =3D cifs_sb->ctx->wsize; > + req->pid =3D current->tgid; // Ummm... This may be a workqueue > > if (file) { > open_file =3D file->private_data; > rreq->netfs_priv =3D file->private_data; > req->cfile =3D cifsFileInfo_get(open_file); > req->server =3D cifs_pick_channel(tlink_tcon(req->cfile->= tlink)->ses); > + if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_RWPIDFORWARD) > + req->pid =3D req->cfile->pid; > } else if (rreq->origin !=3D NETFS_WRITEBACK) { > WARN_ON_ONCE(1); > return -EIO; > diff --git a/fs/smb/client/smb2pdu.c b/fs/smb/client/smb2pdu.c > index e213cecd5094..2ae2dbb6202b 100644 > --- a/fs/smb/client/smb2pdu.c > +++ b/fs/smb/client/smb2pdu.c > @@ -4621,7 +4621,7 @@ smb2_async_readv(struct cifs_io_subrequest *rdata) > io_parms.length =3D rdata->subreq.len; > io_parms.persistent_fid =3D rdata->req->cfile->fid.persistent_fid= ; > io_parms.volatile_fid =3D rdata->req->cfile->fid.volatile_fid; > - io_parms.pid =3D rdata->pid; > + io_parms.pid =3D rdata->req->pid; > > rc =3D smb2_new_read_req( > (void **) &buf, &total_len, &io_parms, rdata, 0, 0); > @@ -4873,7 +4873,7 @@ smb2_async_writev(struct cifs_io_subrequest *wdata) > .length =3D wdata->subreq.len, > .persistent_fid =3D wdata->req->cfile->fid.persistent_fid= , > .volatile_fid =3D wdata->req->cfile->fid.volatile_fid, > - .pid =3D wdata->pid, > + .pid =3D wdata->req->pid, > }; > io_parms =3D &_io_parms; > > --=20 Thanks, Steve --0000000000004305c8061b582e10 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-cifs-Move-the-pid-from-the-subreq-to-the-req.patch" Content-Disposition: attachment; filename="0001-cifs-Move-the-pid-from-the-subreq-to-the-req.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lxnpuc0k0 RnJvbSAzZjU5MTM4NTgwYmY4MDA2ZmE5OTY0MWI1ODAzZDBmNjgzNzA5ZjEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBIb3dlbGxzIDxkaG93ZWxsc0ByZWRoYXQuY29tPgpE YXRlOiBUaHUsIDIwIEp1biAyMDI0IDE4OjMxOjI5ICswMTAwClN1YmplY3Q6IFtQQVRDSF0gY2lm czogTW92ZSB0aGUgJ3BpZCcgZnJvbSB0aGUgc3VicmVxIHRvIHRoZSByZXEKCk1vdmUgdGhlIHJl ZmVyZW5jZSBwaWQgZnJvbSB0aGUgY2lmc19pb19zdWJyZXF1ZXN0IHN0cnVjdCB0byB0aGUKY2lm c19pb19yZXF1ZXN0IHN0cnVjdCBhcyBpdCdzIHRoZSBzYW1lIGZvciBhbGwgc3VicmVxcyBvZiBh IHBhcnRpY3VsYXIKcmVxdWVzdC4KClNpZ25lZC1vZmYtYnk6IERhdmlkIEhvd2VsbHMgPGRob3dl bGxzQHJlZGhhdC5jb20+CmNjOiBQYXVsbyBBbGNhbnRhcmEgPHBjQG1hbmd1ZWJpdC5jb20+CmNj OiBKZWZmIExheXRvbiA8amxheXRvbkBrZXJuZWwub3JnPgpjYzogbGludXgtY2lmc0B2Z2VyLmtl cm5lbC5vcmcKY2M6IG5ldGZzQGxpc3RzLmxpbnV4LmRldgpjYzogbGludXgtZnNkZXZlbEB2Z2Vy Lmtlcm5lbC5vcmcKU2lnbmVkLW9mZi1ieTogU3RldmUgRnJlbmNoIDxzdGZyZW5jaEBtaWNyb3Nv ZnQuY29tPgotLS0KIGZzL3NtYi9jbGllbnQvY2lmc2dsb2IuaCB8ICAyICstCiBmcy9zbWIvY2xp ZW50L2NpZnNzbWIuYyAgfCAgOCArKysrLS0tLQogZnMvc21iL2NsaWVudC9maWxlLmMgICAgIHwg MTEgKysrLS0tLS0tLS0KIGZzL3NtYi9jbGllbnQvc21iMnBkdS5jICB8ICA0ICsrLS0KIDQgZmls ZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZnMvc21iL2NsaWVudC9jaWZzZ2xvYi5oIGIvZnMvc21iL2NsaWVudC9jaWZzZ2xvYi5oCmlu ZGV4IDA5Nzg5OTdkZGZhNi4uNTU3YjY4ZTk5ZDBhIDEwMDY0NAotLS0gYS9mcy9zbWIvY2xpZW50 L2NpZnNnbG9iLmgKKysrIGIvZnMvc21iL2NsaWVudC9jaWZzZ2xvYi5oCkBAIC0xNDk1LDYgKzE0 OTUsNyBAQCBzdHJ1Y3QgY2lmc19pb19yZXF1ZXN0IHsKIAlzdHJ1Y3QgbmV0ZnNfaW9fcmVxdWVz dAkJcnJlcTsKIAlzdHJ1Y3QgY2lmc0ZpbGVJbmZvCQkqY2ZpbGU7CiAJc3RydWN0IFRDUF9TZXJ2 ZXJfSW5mbwkJKnNlcnZlcjsKKwlwaWRfdAkJCQlwaWQ7CiB9OwogCiAvKiBhc3luY2hyb25vdXMg cmVhZCBzdXBwb3J0ICovCkBAIC0xNTA1LDcgKzE1MDYsNiBAQCBzdHJ1Y3QgY2lmc19pb19zdWJy ZXF1ZXN0IHsKIAkJc3RydWN0IGNpZnNfaW9fcmVxdWVzdCAqcmVxOwogCX07CiAJc3NpemVfdAkJ CQlnb3RfYnl0ZXM7Ci0JcGlkX3QJCQkJcGlkOwogCXVuc2lnbmVkIGludAkJCXhpZDsKIAlpbnQJ CQkJcmVzdWx0OwogCWJvb2wJCQkJaGF2ZV94aWQ7CmRpZmYgLS1naXQgYS9mcy9zbWIvY2xpZW50 L2NpZnNzbWIuYyBiL2ZzL3NtYi9jbGllbnQvY2lmc3NtYi5jCmluZGV4IDI1ZTlhYjk0N2MxNy4u NTk1YzRiNjczNzA3IDEwMDY0NAotLS0gYS9mcy9zbWIvY2xpZW50L2NpZnNzbWIuYworKysgYi9m cy9zbWIvY2xpZW50L2NpZnNzbWIuYwpAQCAtMTM0NSw4ICsxMzQ1LDggQEAgY2lmc19hc3luY19y ZWFkdihzdHJ1Y3QgY2lmc19pb19zdWJyZXF1ZXN0ICpyZGF0YSkKIAlpZiAocmMpCiAJCXJldHVy biByYzsKIAotCXNtYi0+aGRyLlBpZCA9IGNwdV90b19sZTE2KChfX3UxNilyZGF0YS0+cGlkKTsK LQlzbWItPmhkci5QaWRIaWdoID0gY3B1X3RvX2xlMTYoKF9fdTE2KShyZGF0YS0+cGlkID4+IDE2 KSk7CisJc21iLT5oZHIuUGlkID0gY3B1X3RvX2xlMTYoKF9fdTE2KXJkYXRhLT5yZXEtPnBpZCk7 CisJc21iLT5oZHIuUGlkSGlnaCA9IGNwdV90b19sZTE2KChfX3UxNikocmRhdGEtPnJlcS0+cGlk ID4+IDE2KSk7CiAKIAlzbWItPkFuZFhDb21tYW5kID0gMHhGRjsJLyogbm9uZSAqLwogCXNtYi0+ RmlkID0gcmRhdGEtPnJlcS0+Y2ZpbGUtPmZpZC5uZXRmaWQ7CkBAIC0xNjg5LDggKzE2ODksOCBA QCBjaWZzX2FzeW5jX3dyaXRldihzdHJ1Y3QgY2lmc19pb19zdWJyZXF1ZXN0ICp3ZGF0YSkKIAlp ZiAocmMpCiAJCWdvdG8gYXN5bmNfd3JpdGV2X291dDsKIAotCXNtYi0+aGRyLlBpZCA9IGNwdV90 b19sZTE2KChfX3UxNil3ZGF0YS0+cGlkKTsKLQlzbWItPmhkci5QaWRIaWdoID0gY3B1X3RvX2xl MTYoKF9fdTE2KSh3ZGF0YS0+cGlkID4+IDE2KSk7CisJc21iLT5oZHIuUGlkID0gY3B1X3RvX2xl MTYoKF9fdTE2KXdkYXRhLT5yZXEtPnBpZCk7CisJc21iLT5oZHIuUGlkSGlnaCA9IGNwdV90b19s ZTE2KChfX3UxNikod2RhdGEtPnJlcS0+cGlkID4+IDE2KSk7CiAKIAlzbWItPkFuZFhDb21tYW5k ID0gMHhGRjsJLyogbm9uZSAqLwogCXNtYi0+RmlkID0gd2RhdGEtPnJlcS0+Y2ZpbGUtPmZpZC5u ZXRmaWQ7CmRpZmYgLS1naXQgYS9mcy9zbWIvY2xpZW50L2ZpbGUuYyBiL2ZzL3NtYi9jbGllbnQv ZmlsZS5jCmluZGV4IDRkYmQ4MDE2OGEyYi4uZjFmMjU3M2JiMThkIDEwMDY0NAotLS0gYS9mcy9z bWIvY2xpZW50L2ZpbGUuYworKysgYi9mcy9zbWIvY2xpZW50L2ZpbGUuYwpAQCAtMTc3LDE1ICsx NzcsOCBAQCBzdGF0aWMgdm9pZCBjaWZzX3JlcV9pc3N1ZV9yZWFkKHN0cnVjdCBuZXRmc19pb19z dWJyZXF1ZXN0ICpzdWJyZXEpCiAJc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKnJyZXEgPSBzdWJy ZXEtPnJyZXE7CiAJc3RydWN0IGNpZnNfaW9fc3VicmVxdWVzdCAqcmRhdGEgPSBjb250YWluZXJf b2Yoc3VicmVxLCBzdHJ1Y3QgY2lmc19pb19zdWJyZXF1ZXN0LCBzdWJyZXEpOwogCXN0cnVjdCBj aWZzX2lvX3JlcXVlc3QgKnJlcSA9IGNvbnRhaW5lcl9vZihzdWJyZXEtPnJyZXEsIHN0cnVjdCBj aWZzX2lvX3JlcXVlc3QsIHJyZXEpOwotCXN0cnVjdCBjaWZzX3NiX2luZm8gKmNpZnNfc2IgPSBD SUZTX1NCKHJyZXEtPmlub2RlLT5pX3NiKTsKLQlwaWRfdCBwaWQ7CiAJaW50IHJjID0gMDsKIAot CWlmIChjaWZzX3NiLT5tbnRfY2lmc19mbGFncyAmIENJRlNfTU9VTlRfUldQSURGT1JXQVJEKQot CQlwaWQgPSByZXEtPmNmaWxlLT5waWQ7Ci0JZWxzZQotCQlwaWQgPSBjdXJyZW50LT50Z2lkOyAv LyBVbW1tLi4uICBUaGlzIG1heSBiZSBhIHdvcmtxdWV1ZQotCiAJY2lmc19kYmcoRllJLCAiJXM6 IG9wPSUwOHhbJXhdIG1hcHBpbmc9JXAgbGVuPSV6dS8lenVcbiIsCiAJCSBfX2Z1bmNfXywgcnJl cS0+ZGVidWdfaWQsIHN1YnJlcS0+ZGVidWdfaW5kZXgsIHJyZXEtPm1hcHBpbmcsCiAJCSBzdWJy ZXEtPnRyYW5zZmVycmVkLCBzdWJyZXEtPmxlbik7CkBAIC0xOTksNyArMTkyLDYgQEAgc3RhdGlj IHZvaWQgY2lmc19yZXFfaXNzdWVfcmVhZChzdHJ1Y3QgbmV0ZnNfaW9fc3VicmVxdWVzdCAqc3Vi cmVxKQogCX0KIAogCV9fc2V0X2JpdChORVRGU19TUkVRX0NMRUFSX1RBSUwsICZzdWJyZXEtPmZs YWdzKTsKLQlyZGF0YS0+cGlkID0gcGlkOwogCiAJcmMgPSByZGF0YS0+c2VydmVyLT5vcHMtPmFz eW5jX3JlYWR2KHJkYXRhKTsKIG91dDoKQEAgLTIzNiwxMiArMjI4LDE1IEBAIHN0YXRpYyBpbnQg Y2lmc19pbml0X3JlcXVlc3Qoc3RydWN0IG5ldGZzX2lvX3JlcXVlc3QgKnJyZXEsIHN0cnVjdCBm aWxlICpmaWxlKQogCiAJcnJlcS0+cnNpemUgPSBjaWZzX3NiLT5jdHgtPnJzaXplOwogCXJyZXEt PndzaXplID0gY2lmc19zYi0+Y3R4LT53c2l6ZTsKKwlyZXEtPnBpZCA9IGN1cnJlbnQtPnRnaWQ7 IC8vIFVtbW0uLi4gIFRoaXMgbWF5IGJlIGEgd29ya3F1ZXVlCiAKIAlpZiAoZmlsZSkgewogCQlv cGVuX2ZpbGUgPSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJCXJyZXEtPm5ldGZzX3ByaXYgPSBmaWxl LT5wcml2YXRlX2RhdGE7CiAJCXJlcS0+Y2ZpbGUgPSBjaWZzRmlsZUluZm9fZ2V0KG9wZW5fZmls ZSk7CiAJCXJlcS0+c2VydmVyID0gY2lmc19waWNrX2NoYW5uZWwodGxpbmtfdGNvbihyZXEtPmNm aWxlLT50bGluayktPnNlcyk7CisJCWlmIChjaWZzX3NiLT5tbnRfY2lmc19mbGFncyAmIENJRlNf TU9VTlRfUldQSURGT1JXQVJEKQorCQkJcmVxLT5waWQgPSByZXEtPmNmaWxlLT5waWQ7CiAJfSBl bHNlIGlmIChycmVxLT5vcmlnaW4gIT0gTkVURlNfV1JJVEVCQUNLKSB7CiAJCVdBUk5fT05fT05D RSgxKTsKIAkJcmV0dXJuIC1FSU87CmRpZmYgLS1naXQgYS9mcy9zbWIvY2xpZW50L3NtYjJwZHUu YyBiL2ZzL3NtYi9jbGllbnQvc21iMnBkdS5jCmluZGV4IGUyMTNjZWNkNTA5NC4uMmFlMmRiYjYy MDJiIDEwMDY0NAotLS0gYS9mcy9zbWIvY2xpZW50L3NtYjJwZHUuYworKysgYi9mcy9zbWIvY2xp ZW50L3NtYjJwZHUuYwpAQCAtNDYyMSw3ICs0NjIxLDcgQEAgc21iMl9hc3luY19yZWFkdihzdHJ1 Y3QgY2lmc19pb19zdWJyZXF1ZXN0ICpyZGF0YSkKIAlpb19wYXJtcy5sZW5ndGggPSByZGF0YS0+ c3VicmVxLmxlbjsKIAlpb19wYXJtcy5wZXJzaXN0ZW50X2ZpZCA9IHJkYXRhLT5yZXEtPmNmaWxl LT5maWQucGVyc2lzdGVudF9maWQ7CiAJaW9fcGFybXMudm9sYXRpbGVfZmlkID0gcmRhdGEtPnJl cS0+Y2ZpbGUtPmZpZC52b2xhdGlsZV9maWQ7Ci0JaW9fcGFybXMucGlkID0gcmRhdGEtPnBpZDsK Kwlpb19wYXJtcy5waWQgPSByZGF0YS0+cmVxLT5waWQ7CiAKIAlyYyA9IHNtYjJfbmV3X3JlYWRf cmVxKAogCQkodm9pZCAqKikgJmJ1ZiwgJnRvdGFsX2xlbiwgJmlvX3Bhcm1zLCByZGF0YSwgMCwg MCk7CkBAIC00ODczLDcgKzQ4NzMsNyBAQCBzbWIyX2FzeW5jX3dyaXRldihzdHJ1Y3QgY2lmc19p b19zdWJyZXF1ZXN0ICp3ZGF0YSkKIAkJLmxlbmd0aCA9IHdkYXRhLT5zdWJyZXEubGVuLAogCQku cGVyc2lzdGVudF9maWQgPSB3ZGF0YS0+cmVxLT5jZmlsZS0+ZmlkLnBlcnNpc3RlbnRfZmlkLAog CQkudm9sYXRpbGVfZmlkID0gd2RhdGEtPnJlcS0+Y2ZpbGUtPmZpZC52b2xhdGlsZV9maWQsCi0J CS5waWQgPSB3ZGF0YS0+cGlkLAorCQkucGlkID0gd2RhdGEtPnJlcS0+cGlkLAogCX07CiAJaW9f cGFybXMgPSAmX2lvX3Bhcm1zOwogCi0tIAoyLjQzLjAKCg== --0000000000004305c8061b582e10--