2013-04-18 02:26:29

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH] svcauth_gss: fix error return code in rsc_parse()

From: Wei Yongjun <[email protected]>

Fix to return a negative error code from the error handling
case instead of 0, as returned elsewhere in this function.

Signed-off-by: Wei Yongjun <[email protected]>
---
net/sunrpc/auth_gss/svcauth_gss.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c
index 5ead605..c2156fb 100644
--- a/net/sunrpc/auth_gss/svcauth_gss.c
+++ b/net/sunrpc/auth_gss/svcauth_gss.c
@@ -505,8 +505,10 @@ static int rsc_parse(struct cache_detail *cd,
len = qword_get(&mesg, buf, mlen);
if (len > 0) {
rsci.cred.cr_principal = kstrdup(buf, GFP_KERNEL);
- if (!rsci.cred.cr_principal)
+ if (!rsci.cred.cr_principal) {
+ status = -ENOMEM;
goto out;
+ }
}

}



2013-04-18 03:32:11

by [email protected]

[permalink] [raw]
Subject: RE: [PATCH] svcauth_gss: fix error return code in rsc_parse()

U29ycnksIG15IG1haWwgc2VydmVyIGdvdCBzb21ldGhpbmcgd3JvbmcsIHRob3NlIG1haWwgd2l0
aCB0aXRsZQ0KJ1tQQVRDSF0gc3ZjYXV0aF9nc3M6IGZpeCBlcnJvciByZXR1cm4gY29kZSBpbiBy
c2NfcGFyc2UoKScgYXJlIGFsbCB0aGUgc2FtZSwganVzdA0KZHVwIHNlbnQgYnkgdGhlIG1haWwg
c2VydmVyLg0KDQpSZWdhcmRzLA0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTog
V2VpIFlvbmdqdW4gW21haWx0bzp3ZWl5ai5sa0BnbWFpbC5jb21dIA0KU2VudDogMjAxM8TqNNTC
MTjI1SAxMDo0OQ0KVG86IGJmaWVsZHNAZmllbGRzZXMub3JnOyBUcm9uZC5NeWtsZWJ1c3RAbmV0
YXBwLmNvbTsgZWJpZWRlcm1AeG1pc3Npb24uY29tOyBza2luc2J1cnNreUBwYXJhbGxlbHMuY29t
OyBqbGF5dG9uQHJlZGhhdC5jb207IHNpbW9AcmVkaGF0LmNvbQ0KQ2M6IFlvbmdqdW4gV2VpIChS
RC1DTik7IGxpbnV4LW5mc0B2Z2VyLmtlcm5lbC5vcmcNClN1YmplY3Q6IFtQQVRDSF0gc3ZjYXV0
aF9nc3M6IGZpeCBlcnJvciByZXR1cm4gY29kZSBpbiByc2NfcGFyc2UoKQ0KDQpGcm9tOiBXZWkg
WW9uZ2p1biA8eW9uZ2p1bl93ZWlAdHJlbmRtaWNyby5jb20uY24+DQoNCkZpeCB0byByZXR1cm4g
YSBuZWdhdGl2ZSBlcnJvciBjb2RlIGZyb20gdGhlIGVycm9yIGhhbmRsaW5nIGNhc2UgaW5zdGVh
ZCBvZiAwLCBhcyByZXR1cm5lZCBlbHNld2hlcmUgaW4gdGhpcyBmdW5jdGlvbi4NCg0KU2lnbmVk
LW9mZi1ieTogV2VpIFlvbmdqdW4gPHlvbmdqdW5fd2VpQHRyZW5kbWljcm8uY29tLmNuPg0KLS0t
DQogbmV0L3N1bnJwYy9hdXRoX2dzcy9zdmNhdXRoX2dzcy5jIHwgNCArKystDQogMSBmaWxlIGNo
YW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KDQpkaWZmIC0tZ2l0IGEvbmV0
L3N1bnJwYy9hdXRoX2dzcy9zdmNhdXRoX2dzcy5jIGIvbmV0L3N1bnJwYy9hdXRoX2dzcy9zdmNh
dXRoX2dzcy5jDQppbmRleCA1ZWFkNjA1Li5jMjE1NmZiIDEwMDY0NA0KLS0tIGEvbmV0L3N1bnJw
Yy9hdXRoX2dzcy9zdmNhdXRoX2dzcy5jDQorKysgYi9uZXQvc3VucnBjL2F1dGhfZ3NzL3N2Y2F1
dGhfZ3NzLmMNCkBAIC01MDUsOCArNTA1LDEwIEBAIHN0YXRpYyBpbnQgcnNjX3BhcnNlKHN0cnVj
dCBjYWNoZV9kZXRhaWwgKmNkLA0KIAkJbGVuID0gcXdvcmRfZ2V0KCZtZXNnLCBidWYsIG1sZW4p
Ow0KIAkJaWYgKGxlbiA+IDApIHsNCiAJCQlyc2NpLmNyZWQuY3JfcHJpbmNpcGFsID0ga3N0cmR1
cChidWYsIEdGUF9LRVJORUwpOw0KLQkJCWlmICghcnNjaS5jcmVkLmNyX3ByaW5jaXBhbCkNCisJ
CQlpZiAoIXJzY2kuY3JlZC5jcl9wcmluY2lwYWwpIHsNCisJCQkJc3RhdHVzID0gLUVOT01FTTsN
CiAJCQkJZ290byBvdXQ7DQorCQkJfQ0KIAkJfQ0KIA0KIAl9DQoNCg0KPHRhYmxlIGNsYXNzPSJU
TV9FTUFJTF9OT1RJQ0UiPjx0cj48dGQ+PHByZT4NClRSRU5EIE1JQ1JPIEVNQUlMIE5PVElDRQ0K
VGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBpbiB0aGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNobWVu
dHMgaXMgY29uZmlkZW50aWFsIA0KYW5kIG1heSBiZSBzdWJqZWN0IHRvIGNvcHlyaWdodCBvciBv
dGhlciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcHJvdGVjdGlvbi4gDQpJZiB5b3UgYXJlIG5vdCB0
aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIHVzZSBvciAN
CmRpc2Nsb3NlIHRoaXMgaW5mb3JtYXRpb24sIGFuZCB3ZSByZXF1ZXN0IHRoYXQgeW91IG5vdGlm
eSB1cyBieSByZXBseSBtYWlsIG9yDQp0ZWxlcGhvbmUgYW5kIGRlbGV0ZSB0aGUgb3JpZ2luYWwg
bWVzc2FnZSBmcm9tIHlvdXIgbWFpbCBzeXN0ZW0uDQo8L3ByZT48L3RkPjwvdHI+PC90YWJsZT4=


2013-04-30 22:14:33

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] svcauth_gss: fix error return code in rsc_parse()

Applying, thanks.--b.

On Thu, Apr 18, 2013 at 10:49:09AM +0800, Wei Yongjun wrote:
> From: Wei Yongjun <[email protected]>
>
> Fix to return a negative error code from the error handling
> case instead of 0, as returned elsewhere in this function.
>
> Signed-off-by: Wei Yongjun <[email protected]>
> ---
> net/sunrpc/auth_gss/svcauth_gss.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c
> index 5ead605..c2156fb 100644
> --- a/net/sunrpc/auth_gss/svcauth_gss.c
> +++ b/net/sunrpc/auth_gss/svcauth_gss.c
> @@ -505,8 +505,10 @@ static int rsc_parse(struct cache_detail *cd,
> len = qword_get(&mesg, buf, mlen);
> if (len > 0) {
> rsci.cred.cr_principal = kstrdup(buf, GFP_KERNEL);
> - if (!rsci.cred.cr_principal)
> + if (!rsci.cred.cr_principal) {
> + status = -ENOMEM;
> goto out;
> + }
> }
>
> }
>