Lines Matching refs:info

121 static int xor_init(struct loop_device *lo, const struct loop_info64 *info)
123 if (unlikely(info->lo_encrypt_key_size <= 0))
997 * @info: struct loop_info64 to configure the device with
1004 const struct loop_info64 *info)
1010 if ((unsigned int) info->lo_encrypt_key_size > LO_KEY_SIZE)
1017 if (info->lo_encrypt_type) {
1018 unsigned int type = info->lo_encrypt_type;
1028 err = loop_init_xfer(lo, xfer, info);
1033 if (info->lo_offset > LLONG_MAX || info->lo_sizelimit > LLONG_MAX)
1036 lo->lo_offset = info->lo_offset;
1037 lo->lo_sizelimit = info->lo_sizelimit;
1039 memcpy(lo->lo_file_name, info->lo_file_name, LO_NAME_SIZE);
1040 memcpy(lo->lo_crypt_name, info->lo_crypt_name, LO_NAME_SIZE);
1049 lo->lo_flags = info->lo_flags;
1051 lo->lo_encrypt_key_size = info->lo_encrypt_key_size;
1052 lo->lo_init[0] = info->lo_init[0];
1053 lo->lo_init[1] = info->lo_init[1];
1054 if (info->lo_encrypt_key_size) {
1055 memcpy(lo->lo_encrypt_key, info->lo_encrypt_key,
1056 info->lo_encrypt_key_size);
1110 if ((config->info.lo_flags & ~LOOP_CONFIGURE_SETTABLE_FLAGS) != 0) {
1121 error = loop_set_status_from_info(lo, &config->info);
1346 loop_set_status(struct loop_device *lo, const struct loop_info64 *info)
1369 if (lo->lo_offset != info->lo_offset ||
1370 lo->lo_sizelimit != info->lo_sizelimit) {
1390 err = loop_set_status_from_info(lo, info);
1430 loop_get_status(struct loop_device *lo, struct loop_info64 *info)
1444 memset(info, 0, sizeof(*info));
1445 info->lo_number = lo->lo_number;
1446 info->lo_offset = lo->lo_offset;
1447 info->lo_sizelimit = lo->lo_sizelimit;
1448 info->lo_flags = lo->lo_flags;
1449 memcpy(info->lo_file_name, lo->lo_file_name, LO_NAME_SIZE);
1450 memcpy(info->lo_crypt_name, lo->lo_crypt_name, LO_NAME_SIZE);
1451 info->lo_encrypt_type =
1454 info->lo_encrypt_key_size = lo->lo_encrypt_key_size;
1455 memcpy(info->lo_encrypt_key, lo->lo_encrypt_key,
1465 info->lo_device = huge_encode_dev(stat.dev);
1466 info->lo_inode = stat.ino;
1467 info->lo_rdevice = huge_encode_dev(stat.rdev);
1474 loop_info64_from_old(const struct loop_info *info, struct loop_info64 *info64)
1477 info64->lo_number = info->lo_number;
1478 info64->lo_device = info->lo_device;
1479 info64->lo_inode = info->lo_inode;
1480 info64->lo_rdevice = info->lo_rdevice;
1481 info64->lo_offset = info->lo_offset;
1483 info64->lo_encrypt_type = info->lo_encrypt_type;
1484 info64->lo_encrypt_key_size = info->lo_encrypt_key_size;
1485 info64->lo_flags = info->lo_flags;
1486 info64->lo_init[0] = info->lo_init[0];
1487 info64->lo_init[1] = info->lo_init[1];
1488 if (info->lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
1489 memcpy(info64->lo_crypt_name, info->lo_name, LO_NAME_SIZE);
1491 memcpy(info64->lo_file_name, info->lo_name, LO_NAME_SIZE);
1492 memcpy(info64->lo_encrypt_key, info->lo_encrypt_key, LO_KEY_SIZE);
1496 loop_info64_to_old(const struct loop_info64 *info64, struct loop_info *info)
1498 memset(info, 0, sizeof(*info));
1499 info->lo_number = info64->lo_number;
1500 info->lo_device = info64->lo_device;
1501 info->lo_inode = info64->lo_inode;
1502 info->lo_rdevice = info64->lo_rdevice;
1503 info->lo_offset = info64->lo_offset;
1504 info->lo_encrypt_type = info64->lo_encrypt_type;
1505 info->lo_encrypt_key_size = info64->lo_encrypt_key_size;
1506 info->lo_flags = info64->lo_flags;
1507 info->lo_init[0] = info64->lo_init[0];
1508 info->lo_init[1] = info64->lo_init[1];
1509 if (info->lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
1510 memcpy(info->lo_name, info64->lo_crypt_name, LO_NAME_SIZE);
1512 memcpy(info->lo_name, info64->lo_file_name, LO_NAME_SIZE);
1513 memcpy(info->lo_encrypt_key, info64->lo_encrypt_key, LO_KEY_SIZE);
1516 if (info->lo_device != info64->lo_device ||
1517 info->lo_rdevice != info64->lo_rdevice ||
1518 info->lo_inode != info64->lo_inode ||
1519 info->lo_offset != info64->lo_offset)
1528 struct loop_info info;
1531 if (copy_from_user(&info, arg, sizeof (struct loop_info)))
1533 loop_info64_from_old(&info, &info64);
1549 struct loop_info info;
1557 err = loop_info64_to_old(&info64, &info);
1558 if (!err && copy_to_user(arg, &info, sizeof(info)))
1748 * Transfer 32-bit compatibility structure in userspace to 64-bit loop info
1755 struct compat_loop_info info;
1757 if (copy_from_user(&info, arg, sizeof(info)))
1761 info64->lo_number = info.lo_number;
1762 info64->lo_device = info.lo_device;
1763 info64->lo_inode = info.lo_inode;
1764 info64->lo_rdevice = info.lo_rdevice;
1765 info64->lo_offset = info.lo_offset;
1767 info64->lo_encrypt_type = info.lo_encrypt_type;
1768 info64->lo_encrypt_key_size = info.lo_encrypt_key_size;
1769 info64->lo_flags = info.lo_flags;
1770 info64->lo_init[0] = info.lo_init[0];
1771 info64->lo_init[1] = info.lo_init[1];
1772 if (info.lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
1773 memcpy(info64->lo_crypt_name, info.lo_name, LO_NAME_SIZE);
1775 memcpy(info64->lo_file_name, info.lo_name, LO_NAME_SIZE);
1776 memcpy(info64->lo_encrypt_key, info.lo_encrypt_key, LO_KEY_SIZE);
1781 * Transfer 64-bit loop info to 32-bit compatibility structure in userspace
1788 struct compat_loop_info info;
1790 memset(&info, 0, sizeof(info));
1791 info.lo_number = info64->lo_number;
1792 info.lo_device = info64->lo_device;
1793 info.lo_inode = info64->lo_inode;
1794 info.lo_rdevice = info64->lo_rdevice;
1795 info.lo_offset = info64->lo_offset;
1796 info.lo_encrypt_type = info64->lo_encrypt_type;
1797 info.lo_encrypt_key_size = info64->lo_encrypt_key_size;
1798 info.lo_flags = info64->lo_flags;
1799 info.lo_init[0] = info64->lo_init[0];
1800 info.lo_init[1] = info64->lo_init[1];
1801 if (info.lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
1802 memcpy(info.lo_name, info64->lo_crypt_name, LO_NAME_SIZE);
1804 memcpy(info.lo_name, info64->lo_file_name, LO_NAME_SIZE);
1805 memcpy(info.lo_encrypt_key, info64->lo_encrypt_key, LO_KEY_SIZE);
1808 if (info.lo_device != info64->lo_device ||
1809 info.lo_rdevice != info64->lo_rdevice ||
1810 info.lo_inode != info64->lo_inode ||
1811 info.lo_offset != info64->lo_offset ||
1812 info.lo_init[0] != info64->lo_init[0] ||
1813 info.lo_init[1] != info64->lo_init[1])
1816 if (copy_to_user(arg, &info, sizeof(info)))