From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Chuck Lever <chuck.lever@oracle.com>,
linux-nfs@vger.kernel.org
Cc: lkp@intel.com, kbuild-all@lists.01.org
Subject: Re: [PATCH v1] SUNRPC: Augment server-side rpcgss tracepoints
Date: Tue, 23 Jun 2020 12:26:56 +0300 [thread overview]
Message-ID: <20200623092656.GH4151@kadam> (raw)
In-Reply-To: <20200622205733.2121.66315.stgit@klimt.1015granger.net>
[-- Attachment #1: Type: text/plain, Size: 13596 bytes --]
Hi Chuck,
url: https://github.com/0day-ci/linux/commits/Chuck-Lever/SUNRPC-Augment-server-side-rpcgss-tracepoints/20200623-050035
base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next
config: x86_64-randconfig-m001-20200622 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
net/sunrpc/auth_gss/svcauth_gss.c:1669 svcauth_gss_accept() error: uninitialized symbol 'gc'.
Old smatch warnings:
net/sunrpc/auth_gss/svcauth_gss.c:782 gss_write_verf() warn: returning -1 instead of -ENOMEM is sloppy
# https://github.com/0day-ci/linux/commit/af0f25db1397607ba75ceb1ce13c2b1419d2b156
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout af0f25db1397607ba75ceb1ce13c2b1419d2b156
vim +/gc +1669 net/sunrpc/auth_gss/svcauth_gss.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 1521 static int
d8ed029d6000ba Alexey Dobriyan 2006-09-26 1522 svcauth_gss_accept(struct svc_rqst *rqstp, __be32 *authp)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1523 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1524 struct kvec *argv = &rqstp->rq_arg.head[0];
^1da177e4c3f41 Linus Torvalds 2005-04-16 1525 struct kvec *resv = &rqstp->rq_res.head[0];
^1da177e4c3f41 Linus Torvalds 2005-04-16 1526 u32 crlen;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1527 struct gss_svc_data *svcdata = rqstp->rq_auth_data;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1528 struct rpc_gss_wire_cred *gc;
^^
^1da177e4c3f41 Linus Torvalds 2005-04-16 1529 struct rsc *rsci = NULL;
d8ed029d6000ba Alexey Dobriyan 2006-09-26 1530 __be32 *rpcstart;
d8ed029d6000ba Alexey Dobriyan 2006-09-26 1531 __be32 *reject_stat = resv->iov_base + resv->iov_len;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1532 int ret;
b8be5674fa9a6f Vasily Averin 2018-12-24 1533 struct sunrpc_net *sn = net_generic(SVC_NET(rqstp), sunrpc_net_id);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1534
^1da177e4c3f41 Linus Torvalds 2005-04-16 1535 *authp = rpc_autherr_badcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1536 if (!svcdata)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1537 svcdata = kmalloc(sizeof(*svcdata), GFP_KERNEL);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1538 if (!svcdata)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1539 goto auth_err;
^^^^^^^^^^^^^
^1da177e4c3f41 Linus Torvalds 2005-04-16 1540 rqstp->rq_auth_data = svcdata;
5b304bc5bfccc8 J.Bruce Fields 2006-10-04 1541 svcdata->verf_start = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1542 svcdata->rsci = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1543 gc = &svcdata->clcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1544
^1da177e4c3f41 Linus Torvalds 2005-04-16 1545 /* start of rpc packet is 7 u32's back from here:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1546 * xid direction rpcversion prog vers proc flavour
^1da177e4c3f41 Linus Torvalds 2005-04-16 1547 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1548 rpcstart = argv->iov_base;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1549 rpcstart -= 7;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1550
^1da177e4c3f41 Linus Torvalds 2005-04-16 1551 /* credential is:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1552 * version(==1), proc(0,1,2,3), seq, service (1,2,3), handle
25985edcedea63 Lucas De Marchi 2011-03-30 1553 * at least 5 u32s, and is preceded by length, so that makes 6.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1554 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1555
^1da177e4c3f41 Linus Torvalds 2005-04-16 1556 if (argv->iov_len < 5 * 4)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1557 goto auth_err;
7699431301b189 Alexey Dobriyan 2006-09-26 1558 crlen = svc_getnl(argv);
7699431301b189 Alexey Dobriyan 2006-09-26 1559 if (svc_getnl(argv) != RPC_GSS_VERSION)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1560 goto auth_err;
7699431301b189 Alexey Dobriyan 2006-09-26 1561 gc->gc_proc = svc_getnl(argv);
7699431301b189 Alexey Dobriyan 2006-09-26 1562 gc->gc_seq = svc_getnl(argv);
7699431301b189 Alexey Dobriyan 2006-09-26 1563 gc->gc_svc = svc_getnl(argv);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1564 if (svc_safe_getnetobj(argv, &gc->gc_ctx))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1565 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1566 if (crlen != round_up_to_quad(gc->gc_ctx.len) + 5 * 4)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1567 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1568
^1da177e4c3f41 Linus Torvalds 2005-04-16 1569 if ((gc->gc_proc != RPC_GSS_PROC_DATA) && (rqstp->rq_proc != 0))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1570 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1571
^1da177e4c3f41 Linus Torvalds 2005-04-16 1572 *authp = rpc_autherr_badverf;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1573 switch (gc->gc_proc) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1574 case RPC_GSS_PROC_INIT:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1575 case RPC_GSS_PROC_CONTINUE_INIT:
030d794bf49855 Simo Sorce 2012-05-25 1576 if (use_gss_proxy(SVC_NET(rqstp)))
030d794bf49855 Simo Sorce 2012-05-25 1577 return svcauth_gss_proxy_init(rqstp, gc, authp);
030d794bf49855 Simo Sorce 2012-05-25 1578 else
030d794bf49855 Simo Sorce 2012-05-25 1579 return svcauth_gss_legacy_init(rqstp, gc, authp);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1580 case RPC_GSS_PROC_DATA:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1581 case RPC_GSS_PROC_DESTROY:
21fcd02be34f73 J. Bruce Fields 2007-08-09 1582 /* Look up the context, and check the verifier: */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1583 *authp = rpcsec_gsserr_credproblem;
a1db410d0bbadc Stanislav Kinsbursky 2012-01-19 1584 rsci = gss_svc_searchbyctx(sn->rsc_cache, &gc->gc_ctx);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1585 if (!rsci)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1586 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1587 switch (gss_verify_header(rqstp, rsci, rpcstart, gc, authp)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1588 case SVC_OK:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1589 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1590 case SVC_DENIED:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1591 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1592 case SVC_DROP:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1593 goto drop;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1594 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1595 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1596 default:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1597 *authp = rpc_autherr_rejectedcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1598 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1599 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1600
^1da177e4c3f41 Linus Torvalds 2005-04-16 1601 /* now act upon the command: */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1602 switch (gc->gc_proc) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1603 case RPC_GSS_PROC_DESTROY:
c5e434c98b49f4 Wei Yongjun 2007-05-09 1604 if (gss_write_verf(rqstp, rsci->mechctx, gc->gc_seq))
c5e434c98b49f4 Wei Yongjun 2007-05-09 1605 goto auth_err;
2b477c00f3bd87 Neil Brown 2016-12-22 1606 /* Delete the entry from the cache_list and call cache_put */
2b477c00f3bd87 Neil Brown 2016-12-22 1607 sunrpc_cache_unhash(sn->rsc_cache, &rsci->h);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1608 if (resv->iov_len + 4 > PAGE_SIZE)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1609 goto drop;
7699431301b189 Alexey Dobriyan 2006-09-26 1610 svc_putnl(resv, RPC_SUCCESS);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1611 goto complete;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1612 case RPC_GSS_PROC_DATA:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1613 *authp = rpcsec_gsserr_ctxproblem;
5b304bc5bfccc8 J.Bruce Fields 2006-10-04 1614 svcdata->verf_start = resv->iov_base + resv->iov_len;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1615 if (gss_write_verf(rqstp, rsci->mechctx, gc->gc_seq))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1616 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1617 rqstp->rq_cred = rsci->cred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1618 get_group_info(rsci->cred.cr_group_info);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1619 *authp = rpc_autherr_badcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1620 switch (gc->gc_svc) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1621 case RPC_GSS_SVC_NONE:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1622 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1623 case RPC_GSS_SVC_INTEGRITY:
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1624 /* placeholders for length and seq. number: */
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1625 svc_putnl(resv, 0);
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1626 svc_putnl(resv, 0);
4c190e2f913f03 Jeff Layton 2013-02-06 1627 if (unwrap_integ_data(rqstp, &rqstp->rq_arg,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1628 gc->gc_seq, rsci->mechctx))
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1629 goto garbage_args;
a5cddc885b9945 J. Bruce Fields 2014-05-12 1630 rqstp->rq_auth_slack = RPC_MAX_AUTH_SIZE;
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1631 break;
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1632 case RPC_GSS_SVC_PRIVACY:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1633 /* placeholders for length and seq. number: */
7699431301b189 Alexey Dobriyan 2006-09-26 1634 svc_putnl(resv, 0);
7699431301b189 Alexey Dobriyan 2006-09-26 1635 svc_putnl(resv, 0);
7c9fdcfb1b64c4 J. Bruce Fields 2006-06-30 1636 if (unwrap_priv_data(rqstp, &rqstp->rq_arg,
7c9fdcfb1b64c4 J. Bruce Fields 2006-06-30 1637 gc->gc_seq, rsci->mechctx))
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1638 goto garbage_args;
a5cddc885b9945 J. Bruce Fields 2014-05-12 1639 rqstp->rq_auth_slack = RPC_MAX_AUTH_SIZE * 2;
7c9fdcfb1b64c4 J. Bruce Fields 2006-06-30 1640 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1641 default:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1642 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1643 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1644 svcdata->rsci = rsci;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1645 cache_get(&rsci->h);
d5497fc693a446 J. Bruce Fields 2012-05-14 1646 rqstp->rq_cred.cr_flavor = gss_svc_to_pseudoflavor(
83523d083a045a Chuck Lever 2013-03-16 1647 rsci->mechctx->mech_type,
83523d083a045a Chuck Lever 2013-03-16 1648 GSS_C_QOP_DEFAULT,
83523d083a045a Chuck Lever 2013-03-16 1649 gc->gc_svc);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1650 ret = SVC_OK;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1651 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1652 }
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1653 garbage_args:
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1654 ret = SVC_GARBAGE;
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1655 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1656 auth_err:
21fcd02be34f73 J. Bruce Fields 2007-08-09 1657 /* Restore write pointer to its original value: */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1658 xdr_ressize_check(rqstp, reject_stat);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1659 ret = SVC_DENIED;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1660 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1661 complete:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1662 ret = SVC_COMPLETE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1663 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1664 drop:
4d712ef1db05c3 Chuck Lever 2016-11-29 1665 ret = SVC_CLOSE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1666 out:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1667 if (rsci)
a1db410d0bbadc Stanislav Kinsbursky 2012-01-19 1668 cache_put(&rsci->h, sn->rsc_cache);
af0f25db139760 Chuck Lever 2020-06-22 @1669 trace_rpcgss_svc_authenticate(rqstp, gc);
^^
Uninitialized.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1670 return ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1671 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30655 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH v1] SUNRPC: Augment server-side rpcgss tracepoints
Date: Tue, 23 Jun 2020 12:26:56 +0300 [thread overview]
Message-ID: <20200623092656.GH4151@kadam> (raw)
In-Reply-To: <20200622205733.2121.66315.stgit@klimt.1015granger.net>
[-- Attachment #1: Type: text/plain, Size: 13783 bytes --]
Hi Chuck,
url: https://github.com/0day-ci/linux/commits/Chuck-Lever/SUNRPC-Augment-server-side-rpcgss-tracepoints/20200623-050035
base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next
config: x86_64-randconfig-m001-20200622 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
net/sunrpc/auth_gss/svcauth_gss.c:1669 svcauth_gss_accept() error: uninitialized symbol 'gc'.
Old smatch warnings:
net/sunrpc/auth_gss/svcauth_gss.c:782 gss_write_verf() warn: returning -1 instead of -ENOMEM is sloppy
# https://github.com/0day-ci/linux/commit/af0f25db1397607ba75ceb1ce13c2b1419d2b156
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout af0f25db1397607ba75ceb1ce13c2b1419d2b156
vim +/gc +1669 net/sunrpc/auth_gss/svcauth_gss.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 1521 static int
d8ed029d6000ba Alexey Dobriyan 2006-09-26 1522 svcauth_gss_accept(struct svc_rqst *rqstp, __be32 *authp)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1523 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1524 struct kvec *argv = &rqstp->rq_arg.head[0];
^1da177e4c3f41 Linus Torvalds 2005-04-16 1525 struct kvec *resv = &rqstp->rq_res.head[0];
^1da177e4c3f41 Linus Torvalds 2005-04-16 1526 u32 crlen;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1527 struct gss_svc_data *svcdata = rqstp->rq_auth_data;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1528 struct rpc_gss_wire_cred *gc;
^^
^1da177e4c3f41 Linus Torvalds 2005-04-16 1529 struct rsc *rsci = NULL;
d8ed029d6000ba Alexey Dobriyan 2006-09-26 1530 __be32 *rpcstart;
d8ed029d6000ba Alexey Dobriyan 2006-09-26 1531 __be32 *reject_stat = resv->iov_base + resv->iov_len;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1532 int ret;
b8be5674fa9a6f Vasily Averin 2018-12-24 1533 struct sunrpc_net *sn = net_generic(SVC_NET(rqstp), sunrpc_net_id);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1534
^1da177e4c3f41 Linus Torvalds 2005-04-16 1535 *authp = rpc_autherr_badcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1536 if (!svcdata)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1537 svcdata = kmalloc(sizeof(*svcdata), GFP_KERNEL);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1538 if (!svcdata)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1539 goto auth_err;
^^^^^^^^^^^^^
^1da177e4c3f41 Linus Torvalds 2005-04-16 1540 rqstp->rq_auth_data = svcdata;
5b304bc5bfccc8 J.Bruce Fields 2006-10-04 1541 svcdata->verf_start = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1542 svcdata->rsci = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1543 gc = &svcdata->clcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1544
^1da177e4c3f41 Linus Torvalds 2005-04-16 1545 /* start of rpc packet is 7 u32's back from here:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1546 * xid direction rpcversion prog vers proc flavour
^1da177e4c3f41 Linus Torvalds 2005-04-16 1547 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1548 rpcstart = argv->iov_base;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1549 rpcstart -= 7;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1550
^1da177e4c3f41 Linus Torvalds 2005-04-16 1551 /* credential is:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1552 * version(==1), proc(0,1,2,3), seq, service (1,2,3), handle
25985edcedea63 Lucas De Marchi 2011-03-30 1553 * at least 5 u32s, and is preceded by length, so that makes 6.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1554 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1555
^1da177e4c3f41 Linus Torvalds 2005-04-16 1556 if (argv->iov_len < 5 * 4)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1557 goto auth_err;
7699431301b189 Alexey Dobriyan 2006-09-26 1558 crlen = svc_getnl(argv);
7699431301b189 Alexey Dobriyan 2006-09-26 1559 if (svc_getnl(argv) != RPC_GSS_VERSION)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1560 goto auth_err;
7699431301b189 Alexey Dobriyan 2006-09-26 1561 gc->gc_proc = svc_getnl(argv);
7699431301b189 Alexey Dobriyan 2006-09-26 1562 gc->gc_seq = svc_getnl(argv);
7699431301b189 Alexey Dobriyan 2006-09-26 1563 gc->gc_svc = svc_getnl(argv);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1564 if (svc_safe_getnetobj(argv, &gc->gc_ctx))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1565 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1566 if (crlen != round_up_to_quad(gc->gc_ctx.len) + 5 * 4)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1567 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1568
^1da177e4c3f41 Linus Torvalds 2005-04-16 1569 if ((gc->gc_proc != RPC_GSS_PROC_DATA) && (rqstp->rq_proc != 0))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1570 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1571
^1da177e4c3f41 Linus Torvalds 2005-04-16 1572 *authp = rpc_autherr_badverf;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1573 switch (gc->gc_proc) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1574 case RPC_GSS_PROC_INIT:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1575 case RPC_GSS_PROC_CONTINUE_INIT:
030d794bf49855 Simo Sorce 2012-05-25 1576 if (use_gss_proxy(SVC_NET(rqstp)))
030d794bf49855 Simo Sorce 2012-05-25 1577 return svcauth_gss_proxy_init(rqstp, gc, authp);
030d794bf49855 Simo Sorce 2012-05-25 1578 else
030d794bf49855 Simo Sorce 2012-05-25 1579 return svcauth_gss_legacy_init(rqstp, gc, authp);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1580 case RPC_GSS_PROC_DATA:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1581 case RPC_GSS_PROC_DESTROY:
21fcd02be34f73 J. Bruce Fields 2007-08-09 1582 /* Look up the context, and check the verifier: */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1583 *authp = rpcsec_gsserr_credproblem;
a1db410d0bbadc Stanislav Kinsbursky 2012-01-19 1584 rsci = gss_svc_searchbyctx(sn->rsc_cache, &gc->gc_ctx);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1585 if (!rsci)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1586 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1587 switch (gss_verify_header(rqstp, rsci, rpcstart, gc, authp)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1588 case SVC_OK:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1589 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1590 case SVC_DENIED:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1591 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1592 case SVC_DROP:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1593 goto drop;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1594 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1595 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1596 default:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1597 *authp = rpc_autherr_rejectedcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1598 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1599 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1600
^1da177e4c3f41 Linus Torvalds 2005-04-16 1601 /* now act upon the command: */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1602 switch (gc->gc_proc) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1603 case RPC_GSS_PROC_DESTROY:
c5e434c98b49f4 Wei Yongjun 2007-05-09 1604 if (gss_write_verf(rqstp, rsci->mechctx, gc->gc_seq))
c5e434c98b49f4 Wei Yongjun 2007-05-09 1605 goto auth_err;
2b477c00f3bd87 Neil Brown 2016-12-22 1606 /* Delete the entry from the cache_list and call cache_put */
2b477c00f3bd87 Neil Brown 2016-12-22 1607 sunrpc_cache_unhash(sn->rsc_cache, &rsci->h);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1608 if (resv->iov_len + 4 > PAGE_SIZE)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1609 goto drop;
7699431301b189 Alexey Dobriyan 2006-09-26 1610 svc_putnl(resv, RPC_SUCCESS);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1611 goto complete;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1612 case RPC_GSS_PROC_DATA:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1613 *authp = rpcsec_gsserr_ctxproblem;
5b304bc5bfccc8 J.Bruce Fields 2006-10-04 1614 svcdata->verf_start = resv->iov_base + resv->iov_len;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1615 if (gss_write_verf(rqstp, rsci->mechctx, gc->gc_seq))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1616 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1617 rqstp->rq_cred = rsci->cred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1618 get_group_info(rsci->cred.cr_group_info);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1619 *authp = rpc_autherr_badcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1620 switch (gc->gc_svc) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1621 case RPC_GSS_SVC_NONE:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1622 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1623 case RPC_GSS_SVC_INTEGRITY:
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1624 /* placeholders for length and seq. number: */
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1625 svc_putnl(resv, 0);
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1626 svc_putnl(resv, 0);
4c190e2f913f03 Jeff Layton 2013-02-06 1627 if (unwrap_integ_data(rqstp, &rqstp->rq_arg,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1628 gc->gc_seq, rsci->mechctx))
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1629 goto garbage_args;
a5cddc885b9945 J. Bruce Fields 2014-05-12 1630 rqstp->rq_auth_slack = RPC_MAX_AUTH_SIZE;
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1631 break;
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1632 case RPC_GSS_SVC_PRIVACY:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1633 /* placeholders for length and seq. number: */
7699431301b189 Alexey Dobriyan 2006-09-26 1634 svc_putnl(resv, 0);
7699431301b189 Alexey Dobriyan 2006-09-26 1635 svc_putnl(resv, 0);
7c9fdcfb1b64c4 J. Bruce Fields 2006-06-30 1636 if (unwrap_priv_data(rqstp, &rqstp->rq_arg,
7c9fdcfb1b64c4 J. Bruce Fields 2006-06-30 1637 gc->gc_seq, rsci->mechctx))
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1638 goto garbage_args;
a5cddc885b9945 J. Bruce Fields 2014-05-12 1639 rqstp->rq_auth_slack = RPC_MAX_AUTH_SIZE * 2;
7c9fdcfb1b64c4 J. Bruce Fields 2006-06-30 1640 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1641 default:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1642 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1643 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1644 svcdata->rsci = rsci;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1645 cache_get(&rsci->h);
d5497fc693a446 J. Bruce Fields 2012-05-14 1646 rqstp->rq_cred.cr_flavor = gss_svc_to_pseudoflavor(
83523d083a045a Chuck Lever 2013-03-16 1647 rsci->mechctx->mech_type,
83523d083a045a Chuck Lever 2013-03-16 1648 GSS_C_QOP_DEFAULT,
83523d083a045a Chuck Lever 2013-03-16 1649 gc->gc_svc);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1650 ret = SVC_OK;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1651 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1652 }
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1653 garbage_args:
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1654 ret = SVC_GARBAGE;
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1655 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1656 auth_err:
21fcd02be34f73 J. Bruce Fields 2007-08-09 1657 /* Restore write pointer to its original value: */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1658 xdr_ressize_check(rqstp, reject_stat);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1659 ret = SVC_DENIED;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1660 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1661 complete:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1662 ret = SVC_COMPLETE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1663 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1664 drop:
4d712ef1db05c3 Chuck Lever 2016-11-29 1665 ret = SVC_CLOSE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1666 out:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1667 if (rsci)
a1db410d0bbadc Stanislav Kinsbursky 2012-01-19 1668 cache_put(&rsci->h, sn->rsc_cache);
af0f25db139760 Chuck Lever 2020-06-22 @1669 trace_rpcgss_svc_authenticate(rqstp, gc);
^^
Uninitialized.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1670 return ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1671 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30655 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v1] SUNRPC: Augment server-side rpcgss tracepoints
Date: Tue, 23 Jun 2020 12:26:56 +0300 [thread overview]
Message-ID: <20200623092656.GH4151@kadam> (raw)
In-Reply-To: <20200622205733.2121.66315.stgit@klimt.1015granger.net>
[-- Attachment #1: Type: text/plain, Size: 13783 bytes --]
Hi Chuck,
url: https://github.com/0day-ci/linux/commits/Chuck-Lever/SUNRPC-Augment-server-side-rpcgss-tracepoints/20200623-050035
base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next
config: x86_64-randconfig-m001-20200622 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
net/sunrpc/auth_gss/svcauth_gss.c:1669 svcauth_gss_accept() error: uninitialized symbol 'gc'.
Old smatch warnings:
net/sunrpc/auth_gss/svcauth_gss.c:782 gss_write_verf() warn: returning -1 instead of -ENOMEM is sloppy
# https://github.com/0day-ci/linux/commit/af0f25db1397607ba75ceb1ce13c2b1419d2b156
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout af0f25db1397607ba75ceb1ce13c2b1419d2b156
vim +/gc +1669 net/sunrpc/auth_gss/svcauth_gss.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 1521 static int
d8ed029d6000ba Alexey Dobriyan 2006-09-26 1522 svcauth_gss_accept(struct svc_rqst *rqstp, __be32 *authp)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1523 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1524 struct kvec *argv = &rqstp->rq_arg.head[0];
^1da177e4c3f41 Linus Torvalds 2005-04-16 1525 struct kvec *resv = &rqstp->rq_res.head[0];
^1da177e4c3f41 Linus Torvalds 2005-04-16 1526 u32 crlen;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1527 struct gss_svc_data *svcdata = rqstp->rq_auth_data;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1528 struct rpc_gss_wire_cred *gc;
^^
^1da177e4c3f41 Linus Torvalds 2005-04-16 1529 struct rsc *rsci = NULL;
d8ed029d6000ba Alexey Dobriyan 2006-09-26 1530 __be32 *rpcstart;
d8ed029d6000ba Alexey Dobriyan 2006-09-26 1531 __be32 *reject_stat = resv->iov_base + resv->iov_len;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1532 int ret;
b8be5674fa9a6f Vasily Averin 2018-12-24 1533 struct sunrpc_net *sn = net_generic(SVC_NET(rqstp), sunrpc_net_id);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1534
^1da177e4c3f41 Linus Torvalds 2005-04-16 1535 *authp = rpc_autherr_badcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1536 if (!svcdata)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1537 svcdata = kmalloc(sizeof(*svcdata), GFP_KERNEL);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1538 if (!svcdata)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1539 goto auth_err;
^^^^^^^^^^^^^
^1da177e4c3f41 Linus Torvalds 2005-04-16 1540 rqstp->rq_auth_data = svcdata;
5b304bc5bfccc8 J.Bruce Fields 2006-10-04 1541 svcdata->verf_start = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1542 svcdata->rsci = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1543 gc = &svcdata->clcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1544
^1da177e4c3f41 Linus Torvalds 2005-04-16 1545 /* start of rpc packet is 7 u32's back from here:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1546 * xid direction rpcversion prog vers proc flavour
^1da177e4c3f41 Linus Torvalds 2005-04-16 1547 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1548 rpcstart = argv->iov_base;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1549 rpcstart -= 7;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1550
^1da177e4c3f41 Linus Torvalds 2005-04-16 1551 /* credential is:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1552 * version(==1), proc(0,1,2,3), seq, service (1,2,3), handle
25985edcedea63 Lucas De Marchi 2011-03-30 1553 * at least 5 u32s, and is preceded by length, so that makes 6.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1554 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1555
^1da177e4c3f41 Linus Torvalds 2005-04-16 1556 if (argv->iov_len < 5 * 4)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1557 goto auth_err;
7699431301b189 Alexey Dobriyan 2006-09-26 1558 crlen = svc_getnl(argv);
7699431301b189 Alexey Dobriyan 2006-09-26 1559 if (svc_getnl(argv) != RPC_GSS_VERSION)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1560 goto auth_err;
7699431301b189 Alexey Dobriyan 2006-09-26 1561 gc->gc_proc = svc_getnl(argv);
7699431301b189 Alexey Dobriyan 2006-09-26 1562 gc->gc_seq = svc_getnl(argv);
7699431301b189 Alexey Dobriyan 2006-09-26 1563 gc->gc_svc = svc_getnl(argv);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1564 if (svc_safe_getnetobj(argv, &gc->gc_ctx))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1565 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1566 if (crlen != round_up_to_quad(gc->gc_ctx.len) + 5 * 4)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1567 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1568
^1da177e4c3f41 Linus Torvalds 2005-04-16 1569 if ((gc->gc_proc != RPC_GSS_PROC_DATA) && (rqstp->rq_proc != 0))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1570 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1571
^1da177e4c3f41 Linus Torvalds 2005-04-16 1572 *authp = rpc_autherr_badverf;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1573 switch (gc->gc_proc) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1574 case RPC_GSS_PROC_INIT:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1575 case RPC_GSS_PROC_CONTINUE_INIT:
030d794bf49855 Simo Sorce 2012-05-25 1576 if (use_gss_proxy(SVC_NET(rqstp)))
030d794bf49855 Simo Sorce 2012-05-25 1577 return svcauth_gss_proxy_init(rqstp, gc, authp);
030d794bf49855 Simo Sorce 2012-05-25 1578 else
030d794bf49855 Simo Sorce 2012-05-25 1579 return svcauth_gss_legacy_init(rqstp, gc, authp);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1580 case RPC_GSS_PROC_DATA:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1581 case RPC_GSS_PROC_DESTROY:
21fcd02be34f73 J. Bruce Fields 2007-08-09 1582 /* Look up the context, and check the verifier: */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1583 *authp = rpcsec_gsserr_credproblem;
a1db410d0bbadc Stanislav Kinsbursky 2012-01-19 1584 rsci = gss_svc_searchbyctx(sn->rsc_cache, &gc->gc_ctx);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1585 if (!rsci)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1586 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1587 switch (gss_verify_header(rqstp, rsci, rpcstart, gc, authp)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1588 case SVC_OK:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1589 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1590 case SVC_DENIED:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1591 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1592 case SVC_DROP:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1593 goto drop;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1594 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1595 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1596 default:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1597 *authp = rpc_autherr_rejectedcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1598 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1599 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1600
^1da177e4c3f41 Linus Torvalds 2005-04-16 1601 /* now act upon the command: */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1602 switch (gc->gc_proc) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1603 case RPC_GSS_PROC_DESTROY:
c5e434c98b49f4 Wei Yongjun 2007-05-09 1604 if (gss_write_verf(rqstp, rsci->mechctx, gc->gc_seq))
c5e434c98b49f4 Wei Yongjun 2007-05-09 1605 goto auth_err;
2b477c00f3bd87 Neil Brown 2016-12-22 1606 /* Delete the entry from the cache_list and call cache_put */
2b477c00f3bd87 Neil Brown 2016-12-22 1607 sunrpc_cache_unhash(sn->rsc_cache, &rsci->h);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1608 if (resv->iov_len + 4 > PAGE_SIZE)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1609 goto drop;
7699431301b189 Alexey Dobriyan 2006-09-26 1610 svc_putnl(resv, RPC_SUCCESS);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1611 goto complete;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1612 case RPC_GSS_PROC_DATA:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1613 *authp = rpcsec_gsserr_ctxproblem;
5b304bc5bfccc8 J.Bruce Fields 2006-10-04 1614 svcdata->verf_start = resv->iov_base + resv->iov_len;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1615 if (gss_write_verf(rqstp, rsci->mechctx, gc->gc_seq))
^1da177e4c3f41 Linus Torvalds 2005-04-16 1616 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1617 rqstp->rq_cred = rsci->cred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1618 get_group_info(rsci->cred.cr_group_info);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1619 *authp = rpc_autherr_badcred;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1620 switch (gc->gc_svc) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1621 case RPC_GSS_SVC_NONE:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1622 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1623 case RPC_GSS_SVC_INTEGRITY:
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1624 /* placeholders for length and seq. number: */
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1625 svc_putnl(resv, 0);
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1626 svc_putnl(resv, 0);
4c190e2f913f03 Jeff Layton 2013-02-06 1627 if (unwrap_integ_data(rqstp, &rqstp->rq_arg,
^1da177e4c3f41 Linus Torvalds 2005-04-16 1628 gc->gc_seq, rsci->mechctx))
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1629 goto garbage_args;
a5cddc885b9945 J. Bruce Fields 2014-05-12 1630 rqstp->rq_auth_slack = RPC_MAX_AUTH_SIZE;
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1631 break;
b620754bfeb8b0 J. Bruce Fields 2008-07-03 1632 case RPC_GSS_SVC_PRIVACY:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1633 /* placeholders for length and seq. number: */
7699431301b189 Alexey Dobriyan 2006-09-26 1634 svc_putnl(resv, 0);
7699431301b189 Alexey Dobriyan 2006-09-26 1635 svc_putnl(resv, 0);
7c9fdcfb1b64c4 J. Bruce Fields 2006-06-30 1636 if (unwrap_priv_data(rqstp, &rqstp->rq_arg,
7c9fdcfb1b64c4 J. Bruce Fields 2006-06-30 1637 gc->gc_seq, rsci->mechctx))
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1638 goto garbage_args;
a5cddc885b9945 J. Bruce Fields 2014-05-12 1639 rqstp->rq_auth_slack = RPC_MAX_AUTH_SIZE * 2;
7c9fdcfb1b64c4 J. Bruce Fields 2006-06-30 1640 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1641 default:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1642 goto auth_err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1643 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1644 svcdata->rsci = rsci;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1645 cache_get(&rsci->h);
d5497fc693a446 J. Bruce Fields 2012-05-14 1646 rqstp->rq_cred.cr_flavor = gss_svc_to_pseudoflavor(
83523d083a045a Chuck Lever 2013-03-16 1647 rsci->mechctx->mech_type,
83523d083a045a Chuck Lever 2013-03-16 1648 GSS_C_QOP_DEFAULT,
83523d083a045a Chuck Lever 2013-03-16 1649 gc->gc_svc);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1650 ret = SVC_OK;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1651 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1652 }
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1653 garbage_args:
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1654 ret = SVC_GARBAGE;
dd35210e1e2cb4 Harshula Jayasuriya 2008-02-20 1655 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1656 auth_err:
21fcd02be34f73 J. Bruce Fields 2007-08-09 1657 /* Restore write pointer to its original value: */
^1da177e4c3f41 Linus Torvalds 2005-04-16 1658 xdr_ressize_check(rqstp, reject_stat);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1659 ret = SVC_DENIED;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1660 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1661 complete:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1662 ret = SVC_COMPLETE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1663 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1664 drop:
4d712ef1db05c3 Chuck Lever 2016-11-29 1665 ret = SVC_CLOSE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1666 out:
^1da177e4c3f41 Linus Torvalds 2005-04-16 1667 if (rsci)
a1db410d0bbadc Stanislav Kinsbursky 2012-01-19 1668 cache_put(&rsci->h, sn->rsc_cache);
af0f25db139760 Chuck Lever 2020-06-22 @1669 trace_rpcgss_svc_authenticate(rqstp, gc);
^^
Uninitialized.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1670 return ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1671 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30655 bytes --]
next prev parent reply other threads:[~2020-06-23 9:29 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-22 20:57 [PATCH v1] SUNRPC: Augment server-side rpcgss tracepoints Chuck Lever
2020-06-23 9:26 ` Dan Carpenter [this message]
2020-06-23 9:26 ` Dan Carpenter
2020-06-23 9:26 ` Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2020-06-23 0:46 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200623092656.GH4151@kadam \
--to=dan.carpenter@oracle.com \
--cc=chuck.lever@oracle.com \
--cc=kbuild-all@lists.01.org \
--cc=kbuild@lists.01.org \
--cc=linux-nfs@vger.kernel.org \
--cc=lkp@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.