mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
[PATCH] nbd: Check magic before doing anything else
We should check magic sequence in reply packet before trying to find request with it's request handle. This also solves the problem with "Unexpected reply" message beeing logged, when packet with invalid magic is received. Signed-off-by: Michal Feix <[email protected]> Acked-by: Paul Clements <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
8e185d8339
commit
e4b57e0842
1 changed files with 9 additions and 7 deletions
|
|
@ -300,6 +300,15 @@ static struct request *nbd_read_stat(struct nbd_device *lo)
|
|||
lo->disk->disk_name, result);
|
||||
goto harderror;
|
||||
}
|
||||
|
||||
if (ntohl(reply.magic) != NBD_REPLY_MAGIC) {
|
||||
printk(KERN_ERR "%s: Wrong magic (0x%lx)\n",
|
||||
lo->disk->disk_name,
|
||||
(unsigned long)ntohl(reply.magic));
|
||||
result = -EPROTO;
|
||||
goto harderror;
|
||||
}
|
||||
|
||||
req = nbd_find_request(lo, reply.handle);
|
||||
if (unlikely(IS_ERR(req))) {
|
||||
result = PTR_ERR(req);
|
||||
|
|
@ -312,13 +321,6 @@ static struct request *nbd_read_stat(struct nbd_device *lo)
|
|||
goto harderror;
|
||||
}
|
||||
|
||||
if (ntohl(reply.magic) != NBD_REPLY_MAGIC) {
|
||||
printk(KERN_ERR "%s: Wrong magic (0x%lx)\n",
|
||||
lo->disk->disk_name,
|
||||
(unsigned long)ntohl(reply.magic));
|
||||
result = -EPROTO;
|
||||
goto harderror;
|
||||
}
|
||||
if (ntohl(reply.error)) {
|
||||
printk(KERN_ERR "%s: Other side returned error (%d)\n",
|
||||
lo->disk->disk_name, ntohl(reply.error));
|
||||
|
|
|
|||
Loading…
Reference in a new issue