On Fri, Sep 18, 2015 at 01:46:50PM +0000, Porosanu Alexandru wrote: > > Before this patch, for CAAM driver, regardless if a tfm has MAY_BACKLOG set > or not, if there are no more slots available in the HW JR, the API will > return -EBUSY, but the > request will _not_ be saved for future processing. That's wrong, and as a > result, dm-crypt _hangs_ when using CAAM offloaded algorithms.
I understand that the current driver is buggy. However your fix is broken too. MAY_BACKLOG must be reliable and that means not dropping requests. > Now, the proposed patch sets aside a # of HW slots that will be used for > storing "backloggable" requests. The purpose of this is to ensure that never > will the JR drop a "backloggable" request, but they will be stored for > eventual processing (when the HW read pointer reaches the respective slot). > More to the point this patch does the following: 1 enqueue is accepted (if > MAY_BACKLOG is set on the tfm), but the API will return -EBUSY, iff there are > less than <threshold> slots available in the HW JR. > For non-backloggable requests (or when the HW JR is sufficiently empty) are > treated w/o any change. One observation would be that this change is > completely transparent to the HW, which works in the same way as before. > What I was trying to point out in the caveat above is that a rogue user which > will keep on enqueing requests, will eventually be denied and the requests > _will_ be dropped. > As a side-observation, for crypto_queues, the limit is the available memory, > so a bad-behaved user will generate an OOM. Yes there is a resource control issue but that should be handled by limiting the number of tfms and not an arbitrary limit in the driver. Cheers, -- Email: Herbert Xu <herb...@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html