linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* re: NFSv4: Fix a regression against the FreeBSD server
@ 2013-07-23 16:06 Dan Carpenter
  2013-07-23 16:12 ` Myklebust, Trond
  0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2013-07-23 16:06 UTC (permalink / raw)
  To: Trond.Myklebust; +Cc: linux-nfs

Hello Trond Myklebust,

This is a semi-automatic email about new static checker warnings.

The patch b4a2cf76ab7c: "NFSv4: Fix a regression against the FreeBSD 
server" from Jul 17, 2013, leads to the following Smatch complaint:

fs/nfs/nfs4xdr.c:1103 encode_attrs()
	 error: we previously assumed 'label' could be null (see line 1059)

fs/nfs/nfs4xdr.c
  1058		}
  1059		if (label) {
                    ^^^^^
New check.

  1060			len += 4 + 4 + 4 + (XDR_QUADLEN(label->len) << 2);
  1061			bmval[2] |= FATTR4_WORD2_SECURITY_LABEL;
  1062		}
  1063	
  1064		if (bmval[2] != 0)
  1065			bmval_len = 3;
  1066		else if (bmval[1] != 0)
  1067			bmval_len = 2;
  1068		else
  1069			bmval_len = 1;
  1070	

[snip]

  1094		if (bmval[1] & FATTR4_WORD1_TIME_MODIFY_SET) {
  1095			if (iap->ia_valid & ATTR_MTIME_SET) {
  1096				*p++ = cpu_to_be32(NFS4_SET_TO_CLIENT_TIME);
  1097				p = xdr_encode_hyper(p, (s64)iap->ia_mtime.tv_sec);
  1098				*p++ = cpu_to_be32(iap->ia_mtime.tv_nsec);
  1099			} else
  1100				*p++ = cpu_to_be32(NFS4_SET_TO_SERVER_TIME);
  1101		}
  1102		if (bmval[2] & FATTR4_WORD2_SECURITY_LABEL) {
  1103			*p++ = cpu_to_be32(label->lfs);
                                           ^^^^^^^^^^
Old dereference.

  1104			*p++ = cpu_to_be32(label->pi);
  1105			*p++ = cpu_to_be32(label->len);

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: NFSv4: Fix a regression against the FreeBSD server
  2013-07-23 16:06 NFSv4: Fix a regression against the FreeBSD server Dan Carpenter
@ 2013-07-23 16:12 ` Myklebust, Trond
  2013-07-23 18:32   ` Dan Carpenter
  0 siblings, 1 reply; 3+ messages in thread
From: Myklebust, Trond @ 2013-07-23 16:12 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: linux-nfs@vger.kernel.org

T24gVHVlLCAyMDEzLTA3LTIzIGF0IDE5OjA2ICswMzAwLCBEYW4gQ2FycGVudGVyIHdyb3RlOg0K
PiBIZWxsbyBUcm9uZCBNeWtsZWJ1c3QsDQo+IA0KPiBUaGlzIGlzIGEgc2VtaS1hdXRvbWF0aWMg
ZW1haWwgYWJvdXQgbmV3IHN0YXRpYyBjaGVja2VyIHdhcm5pbmdzLg0KPiANCj4gVGhlIHBhdGNo
IGI0YTJjZjc2YWI3YzogIk5GU3Y0OiBGaXggYSByZWdyZXNzaW9uIGFnYWluc3QgdGhlIEZyZWVC
U0QgDQo+IHNlcnZlciIgZnJvbSBKdWwgMTcsIDIwMTMsIGxlYWRzIHRvIHRoZSBmb2xsb3dpbmcg
U21hdGNoIGNvbXBsYWludDoNCj4gDQo+IGZzL25mcy9uZnM0eGRyLmM6MTEwMyBlbmNvZGVfYXR0
cnMoKQ0KPiAJIGVycm9yOiB3ZSBwcmV2aW91c2x5IGFzc3VtZWQgJ2xhYmVsJyBjb3VsZCBiZSBu
dWxsIChzZWUgbGluZSAxMDU5KQ0KPiANCj4gZnMvbmZzL25mczR4ZHIuYw0KPiAgIDEwNTgJCX0N
Cj4gICAxMDU5CQlpZiAobGFiZWwpIHsNCj4gICAgICAgICAgICAgICAgICAgICBeXl5eXg0KPiBO
ZXcgY2hlY2suDQo+IA0KPiAgIDEwNjAJCQlsZW4gKz0gNCArIDQgKyA0ICsgKFhEUl9RVUFETEVO
KGxhYmVsLT5sZW4pIDw8IDIpOw0KPiAgIDEwNjEJCQlibXZhbFsyXSB8PSBGQVRUUjRfV09SRDJf
U0VDVVJJVFlfTEFCRUw7DQo+ICAgMTA2MgkJfQ0KPiAgIDEwNjMJDQo+ICAgMTA2NAkJaWYgKGJt
dmFsWzJdICE9IDApDQo+ICAgMTA2NQkJCWJtdmFsX2xlbiA9IDM7DQo+ICAgMTA2NgkJZWxzZSBp
ZiAoYm12YWxbMV0gIT0gMCkNCj4gICAxMDY3CQkJYm12YWxfbGVuID0gMjsNCj4gICAxMDY4CQll
bHNlDQo+ICAgMTA2OQkJCWJtdmFsX2xlbiA9IDE7DQo+ICAgMTA3MAkNCj4gDQo+IFtzbmlwXQ0K
PiANCj4gICAxMDk0CQlpZiAoYm12YWxbMV0gJiBGQVRUUjRfV09SRDFfVElNRV9NT0RJRllfU0VU
KSB7DQo+ICAgMTA5NQkJCWlmIChpYXAtPmlhX3ZhbGlkICYgQVRUUl9NVElNRV9TRVQpIHsNCj4g
ICAxMDk2CQkJCSpwKysgPSBjcHVfdG9fYmUzMihORlM0X1NFVF9UT19DTElFTlRfVElNRSk7DQo+
ICAgMTA5NwkJCQlwID0geGRyX2VuY29kZV9oeXBlcihwLCAoczY0KWlhcC0+aWFfbXRpbWUudHZf
c2VjKTsNCj4gICAxMDk4CQkJCSpwKysgPSBjcHVfdG9fYmUzMihpYXAtPmlhX210aW1lLnR2X25z
ZWMpOw0KPiAgIDEwOTkJCQl9IGVsc2UNCj4gICAxMTAwCQkJCSpwKysgPSBjcHVfdG9fYmUzMihO
RlM0X1NFVF9UT19TRVJWRVJfVElNRSk7DQo+ICAgMTEwMQkJfQ0KPiAgIDExMDIJCWlmIChibXZh
bFsyXSAmIEZBVFRSNF9XT1JEMl9TRUNVUklUWV9MQUJFTCkgew0KPiAgIDExMDMJCQkqcCsrID0g
Y3B1X3RvX2JlMzIobGFiZWwtPmxmcyk7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBeXl5eXl5eXl5eDQo+IE9sZCBkZXJlZmVyZW5jZS4NCj4gDQo+ICAgMTEw
NAkJCSpwKysgPSBjcHVfdG9fYmUzMihsYWJlbC0+cGkpOw0KPiAgIDExMDUJCQkqcCsrID0gY3B1
X3RvX2JlMzIobGFiZWwtPmxlbik7DQoNCkhpIERhbiwNCg0KTWF5YmUgSSBuZWVkIGFub3RoZXIg
Y29mZmVlLCBidXQgcmlnaHQgbm93IEkgZG9uJ3Qgc2VlIHdoYXQgdGhlIHByb2JsZW0NCmlzLiBX
ZSBvbmx5IHNldCBGQVRUUjRfV09SRDJfU0VDVVJJVFlfTEFCRUwgaWYgdGhlIGNoZWNrIHRoYXQg
bGFiZWwgIT0NCk5VTEwgcGFzc2VzLiBXaGF0IGFtIEkgbWlzc2luZz8NCg0KLS0gDQpUcm9uZCBN
eWtsZWJ1c3QNCkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lcg0KDQpOZXRBcHANClRyb25kLk15
a2xlYnVzdEBuZXRhcHAuY29tDQp3d3cubmV0YXBwLmNvbQ0K

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: NFSv4: Fix a regression against the FreeBSD server
  2013-07-23 16:12 ` Myklebust, Trond
@ 2013-07-23 18:32   ` Dan Carpenter
  0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2013-07-23 18:32 UTC (permalink / raw)
  To: Myklebust, Trond; +Cc: linux-nfs@vger.kernel.org

On Tue, Jul 23, 2013 at 04:12:28PM +0000, Myklebust, Trond wrote:
> 
> Hi Dan,
> 
> Maybe I need another coffee, but right now I don't see what the problem
> is. We only set FATTR4_WORD2_SECURITY_LABEL if the check that label !=
> NULL passes. What am I missing?
> 

Ah.  You are right.  Sorry for the noise.  Don't drink the extra
coffee, you're at the correct level now, and drinking more will just
give you jitters.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-07-23 18:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-23 16:06 NFSv4: Fix a regression against the FreeBSD server Dan Carpenter
2013-07-23 16:12 ` Myklebust, Trond
2013-07-23 18:32   ` Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).