Change BUG_ON to proper error handling if building the path buffer
fails. The pointers are not printed so we don't accidentally leak kernel
addresses.
Signed-off-by: David Sterba <dsterba@suse.com>
                                        ret = PTR_ERR(start);
                                        goto out;
                                }
-                               BUG_ON(start < p->buf);
+                               if (unlikely(start < p->buf)) {
+                                       btrfs_err(root->fs_info,
+                       "send: path ref buffer underflow for key (%llu %u %llu)",
+                                                 found_key->objectid,
+                                                 found_key->type,
+                                                 found_key->offset);
+                                       ret = -EINVAL;
+                                       goto out;
+                               }
                        }
                        p->start = start;
                } else {