diff for duplicates of <1520635631.2907.16.camel@wdc.com> diff --git a/a/1.txt b/N1/1.txt index aa07869..e021d4b 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,20 +1,15 @@ -On Fri, 2018-03-09 at 23:33 +0100, Stephen Kitt wrote: -> +/* -> + * SCSI command sizes are as follows, in bytes, for fixed size commands, per -> + * group: 6, 10, 10, 12, 16, 12, 10, 10. The top three bits of an opcode -> + * determine its group. -> + * The size table is encoded into a 32-bit value by subtracting each value -> + * from 16, resulting in a value of 1715488362 -> + * (6 << 28 + 6 << 24 + 4 << 20 + 0 << 16 + 4 << 12 + 6 << 8 + 6 << 4 + 10). -> + * Command group 3 is reserved and should never be used. -> + */ -> +#define COMMAND_SIZE(opcode) \ -> + (16 - (15 & (1715488362 >> (4 * (((opcode) >> 5) & 7))))) - -To me this seems hard to read and hard to verify. Could this have been written -as a combination of ternary expressions, e.g. using a gcc statement expression -to ensure that opcode is evaluated once? - -Thanks, - -Bart. +T24gRnJpLCAyMDE4LTAzLTA5IGF0IDIzOjMzICswMTAwLCBTdGVwaGVuIEtpdHQgd3JvdGU6DQo+ +ICsvKg0KPiArICogU0NTSSBjb21tYW5kIHNpemVzIGFyZSBhcyBmb2xsb3dzLCBpbiBieXRlcywg +Zm9yIGZpeGVkIHNpemUgY29tbWFuZHMsIHBlcg0KPiArICogZ3JvdXA6IDYsIDEwLCAxMCwgMTIs +IDE2LCAxMiwgMTAsIDEwLiBUaGUgdG9wIHRocmVlIGJpdHMgb2YgYW4gb3Bjb2RlDQo+ICsgKiBk +ZXRlcm1pbmUgaXRzIGdyb3VwLg0KPiArICogVGhlIHNpemUgdGFibGUgaXMgZW5jb2RlZCBpbnRv +IGEgMzItYml0IHZhbHVlIGJ5IHN1YnRyYWN0aW5nIGVhY2ggdmFsdWUNCj4gKyAqIGZyb20gMTYs +IHJlc3VsdGluZyBpbiBhIHZhbHVlIG9mIDE3MTU0ODgzNjINCj4gKyAqICg2IDw8IDI4ICsgNiA8 +PCAyNCArIDQgPDwgMjAgKyAwIDw8IDE2ICsgNCA8PCAxMiArIDYgPDwgOCArIDYgPDwgNCArIDEw +KS4NCj4gKyAqIENvbW1hbmQgZ3JvdXAgMyBpcyByZXNlcnZlZCBhbmQgc2hvdWxkIG5ldmVyIGJl +IHVzZWQuDQo+ICsgKi8NCj4gKyNkZWZpbmUgQ09NTUFORF9TSVpFKG9wY29kZSkgXA0KPiArCSgx +NiAtICgxNSAmICgxNzE1NDg4MzYyID4+ICg0ICogKCgob3Bjb2RlKSA+PiA1KSAmIDcpKSkpKQ0K +DQpUbyBtZSB0aGlzIHNlZW1zIGhhcmQgdG8gcmVhZCBhbmQgaGFyZCB0byB2ZXJpZnkuIENvdWxk +IHRoaXMgaGF2ZSBiZWVuIHdyaXR0ZW4NCmFzIGEgY29tYmluYXRpb24gb2YgdGVybmFyeSBleHBy +ZXNzaW9ucywgZS5nLiB1c2luZyBhIGdjYyBzdGF0ZW1lbnQgZXhwcmVzc2lvbg0KdG8gZW5zdXJl +IHRoYXQgb3Bjb2RlIGlzIGV2YWx1YXRlZCBvbmNlPw0KDQpUaGFua3MsDQoNCkJhcnQuDQoNCg0K diff --git a/a/content_digest b/N1/content_digest index 2fd7fa8..a769f4c 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -14,25 +14,20 @@ " kernel-hardening@lists.openwall.com <kernel-hardening@lists.openwall.com>\0" "\00:1\0" "b\0" - "On Fri, 2018-03-09 at 23:33 +0100, Stephen Kitt wrote:\n" - "> +/*\n" - "> + * SCSI command sizes are as follows, in bytes, for fixed size commands, per\n" - "> + * group: 6, 10, 10, 12, 16, 12, 10, 10. The top three bits of an opcode\n" - "> + * determine its group.\n" - "> + * The size table is encoded into a 32-bit value by subtracting each value\n" - "> + * from 16, resulting in a value of 1715488362\n" - "> + * (6 << 28 + 6 << 24 + 4 << 20 + 0 << 16 + 4 << 12 + 6 << 8 + 6 << 4 + 10).\n" - "> + * Command group 3 is reserved and should never be used.\n" - "> + */\n" - "> +#define COMMAND_SIZE(opcode) \\\n" - "> +\t(16 - (15 & (1715488362 >> (4 * (((opcode) >> 5) & 7)))))\n" - "\n" - "To me this seems hard to read and hard to verify. Could this have been written\n" - "as a combination of ternary expressions, e.g. using a gcc statement expression\n" - "to ensure that opcode is evaluated once?\n" - "\n" - "Thanks,\n" - "\n" - Bart. + "T24gRnJpLCAyMDE4LTAzLTA5IGF0IDIzOjMzICswMTAwLCBTdGVwaGVuIEtpdHQgd3JvdGU6DQo+\n" + "ICsvKg0KPiArICogU0NTSSBjb21tYW5kIHNpemVzIGFyZSBhcyBmb2xsb3dzLCBpbiBieXRlcywg\n" + "Zm9yIGZpeGVkIHNpemUgY29tbWFuZHMsIHBlcg0KPiArICogZ3JvdXA6IDYsIDEwLCAxMCwgMTIs\n" + "IDE2LCAxMiwgMTAsIDEwLiBUaGUgdG9wIHRocmVlIGJpdHMgb2YgYW4gb3Bjb2RlDQo+ICsgKiBk\n" + "ZXRlcm1pbmUgaXRzIGdyb3VwLg0KPiArICogVGhlIHNpemUgdGFibGUgaXMgZW5jb2RlZCBpbnRv\n" + "IGEgMzItYml0IHZhbHVlIGJ5IHN1YnRyYWN0aW5nIGVhY2ggdmFsdWUNCj4gKyAqIGZyb20gMTYs\n" + "IHJlc3VsdGluZyBpbiBhIHZhbHVlIG9mIDE3MTU0ODgzNjINCj4gKyAqICg2IDw8IDI4ICsgNiA8\n" + "PCAyNCArIDQgPDwgMjAgKyAwIDw8IDE2ICsgNCA8PCAxMiArIDYgPDwgOCArIDYgPDwgNCArIDEw\n" + "KS4NCj4gKyAqIENvbW1hbmQgZ3JvdXAgMyBpcyByZXNlcnZlZCBhbmQgc2hvdWxkIG5ldmVyIGJl\n" + "IHVzZWQuDQo+ICsgKi8NCj4gKyNkZWZpbmUgQ09NTUFORF9TSVpFKG9wY29kZSkgXA0KPiArCSgx\n" + "NiAtICgxNSAmICgxNzE1NDg4MzYyID4+ICg0ICogKCgob3Bjb2RlKSA+PiA1KSAmIDcpKSkpKQ0K\n" + "DQpUbyBtZSB0aGlzIHNlZW1zIGhhcmQgdG8gcmVhZCBhbmQgaGFyZCB0byB2ZXJpZnkuIENvdWxk\n" + "IHRoaXMgaGF2ZSBiZWVuIHdyaXR0ZW4NCmFzIGEgY29tYmluYXRpb24gb2YgdGVybmFyeSBleHBy\n" + "ZXNzaW9ucywgZS5nLiB1c2luZyBhIGdjYyBzdGF0ZW1lbnQgZXhwcmVzc2lvbg0KdG8gZW5zdXJl\n" + IHRoYXQgb3Bjb2RlIGlzIGV2YWx1YXRlZCBvbmNlPw0KDQpUaGFua3MsDQoNCkJhcnQuDQoNCg0K -ac169996b154d520a59aeeedcd2e3e353aa456b42df93fd946f625032dcaec77 +4a208448b61024a928cb15c18588c3df41a5bf06e03fab56bb990b4143e9d048
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.